Merge branch 'master' into Playerbot
This commit is contained in:
+1
-1
@@ -95,7 +95,7 @@ public:
|
||||
|
||||
void MoveInLineOfSight(Unit* who) override
|
||||
{
|
||||
if (who->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!who->IsPlayer())
|
||||
return;
|
||||
|
||||
if (!_initTalk)
|
||||
|
||||
@@ -347,7 +347,7 @@ class spell_herald_volzaj_insanity : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_herald_volzaj_insanity);
|
||||
|
||||
bool Load() override { return GetCaster()->GetTypeId() == TYPEID_UNIT; }
|
||||
bool Load() override { return GetCaster()->IsCreature(); }
|
||||
|
||||
void HandleDummyEffect(std::list<WorldObject*>& targets)
|
||||
{
|
||||
@@ -362,7 +362,7 @@ class spell_herald_volzaj_insanity : public SpellScript
|
||||
{
|
||||
targets.remove_if([this](WorldObject* targetObj) -> bool
|
||||
{
|
||||
return !targetObj || targetObj->GetTypeId() != TYPEID_PLAYER || !targetObj->ToPlayer()->IsInCombatWith(GetCaster()) ||
|
||||
return !targetObj || !targetObj->IsPlayer() || !targetObj->ToPlayer()->IsInCombatWith(GetCaster()) ||
|
||||
targetObj->GetDistance(GetCaster()) >= (MAX_VISIBILITY_DISTANCE * 2);
|
||||
});
|
||||
}
|
||||
@@ -466,7 +466,7 @@ class spell_volazj_whisper : public SpellScript
|
||||
});
|
||||
}
|
||||
|
||||
bool Load() override { return GetCaster()->GetTypeId() == TYPEID_UNIT; }
|
||||
bool Load() override { return GetCaster()->IsCreature(); }
|
||||
|
||||
void HandleScriptEffect(SpellEffIndex /* effIndex */)
|
||||
{
|
||||
|
||||
@@ -333,7 +333,7 @@ struct boss_jedoga_shadowseeker : public BossAI
|
||||
|
||||
void KilledUnit(Unit* who) override
|
||||
{
|
||||
if (who->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!who->IsPlayer())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -307,7 +307,7 @@ struct boss_taldaram : public BossAI
|
||||
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!victim->IsPlayer())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -925,7 +925,7 @@ struct boss_sartharion_dragonAI : public BossAI
|
||||
|
||||
void KilledUnit(Unit* victim) final
|
||||
{
|
||||
if (victim->GetTypeId() != TYPEID_PLAYER || urand(0, 2))
|
||||
if (!victim->IsPlayer() || urand(0, 2))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1053,7 +1053,7 @@ class spell_halion_twilight_phasing : public SpellScript
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
return GetCaster()->GetTypeId() == TYPEID_UNIT;
|
||||
return GetCaster()->IsCreature();
|
||||
}
|
||||
|
||||
void Phase()
|
||||
@@ -1116,7 +1116,7 @@ class spell_halion_twilight_realm_aura : public AuraScript
|
||||
return;
|
||||
|
||||
target->RemoveAurasDueToSpell(SPELL_FIERY_COMBUSTION, ObjectGuid::Empty, 0, AURA_REMOVE_BY_ENEMY_SPELL);
|
||||
if (GetTarget()->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!GetTarget()->IsPlayer())
|
||||
return;
|
||||
GetTarget()->m_Events.AddEvent(new SendEncounterUnit(GetTarget()->ToPlayer()), GetTarget()->m_Events.CalculateTime(500));
|
||||
}
|
||||
@@ -1149,7 +1149,7 @@ class spell_halion_leave_twilight_realm_aura : public AuraScript
|
||||
{
|
||||
GetTarget()->RemoveAurasDueToSpell(SPELL_TWILIGHT_REALM);
|
||||
|
||||
if (GetTarget()->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!GetTarget()->IsPlayer())
|
||||
return;
|
||||
GetTarget()->m_Events.AddEvent(new SendEncounterUnit(GetTarget()->ToPlayer()), GetTarget()->m_Events.CalculateTime(500));
|
||||
}
|
||||
|
||||
+1
-1
@@ -765,7 +765,7 @@ class spell_toc5_light_rain : public SpellScript
|
||||
{
|
||||
for( std::list<WorldObject*>::iterator itr = targets.begin(); itr != targets.end(); )
|
||||
{
|
||||
if ((*itr)->GetTypeId() == TYPEID_UNIT)
|
||||
if ((*itr)->IsCreature())
|
||||
if ((*itr)->ToCreature()->GetEntry() == NPC_FOUNTAIN_OF_LIGHT)
|
||||
{
|
||||
targets.erase(itr);
|
||||
|
||||
+1
-1
@@ -691,7 +691,7 @@ public:
|
||||
if( me->GetExactDist(plr) <= 5.0f )
|
||||
if( Vehicle* v = plr->GetVehicle() )
|
||||
if( Unit* c = v->GetBase() )
|
||||
if( c->GetTypeId() == TYPEID_UNIT && c->ToCreature()->GetEntry() == (pInstance->GetData(DATA_TEAMID_IN_INSTANCE) == TEAM_HORDE ? VEHICLE_ARGENT_BATTLEWORG : VEHICLE_ARGENT_WARHORSE) )
|
||||
if( c->IsCreature() && c->ToCreature()->GetEntry() == (pInstance->GetData(DATA_TEAMID_IN_INSTANCE) == TEAM_HORDE ? VEHICLE_ARGENT_BATTLEWORG : VEHICLE_ARGENT_WARHORSE) )
|
||||
{
|
||||
me->GetMotionMaster()->MovementExpired();
|
||||
me->GetMotionMaster()->MoveIdle();
|
||||
|
||||
+1
-1
@@ -1156,7 +1156,7 @@ public:
|
||||
{
|
||||
NPC_BlackKnightGUID = bk->GetGUID();
|
||||
bk->SendMovementFlagUpdate(); // put him on vehicle visually
|
||||
if( bk->GetTypeId() == TYPEID_UNIT )
|
||||
if( bk->IsCreature() )
|
||||
bk->ToCreature()->SetReactState(REACT_PASSIVE);
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -400,7 +400,7 @@ public:
|
||||
|
||||
void MoveInLineOfSight(Unit* who) override
|
||||
{
|
||||
if (who->GetTypeId() != TYPEID_PLAYER || me->GetExactDistSq(who) > 6400.0f) // 80yd*80yd
|
||||
if (!who->IsPlayer() || me->GetExactDistSq(who) > 6400.0f) // 80yd*80yd
|
||||
return;
|
||||
|
||||
if (me->getStandState() != UNIT_STAND_STATE_STAND)
|
||||
@@ -846,7 +846,7 @@ public:
|
||||
{
|
||||
target->UpdatePosition(*c, false);
|
||||
target->CastCustomSpell(SPELL_SPIKE_FAIL, SPELLVALUE_MAX_TARGETS, 1);
|
||||
if( target->GetTypeId() == TYPEID_UNIT )
|
||||
if( target->IsCreature() )
|
||||
target->ToCreature()->AI()->DoAction(-1);
|
||||
Remove();
|
||||
return;
|
||||
|
||||
+3
-3
@@ -172,7 +172,7 @@ public:
|
||||
break;
|
||||
case EVENT_SPELL_FIRE_BOMB:
|
||||
{
|
||||
if( t->GetTypeId() != TYPEID_PLAYER && pInstance )
|
||||
if( !t->IsPlayer() && pInstance )
|
||||
{
|
||||
GuidVector validPlayers;
|
||||
Map::PlayerList const& pl = me->GetMap()->GetPlayers();
|
||||
@@ -342,7 +342,7 @@ public:
|
||||
if( Vehicle* vk = me->GetVehicleKit() )
|
||||
if( Unit* snobold = vk->GetPassenger(4) )
|
||||
{
|
||||
if( snobold->GetTypeId() == TYPEID_UNIT )
|
||||
if( snobold->IsCreature() )
|
||||
{
|
||||
CAST_AI(npc_snobold_vassal::npc_snobold_vassalAI, snobold->ToCreature()->AI())->TargetGUID = PlayerGUID;
|
||||
snobold->ToCreature()->AI()->AttackStart(p);
|
||||
@@ -357,7 +357,7 @@ public:
|
||||
{
|
||||
events.RescheduleEvent(EVENT_PICK_SNOBOLD_TARGET, 5s);
|
||||
if( Unit* snobold = vk->GetPassenger(4) )
|
||||
if( snobold->GetTypeId() == TYPEID_UNIT )
|
||||
if( snobold->IsCreature() )
|
||||
{
|
||||
bool needDespawn = true;
|
||||
for( uint8 i = 0; i < 4; ++i )
|
||||
|
||||
+1
-1
@@ -118,7 +118,7 @@ public:
|
||||
return true;
|
||||
if (item->ItemId == 46017) // Val'anyr, Hammer of Ancient Kings - exception, too powerful
|
||||
return false;
|
||||
if (item->ItemLevel == 245 && item->Bonding == BIND_WHEN_EQUIPED) // this also includes items crafted from patterns obtained in ToC 10 norm/hc
|
||||
if (item->ItemLevel == 245 && item->Bonding == BIND_WHEN_EQUIPPED) // this also includes items crafted from patterns obtained in ToC 10 norm/hc
|
||||
return true;
|
||||
if (validDedicatedInsanityItems.find(item->ItemId) != validDedicatedInsanityItems.end()) // list of items dropping from ToC 10 norm/hc and also items ilevel 245 buyable for emblems of triumph
|
||||
return true;
|
||||
|
||||
@@ -84,7 +84,7 @@ class spell_dtk_raise_dead_aura : public AuraScript
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
return GetUnitOwner()->GetTypeId() == TYPEID_UNIT;
|
||||
return GetUnitOwner()->IsCreature();
|
||||
}
|
||||
|
||||
void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
|
||||
@@ -258,7 +258,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!victim->IsPlayer())
|
||||
return;
|
||||
|
||||
int32 textId = 0;
|
||||
@@ -347,7 +347,7 @@ class spell_wailing_souls_periodic_aura : public AuraScript
|
||||
{
|
||||
t->SetControlled(false, UNIT_STATE_ROOT);
|
||||
t->DisableRotate(false);
|
||||
if (t->GetTypeId() == TYPEID_UNIT)
|
||||
if (t->IsCreature())
|
||||
t->ToCreature()->SetReactState(REACT_AGGRESSIVE);
|
||||
if (t->GetVictim())
|
||||
{
|
||||
|
||||
@@ -333,7 +333,7 @@ class spell_garfrost_permafrost : public SpellScript
|
||||
if (valid)
|
||||
{
|
||||
if (Aura* aur = target->ToUnit()->GetAura(70336))
|
||||
if (aur->GetStackAmount() >= 10 && caster->GetTypeId() == TYPEID_UNIT)
|
||||
if (aur->GetStackAmount() >= 10 && caster->IsCreature())
|
||||
caster->ToCreature()->AI()->SetData(1, aur->GetStackAmount());
|
||||
targetList.push_back(*itrU);
|
||||
}
|
||||
|
||||
@@ -470,7 +470,7 @@ class spell_krick_explosive_barrage_aura : public AuraScript
|
||||
{
|
||||
PreventDefaultAction();
|
||||
if (Unit* caster = GetCaster())
|
||||
if (caster->GetTypeId() == TYPEID_UNIT)
|
||||
if (caster->IsCreature())
|
||||
{
|
||||
Map::PlayerList const& players = caster->GetMap()->GetPlayers();
|
||||
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
|
||||
@@ -505,7 +505,7 @@ class spell_exploding_orb_auto_grow_aura : public AuraScript
|
||||
target->RemoveAurasDueToSpell(SPELL_HASTY_GROW);
|
||||
target->RemoveAurasDueToSpell(SPELL_AUTO_GROW);
|
||||
target->RemoveAurasDueToSpell(SPELL_EXPLODING_ORB_VISUAL);
|
||||
if (target->GetTypeId() == TYPEID_UNIT)
|
||||
if (target->IsCreature())
|
||||
target->ToCreature()->DespawnOrUnsummon(2000);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1130,7 +1130,7 @@ public:
|
||||
me->LoadCreaturesAddon(true);
|
||||
me->SetLootRecipient(nullptr);
|
||||
me->ResetPlayerDamageReq();
|
||||
me->SetLastDamagedTime(0);
|
||||
me->UpdateLeashExtensionTime();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1405,7 +1405,7 @@ class spell_pos_rimefang_frost_nova : public SpellScript
|
||||
if (Unit* caster = GetCaster())
|
||||
{
|
||||
Unit::Kill(caster, target);
|
||||
if (target->GetTypeId() == TYPEID_UNIT)
|
||||
if (target->IsCreature())
|
||||
target->ToCreature()->DespawnOrUnsummon(30000);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -343,7 +343,7 @@ public:
|
||||
|
||||
void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damageType*/) override
|
||||
{
|
||||
if (target->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!target->IsPlayer())
|
||||
return;
|
||||
|
||||
if (damage > RAID_MODE<uint32>(23000, 25000, 23000, 25000))
|
||||
@@ -613,7 +613,7 @@ public:
|
||||
|
||||
void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damageType*/) override
|
||||
{
|
||||
if (target->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!target->IsPlayer())
|
||||
return;
|
||||
|
||||
if (damage > RAID_MODE<uint32>(23000, 25000, 23000, 25000))
|
||||
@@ -907,7 +907,7 @@ public:
|
||||
|
||||
void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damageType*/) override
|
||||
{
|
||||
if (target->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!target->IsPlayer())
|
||||
return;
|
||||
|
||||
if (damage > RAID_MODE<uint32>(23000, 25000, 23000, 25000))
|
||||
@@ -1102,7 +1102,7 @@ public:
|
||||
if (_introDone)
|
||||
return;
|
||||
|
||||
if (who->GetTypeId() != TYPEID_PLAYER || me->GetExactDist2d(who) > 100.0f)
|
||||
if (!who->IsPlayer() || me->GetExactDist2d(who) > 100.0f)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -1335,7 +1335,7 @@ public:
|
||||
|
||||
void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damageType*/) override
|
||||
{
|
||||
if (target->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!target->IsPlayer())
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -1506,7 +1506,7 @@ class spell_taldaram_summon_flame_ball : public SpellScript
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
if (GetCaster()->GetTypeId() != TYPEID_UNIT)
|
||||
if (!GetCaster()->IsCreature())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -1573,7 +1573,7 @@ class spell_valanar_kinetic_bomb_aura : public AuraScript
|
||||
void HandleDummyTick(AuraEffect const* /*aurEff*/)
|
||||
{
|
||||
Unit* target = GetTarget();
|
||||
if (target->GetTypeId() != TYPEID_UNIT)
|
||||
if (!target->IsCreature())
|
||||
return;
|
||||
|
||||
if (Creature* bomb = target->FindNearestCreature(NPC_KINETIC_BOMB, 1.0f, true))
|
||||
|
||||
@@ -823,7 +823,7 @@ class spell_blood_queen_vampiric_bite : public SpellScript
|
||||
return;
|
||||
}
|
||||
|
||||
if (GetCaster()->GetTypeId() != TYPEID_PLAYER || GetCaster()->GetMapId() != 631)
|
||||
if (!GetCaster()->IsPlayer() || GetCaster()->GetMapId() != 631)
|
||||
return;
|
||||
InstanceScript* instance = GetCaster()->GetInstanceScript();
|
||||
if (!instance || instance->GetBossState(DATA_BLOOD_QUEEN_LANA_THEL) != IN_PROGRESS)
|
||||
|
||||
@@ -1259,7 +1259,7 @@ class spell_deathbringer_boiling_blood : public SpellScript
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
return GetCaster()->GetTypeId() == TYPEID_UNIT;
|
||||
return GetCaster()->IsCreature();
|
||||
}
|
||||
|
||||
void FilterTargets(std::list<WorldObject*>& targets)
|
||||
|
||||
@@ -290,13 +290,13 @@ class spell_festergut_pungent_blight : public SpellScript
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
return GetCaster()->GetTypeId() == TYPEID_UNIT;
|
||||
return GetCaster()->IsCreature();
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
if (caster->GetTypeId() != TYPEID_UNIT)
|
||||
if (!caster->IsCreature())
|
||||
return;
|
||||
|
||||
// Get Inhaled Blight id for our difficulty
|
||||
@@ -383,7 +383,7 @@ public:
|
||||
|
||||
bool OnCheck(Player* /*source*/, Unit* target, uint32 /*criteria_id*/) override
|
||||
{
|
||||
if (target && target->GetTypeId() == TYPEID_UNIT)
|
||||
if (target && target->IsCreature())
|
||||
return target->ToCreature()->AI()->GetData(DATA_INOCULATED_STACK) < 3;
|
||||
|
||||
return false;
|
||||
|
||||
@@ -602,7 +602,7 @@ public:
|
||||
Transport::PassengerSet const& passengers = t->GetStaticPassengers();
|
||||
for (Transport::PassengerSet::const_iterator itr = passengers.begin(); itr != passengers.end(); ++itr)
|
||||
{
|
||||
if ((*itr)->GetTypeId() != TYPEID_UNIT || (*itr)->GetEntry() != NPC_GUNSHIP_HULL)
|
||||
if (!(*itr)->IsCreature() || (*itr)->GetEntry() != NPC_GUNSHIP_HULL)
|
||||
continue;
|
||||
(*itr)->ToCreature()->CastSpell((*itr)->ToCreature(), explosionSpell, true);
|
||||
}
|
||||
@@ -615,7 +615,7 @@ public:
|
||||
Transport::PassengerSet const& passengers = t->GetStaticPassengers();
|
||||
for (Transport::PassengerSet::const_iterator itr = passengers.begin(); itr != passengers.end(); ++itr)
|
||||
{
|
||||
if ((*itr)->GetTypeId() != TYPEID_UNIT || (*itr)->GetEntry() != cannonEntry)
|
||||
if (!(*itr)->IsCreature() || (*itr)->GetEntry() != cannonEntry)
|
||||
continue;
|
||||
Creature* cannon = (*itr)->ToCreature();
|
||||
cannon->CastSpell(cannon, SPELL_EJECT_ALL_PASSENGERS, true);
|
||||
@@ -661,7 +661,7 @@ public:
|
||||
Transport::PassengerSet const& passengers = t->GetPassengers();
|
||||
for (Transport::PassengerSet::const_iterator itr = passengers.begin(); itr != passengers.end(); ++itr)
|
||||
{
|
||||
if ((*itr)->GetTypeId() != TYPEID_UNIT)
|
||||
if (!(*itr)->IsCreature())
|
||||
continue;
|
||||
Creature* c = (*itr)->ToCreature();
|
||||
if (c->GetEntry() == NPC_SKYBREAKER_MARINE || c->GetEntry() == NPC_SKYBREAKER_SERGEANT || c->GetEntry() == NPC_KOR_KRON_REAVER || c->GetEntry() == NPC_KOR_KRON_SERGEANT)
|
||||
@@ -2080,7 +2080,7 @@ class spell_igb_check_for_players : public SpellScript
|
||||
bool Load() override
|
||||
{
|
||||
_playerCount = 0;
|
||||
return GetCaster()->GetTypeId() == TYPEID_UNIT;
|
||||
return GetCaster()->IsCreature();
|
||||
}
|
||||
|
||||
void CountTargets(std::list<WorldObject*>& targets)
|
||||
@@ -2302,7 +2302,7 @@ class spell_igb_cannon_blast : public SpellScript
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
return GetCaster()->GetTypeId() == TYPEID_UNIT;
|
||||
return GetCaster()->IsCreature();
|
||||
}
|
||||
|
||||
void CalculatePower()
|
||||
@@ -2467,7 +2467,7 @@ public:
|
||||
|
||||
bool operator()(WorldObject* unit)
|
||||
{
|
||||
return unit->GetTypeId() != TYPEID_PLAYER || unit->GetPositionZ() > 478.0f || !unit->GetTransport() || unit->GetTransport()->GetEntry() != _entry
|
||||
return !unit->IsPlayer() || unit->GetPositionZ() > 478.0f || !unit->GetTransport() || unit->GetTransport()->GetEntry() != _entry
|
||||
|| unit->GetMapHeight(unit->GetPhaseMask(), unit->GetPositionX(), unit->GetPositionY(), unit->GetPositionZ()) < 465.0f;
|
||||
}
|
||||
|
||||
|
||||
@@ -84,7 +84,7 @@ public:
|
||||
if (target->GetExactDist(_source) > 175.0f)
|
||||
return false;
|
||||
|
||||
if (target->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!target->IsPlayer())
|
||||
return false;
|
||||
|
||||
if (target->GetPositionX() > -337.0f)
|
||||
@@ -415,7 +415,7 @@ public:
|
||||
{
|
||||
if (Unit* u = v->GetBase())
|
||||
{
|
||||
if (u->GetEntry() == NPC_BONE_SPIKE && u->GetTypeId() == TYPEID_UNIT)
|
||||
if (u->GetEntry() == NPC_BONE_SPIKE && u->IsCreature())
|
||||
{
|
||||
u->ToCreature()->AI()->DoAction(-1337);
|
||||
}
|
||||
|
||||
@@ -209,7 +209,7 @@ public:
|
||||
|
||||
bool operator()(Unit const* target) const
|
||||
{
|
||||
if (!me || !target || target->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!me || !target || !target->IsPlayer())
|
||||
return false;
|
||||
|
||||
if (me->IsWithinCombatRange(target, 7.0f))
|
||||
@@ -952,7 +952,7 @@ class spell_putricide_unstable_experiment : public SpellScript
|
||||
void HandleScript(SpellEffIndex effIndex)
|
||||
{
|
||||
PreventHitDefaultEffect(effIndex);
|
||||
if (GetCaster()->GetTypeId() != TYPEID_UNIT)
|
||||
if (!GetCaster()->IsCreature())
|
||||
return;
|
||||
|
||||
Creature* creature = GetCaster()->ToCreature();
|
||||
@@ -1044,7 +1044,7 @@ class spell_putricide_ooze_channel : public SpellScript
|
||||
bool Load() override
|
||||
{
|
||||
_target = nullptr;
|
||||
return GetCaster()->GetTypeId() == TYPEID_UNIT;
|
||||
return GetCaster()->IsCreature();
|
||||
}
|
||||
|
||||
void SelectTarget(std::list<WorldObject*>& targets)
|
||||
@@ -1318,7 +1318,7 @@ class spell_putricide_mutation_init : public SpellScript
|
||||
if (!GetExplTargetUnit())
|
||||
return SPELL_FAILED_BAD_TARGETS;
|
||||
|
||||
if (GetExplTargetUnit()->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!GetExplTargetUnit()->IsPlayer())
|
||||
return SPELL_FAILED_TARGET_NOT_PLAYER;
|
||||
|
||||
SpellCustomErrors extension = SPELL_CUSTOM_ERROR_NONE;
|
||||
|
||||
@@ -360,7 +360,7 @@ public:
|
||||
if (!summoner)
|
||||
return;
|
||||
|
||||
if (summoner->GetTypeId() != TYPEID_UNIT)
|
||||
if (!summoner->IsCreature())
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -651,7 +651,7 @@ class spell_rotface_large_ooze_combine : public SpellScript
|
||||
if (Creature* rotface = ObjectAccessor::GetCreature(*GetCaster(), instance->GetGuidData(DATA_ROTFACE)))
|
||||
if (rotface->IsAlive())
|
||||
{
|
||||
if (GetCaster()->GetTypeId() == TYPEID_UNIT)
|
||||
if (GetCaster()->IsCreature())
|
||||
GetCaster()->ToCreature()->AI()->Talk(EMOTE_UNSTABLE_EXPLOSION);
|
||||
rotface->AI()->Talk(SAY_UNSTABLE_EXPLOSION);
|
||||
}
|
||||
@@ -708,7 +708,7 @@ class spell_rotface_large_ooze_buff_combine : public SpellScript
|
||||
if (Creature* rotface = ObjectAccessor::GetCreature(*GetCaster(), instance->GetGuidData(DATA_ROTFACE)))
|
||||
if (rotface->IsAlive())
|
||||
{
|
||||
if (GetCaster()->GetTypeId() == TYPEID_UNIT)
|
||||
if (GetCaster()->IsCreature())
|
||||
GetCaster()->ToCreature()->AI()->Talk(EMOTE_UNSTABLE_EXPLOSION);
|
||||
rotface->AI()->Talk(SAY_UNSTABLE_EXPLOSION);
|
||||
}
|
||||
@@ -792,7 +792,7 @@ class spell_rotface_unstable_ooze_explosion_suicide_aura : public AuraScript
|
||||
{
|
||||
PreventDefaultAction();
|
||||
Unit* target = GetTarget();
|
||||
if (target->GetTypeId() != TYPEID_UNIT)
|
||||
if (!target->IsCreature())
|
||||
return;
|
||||
|
||||
target->SetVisible(false);
|
||||
|
||||
@@ -252,7 +252,7 @@ public:
|
||||
if (target->GetExactDist(_source) > 80.0f)
|
||||
return false;
|
||||
|
||||
if (target->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!target->IsPlayer())
|
||||
return false;
|
||||
|
||||
if (target->HasAura(SPELL_FROST_IMBUED_BLADE))
|
||||
@@ -1154,7 +1154,7 @@ class spell_sindragosa_soul_preservation_aura : public AuraScript
|
||||
{
|
||||
s->CastSpell(s, 72466, true);
|
||||
s->RemoveAurasDueToSpell(72424);
|
||||
if (s->GetTypeId() == TYPEID_UNIT) s->ToCreature()->SetLootMode(3);
|
||||
if (s->IsCreature()) s->ToCreature()->SetLootMode(3);
|
||||
SetDuration(1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -386,7 +386,7 @@ public:
|
||||
return false;
|
||||
if (!target->IsAlive())
|
||||
return false;
|
||||
if (_playerOnly && target->GetTypeId() != TYPEID_PLAYER)
|
||||
if (_playerOnly && !target->IsPlayer())
|
||||
return false;
|
||||
if (_maxDist && _source->GetExactDist(target) > _maxDist)
|
||||
return false;
|
||||
@@ -412,7 +412,7 @@ public:
|
||||
return false;
|
||||
if (!target->IsAlive())
|
||||
return false;
|
||||
if (_playerOnly && target->GetTypeId() != TYPEID_PLAYER)
|
||||
if (_playerOnly && !target->IsPlayer())
|
||||
return false;
|
||||
if (target == _source->GetVictim())
|
||||
return false;
|
||||
@@ -446,7 +446,7 @@ public:
|
||||
return false;
|
||||
if (!target->IsAlive())
|
||||
return false;
|
||||
if (target->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!target->IsPlayer())
|
||||
return false;
|
||||
if (_source->GetExactDist(target) > 100.0f)
|
||||
return false;
|
||||
@@ -600,7 +600,7 @@ public:
|
||||
|
||||
bool operator()(Unit* unit) const
|
||||
{
|
||||
if (!unit || unit->GetTypeId() != TYPEID_PLAYER || unit == _sourceObj || _sourceObj->GetVictim() == unit || !unit->isTargetableForAttack())
|
||||
if (!unit || !unit->IsPlayer() || unit == _sourceObj || _sourceObj->GetVictim() == unit || !unit->isTargetableForAttack())
|
||||
return false;
|
||||
if (unit->HasAura(SPELL_PLAGUE_AVOIDANCE) || unit->HasAura(SPELL_BOSS_HITTIN_YA_AURA) || unit->HasAura(_notAura1) || unit->HasAura(_notAura2))
|
||||
return false;
|
||||
@@ -2078,7 +2078,7 @@ class spell_the_lich_king_shadow_trap_periodic : public SpellScript
|
||||
GetCaster()->CastSpell((Unit*)nullptr, SPELL_SHADOW_TRAP_KNOCKBACK, true);
|
||||
if (Aura* a = GetCaster()->GetAura(SPELL_SHADOW_TRAP_AURA))
|
||||
a->SetDuration(0);
|
||||
if (GetCaster()->GetTypeId() == TYPEID_UNIT)
|
||||
if (GetCaster()->IsCreature())
|
||||
GetCaster()->ToCreature()->DespawnOrUnsummon(3000);
|
||||
}
|
||||
|
||||
@@ -2102,7 +2102,7 @@ class spell_the_lich_king_ice_burst_target_search : public SpellScript
|
||||
if (unitList.empty())
|
||||
return;
|
||||
|
||||
if (GetCaster()->GetTypeId() == TYPEID_UNIT)
|
||||
if (GetCaster()->IsCreature())
|
||||
GetCaster()->ToCreature()->AI()->DoAction(-1);
|
||||
}
|
||||
|
||||
@@ -2336,7 +2336,7 @@ class VehicleCheck
|
||||
public:
|
||||
bool operator()(WorldObject* unit)
|
||||
{
|
||||
return (unit->GetTypeId() != TYPEID_UNIT && unit->GetTypeId() != TYPEID_PLAYER) || unit->ToUnit()->GetVehicle();
|
||||
return (!unit->IsCreature() && !unit->IsPlayer()) || unit->ToUnit()->GetVehicle();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -2804,7 +2804,7 @@ class spell_the_lich_king_vile_spirit_move_target_search : public SpellScript
|
||||
bool Load() override
|
||||
{
|
||||
_target = nullptr;
|
||||
return GetCaster()->GetTypeId() == TYPEID_UNIT;
|
||||
return GetCaster()->IsCreature();
|
||||
}
|
||||
|
||||
void SelectTarget(std::list<WorldObject*>& targets)
|
||||
|
||||
@@ -967,7 +967,7 @@ public:
|
||||
bool CanAIAttack(Unit const* target) const override
|
||||
{
|
||||
// do not see targets inside Frostwing Halls when we are not there
|
||||
return target->GetTypeId() != TYPEID_PLAYER && (me->GetPositionY() > 2660.0f) == (target->GetPositionY() > 2660.0f) && target->GetEntry() != NPC_SINDRAGOSA;
|
||||
return !target->IsPlayer() && (me->GetPositionY() > 2660.0f) == (target->GetPositionY() > 2660.0f) && target->GetEntry() != NPC_SINDRAGOSA;
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -1757,7 +1757,7 @@ public:
|
||||
|
||||
void SpellHitTarget(Unit* c, SpellInfo const* spell) override
|
||||
{
|
||||
if (spell->Id == 71306 && c->GetTypeId() == TYPEID_UNIT) // Twisted Winds
|
||||
if (spell->Id == 71306 && c->IsCreature()) // Twisted Winds
|
||||
{
|
||||
Position myPos = me->GetPosition();
|
||||
me->NearTeleportTo(c->GetPositionX(), c->GetPositionY(), c->GetPositionZ(), c->GetOrientation());
|
||||
|
||||
@@ -401,7 +401,7 @@ public:
|
||||
case NPC_SE_HIGH_OVERLORD_SAURFANG:
|
||||
if (TeamIdInInstance == TEAM_ALLIANCE)
|
||||
{
|
||||
creature->UpdateEntry(NPC_SE_MURADIN_BRONZEBEARD, creature->GetCreatureData());
|
||||
creature->UpdateEntry(NPC_SE_MURADIN_BRONZEBEARD, true);
|
||||
creature->LoadEquipment();
|
||||
}
|
||||
DeathbringerSaurfangEventGUID = creature->GetGUID();
|
||||
|
||||
@@ -135,7 +135,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!victim->IsPlayer())
|
||||
return;
|
||||
|
||||
Talk(SAY_SLAY);
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "SpellInfo.h"
|
||||
#include "naxxramas.h"
|
||||
|
||||
|
||||
using namespace Faerlina;
|
||||
|
||||
void AddSC_boss_faerlina()
|
||||
|
||||
@@ -131,7 +131,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* who) override
|
||||
{
|
||||
if (who->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!who->IsPlayer())
|
||||
return;
|
||||
|
||||
if (!urand(0, 3))
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "naxxramas.h"
|
||||
|
||||
|
||||
using namespace FourHorsemen;
|
||||
|
||||
void AddSC_boss_four_horsemen()
|
||||
|
||||
@@ -247,7 +247,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* who) override
|
||||
{
|
||||
if (who->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!who->IsPlayer())
|
||||
return;
|
||||
|
||||
Talk(SAY_SLAY);
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "naxxramas.h"
|
||||
|
||||
|
||||
using namespace Gluth;
|
||||
|
||||
void AddSC_boss_gluth()
|
||||
|
||||
@@ -147,7 +147,7 @@ public:
|
||||
return false;
|
||||
|
||||
Map::PlayerList const& pList = me->GetMap()->GetPlayers();
|
||||
for (const auto& itr : pList)
|
||||
for (auto const& itr : pList)
|
||||
{
|
||||
Player* player = itr.GetSource();
|
||||
if (!player || !player->IsAlive())
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "naxxramas.h"
|
||||
|
||||
|
||||
using namespace Gothik;
|
||||
|
||||
void AddSC_boss_gothik()
|
||||
|
||||
@@ -311,7 +311,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* who) override
|
||||
{
|
||||
if (who->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!who->IsPlayer())
|
||||
return;
|
||||
|
||||
Talk(SAY_KILL);
|
||||
@@ -375,7 +375,7 @@ public:
|
||||
{
|
||||
bool checklife = false;
|
||||
bool checkdead = false;
|
||||
for (const auto& i : PlayerList)
|
||||
for (auto const& i : PlayerList)
|
||||
{
|
||||
Player* player = i.GetSource();
|
||||
if (player->IsAlive() &&
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
|
||||
#include "boss_heigan.h"
|
||||
|
||||
|
||||
using namespace Heigan;
|
||||
|
||||
void AddSC_boss_heigan()
|
||||
|
||||
@@ -9,40 +9,40 @@
|
||||
|
||||
namespace Heigan {
|
||||
|
||||
enum HeiganSays
|
||||
enum Says
|
||||
{
|
||||
HEIGAN_SAY_AGGRO = 0,
|
||||
HEIGAN_SAY_SLAY = 1,
|
||||
HEIGAN_SAY_TAUNT = 2,
|
||||
HEIGAN_EMOTE_DEATH = 3,
|
||||
HEIGAN_EMOTE_DANCE = 4,
|
||||
HEIGAN_EMOTE_DANCE_END = 5,
|
||||
HEIGAN_SAY_DANCE = 6
|
||||
SAY_AGGRO = 0,
|
||||
SAY_SLAY = 1,
|
||||
SAY_TAUNT = 2,
|
||||
EMOTE_DEATH = 3,
|
||||
EMOTE_DANCE = 4,
|
||||
EMOTE_DANCE_END = 5,
|
||||
SAY_DANCE = 6
|
||||
};
|
||||
|
||||
enum HeiganSpells
|
||||
enum Spells
|
||||
{
|
||||
HEIGAN_SPELL_SPELL_DISRUPTION = 29310,
|
||||
HEIGAN_SPELL_DECREPIT_FEVER_10 = 29998,
|
||||
HEIGAN_SPELL_DECREPIT_FEVER_25 = 55011,
|
||||
HEIGAN_SPELL_PLAGUE_CLOUD = 29350,
|
||||
HEIGAN_SPELL_TELEPORT_SELF = 30211
|
||||
SPELL_SPELL_DISRUPTION = 29310,
|
||||
SPELL_DECREPIT_FEVER_10 = 29998,
|
||||
SPELL_DECREPIT_FEVER_25 = 55011,
|
||||
SPELL_PLAGUE_CLOUD = 29350,
|
||||
SPELL_TELEPORT_SELF = 30211
|
||||
};
|
||||
|
||||
enum HeiganEvents
|
||||
enum Events
|
||||
{
|
||||
HEIGAN_EVENT_DISRUPTION = 1,
|
||||
HEIGAN_EVENT_DECEPIT_FEVER = 2,
|
||||
HEIGAN_EVENT_ERUPT_SECTION = 3,
|
||||
HEIGAN_EVENT_SWITCH_PHASE = 4,
|
||||
HEIGAN_EVENT_SAFETY_DANCE = 5,
|
||||
HEIGAN_EVENT_PLAGUE_CLOUD = 6
|
||||
EVENT_DISRUPTION = 1,
|
||||
EVENT_DECEPIT_FEVER = 2,
|
||||
EVENT_ERUPT_SECTION = 3,
|
||||
EVENT_SWITCH_PHASE = 4,
|
||||
EVENT_SAFETY_DANCE = 5,
|
||||
EVENT_PLAGUE_CLOUD = 6
|
||||
};
|
||||
|
||||
enum HeiganMisc
|
||||
enum Misc
|
||||
{
|
||||
HEIGAN_PHASE_SLOW_DANCE = 0,
|
||||
HEIGAN_PHASE_FAST_DANCE = 1
|
||||
PHASE_SLOW_DANCE = 0,
|
||||
PHASE_FAST_DANCE = 1
|
||||
};
|
||||
|
||||
class boss_heigan : public CreatureScript
|
||||
@@ -86,10 +86,10 @@ public:
|
||||
|
||||
void KilledUnit(Unit* who) override
|
||||
{
|
||||
if (who->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!who->IsPlayer())
|
||||
return;
|
||||
|
||||
Talk(HEIGAN_SAY_SLAY);
|
||||
Talk(SAY_SLAY);
|
||||
if (pInstance)
|
||||
{
|
||||
pInstance->SetData(DATA_IMMORTAL_FAIL, 0);
|
||||
@@ -99,14 +99,14 @@ public:
|
||||
void JustDied(Unit* killer) override
|
||||
{
|
||||
BossAI::JustDied(killer);
|
||||
Talk(HEIGAN_EMOTE_DEATH);
|
||||
Talk(EMOTE_DEATH);
|
||||
}
|
||||
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
BossAI::JustEngagedWith(who);
|
||||
me->SetInCombatWithZone();
|
||||
Talk(HEIGAN_SAY_AGGRO);
|
||||
Talk(SAY_AGGRO);
|
||||
if (pInstance)
|
||||
{
|
||||
if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetGuidData(DATA_HEIGAN_ENTER_GATE)))
|
||||
@@ -114,7 +114,7 @@ public:
|
||||
go->SetGoState(GO_STATE_READY);
|
||||
}
|
||||
}
|
||||
StartFightPhase(HEIGAN_PHASE_SLOW_DANCE);
|
||||
StartFightPhase(PHASE_SLOW_DANCE);
|
||||
}
|
||||
|
||||
void StartFightPhase(uint8 phase)
|
||||
@@ -122,30 +122,30 @@ public:
|
||||
currentSection = 3;
|
||||
currentPhase = phase;
|
||||
events.Reset();
|
||||
if (phase == HEIGAN_PHASE_SLOW_DANCE)
|
||||
if (phase == PHASE_SLOW_DANCE)
|
||||
{
|
||||
me->CastStop();
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
DoZoneInCombat();
|
||||
events.ScheduleEvent(HEIGAN_EVENT_DISRUPTION, 12s, 15s);
|
||||
events.ScheduleEvent(HEIGAN_EVENT_DECEPIT_FEVER, 17s);
|
||||
events.ScheduleEvent(HEIGAN_EVENT_ERUPT_SECTION, 15s);
|
||||
events.ScheduleEvent(HEIGAN_EVENT_SWITCH_PHASE, 90s);
|
||||
events.ScheduleEvent(EVENT_DISRUPTION, 12s, 15s);
|
||||
events.ScheduleEvent(EVENT_DECEPIT_FEVER, 17s);
|
||||
events.ScheduleEvent(EVENT_ERUPT_SECTION, 15s);
|
||||
events.ScheduleEvent(EVENT_SWITCH_PHASE, 90s);
|
||||
}
|
||||
else // if (phase == HEIGAN_PHASE_FAST_DANCE)
|
||||
else // if (phase == PHASE_FAST_DANCE)
|
||||
{
|
||||
Talk(HEIGAN_EMOTE_DANCE);
|
||||
Talk(HEIGAN_SAY_DANCE);
|
||||
Talk(EMOTE_DANCE);
|
||||
Talk(SAY_DANCE);
|
||||
me->AttackStop();
|
||||
me->StopMoving();
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
me->CastSpell(me, HEIGAN_SPELL_TELEPORT_SELF, false);
|
||||
me->CastSpell(me, SPELL_TELEPORT_SELF, false);
|
||||
me->SetFacingTo(2.40f);
|
||||
events.ScheduleEvent(HEIGAN_EVENT_PLAGUE_CLOUD, 1s);
|
||||
events.ScheduleEvent(HEIGAN_EVENT_ERUPT_SECTION, 7s);
|
||||
events.ScheduleEvent(HEIGAN_EVENT_SWITCH_PHASE, 45s);
|
||||
events.ScheduleEvent(EVENT_PLAGUE_CLOUD, 1s);
|
||||
events.ScheduleEvent(EVENT_ERUPT_SECTION, 7s);
|
||||
events.ScheduleEvent(EVENT_SWITCH_PHASE, 45s);
|
||||
}
|
||||
events.ScheduleEvent(HEIGAN_EVENT_SAFETY_DANCE, 5s);
|
||||
events.ScheduleEvent(EVENT_SAFETY_DANCE, 5s);
|
||||
}
|
||||
|
||||
bool IsInRoom(Unit* who)
|
||||
@@ -172,29 +172,29 @@ public:
|
||||
|
||||
switch (events.ExecuteEvent())
|
||||
{
|
||||
case HEIGAN_EVENT_DISRUPTION:
|
||||
me->CastSpell(me, HEIGAN_SPELL_SPELL_DISRUPTION, false);
|
||||
case EVENT_DISRUPTION:
|
||||
me->CastSpell(me, SPELL_SPELL_DISRUPTION, false);
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
case HEIGAN_EVENT_DECEPIT_FEVER:
|
||||
me->CastSpell(me, RAID_MODE(HEIGAN_SPELL_DECREPIT_FEVER_10, HEIGAN_SPELL_DECREPIT_FEVER_25), false);
|
||||
case EVENT_DECEPIT_FEVER:
|
||||
me->CastSpell(me, RAID_MODE(SPELL_DECREPIT_FEVER_10, SPELL_DECREPIT_FEVER_25), false);
|
||||
events.Repeat(22s, 25s);
|
||||
break;
|
||||
case HEIGAN_EVENT_PLAGUE_CLOUD:
|
||||
me->CastSpell(me, HEIGAN_SPELL_PLAGUE_CLOUD, false);
|
||||
case EVENT_PLAGUE_CLOUD:
|
||||
me->CastSpell(me, SPELL_PLAGUE_CLOUD, false);
|
||||
break;
|
||||
case HEIGAN_EVENT_SWITCH_PHASE:
|
||||
if (currentPhase == HEIGAN_PHASE_SLOW_DANCE)
|
||||
case EVENT_SWITCH_PHASE:
|
||||
if (currentPhase == PHASE_SLOW_DANCE)
|
||||
{
|
||||
StartFightPhase(HEIGAN_PHASE_FAST_DANCE);
|
||||
StartFightPhase(PHASE_FAST_DANCE);
|
||||
}
|
||||
else
|
||||
{
|
||||
StartFightPhase(HEIGAN_PHASE_SLOW_DANCE);
|
||||
Talk(HEIGAN_EMOTE_DANCE_END); // avoid play the emote on aggro
|
||||
StartFightPhase(PHASE_SLOW_DANCE);
|
||||
Talk(EMOTE_DANCE_END); // avoid play the emote on aggro
|
||||
}
|
||||
break;
|
||||
case HEIGAN_EVENT_ERUPT_SECTION:
|
||||
case EVENT_ERUPT_SECTION:
|
||||
if (pInstance)
|
||||
{
|
||||
pInstance->SetData(DATA_HEIGAN_ERUPTION, currentSection);
|
||||
@@ -208,16 +208,16 @@ public:
|
||||
}
|
||||
moveRight ? currentSection++ : currentSection--;
|
||||
}
|
||||
if (currentPhase == HEIGAN_PHASE_SLOW_DANCE)
|
||||
if (currentPhase == PHASE_SLOW_DANCE)
|
||||
{
|
||||
Talk(HEIGAN_SAY_TAUNT);
|
||||
Talk(SAY_TAUNT);
|
||||
}
|
||||
events.Repeat(currentPhase == HEIGAN_PHASE_SLOW_DANCE ? 10s : 4s);
|
||||
events.Repeat(currentPhase == PHASE_SLOW_DANCE ? 10s : 4s);
|
||||
break;
|
||||
case HEIGAN_EVENT_SAFETY_DANCE:
|
||||
case EVENT_SAFETY_DANCE:
|
||||
{
|
||||
Map::PlayerList const& pList = me->GetMap()->GetPlayers();
|
||||
for (const auto& itr : pList)
|
||||
for (auto const& itr : pList)
|
||||
{
|
||||
if (IsInRoom(itr.GetSource()) && !itr.GetSource()->IsAlive())
|
||||
{
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "naxxramas.h"
|
||||
|
||||
|
||||
using namespace Kelthuzad;
|
||||
|
||||
void AddSC_boss_kelthuzad()
|
||||
|
||||
@@ -251,7 +251,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* who) override
|
||||
{
|
||||
if (who->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!who->IsPlayer())
|
||||
return;
|
||||
|
||||
Talk(SAY_SLAY);
|
||||
@@ -553,7 +553,7 @@ public:
|
||||
|
||||
void MoveInLineOfSight(Unit* who) override
|
||||
{
|
||||
if (who->GetTypeId() != TYPEID_PLAYER && !who->IsPet())
|
||||
if (!who->IsPlayer() && !who->IsPet())
|
||||
return;
|
||||
|
||||
ScriptedAI::MoveInLineOfSight(who);
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "ScriptedCreature.h"
|
||||
#include "naxxramas.h"
|
||||
|
||||
|
||||
using namespace Noth;
|
||||
|
||||
void AddSC_boss_noth()
|
||||
|
||||
@@ -8,20 +8,20 @@
|
||||
|
||||
namespace Noth {
|
||||
|
||||
enum NothSays
|
||||
enum Says
|
||||
{
|
||||
NOTH_SAY_AGGRO = 0,
|
||||
NOTH_SAY_SUMMON = 1,
|
||||
NOTH_SAY_SLAY = 2,
|
||||
NOTH_SAY_DEATH = 3,
|
||||
NOTH_EMOTE_SUMMON = 4,
|
||||
NOTH_EMOTE_SUMMON_WAVE = 5,
|
||||
NOTH_EMOTE_TELEPORT_BALCONY = 6,
|
||||
NOTH_EMOTE_TELEPORT_BACK = 7,
|
||||
NOTH_EMOTE_BLINK = 8
|
||||
SAY_AGGRO = 0,
|
||||
SAY_SUMMON = 1,
|
||||
SAY_SLAY = 2,
|
||||
SAY_DEATH = 3,
|
||||
EMOTE_SUMMON = 4,
|
||||
EMOTE_SUMMON_WAVE = 5,
|
||||
EMOTE_TELEPORT_BALCONY = 6,
|
||||
EMOTE_TELEPORT_BACK = 7,
|
||||
EMOTE_BLINK = 8
|
||||
};
|
||||
|
||||
enum NothSpells
|
||||
enum Spells
|
||||
{
|
||||
SPELL_CURSE_OF_THE_PLAGUEBRINGER_10 = 29213,
|
||||
SPELL_CURSE_OF_THE_PLAGUEBRINGER_25 = 54835,
|
||||
@@ -30,11 +30,11 @@ enum NothSpells
|
||||
SPELL_SUMMON_PLAGUED_WARRIORS = 29237,
|
||||
SPELL_TELEPORT = 29216,
|
||||
SPELL_TELEPORT_BACK = 29231,
|
||||
NOTH_SPELL_BERSERK = 68378,
|
||||
SPELL_BERSERK = 68378,
|
||||
SPELL_BLINK = 29208
|
||||
};
|
||||
|
||||
enum NothEvents
|
||||
enum Events
|
||||
{
|
||||
EVENT_CURSE = 1,
|
||||
EVENT_CRIPPLE = 2,
|
||||
@@ -47,7 +47,7 @@ enum NothEvents
|
||||
EVENT_BALCONY_SUMMON_REAL = 9
|
||||
};
|
||||
|
||||
enum NothMisc
|
||||
enum Misc
|
||||
{
|
||||
NPC_PLAGUED_WARRIOR = 16984,
|
||||
NPC_PLAGUED_CHAMPION = 16983,
|
||||
@@ -158,7 +158,7 @@ public:
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
BossAI::JustEngagedWith(who);
|
||||
Talk(NOTH_SAY_AGGRO);
|
||||
Talk(SAY_AGGRO);
|
||||
StartGroundPhase();
|
||||
if (pInstance)
|
||||
{
|
||||
@@ -183,7 +183,7 @@ public:
|
||||
me->NearTeleportTo(nothPosition.GetPositionX(), nothPosition.GetPositionY(), nothPosition.GetPositionZ(), nothPosition.GetOrientation(), true);
|
||||
}
|
||||
BossAI::JustDied(killer);
|
||||
Talk(NOTH_SAY_DEATH);
|
||||
Talk(SAY_DEATH);
|
||||
if (pInstance)
|
||||
{
|
||||
if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetGuidData(DATA_NOTH_ENTRY_GATE)))
|
||||
@@ -195,10 +195,10 @@ public:
|
||||
|
||||
void KilledUnit(Unit* who) override
|
||||
{
|
||||
if (who->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!who->IsPlayer())
|
||||
return;
|
||||
|
||||
Talk(NOTH_SAY_SLAY);
|
||||
Talk(SAY_SLAY);
|
||||
if (pInstance)
|
||||
{
|
||||
pInstance->SetData(DATA_IMMORTAL_FAIL, 0);
|
||||
@@ -228,8 +228,8 @@ public:
|
||||
events.Repeat(25s);
|
||||
break;
|
||||
case EVENT_SUMMON_PLAGUED_WARRIOR_ANNOUNCE:
|
||||
Talk(NOTH_SAY_SUMMON);
|
||||
Talk(NOTH_EMOTE_SUMMON);
|
||||
Talk(SAY_SUMMON);
|
||||
Talk(EMOTE_SUMMON);
|
||||
events.Repeat(30s);
|
||||
events.ScheduleEvent(EVENT_SUMMON_PLAGUED_WARRIOR_REAL, 4s);
|
||||
break;
|
||||
@@ -238,7 +238,7 @@ public:
|
||||
SummonHelper(NPC_PLAGUED_WARRIOR, RAID_MODE(2, 3));
|
||||
break;
|
||||
case EVENT_MOVE_TO_BALCONY:
|
||||
Talk(NOTH_EMOTE_TELEPORT_BALCONY);
|
||||
Talk(EMOTE_TELEPORT_BALCONY);
|
||||
me->CastSpell(me, SPELL_TELEPORT, true);
|
||||
StartBalconyPhase();
|
||||
break;
|
||||
@@ -246,12 +246,12 @@ public:
|
||||
DoResetThreatList();
|
||||
me->CastSpell(me, RAID_MODE(SPELL_CRIPPLE_10, SPELL_CRIPPLE_25), false);
|
||||
me->CastSpell(me, SPELL_BLINK, true);
|
||||
Talk(NOTH_EMOTE_BLINK);
|
||||
Talk(EMOTE_BLINK);
|
||||
events.Repeat(30s);
|
||||
break;
|
||||
// BALCONY
|
||||
case EVENT_BALCONY_SUMMON_ANNOUNCE:
|
||||
Talk(NOTH_EMOTE_SUMMON_WAVE);
|
||||
Talk(EMOTE_SUMMON_WAVE);
|
||||
events.Repeat(30s);
|
||||
events.ScheduleEvent(EVENT_BALCONY_SUMMON_REAL, 4s);
|
||||
break;
|
||||
@@ -272,12 +272,12 @@ public:
|
||||
}
|
||||
break;
|
||||
case EVENT_MOVE_TO_GROUND:
|
||||
Talk(NOTH_EMOTE_TELEPORT_BACK);
|
||||
Talk(EMOTE_TELEPORT_BACK);
|
||||
me->CastSpell(me, SPELL_TELEPORT_BACK, true);
|
||||
timesInBalcony++;
|
||||
if (timesInBalcony == 3)
|
||||
{
|
||||
DoCastSelf(NOTH_SPELL_BERSERK);
|
||||
DoCastSelf(SPELL_BERSERK);
|
||||
}
|
||||
StartGroundPhase();
|
||||
break;
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "ScriptedCreature.h"
|
||||
#include "naxxramas.h"
|
||||
|
||||
|
||||
using namespace PatchWerk;
|
||||
|
||||
void AddSC_boss_patchwerk()
|
||||
|
||||
@@ -8,33 +8,33 @@
|
||||
|
||||
namespace PatchWerk {
|
||||
|
||||
enum PatchwerkYells
|
||||
enum Yells
|
||||
{
|
||||
PATCHWERK_SAY_AGGRO = 0,
|
||||
PATCHWERK_SAY_SLAY = 1,
|
||||
PATCHWERK_SAY_DEATH = 2,
|
||||
PATCHWERK_EMOTE_BERSERK = 3,
|
||||
PATCHWERK_EMOTE_ENRAGE = 4
|
||||
SAY_AGGRO = 0,
|
||||
SAY_SLAY = 1,
|
||||
SAY_DEATH = 2,
|
||||
EMOTE_BERSERK = 3,
|
||||
EMOTE_ENRAGE = 4
|
||||
};
|
||||
|
||||
enum PatchwerkSpells
|
||||
enum Spells
|
||||
{
|
||||
SPELL_HATEFUL_STRIKE_10 = 41926,
|
||||
SPELL_HATEFUL_STRIKE_25 = 59192,
|
||||
PATCHWERK_SPELL_FRENZY = 28131,
|
||||
PATCHWERK_SPELL_BERSERK = 26662,
|
||||
SPELL_FRENZY = 28131,
|
||||
SPELL_BERSERK = 26662,
|
||||
SPELL_SLIME_BOLT = 32309
|
||||
};
|
||||
|
||||
enum PatchwerkEvents
|
||||
enum Events
|
||||
{
|
||||
PATCHWERK_EVENT_HEALTH_CHECK = 1,
|
||||
EVENT_HEALTH_CHECK = 1,
|
||||
EVENT_HATEFUL_STRIKE = 2,
|
||||
EVENT_SLIME_BOLT = 3,
|
||||
PATCHWERK_EVENT_BERSERK = 4
|
||||
EVENT_BERSERK = 4
|
||||
};
|
||||
|
||||
enum PatchwerkMisc
|
||||
enum Misc
|
||||
{
|
||||
ACHIEV_TIMED_START_EVENT = 10286
|
||||
};
|
||||
@@ -67,12 +67,12 @@ public:
|
||||
|
||||
void KilledUnit(Unit* who) override
|
||||
{
|
||||
if (who->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!who->IsPlayer())
|
||||
return;
|
||||
|
||||
if (!urand(0, 3))
|
||||
{
|
||||
Talk(PATCHWERK_SAY_SLAY);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
if (pInstance)
|
||||
{
|
||||
@@ -83,17 +83,17 @@ public:
|
||||
void JustDied(Unit* killer) override
|
||||
{
|
||||
BossAI::JustDied(killer);
|
||||
Talk(PATCHWERK_SAY_DEATH);
|
||||
Talk(SAY_DEATH);
|
||||
}
|
||||
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
BossAI::JustEngagedWith(who);
|
||||
Talk(PATCHWERK_SAY_AGGRO);
|
||||
Talk(SAY_AGGRO);
|
||||
me->SetInCombatWithZone();
|
||||
events.ScheduleEvent(EVENT_HATEFUL_STRIKE, 1500ms);
|
||||
events.ScheduleEvent(PATCHWERK_EVENT_BERSERK, 6min);
|
||||
events.ScheduleEvent(PATCHWERK_EVENT_HEALTH_CHECK, 1s);
|
||||
events.ScheduleEvent(EVENT_BERSERK, 6min);
|
||||
events.ScheduleEvent(EVENT_HEALTH_CHECK, 1s);
|
||||
if (pInstance)
|
||||
{
|
||||
pInstance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
|
||||
@@ -159,20 +159,20 @@ public:
|
||||
events.Repeat(1s);
|
||||
break;
|
||||
}
|
||||
case PATCHWERK_EVENT_BERSERK:
|
||||
Talk(PATCHWERK_EMOTE_BERSERK);
|
||||
me->CastSpell(me, PATCHWERK_SPELL_BERSERK, true);
|
||||
case EVENT_BERSERK:
|
||||
Talk(EMOTE_BERSERK);
|
||||
me->CastSpell(me, SPELL_BERSERK, true);
|
||||
events.ScheduleEvent(EVENT_SLIME_BOLT, 3s);
|
||||
break;
|
||||
case EVENT_SLIME_BOLT:
|
||||
me->CastSpell(me, SPELL_SLIME_BOLT, false);
|
||||
events.Repeat(3s);
|
||||
break;
|
||||
case PATCHWERK_EVENT_HEALTH_CHECK:
|
||||
case EVENT_HEALTH_CHECK:
|
||||
if (me->GetHealthPct() <= 5)
|
||||
{
|
||||
Talk(PATCHWERK_EMOTE_ENRAGE);
|
||||
me->CastSpell(me, PATCHWERK_SPELL_FRENZY, true);
|
||||
Talk(EMOTE_ENRAGE);
|
||||
me->CastSpell(me, SPELL_FRENZY, true);
|
||||
break;
|
||||
}
|
||||
events.Repeat(1s);
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "naxxramas.h"
|
||||
#include "SpellInfo.h"
|
||||
|
||||
|
||||
using namespace Razuvious;
|
||||
|
||||
void AddSC_boss_razuvious()
|
||||
|
||||
@@ -210,7 +210,7 @@ public:
|
||||
void DamageTaken(Unit* who, uint32& damage, DamageEffectType, SpellSchoolMask) override
|
||||
{
|
||||
// Damage done by the controlled Death Knight understudies should also count toward damage done by players
|
||||
if(who && who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == NPC_DEATH_KNIGHT_UNDERSTUDY)
|
||||
if(who && who->IsCreature() && who->GetEntry() == NPC_DEATH_KNIGHT_UNDERSTUDY)
|
||||
{
|
||||
me->LowerPlayerDamageReq(damage);
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "naxxramas.h"
|
||||
|
||||
|
||||
using namespace Sapphiron;
|
||||
|
||||
void AddSC_boss_sapphiron()
|
||||
|
||||
@@ -130,7 +130,7 @@ public:
|
||||
if (PlList.IsEmpty())
|
||||
return;
|
||||
|
||||
for (const auto& i : PlList)
|
||||
for (auto const& i : PlList)
|
||||
{
|
||||
if (Player* player = i.GetSource())
|
||||
{
|
||||
@@ -388,7 +388,7 @@ public:
|
||||
case EVENT_HUNDRED_CLUB:
|
||||
{
|
||||
Map::PlayerList const& pList = me->GetMap()->GetPlayers();
|
||||
for (const auto& itr : pList)
|
||||
for (auto const& itr : pList)
|
||||
{
|
||||
if (itr.GetSource()->GetResistance(SPELL_SCHOOL_FROST) > 100 && pInstance)
|
||||
{
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "naxxramas.h"
|
||||
|
||||
|
||||
using namespace Thaddius;
|
||||
|
||||
void AddSC_boss_thaddius()
|
||||
|
||||
@@ -197,7 +197,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* who) override
|
||||
{
|
||||
if (who->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!who->IsPlayer())
|
||||
return;
|
||||
|
||||
Talk(SAY_SLAY);
|
||||
@@ -477,7 +477,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* who) override
|
||||
{
|
||||
if (who->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!who->IsPlayer())
|
||||
return;
|
||||
|
||||
if (pInstance)
|
||||
@@ -635,7 +635,7 @@ class spell_thaddius_pos_neg_charge : public SpellScript
|
||||
if (!target)
|
||||
return;
|
||||
|
||||
if (target->HasAura(GetTriggeringSpell()->Id) || target->GetTypeId() != TYPEID_PLAYER)
|
||||
if (target->HasAura(GetTriggeringSpell()->Id) || !target->IsPlayer())
|
||||
{
|
||||
SetHitDamage(0);
|
||||
}
|
||||
|
||||
@@ -245,7 +245,7 @@ class spell_boss_magus_telestra_summon_telestra_clones_aura : public AuraScript
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
return GetUnitOwner()->GetTypeId() == TYPEID_UNIT;
|
||||
return GetUnitOwner()->IsCreature();
|
||||
}
|
||||
|
||||
void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
|
||||
@@ -354,7 +354,7 @@ public:
|
||||
|
||||
void IsSummonedBy(WorldObject* summoner) override
|
||||
{
|
||||
if (summoner->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!summoner->IsPlayer())
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -392,7 +392,7 @@ public:
|
||||
|
||||
void PassengerBoarded(Unit* passenger, int8 /*seatid*/, bool add) override
|
||||
{
|
||||
if (passenger->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!passenger->IsPlayer())
|
||||
return;
|
||||
|
||||
if (add)
|
||||
|
||||
@@ -197,7 +197,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!victim->IsPlayer())
|
||||
return;
|
||||
|
||||
Talk(SAY_SLAY);
|
||||
|
||||
@@ -132,7 +132,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!victim->IsPlayer())
|
||||
return;
|
||||
|
||||
Talk(SAY_SLAY);
|
||||
|
||||
@@ -162,7 +162,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!victim->IsPlayer())
|
||||
return;
|
||||
|
||||
Talk(SAY_SLAY);
|
||||
|
||||
@@ -183,7 +183,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!victim->IsPlayer())
|
||||
return;
|
||||
|
||||
Talk(SAY_SLAY);
|
||||
|
||||
@@ -401,7 +401,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() != TYPEID_PLAYER || urand(0, 2))
|
||||
if (!victim->IsPlayer() || urand(0, 2))
|
||||
return;
|
||||
|
||||
Talk(SAY_ALGALON_KILL);
|
||||
@@ -1018,7 +1018,7 @@ public:
|
||||
|
||||
void SpellHit(Unit* caster, SpellInfo const* spell) override
|
||||
{
|
||||
if (spell->Id != SPELL_CONSTELLATION_PHASE_EFFECT || caster->GetTypeId() != TYPEID_UNIT)
|
||||
if (spell->Id != SPELL_CONSTELLATION_PHASE_EFFECT || !caster->IsCreature())
|
||||
return;
|
||||
|
||||
if (InstanceScript* instance = me->GetInstanceScript())
|
||||
|
||||
@@ -310,7 +310,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* who) override
|
||||
{
|
||||
if (who->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!who->IsPlayer())
|
||||
return;
|
||||
|
||||
if (_phase == 3)
|
||||
@@ -488,7 +488,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* who) override
|
||||
{
|
||||
if (who->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!who->IsPlayer())
|
||||
return;
|
||||
|
||||
Talk(SAY_MOLGEIM_SLAY);
|
||||
@@ -706,7 +706,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* who) override
|
||||
{
|
||||
if (who->GetTypeId() != TYPEID_PLAYER || urand(0, 2))
|
||||
if (!who->IsPlayer() || urand(0, 2))
|
||||
return;
|
||||
|
||||
Talk(SAY_BRUNDIR_SLAY);
|
||||
|
||||
@@ -194,7 +194,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() != TYPEID_PLAYER || urand(0, 2))
|
||||
if (!victim->IsPlayer() || urand(0, 2))
|
||||
return;
|
||||
|
||||
Talk(SAY_SLAY);
|
||||
|
||||
@@ -447,7 +447,7 @@ public:
|
||||
case EVENT_REINSTALL:
|
||||
for (uint8 i = RAID_MODE(0, 2); i < 4; ++i)
|
||||
if (Unit* seat = vehicle->GetPassenger(i))
|
||||
if (seat->GetTypeId() == TYPEID_UNIT)
|
||||
if (seat->IsCreature())
|
||||
seat->ToCreature()->AI()->EnterEvadeMode();
|
||||
Talk(FLAME_LEVIATHAN_EMOTE_REACTIVATE);
|
||||
return;
|
||||
@@ -758,7 +758,7 @@ public:
|
||||
|
||||
void PassengerBoarded(Unit* who, int8 seatId, bool apply) override
|
||||
{
|
||||
if (who->GetTypeId() != TYPEID_PLAYER || !me->GetVehicle())
|
||||
if (!who->IsPlayer() || !me->GetVehicle())
|
||||
return;
|
||||
|
||||
who->ApplySpellImmune(63847, IMMUNITY_ID, 63847, apply); // SPELL_FLAME_VENTS_TRIGGER
|
||||
@@ -780,7 +780,7 @@ public:
|
||||
{
|
||||
turret->ReplaceAllUnitFlags(UNIT_FLAG_NOT_SELECTABLE);
|
||||
turret->SetImmuneToAll(true);
|
||||
if (turret->GetTypeId() == TYPEID_UNIT)
|
||||
if (turret->IsCreature())
|
||||
turret->ToCreature()->AI()->EnterEvadeMode();
|
||||
}
|
||||
}
|
||||
@@ -829,7 +829,7 @@ public:
|
||||
|
||||
bool CanAIAttack(Unit const* who) const override
|
||||
{
|
||||
if (!who || who->GetTypeId() != TYPEID_PLAYER || !who->GetVehicle() || who->GetVehicleBase()->GetEntry() != NPC_SEAT)
|
||||
if (!who || !who->IsPlayer() || !who->GetVehicle() || who->GetVehicleBase()->GetEntry() != NPC_SEAT)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
@@ -1231,7 +1231,7 @@ public:
|
||||
{
|
||||
if (!_lock)
|
||||
{
|
||||
if (who->GetTypeId() != TYPEID_PLAYER && !who->IsVehicle())
|
||||
if (!who->IsPlayer() && !who->IsVehicle())
|
||||
return;
|
||||
|
||||
// MIMIRON
|
||||
@@ -1753,7 +1753,7 @@ class spell_vehicle_grab_pyrite : public SpellScript
|
||||
GetCaster()->CastSpell(parent, SPELL_ADD_PYRITE, true);
|
||||
target->CastSpell(seat, GetEffectValue());
|
||||
|
||||
if (target->GetTypeId() == TYPEID_UNIT)
|
||||
if (target->IsCreature())
|
||||
target->ToCreature()->DespawnOrUnsummon(1300);
|
||||
}
|
||||
}
|
||||
@@ -1927,7 +1927,7 @@ class spell_demolisher_ride_vehicle : public SpellScript
|
||||
|
||||
SpellCastResult CheckCast()
|
||||
{
|
||||
if (GetCaster()->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!GetCaster()->IsPlayer())
|
||||
return SPELL_CAST_OK;
|
||||
|
||||
Unit* target = this->GetExplTargetUnit();
|
||||
|
||||
@@ -307,7 +307,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() != TYPEID_PLAYER || urand(0, 2))
|
||||
if (!victim->IsPlayer() || urand(0, 2))
|
||||
return;
|
||||
|
||||
Talk(SAY_SLAY);
|
||||
|
||||
@@ -486,7 +486,7 @@ class spell_aura_of_despair_aura : public AuraScript
|
||||
if (Unit* caster = GetCaster())
|
||||
if (Unit* target = GetTarget())
|
||||
{
|
||||
if (target->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!target->IsPlayer())
|
||||
return;
|
||||
|
||||
target->CastSpell(target, SPELL_AURA_OF_DESPAIR_2, true);
|
||||
@@ -614,7 +614,7 @@ public:
|
||||
|
||||
bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override
|
||||
{
|
||||
return target && target->GetEntry() == NPC_VEZAX && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(1);
|
||||
return target && target->GetEntry() == NPC_VEZAX && target->IsCreature() && target->ToCreature()->AI()->GetData(1);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -625,7 +625,7 @@ public:
|
||||
|
||||
bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override
|
||||
{
|
||||
return target && target->GetEntry() == NPC_VEZAX && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(2);
|
||||
return target && target->GetEntry() == NPC_VEZAX && target->IsCreature() && target->ToCreature()->AI()->GetData(2);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -578,7 +578,7 @@ public:
|
||||
{
|
||||
if (t->IsPlayer())
|
||||
return !t->HasAura(SPELL_FLASH_FREEZE_TRAPPED_PLAYER);
|
||||
else if (t->GetTypeId() == TYPEID_UNIT)
|
||||
else if (t->IsCreature())
|
||||
return !t->HasAura(SPELL_FLASH_FREEZE_TRAPPED_NPC);
|
||||
|
||||
return true;
|
||||
@@ -702,7 +702,7 @@ public:
|
||||
{
|
||||
if (Unit* s = me->ToTempSummon()->GetSummonerUnit())
|
||||
{
|
||||
if ((s->IsPlayer() && !s->HasAura(SPELL_FLASH_FREEZE_TRAPPED_PLAYER)) || (s->GetTypeId() == TYPEID_UNIT && !s->HasAura(SPELL_FLASH_FREEZE_TRAPPED_NPC)))
|
||||
if ((s->IsPlayer() && !s->HasAura(SPELL_FLASH_FREEZE_TRAPPED_PLAYER)) || (s->IsCreature() && !s->HasAura(SPELL_FLASH_FREEZE_TRAPPED_NPC)))
|
||||
me->DespawnOrUnsummon(2000);
|
||||
else if (s->IsPlayer())
|
||||
if (InstanceScript* instanceScript = me->GetInstanceScript())
|
||||
@@ -1354,14 +1354,14 @@ class spell_hodir_flash_freeze_aura : public AuraScript
|
||||
{
|
||||
Unit* target = GetTarget();
|
||||
Unit* caster = GetCaster();
|
||||
if (!target || !caster || caster->GetTypeId() != TYPEID_UNIT)
|
||||
if (!target || !caster || !caster->IsCreature())
|
||||
return;
|
||||
|
||||
if (Aura* aur = target->GetAura(target->IsPlayer() ? SPELL_FLASH_FREEZE_TRAPPED_PLAYER : SPELL_FLASH_FREEZE_TRAPPED_NPC))
|
||||
{
|
||||
if (Unit* caster2 = aur->GetCaster())
|
||||
{
|
||||
if (caster2->GetTypeId() == TYPEID_UNIT)
|
||||
if (caster2->IsCreature())
|
||||
{
|
||||
caster2->ToCreature()->DespawnOrUnsummon();
|
||||
}
|
||||
@@ -1378,7 +1378,7 @@ class spell_hodir_flash_freeze_aura : public AuraScript
|
||||
caster->ToCreature()->AI()->JustSummoned(c);
|
||||
}
|
||||
}
|
||||
else if (target->GetTypeId() == TYPEID_UNIT)
|
||||
else if (target->IsCreature())
|
||||
{
|
||||
if( Creature* c = target->SummonCreature(NPC_FLASH_FREEZE_NPC, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 2000) )
|
||||
{
|
||||
@@ -1483,7 +1483,7 @@ public:
|
||||
|
||||
bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override
|
||||
{
|
||||
return target && target->GetEntry() == NPC_HODIR && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(1);
|
||||
return target && target->GetEntry() == NPC_HODIR && target->IsCreature() && target->ToCreature()->AI()->GetData(1);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1494,7 +1494,7 @@ public:
|
||||
|
||||
bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override
|
||||
{
|
||||
return target && target->GetEntry() == NPC_HODIR && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(2);
|
||||
return target && target->GetEntry() == NPC_HODIR && target->IsCreature() && target->ToCreature()->AI()->GetData(2);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1505,7 +1505,7 @@ public:
|
||||
|
||||
bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override
|
||||
{
|
||||
return target && target->GetEntry() == NPC_HODIR && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(3);
|
||||
return target && target->GetEntry() == NPC_HODIR && target->IsCreature() && target->ToCreature()->AI()->GetData(3);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1516,7 +1516,7 @@ public:
|
||||
|
||||
bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override
|
||||
{
|
||||
return target && target->GetEntry() == NPC_HODIR && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(4);
|
||||
return target && target->GetEntry() == NPC_HODIR && target->IsCreature() && target->ToCreature()->AI()->GetData(4);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -542,7 +542,7 @@ public:
|
||||
|
||||
bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override
|
||||
{
|
||||
if (!target || target->GetTypeId() != TYPEID_UNIT)
|
||||
if (!target || !target->IsCreature())
|
||||
return false;
|
||||
return !!target->ToCreature()->AI()->GetData(1337);
|
||||
}
|
||||
|
||||
@@ -707,7 +707,7 @@ public:
|
||||
if (target == _victim && _me->GetThreatMgr().GetThreatListSize() > 1)
|
||||
return true;
|
||||
|
||||
if (target->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!target->IsPlayer())
|
||||
return true;
|
||||
|
||||
return false;
|
||||
@@ -724,7 +724,7 @@ class spell_ulduar_stone_grip_cast_target : public SpellScript
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
if (GetCaster()->GetTypeId() != TYPEID_UNIT)
|
||||
if (!GetCaster()->IsCreature())
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1342,7 +1342,7 @@ public:
|
||||
if( Vehicle* vk = me->GetVehicleKit() )
|
||||
for (uint8 i = 0; i < 2; ++i)
|
||||
if (Unit* r = vk->GetPassenger(5 + i))
|
||||
if (r->GetTypeId() == TYPEID_UNIT)
|
||||
if (r->IsCreature())
|
||||
r->ToCreature()->DespawnOrUnsummon(1);
|
||||
}
|
||||
|
||||
@@ -1438,7 +1438,7 @@ public:
|
||||
exitPos.m_positionZ += 2.0f * Phase;
|
||||
r->_ExitVehicle(&exitPos);
|
||||
me->RemoveAurasByType(SPELL_AURA_CONTROL_VEHICLE, r->GetGUID());
|
||||
if (r->GetTypeId() == TYPEID_UNIT)
|
||||
if (r->IsCreature())
|
||||
r->ToCreature()->AI()->SetData(0, 0);
|
||||
}
|
||||
}
|
||||
@@ -2155,7 +2155,7 @@ class spell_mimiron_p3wx2_laser_barrage_aura : public AuraScript
|
||||
{
|
||||
if (Unit* caster = GetCaster())
|
||||
{
|
||||
if (caster->GetTypeId() != TYPEID_UNIT)
|
||||
if (!caster->IsCreature())
|
||||
return;
|
||||
uint32 diff = getMSTimeDiff(_lastMSTime, GameTime::GetGameTimeMS().count());
|
||||
if (_lastOrientation == -1.0f)
|
||||
@@ -2466,7 +2466,7 @@ public:
|
||||
|
||||
bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override
|
||||
{
|
||||
return target && target->GetEntry() == NPC_MIMIRON && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(1);
|
||||
return target && target->GetEntry() == NPC_MIMIRON && target->IsCreature() && target->ToCreature()->AI()->GetData(1);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -2477,7 +2477,7 @@ public:
|
||||
|
||||
bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override
|
||||
{
|
||||
return target && target->GetEntry() == NPC_MIMIRON && target->GetTypeId() == TYPEID_UNIT && !target->ToCreature()->AI()->GetData(11);
|
||||
return target && target->GetEntry() == NPC_MIMIRON && target->IsCreature() && !target->ToCreature()->AI()->GetData(11);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -2488,7 +2488,7 @@ public:
|
||||
|
||||
bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override
|
||||
{
|
||||
return target && target->GetEntry() == NPC_MIMIRON && target->GetTypeId() == TYPEID_UNIT && !target->ToCreature()->AI()->GetData(12);
|
||||
return target && target->GetEntry() == NPC_MIMIRON && target->IsCreature() && !target->ToCreature()->AI()->GetData(12);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -2499,7 +2499,7 @@ public:
|
||||
|
||||
bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override
|
||||
{
|
||||
return target && target->GetEntry() == NPC_MIMIRON && target->GetTypeId() == TYPEID_UNIT && !target->ToCreature()->AI()->GetData(13);
|
||||
return target && target->GetEntry() == NPC_MIMIRON && target->IsCreature() && !target->ToCreature()->AI()->GetData(13);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -711,7 +711,7 @@ public:
|
||||
if (_introSpoken)
|
||||
return;
|
||||
|
||||
if (who->GetTypeId() != TYPEID_PLAYER || me->GetExactDist2d(who) > 15.0f)
|
||||
if (!who->IsPlayer() || me->GetExactDist2d(who) > 15.0f)
|
||||
return;
|
||||
|
||||
_introSpoken = true;
|
||||
@@ -1153,7 +1153,7 @@ public:
|
||||
|
||||
bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override
|
||||
{
|
||||
return target && target->GetTypeId() == TYPEID_UNIT && target->GetEntry() == NPC_RAZORSCALE && target->ToCreature()->AI()->GetData(1);
|
||||
return target && target->IsCreature() && target->GetEntry() == NPC_RAZORSCALE && target->ToCreature()->AI()->GetData(1);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -427,7 +427,7 @@ public:
|
||||
{
|
||||
summons.Summon(cr);
|
||||
if (Unit* owner = me->GetVehicleBase())
|
||||
if (owner->GetTypeId() == TYPEID_UNIT)
|
||||
if (owner->IsCreature())
|
||||
owner->ToCreature()->AI()->JustSummoned(cr);
|
||||
}
|
||||
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
|
||||
|
||||
@@ -1103,7 +1103,7 @@ public:
|
||||
if (Creature* algalon = instance->GetCreature(m_uiAlgalonGUID))
|
||||
algalon->AI()->DoAction(ACTION_FEEDS_ON_TEARS_FAILED);
|
||||
}
|
||||
else if (unit->GetTypeId() == TYPEID_UNIT && unit->GetAreaId() == 4656 /*Conservatory of Life*/)
|
||||
else if (unit->IsCreature() && unit->GetAreaId() == 4656 /*Conservatory of Life*/)
|
||||
{
|
||||
if (GameTime::GetGameTime().count() > (m_conspeedatoryAttempt + DAY))
|
||||
{
|
||||
|
||||
@@ -328,7 +328,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!victim->IsPlayer())
|
||||
return;
|
||||
|
||||
Talk(SAY_SLAY);
|
||||
|
||||
@@ -404,7 +404,7 @@ class spell_svala_ritual_strike : public SpellScript
|
||||
{
|
||||
if (Unit* unitTarget = GetHitUnit())
|
||||
{
|
||||
if (unitTarget->GetTypeId() != TYPEID_UNIT)
|
||||
if (!unitTarget->IsCreature())
|
||||
return;
|
||||
|
||||
Unit::DealDamage(GetCaster(), unitTarget, 7000, nullptr, DIRECT_DAMAGE);
|
||||
|
||||
@@ -217,7 +217,7 @@ public:
|
||||
void HandlePeriodicDummy(AuraEffect const* /*aurEff*/)
|
||||
{
|
||||
Unit* target = GetTarget();
|
||||
if (target->GetTypeId() == TYPEID_UNIT && GetAura()->GetStackAmount() >= 10)
|
||||
if (target->IsCreature() && GetAura()->GetStackAmount() >= 10)
|
||||
{
|
||||
target->CastSpell(target, SPELL_OVERCHARGED_BLAST, true);
|
||||
Unit::Kill(target, target, false);
|
||||
|
||||
@@ -45,7 +45,7 @@ class spell_q11919_q11940_drake_hunt_aura : public AuraScript
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
return GetOwner()->GetTypeId() == TYPEID_UNIT;
|
||||
return GetOwner()->IsCreature();
|
||||
}
|
||||
|
||||
void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
@@ -217,7 +217,7 @@ public:
|
||||
{
|
||||
ScriptedAI::MoveInLineOfSight(who);
|
||||
|
||||
if (who->GetTypeId() != TYPEID_UNIT)
|
||||
if (!who->IsCreature())
|
||||
return;
|
||||
|
||||
if (who->GetEntry() == NPC_ORPHANED_MAMMOTH_CALF && me->IsWithinDistInMap(who, 10.0f))
|
||||
@@ -314,7 +314,7 @@ public:
|
||||
|
||||
void JustDied(Unit* killer) override
|
||||
{
|
||||
if (!killer || killer->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!killer || !killer->IsPlayer())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -694,7 +694,7 @@ public:
|
||||
if (Vehicle* gryphon = me->GetVehicleKit())
|
||||
if (Unit* villager = gryphon->GetPassenger(1))
|
||||
{
|
||||
if (villager->GetTypeId() != TYPEID_UNIT)
|
||||
if (!villager->IsCreature())
|
||||
return;
|
||||
|
||||
if (Creature* seat = villager->ToCreature())
|
||||
@@ -1296,7 +1296,7 @@ public:
|
||||
if (Unit* vb = c->GetVehicleBase())
|
||||
{
|
||||
if (Unit* pass = vb->GetVehicleKit()->GetPassenger(0))
|
||||
if (pass->GetTypeId() == TYPEID_UNIT)
|
||||
if (pass->IsCreature())
|
||||
pass->ToCreature()->DespawnOrUnsummon(1);
|
||||
vb->RemoveAllAuras();
|
||||
vb->ToCreature()->DespawnOrUnsummon(1);
|
||||
@@ -1323,7 +1323,7 @@ public:
|
||||
|
||||
void SpellHitTarget(Unit* target, SpellInfo const* spell) override
|
||||
{
|
||||
if (spell->Id == SPELL_SAC_REPEL_HAMMER && target->GetTypeId() == TYPEID_UNIT)
|
||||
if (spell->Id == SPELL_SAC_REPEL_HAMMER && target->IsCreature())
|
||||
{
|
||||
target->CastSpell((Unit*)nullptr, SPELL_SAC_THROW_HAMMER, true);
|
||||
target->ToCreature()->DespawnOrUnsummon(1);
|
||||
@@ -1469,7 +1469,7 @@ public:
|
||||
explicit GhoulTargetCheck(bool alive) : _alive(alive) {}
|
||||
bool operator()(WorldObject* object) const
|
||||
{
|
||||
return _alive ^ (object->GetTypeId() != TYPEID_UNIT || ((Unit*)object)->GetDisplayId() != 11686);
|
||||
return _alive ^ (!object->IsCreature() || ((Unit*)object)->GetDisplayId() != 11686);
|
||||
}
|
||||
private:
|
||||
bool _alive;
|
||||
@@ -1489,7 +1489,7 @@ class spell_q24545_aod_special : public SpellScript
|
||||
{
|
||||
PreventHitDefaultEffect(effIndex);
|
||||
if (Unit* target = GetHitUnit())
|
||||
if (target->GetTypeId() == TYPEID_UNIT)
|
||||
if (target->IsCreature())
|
||||
target->ToCreature()->AI()->DoAction(GetSpellInfo()->Id == 70790 ? -2 : -1);
|
||||
}
|
||||
|
||||
@@ -1648,7 +1648,7 @@ public:
|
||||
|
||||
void IsSummonedBy(WorldObject* summoner) override
|
||||
{
|
||||
if (!summoner || summoner->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!summoner || !summoner->IsPlayer())
|
||||
return;
|
||||
|
||||
uint8 id = GetSpeachId();
|
||||
|
||||
@@ -967,7 +967,7 @@ class spell_shredder_delivery : public SpellScript
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
return GetCaster()->GetTypeId() == TYPEID_UNIT;
|
||||
return GetCaster()->IsCreature();
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
|
||||
@@ -139,7 +139,7 @@ public:
|
||||
void setphase(short newPhase)
|
||||
{
|
||||
Unit* summoner = me->ToTempSummon() ? me->ToTempSummon()->GetSummonerUnit() : nullptr;
|
||||
if (!summoner || summoner->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!summoner || !summoner->IsPlayer())
|
||||
return;
|
||||
|
||||
switch (newPhase)
|
||||
|
||||
@@ -51,7 +51,7 @@ public:
|
||||
|
||||
void MoveInLineOfSight(Unit* who) override
|
||||
{
|
||||
if (who->GetTypeId() != TYPEID_PLAYER || me->GetDistance(who) > 8.0f || who->ToPlayer()->GetQuestStatus(QUEST_BLACK_KNIGHT_CURSE) != QUEST_STATUS_INCOMPLETE)
|
||||
if (!who->IsPlayer() || me->GetDistance(who) > 8.0f || who->ToPlayer()->GetQuestStatus(QUEST_BLACK_KNIGHT_CURSE) != QUEST_STATUS_INCOMPLETE)
|
||||
return;
|
||||
|
||||
if (me->FindNearestCreature(NPC_CULT_ASSASSIN, 30.0f))
|
||||
@@ -1248,7 +1248,7 @@ public:
|
||||
if (!summoner)
|
||||
return;
|
||||
|
||||
if (summoner->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!summoner->IsPlayer())
|
||||
return;
|
||||
|
||||
Player* player = summoner->ToPlayer();
|
||||
@@ -1493,7 +1493,7 @@ public:
|
||||
if (me->GetAreaId() != AREA_SUNREAVER_PAVILION && me->GetAreaId() != AREA_SILVER_COVENANT_PAVILION)
|
||||
return;
|
||||
|
||||
if (!who || who->GetTypeId() != TYPEID_PLAYER || !me->IsHostileTo(who) || !me->isInBackInMap(who, 5.0f))
|
||||
if (!who || !who->IsPlayer() || !me->IsHostileTo(who) || !me->isInBackInMap(who, 5.0f))
|
||||
return;
|
||||
|
||||
if (who->HasAura(SPELL_TRESPASSER_H) || who->HasAura(SPELL_TRESPASSER_A))
|
||||
|
||||
@@ -875,7 +875,7 @@ public:
|
||||
for (uint8 i = 1; i < 4; ++i)
|
||||
if (Unit* prisoner = me->GetVehicleKit()->GetPassenger(i))
|
||||
{
|
||||
if (prisoner->GetTypeId() != TYPEID_UNIT)
|
||||
if (!prisoner->IsCreature())
|
||||
return;
|
||||
prisoner->CastSpell(player, SPELL_KILL_CREDIT_PRISONER, true);
|
||||
prisoner->CastSpell(prisoner, SPELL_SUMMON_LIBERATED, true);
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "Vehicle.h"
|
||||
#include "World.h"
|
||||
#include <cmath>
|
||||
|
||||
enum eWGqueuenpctext
|
||||
{
|
||||
@@ -1089,7 +1090,7 @@ class spell_wg_reduce_damage_by_distance : public SpellScript
|
||||
float maxDistance = GetSpellInfo()->Effects[EFFECT_0].CalcRadius(GetCaster()); // Xinef: always stored in EFFECT_0
|
||||
float distance = std::min<float>(GetHitUnit()->GetDistance(*GetExplTargetDest()), maxDistance);
|
||||
|
||||
int32 damage = std::max<int32>(0, int32(GetHitDamage() - floor(GetHitDamage() * (distance / maxDistance))));
|
||||
int32 damage = std::max<int32>(0, int32(GetHitDamage() - std::floor(GetHitDamage() * (distance / maxDistance))));
|
||||
SetHitDamage(damage);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user