mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-31 01:23:47 +00:00
refactor(Core): apply clang-tidy modernize-use-override (#3817)
This commit is contained in:
@@ -140,7 +140,7 @@ class StandUpEvent : public BasicEvent
|
||||
public:
|
||||
StandUpEvent(Creature& owner) : BasicEvent(), _owner(owner) { }
|
||||
|
||||
bool Execute(uint64 /*eventTime*/, uint32 /*diff*/)
|
||||
bool Execute(uint64 /*eventTime*/, uint32 /*diff*/) override
|
||||
{
|
||||
_owner.HandleEmoteCommand(EMOTE_ONESHOT_ROAR);
|
||||
return true;
|
||||
@@ -155,7 +155,7 @@ class ShockVortexExplodeEvent : public BasicEvent
|
||||
public:
|
||||
ShockVortexExplodeEvent(Creature& owner) : BasicEvent(), _owner(owner) { }
|
||||
|
||||
bool Execute(uint64 /*eventTime*/, uint32 /*diff*/)
|
||||
bool Execute(uint64 /*eventTime*/, uint32 /*diff*/) override
|
||||
{
|
||||
_owner.CastSpell(&_owner, SPELL_SHOCK_VORTEX_PERIODIC, true);
|
||||
return true;
|
||||
@@ -186,7 +186,7 @@ public:
|
||||
_canDie = true;
|
||||
}
|
||||
|
||||
void InitializeAI()
|
||||
void InitializeAI() override
|
||||
{
|
||||
ScriptedAI::InitializeAI();
|
||||
if (me->IsAlive())
|
||||
@@ -211,7 +211,7 @@ public:
|
||||
bool _evading;
|
||||
bool _canDie;
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
events.Reset();
|
||||
summons.DespawnAll();
|
||||
@@ -221,7 +221,7 @@ public:
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
void EnterCombat(Unit* who) override
|
||||
{
|
||||
bool valid = true;
|
||||
if (Creature* keleseth = instance->instance->GetCreature(instance->GetData64(DATA_PRINCE_KELESETH_GUID)))
|
||||
@@ -264,12 +264,12 @@ public:
|
||||
me->AddAura(SPELL_SHADOW_PRISON, me);
|
||||
}
|
||||
|
||||
void AttackStart(Unit* who)
|
||||
void AttackStart(Unit* who) override
|
||||
{
|
||||
ScriptedAI::AttackStartCaster(who, 10.0f);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
events.Reset();
|
||||
summons.DespawnAll();
|
||||
@@ -297,13 +297,13 @@ public:
|
||||
Unit::Kill(valanar, valanar);
|
||||
}
|
||||
|
||||
void JustRespawned()
|
||||
void JustRespawned() override
|
||||
{
|
||||
ScriptedAI::JustRespawned();
|
||||
JustReachedHome();
|
||||
}
|
||||
|
||||
void JustReachedHome()
|
||||
void JustReachedHome() override
|
||||
{
|
||||
_canDie = true;
|
||||
me->setActive(false);
|
||||
@@ -312,12 +312,12 @@ public:
|
||||
me->SetHealth(1);
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summon)
|
||||
void JustSummoned(Creature* summon) override
|
||||
{
|
||||
summons.Summon(summon);
|
||||
}
|
||||
|
||||
void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType, SpellSchoolMask)
|
||||
void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType, SpellSchoolMask) override
|
||||
{
|
||||
if (!_isEmpowered)
|
||||
{
|
||||
@@ -327,7 +327,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damageType*/)
|
||||
void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damageType*/) override
|
||||
{
|
||||
if (target->GetTypeId() != TYPEID_PLAYER)
|
||||
return;
|
||||
@@ -336,19 +336,19 @@ public:
|
||||
instance->SetData(DATA_ORB_WHISPERER_ACHIEVEMENT, 0);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* victim)
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() == TYPEID_PLAYER)
|
||||
Talk(SAY_KELESETH_KILL);
|
||||
}
|
||||
|
||||
void SpellHit(Unit* /*caster*/, SpellInfo const* spell)
|
||||
void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
|
||||
{
|
||||
if (spell->Id == 71080 && me->IsInCombat() && !me->IsInEvadeMode())
|
||||
DoAction(ACTION_CAST_INVOCATION);
|
||||
}
|
||||
|
||||
void DoAction(int32 action)
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
switch (action)
|
||||
{
|
||||
@@ -379,7 +379,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
@@ -405,7 +405,7 @@ public:
|
||||
DoSpellAttackIfReady(_isEmpowered ? SPELL_EMPOWERED_SHADOW_LANCE : SPELL_SHADOW_LANCE);
|
||||
}
|
||||
|
||||
void EnterEvadeMode()
|
||||
void EnterEvadeMode() override
|
||||
{
|
||||
if (_evading)
|
||||
return;
|
||||
@@ -422,7 +422,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<boss_prince_kelesethAI>(creature);
|
||||
}
|
||||
@@ -445,7 +445,7 @@ public:
|
||||
_canDie = true;
|
||||
}
|
||||
|
||||
void InitializeAI()
|
||||
void InitializeAI() override
|
||||
{
|
||||
ScriptedAI::InitializeAI();
|
||||
if (me->IsAlive())
|
||||
@@ -470,7 +470,7 @@ public:
|
||||
bool _evading;
|
||||
bool _canDie;
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
events.Reset();
|
||||
summons.DespawnAll();
|
||||
@@ -480,7 +480,7 @@ public:
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
void EnterCombat(Unit* who) override
|
||||
{
|
||||
bool valid = true;
|
||||
if (Creature* keleseth = instance->instance->GetCreature(instance->GetData64(DATA_PRINCE_KELESETH_GUID)))
|
||||
@@ -523,7 +523,7 @@ public:
|
||||
me->AddAura(SPELL_SHADOW_PRISON, me);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
events.Reset();
|
||||
summons.DespawnAll();
|
||||
@@ -551,13 +551,13 @@ public:
|
||||
Unit::Kill(valanar, valanar);
|
||||
}
|
||||
|
||||
void JustRespawned()
|
||||
void JustRespawned() override
|
||||
{
|
||||
ScriptedAI::JustRespawned();
|
||||
JustReachedHome();
|
||||
}
|
||||
|
||||
void JustReachedHome()
|
||||
void JustReachedHome() override
|
||||
{
|
||||
_canDie = true;
|
||||
me->setActive(false);
|
||||
@@ -566,7 +566,7 @@ public:
|
||||
me->SetHealth(1);
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summon)
|
||||
void JustSummoned(Creature* summon) override
|
||||
{
|
||||
summons.Summon(summon);
|
||||
|
||||
@@ -581,12 +581,12 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void SummonedCreatureDespawn(Creature* s)
|
||||
void SummonedCreatureDespawn(Creature* s) override
|
||||
{
|
||||
summons.Despawn(s);
|
||||
}
|
||||
|
||||
void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType, SpellSchoolMask)
|
||||
void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType, SpellSchoolMask) override
|
||||
{
|
||||
if (!_isEmpowered)
|
||||
{
|
||||
@@ -596,7 +596,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damageType*/)
|
||||
void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damageType*/) override
|
||||
{
|
||||
if (target->GetTypeId() != TYPEID_PLAYER)
|
||||
return;
|
||||
@@ -605,19 +605,19 @@ public:
|
||||
instance->SetData(DATA_ORB_WHISPERER_ACHIEVEMENT, 0);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* victim)
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() == TYPEID_PLAYER)
|
||||
Talk(SAY_TALDARAM_KILL);
|
||||
}
|
||||
|
||||
void SpellHit(Unit* /*caster*/, SpellInfo const* spell)
|
||||
void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
|
||||
{
|
||||
if (spell->Id == 71081 && me->IsInCombat() && !me->IsInEvadeMode())
|
||||
DoAction(ACTION_CAST_INVOCATION);
|
||||
}
|
||||
|
||||
void DoAction(int32 action)
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
switch (action)
|
||||
{
|
||||
@@ -651,7 +651,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
@@ -689,7 +689,7 @@ public:
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
|
||||
void EnterEvadeMode()
|
||||
void EnterEvadeMode() override
|
||||
{
|
||||
if (_evading)
|
||||
return;
|
||||
@@ -706,7 +706,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<boss_prince_taldaramAI>(creature);
|
||||
}
|
||||
@@ -729,7 +729,7 @@ public:
|
||||
_canDie = true;
|
||||
}
|
||||
|
||||
void InitializeAI()
|
||||
void InitializeAI() override
|
||||
{
|
||||
ScriptedAI::InitializeAI();
|
||||
if (me->IsAlive())
|
||||
@@ -753,7 +753,7 @@ public:
|
||||
uint32 invocationOrder[3];
|
||||
uint8 currentInvocationIndex;
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
events.Reset();
|
||||
summons.DespawnAll();
|
||||
@@ -764,7 +764,7 @@ public:
|
||||
instance->SetBossState(DATA_BLOOD_PRINCE_COUNCIL, NOT_STARTED);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
void EnterCombat(Unit* who) override
|
||||
{
|
||||
bool valid = true;
|
||||
if (Creature* keleseth = instance->instance->GetCreature(instance->GetData64(DATA_PRINCE_KELESETH_GUID)))
|
||||
@@ -817,7 +817,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
events.Reset();
|
||||
summons.DespawnAll();
|
||||
@@ -846,13 +846,13 @@ public:
|
||||
Unit::Kill(taldaram, taldaram);
|
||||
}
|
||||
|
||||
void JustRespawned()
|
||||
void JustRespawned() override
|
||||
{
|
||||
BossAI::JustRespawned();
|
||||
JustReachedHome();
|
||||
}
|
||||
|
||||
void JustReachedHome()
|
||||
void JustReachedHome() override
|
||||
{
|
||||
_canDie = true;
|
||||
me->setActive(false);
|
||||
@@ -862,7 +862,7 @@ public:
|
||||
DoAction(ACTION_CAST_INVOCATION);
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summon)
|
||||
void JustSummoned(Creature* summon) override
|
||||
{
|
||||
summons.Summon(summon);
|
||||
switch (summon->GetEntry())
|
||||
@@ -879,7 +879,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType, SpellSchoolMask)
|
||||
void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType, SpellSchoolMask) override
|
||||
{
|
||||
if (!_isEmpowered)
|
||||
{
|
||||
@@ -889,7 +889,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damageType*/)
|
||||
void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damageType*/) override
|
||||
{
|
||||
if (target->GetTypeId() != TYPEID_PLAYER)
|
||||
return;
|
||||
@@ -898,19 +898,19 @@ public:
|
||||
instance->SetData(DATA_ORB_WHISPERER_ACHIEVEMENT, 0);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* victim)
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() == TYPEID_PLAYER)
|
||||
Talk(SAY_VALANAR_KILL);
|
||||
}
|
||||
|
||||
void SpellHit(Unit* /*caster*/, SpellInfo const* spell)
|
||||
void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
|
||||
{
|
||||
if (spell->Id == 71070 && me->IsInCombat() && !me->IsInEvadeMode())
|
||||
DoAction(ACTION_CAST_INVOCATION);
|
||||
}
|
||||
|
||||
void DoAction(int32 action)
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
switch (action)
|
||||
{
|
||||
@@ -953,7 +953,7 @@ public:
|
||||
return false;
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim() || !CheckRoom())
|
||||
return;
|
||||
@@ -1028,7 +1028,7 @@ public:
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
|
||||
void EnterEvadeMode()
|
||||
void EnterEvadeMode() override
|
||||
{
|
||||
if (_evading)
|
||||
return;
|
||||
@@ -1045,7 +1045,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<boss_prince_valanarAI>(creature);
|
||||
}
|
||||
@@ -1065,7 +1065,7 @@ public:
|
||||
me->m_SightDistance = 100.0f; // for MoveInLineOfSight distance
|
||||
}
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
_events.Reset();
|
||||
me->SetDisableGravity(true);
|
||||
@@ -1080,7 +1080,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void MoveInLineOfSight(Unit* who)
|
||||
void MoveInLineOfSight(Unit* who) override
|
||||
{
|
||||
if (_introDone)
|
||||
return;
|
||||
@@ -1104,7 +1104,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type, uint32 id)
|
||||
void MovementInform(uint32 type, uint32 id) override
|
||||
{
|
||||
if (type == POINT_MOTION_TYPE && id == POINT_INTRO_DESPAWN)
|
||||
{
|
||||
@@ -1112,7 +1112,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!_events.GetPhaseMask())
|
||||
{
|
||||
@@ -1148,7 +1148,7 @@ public:
|
||||
bool _introDone;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_blood_queen_lana_thelAI>(creature);
|
||||
}
|
||||
@@ -1165,7 +1165,7 @@ public:
|
||||
|
||||
uint16 timer;
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
timer = 0;
|
||||
me->SetReactState(REACT_DEFENSIVE);
|
||||
@@ -1173,7 +1173,7 @@ public:
|
||||
me->CastSpell(me, SPELL_SHADOW_RESONANCE_AURA, true);
|
||||
}
|
||||
|
||||
void AttackStart(Unit* who)
|
||||
void AttackStart(Unit* who) override
|
||||
{
|
||||
if (who != me->GetVictim())
|
||||
{
|
||||
@@ -1184,7 +1184,7 @@ public:
|
||||
ScriptedAI::AttackStart(who);
|
||||
}
|
||||
|
||||
void DamageTaken(Unit* attacker, uint32& /*damage*/, DamageEffectType det, SpellSchoolMask)
|
||||
void DamageTaken(Unit* attacker, uint32& /*damage*/, DamageEffectType det, SpellSchoolMask) override
|
||||
{
|
||||
if (!attacker || attacker == me || attacker == me->GetVictim() || (det != DIRECT_DAMAGE && det != SPELL_DIRECT_DAMAGE))
|
||||
return;
|
||||
@@ -1193,12 +1193,12 @@ public:
|
||||
me->AddThreat(attacker, 500000000.0f);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
me->DespawnOrUnsummon(1);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
{
|
||||
@@ -1225,7 +1225,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_dark_nucleusAI>(creature);
|
||||
}
|
||||
@@ -1253,15 +1253,15 @@ public:
|
||||
bool _exploded;
|
||||
bool _started;
|
||||
|
||||
void AttackStart(Unit* who)
|
||||
void AttackStart(Unit* who) override
|
||||
{
|
||||
if (_started)
|
||||
ScriptedAI::AttackStart(who);
|
||||
}
|
||||
|
||||
void MoveInLineOfSight(Unit* /*who*/) {}
|
||||
void MoveInLineOfSight(Unit* /*who*/) override {}
|
||||
|
||||
void MovementInform(uint32 type, uint32 /*id*/)
|
||||
void MovementInform(uint32 type, uint32 /*id*/) override
|
||||
{
|
||||
if (type == CHASE_MOTION_TYPE && !_exploded)
|
||||
{
|
||||
@@ -1276,12 +1276,12 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void SetGUID(uint64 guid, int32 /*type*/)
|
||||
void SetGUID(uint64 guid, int32 /*type*/) override
|
||||
{
|
||||
_chaseGUID = guid;
|
||||
}
|
||||
|
||||
void DoAction(int32 action)
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
if (action != ACTION_FLAME_BALL_CHASE || me->IsInCombat())
|
||||
{
|
||||
@@ -1317,7 +1317,7 @@ public:
|
||||
me->DespawnOrUnsummon(1);
|
||||
}
|
||||
|
||||
void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damageType*/)
|
||||
void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damageType*/) override
|
||||
{
|
||||
if (target->GetTypeId() != TYPEID_PLAYER)
|
||||
{
|
||||
@@ -1331,7 +1331,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_ball_of_flameAI>(creature);
|
||||
}
|
||||
@@ -1354,7 +1354,7 @@ public:
|
||||
float _groundZ;
|
||||
bool exploded;
|
||||
|
||||
void IsSummonedBy(Unit* /*summoner*/)
|
||||
void IsSummonedBy(Unit* /*summoner*/) override
|
||||
{
|
||||
if (InstanceScript* instance = me->GetInstanceScript())
|
||||
{
|
||||
@@ -1365,7 +1365,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
_events.Reset();
|
||||
_events.RescheduleEvent(EVENT_BOMB_DESPAWN, 60000);
|
||||
@@ -1380,7 +1380,7 @@ public:
|
||||
me->GetMotionMaster()->MoveCharge(_x, _y, _groundZ, me->GetSpeed(MOVE_WALK));
|
||||
}
|
||||
|
||||
void DoAction(int32 action)
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
if (action == SPELL_KINETIC_BOMB_EXPLOSION)
|
||||
{
|
||||
@@ -1399,7 +1399,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
_events.Update(diff);
|
||||
switch (_events.ExecuteEvent())
|
||||
@@ -1418,7 +1418,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_kinetic_bombAI>(creature);
|
||||
}
|
||||
@@ -1441,13 +1441,13 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_blood_council_shadow_prison_AuraScript::HandleDummyTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_blood_council_shadow_prison_AuraScript();
|
||||
}
|
||||
@@ -1473,13 +1473,13 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnHit += SpellHitFn(spell_blood_council_shadow_prison_SpellScript::AddExtraDamage);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_blood_council_shadow_prison_SpellScript();
|
||||
}
|
||||
@@ -1500,13 +1500,13 @@ public:
|
||||
GetCaster()->CastSpell(GetCaster(), uint32(GetEffectValue()), true);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_taldaram_glittering_sparks_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_taldaram_glittering_sparks_SpellScript();
|
||||
}
|
||||
@@ -1521,7 +1521,7 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_taldaram_summon_flame_ball_SpellScript);
|
||||
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
if (GetCaster()->GetTypeId() != TYPEID_UNIT)
|
||||
{
|
||||
@@ -1537,13 +1537,13 @@ public:
|
||||
GetCaster()->ToCreature()->AI()->DoAction(ACTION_FLAME_BALL_CHASE);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_taldaram_summon_flame_ball_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_taldaram_summon_flame_ball_SpellScript();
|
||||
}
|
||||
@@ -1564,13 +1564,13 @@ public:
|
||||
aur->SetStackAmount(uint8(GetSpellInfo()->StackAmount));
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
AfterHit += SpellHitFn(spell_taldaram_ball_of_inferno_flame_SpellScript::ModAuraStack);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_taldaram_ball_of_inferno_flame_SpellScript();
|
||||
}
|
||||
@@ -1594,7 +1594,7 @@ public:
|
||||
GetHitDest()->RelocateOffset(offset);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHit += SpellEffectFn(spell_valanar_kinetic_bomb_SpellScript::ChangeSummonPos, EFFECT_0, SPELL_EFFECT_SUMMON);
|
||||
}
|
||||
@@ -1619,18 +1619,18 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_valanar_kinetic_bomb_AuraScript::HandleDummyTick, EFFECT_1, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_valanar_kinetic_bomb_SpellScript();
|
||||
}
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_valanar_kinetic_bomb_AuraScript();
|
||||
}
|
||||
@@ -1652,13 +1652,13 @@ public:
|
||||
dmgInfo.AbsorbDamage(absorbAmount);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectAbsorb += AuraEffectAbsorbFn(spell_valanar_kinetic_bomb_absorb_AuraScript::OnAbsorb, EFFECT_0);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_valanar_kinetic_bomb_absorb_AuraScript();
|
||||
}
|
||||
@@ -1679,13 +1679,13 @@ public:
|
||||
target->AI()->DoAction(ACTION_KINETIC_BOMB_JUMP);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
BeforeHit += SpellHitFn(spell_valanar_kinetic_bomb_knockback_SpellScript::KnockIntoAir);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_valanar_kinetic_bomb_knockback_SpellScript();
|
||||
}
|
||||
@@ -1711,13 +1711,13 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
BeforeCast += SpellCastFn(spell_valanar_kinetic_bomb_summon_SpellScript::SelectDest);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_valanar_kinetic_bomb_summon_SpellScript();
|
||||
}
|
||||
@@ -1760,13 +1760,13 @@ public:
|
||||
dest._position.Relocate(summoner->GetPositionX(), summoner->GetPositionY(), summoner->GetPositionZ());
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_blood_council_summon_shadow_resonance_SpellScript::SetDest, EFFECT_0, TARGET_DEST_CASTER_RANDOM);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_blood_council_summon_shadow_resonance_SpellScript();
|
||||
}
|
||||
|
||||
@@ -139,7 +139,7 @@ public:
|
||||
std::set<uint64> _vampires;
|
||||
bool bEnteredCombat; // needed for failing an attempt in JustReachedHome()
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
_creditBloodQuickening = false;
|
||||
_killMinchar = false;
|
||||
@@ -155,7 +155,7 @@ public:
|
||||
instance->SetBossState(DATA_BLOOD_QUEEN_LANA_THEL, NOT_STARTED);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
void EnterCombat(Unit* who) override
|
||||
{
|
||||
if (!instance->CheckRequiredBosses(DATA_BLOOD_QUEEN_LANA_THEL, who->ToPlayer()) || !me->IsVisible())
|
||||
{
|
||||
@@ -186,7 +186,7 @@ public:
|
||||
_creditBloodQuickening = instance->GetData(DATA_BLOOD_QUICKENING_STATE) == IN_PROGRESS;
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
_JustDied();
|
||||
Talk(SAY_DEATH);
|
||||
@@ -231,7 +231,7 @@ public:
|
||||
me->GetMotionMaster()->MovePoint(POINT_MINCHAR, mincharPos);
|
||||
}
|
||||
|
||||
void DoAction(int32 action)
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
if (action != ACTION_KILL_MINCHAR)
|
||||
return;
|
||||
@@ -242,7 +242,7 @@ public:
|
||||
GoToMinchar();
|
||||
}
|
||||
|
||||
void JustReachedHome()
|
||||
void JustReachedHome() override
|
||||
{
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
@@ -257,13 +257,13 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* victim)
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() == TYPEID_PLAYER)
|
||||
Talk(SAY_KILL);
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type, uint32 id)
|
||||
void MovementInform(uint32 type, uint32 id) override
|
||||
{
|
||||
if (type != EFFECT_MOTION_TYPE && type != POINT_MOTION_TYPE)
|
||||
return;
|
||||
@@ -300,7 +300,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim() || !CheckInRoom())
|
||||
return;
|
||||
@@ -529,7 +529,7 @@ public:
|
||||
return _bloodboltedPlayers.count(guid) != 0;
|
||||
}
|
||||
|
||||
void SetGUID(uint64 guid, int32 type = 0)
|
||||
void SetGUID(uint64 guid, int32 type = 0) override
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
@@ -544,7 +544,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void EnterEvadeMode()
|
||||
void EnterEvadeMode() override
|
||||
{
|
||||
const Map::PlayerList& pl = me->GetMap()->GetPlayers();
|
||||
for (Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr)
|
||||
@@ -565,13 +565,13 @@ public:
|
||||
BossAI::EnterEvadeMode();
|
||||
}
|
||||
|
||||
bool CanAIAttack(const Unit* /*target*/) const
|
||||
bool CanAIAttack(const Unit* /*target*/) const override
|
||||
{
|
||||
return me->IsVisible();
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<boss_blood_queen_lana_thelAI>(creature);
|
||||
}
|
||||
@@ -589,7 +589,7 @@ public:
|
||||
{
|
||||
PrepareAuraScript(spell_blood_queen_pact_of_the_darkfallen_dmg_AuraScript);
|
||||
|
||||
bool Validate(SpellInfo const* /*spell*/)
|
||||
bool Validate(SpellInfo const* /*spell*/) override
|
||||
{
|
||||
if (!sSpellMgr->GetSpellInfo(SPELL_PACT_OF_THE_DARKFALLEN_DAMAGE))
|
||||
return false;
|
||||
@@ -609,13 +609,13 @@ public:
|
||||
GetTarget()->CastCustomSpell(SPELL_PACT_OF_THE_DARKFALLEN_DAMAGE, SPELLVALUE_BASE_POINT0, damage, GetTarget(), true);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_blood_queen_pact_of_the_darkfallen_dmg_AuraScript::PeriodicTick, EFFECT_1, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_blood_queen_pact_of_the_darkfallen_dmg_AuraScript();
|
||||
}
|
||||
@@ -654,13 +654,13 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_blood_queen_pact_of_the_darkfallen_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_blood_queen_pact_of_the_darkfallen_SpellScript();
|
||||
}
|
||||
@@ -681,13 +681,13 @@ public:
|
||||
unitList.push_back(GetCaster());
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_blood_queen_pact_of_the_darkfallen_dmg_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_blood_queen_pact_of_the_darkfallen_dmg_SpellScript();
|
||||
}
|
||||
@@ -716,14 +716,14 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_blood_queen_bloodbolt_SpellScript);
|
||||
|
||||
bool Validate(SpellInfo const* /*spell*/)
|
||||
bool Validate(SpellInfo const* /*spell*/) override
|
||||
{
|
||||
if (!sSpellMgr->GetSpellInfo(SPELL_TWILIGHT_BLOODBOLT_FROM_WHIRL))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
return GetCaster()->GetEntry() == NPC_BLOOD_QUEEN_LANA_THEL;
|
||||
}
|
||||
@@ -744,14 +744,14 @@ public:
|
||||
GetCaster()->CastSpell(GetHitUnit(), SPELL_TWILIGHT_BLOODBOLT_FROM_WHIRL, true);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_blood_queen_bloodbolt_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_blood_queen_bloodbolt_SpellScript::HandleScript, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_blood_queen_bloodbolt_SpellScript();
|
||||
}
|
||||
@@ -790,14 +790,14 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectApply += AuraEffectApplyFn(spell_blood_queen_frenzied_bloodthirst_AuraScript::OnApply, EFFECT_0, SPELL_AURA_OVERRIDE_SPELLS, AURA_EFFECT_HANDLE_REAL);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_blood_queen_frenzied_bloodthirst_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_OVERRIDE_SPELLS, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_blood_queen_frenzied_bloodthirst_AuraScript();
|
||||
}
|
||||
@@ -812,7 +812,7 @@ public:
|
||||
{
|
||||
PrepareAuraScript(spell_blood_queen_essence_of_the_blood_queen_AuraScript);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/)
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
if (!sSpellMgr->GetSpellInfo(SPELL_ESSENCE_OF_THE_BLOOD_QUEEN_HEAL))
|
||||
return false;
|
||||
@@ -826,13 +826,13 @@ public:
|
||||
GetTarget()->CastCustomSpell(SPELL_ESSENCE_OF_THE_BLOOD_QUEEN_HEAL, SPELLVALUE_BASE_POINT0, heal, GetTarget(), TRIGGERED_FULL_MASK, NULL, aurEff);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectProc += AuraEffectProcFn(spell_blood_queen_essence_of_the_blood_queen_AuraScript::OnProc, EFFECT_1, SPELL_AURA_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_blood_queen_essence_of_the_blood_queen_AuraScript();
|
||||
}
|
||||
@@ -847,7 +847,7 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_blood_queen_vampiric_bite_SpellScript);
|
||||
|
||||
bool Validate(SpellInfo const* /*spell*/)
|
||||
bool Validate(SpellInfo const* /*spell*/) override
|
||||
{
|
||||
if (!sSpellMgr->GetSpellInfo(SPELL_ESSENCE_OF_THE_BLOOD_QUEEN_PLR))
|
||||
return false;
|
||||
@@ -908,7 +908,7 @@ public:
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_PRESENCE_OF_THE_DARKFALLEN_SE, TRIGGERED_FULL_MASK);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnCheckCast += SpellCheckCastFn(spell_blood_queen_vampiric_bite_SpellScript::CheckTarget);
|
||||
BeforeHit += SpellHitFn(spell_blood_queen_vampiric_bite_SpellScript::OnCast);
|
||||
@@ -916,7 +916,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_blood_queen_vampiric_bite_SpellScript();
|
||||
}
|
||||
@@ -936,13 +936,13 @@ public:
|
||||
targets.remove_if(acore::AllWorldObjectsInExactRange(GetCaster(), GetSpellInfo()->Effects[0].CalcRadius(), true));
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_blood_queen_swarming_shadows_floor_dmg_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_blood_queen_swarming_shadows_floor_dmg_SpellScript();
|
||||
}
|
||||
@@ -967,13 +967,13 @@ public:
|
||||
GetHitUnit()->CastSpell((Unit*)NULL, GetSpellInfo()->Effects[effIndex].TriggerSpell, true, nullptr, nullptr, instance->GetData64(DATA_BLOOD_QUEEN_LANA_THEL));
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_blood_queen_presence_of_the_darkfallen_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_FORCE_CAST);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_blood_queen_presence_of_the_darkfallen_SpellScript();
|
||||
}
|
||||
@@ -984,7 +984,7 @@ class achievement_once_bitten_twice_shy : public AchievementCriteriaScript
|
||||
public:
|
||||
achievement_once_bitten_twice_shy(const char* name, uint8 spawnMode, bool wasVampire) : AchievementCriteriaScript(name), _spawnMode(spawnMode), _wasVampire(wasVampire) { }
|
||||
|
||||
bool OnCheck(Player* source, Unit* target)
|
||||
bool OnCheck(Player* source, Unit* target) override
|
||||
{
|
||||
if (!target || !target->FindMap())
|
||||
return false;
|
||||
|
||||
@@ -235,7 +235,7 @@ public:
|
||||
ASSERT(creature->GetVehicleKit()); // we dont actually use it, just check if exists
|
||||
}
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
_Reset();
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
|
||||
@@ -256,7 +256,7 @@ public:
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_MARK_OF_THE_FALLEN_CHAMPION);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
void EnterCombat(Unit* who) override
|
||||
{
|
||||
if (!_introDone)
|
||||
{
|
||||
@@ -292,7 +292,7 @@ public:
|
||||
instance->SetBossState(DATA_DEATHBRINGER_SAURFANG, IN_PROGRESS);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
_JustDied();
|
||||
DoCast(me, SPELL_ACHIEVEMENT, true);
|
||||
@@ -303,12 +303,12 @@ public:
|
||||
creature->AI()->DoAction(ACTION_START_OUTRO);
|
||||
}
|
||||
|
||||
bool CanAIAttack(const Unit* /*target*/) const
|
||||
bool CanAIAttack(const Unit* /*target*/) const override
|
||||
{
|
||||
return _introDone;
|
||||
}
|
||||
|
||||
void AttackStart(Unit* victim)
|
||||
void AttackStart(Unit* victim) override
|
||||
{
|
||||
if (!_introDone || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC))
|
||||
return;
|
||||
@@ -316,21 +316,21 @@ public:
|
||||
ScriptedAI::AttackStart(victim);
|
||||
}
|
||||
|
||||
void MoveInLineOfSight(Unit* /*who*/) {}
|
||||
void MoveInLineOfSight(Unit* /*who*/) override {}
|
||||
|
||||
void JustReachedHome()
|
||||
void JustReachedHome() override
|
||||
{
|
||||
_JustReachedHome();
|
||||
instance->SetBossState(DATA_DEATHBRINGER_SAURFANG, FAIL);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* victim)
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() == TYPEID_PLAYER)
|
||||
Talk(SAY_KILL);
|
||||
}
|
||||
|
||||
void DamageTaken(Unit*, uint32& /*damage*/, DamageEffectType, SpellSchoolMask)
|
||||
void DamageTaken(Unit*, uint32& /*damage*/, DamageEffectType, SpellSchoolMask) override
|
||||
{
|
||||
if (!_frenzied && HealthBelowPct(31)) // AT 30%, not below
|
||||
{
|
||||
@@ -340,7 +340,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summon)
|
||||
void JustSummoned(Creature* summon) override
|
||||
{
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 0.0f, true))
|
||||
summon->AI()->AttackStart(target);
|
||||
@@ -354,12 +354,12 @@ public:
|
||||
DoZoneInCombat(summon);
|
||||
}
|
||||
|
||||
void SummonedCreatureDespawn(Creature* summon)
|
||||
void SummonedCreatureDespawn(Creature* summon) override
|
||||
{
|
||||
summons.Despawn(summon);
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type, uint32 id)
|
||||
void MovementInform(uint32 type, uint32 id) override
|
||||
{
|
||||
if (type != POINT_MOTION_TYPE && id != POINT_SAURFANG)
|
||||
return;
|
||||
@@ -367,7 +367,7 @@ public:
|
||||
instance->HandleGameObject(instance->GetData64(GO_SAURFANG_S_DOOR), false);
|
||||
}
|
||||
|
||||
void SpellHitTarget(Unit* /*target*/, SpellInfo const* spell)
|
||||
void SpellHitTarget(Unit* /*target*/, SpellInfo const* spell) override
|
||||
{
|
||||
switch (spell->Id)
|
||||
{
|
||||
@@ -377,7 +377,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
@@ -447,7 +447,7 @@ public:
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
|
||||
void DoAction(int32 action)
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
switch (action)
|
||||
{
|
||||
@@ -469,7 +469,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
uint32 GetData(uint32 type) const
|
||||
uint32 GetData(uint32 type) const override
|
||||
{
|
||||
if (type == DATA_MADE_A_MESS)
|
||||
{
|
||||
@@ -482,7 +482,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
void EnterEvadeMode()
|
||||
void EnterEvadeMode() override
|
||||
{
|
||||
BossAI::EnterEvadeMode();
|
||||
if (Creature* creature = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SAURFANG_EVENT_NPC)))
|
||||
@@ -496,7 +496,7 @@ public:
|
||||
uint16 _transportCheckTimer;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<boss_deathbringer_saurfangAI>(creature);
|
||||
}
|
||||
@@ -992,13 +992,13 @@ public:
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
}
|
||||
|
||||
void SetData(uint32 type, uint32 data)
|
||||
void SetData(uint32 type, uint32 data) override
|
||||
{
|
||||
ASSERT(!type && data && data < 6);
|
||||
_index = data;
|
||||
}
|
||||
|
||||
void SpellHit(Unit* /*caster*/, SpellInfo const* spell)
|
||||
void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
|
||||
{
|
||||
if (spell->Id == SPELL_GRIP_OF_AGONY)
|
||||
{
|
||||
@@ -1007,7 +1007,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void DoAction(int32 action)
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
if (action == ACTION_CHARGE && _index)
|
||||
{
|
||||
@@ -1022,7 +1022,7 @@ public:
|
||||
uint32 _index;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_saurfang_eventAI>(creature);
|
||||
}
|
||||
@@ -1075,7 +1075,7 @@ public:
|
||||
return;
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
DoCheckProc += AuraCheckProcFn(spell_deathbringer_blood_link_AuraScript::CheckProc);
|
||||
OnEffectProc += AuraEffectProcFn(spell_deathbringer_blood_link_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
|
||||
@@ -1084,7 +1084,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_deathbringer_blood_link_AuraScript();
|
||||
}
|
||||
@@ -1124,14 +1124,14 @@ public:
|
||||
return;
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
DoCheckProc += AuraCheckProcFn(spell_deathbringer_blood_link_blood_beast_aura_AuraScript::CheckProc);
|
||||
OnEffectProc += AuraEffectProcFn(spell_deathbringer_blood_link_blood_beast_aura_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_deathbringer_blood_link_blood_beast_aura_AuraScript();
|
||||
}
|
||||
@@ -1154,13 +1154,13 @@ public:
|
||||
PreventHitDefaultEffect(EFFECT_0);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_deathbringer_blood_link_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_deathbringer_blood_link_SpellScript();
|
||||
}
|
||||
@@ -1181,7 +1181,7 @@ public:
|
||||
aura->RecalculateAmountOfEffects();
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
AfterHit += SpellHitFn(spell_deathbringer_blood_power_SpellScript::ModAuraValue);
|
||||
}
|
||||
@@ -1197,13 +1197,13 @@ public:
|
||||
canBeRecalculated = true;
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_deathbringer_blood_power_AuraScript::RecalculateHook, EFFECT_0, SPELL_AURA_MOD_SCALE);
|
||||
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_deathbringer_blood_power_AuraScript::RecalculateHook, EFFECT_1, SPELL_AURA_MOD_DAMAGE_PERCENT_DONE);
|
||||
}
|
||||
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
if (GetUnitOwner()->getPowerType() != POWER_ENERGY)
|
||||
return false;
|
||||
@@ -1211,12 +1211,12 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_deathbringer_blood_power_SpellScript();
|
||||
}
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_deathbringer_blood_power_AuraScript();
|
||||
}
|
||||
@@ -1231,7 +1231,7 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_deathbringer_blood_nova_targeting_SpellScript);
|
||||
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
// initialize variable
|
||||
target = nullptr;
|
||||
@@ -1274,7 +1274,7 @@ public:
|
||||
targets.push_back(target);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_deathbringer_blood_nova_targeting_SpellScript::FilterTargetsInitial, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_deathbringer_blood_nova_targeting_SpellScript::FilterTargetsSubsequent, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
@@ -1283,7 +1283,7 @@ public:
|
||||
WorldObject* target;
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_deathbringer_blood_nova_targeting_SpellScript();
|
||||
}
|
||||
@@ -1298,7 +1298,7 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_deathbringer_boiling_blood_SpellScript);
|
||||
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
return GetCaster()->GetTypeId() == TYPEID_UNIT;
|
||||
}
|
||||
@@ -1319,13 +1319,13 @@ public:
|
||||
acore::Containers::RandomResizeList(targets, 3);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_deathbringer_boiling_blood_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_deathbringer_boiling_blood_SpellScript();
|
||||
}
|
||||
@@ -1336,7 +1336,7 @@ class achievement_ive_gone_and_made_a_mess : public AchievementCriteriaScript
|
||||
public:
|
||||
achievement_ive_gone_and_made_a_mess() : AchievementCriteriaScript("achievement_ive_gone_and_made_a_mess") { }
|
||||
|
||||
bool OnCheck(Player* /*source*/, Unit* target)
|
||||
bool OnCheck(Player* /*source*/, Unit* target) override
|
||||
{
|
||||
if (target)
|
||||
if (Creature* saurfang = target->ToCreature())
|
||||
@@ -1362,13 +1362,13 @@ public:
|
||||
|
||||
uint16 timer1;
|
||||
|
||||
void DoAction(int32 param)
|
||||
void DoAction(int32 param) override
|
||||
{
|
||||
if (param == ACTION_GAIN_SCENT_OF_BLOOD)
|
||||
me->CastSpell(me, SPELL_SCENT_OF_BLOOD, false);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (timer1)
|
||||
{
|
||||
@@ -1385,7 +1385,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new npc_icc_blood_beastAI(creature);
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ public:
|
||||
uint32 _maxInoculatedStack;
|
||||
uint32 _inhaleCounter;
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
_maxInoculatedStack = 0;
|
||||
_inhaleCounter = 0;
|
||||
@@ -95,7 +95,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
void EnterCombat(Unit* who) override
|
||||
{
|
||||
if (!instance->CheckRequiredBosses(DATA_FESTERGUT, who->ToPlayer()))
|
||||
{
|
||||
@@ -122,7 +122,7 @@ public:
|
||||
professor->AI()->DoAction(ACTION_FESTERGUT_COMBAT);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
_JustDied();
|
||||
Talk(SAY_DEATH);
|
||||
@@ -132,26 +132,26 @@ public:
|
||||
RemoveBlight();
|
||||
}
|
||||
|
||||
void JustReachedHome()
|
||||
void JustReachedHome() override
|
||||
{
|
||||
_JustReachedHome();
|
||||
instance->SetBossState(DATA_FESTERGUT, FAIL);
|
||||
}
|
||||
|
||||
void EnterEvadeMode()
|
||||
void EnterEvadeMode() override
|
||||
{
|
||||
ScriptedAI::EnterEvadeMode();
|
||||
if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
|
||||
professor->AI()->EnterEvadeMode();
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* victim)
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() == TYPEID_PLAYER)
|
||||
Talk(SAY_KILL);
|
||||
}
|
||||
|
||||
void SpellHitTarget(Unit* target, SpellInfo const* spell)
|
||||
void SpellHitTarget(Unit* target, SpellInfo const* spell) override
|
||||
{
|
||||
if (spell->Id == PUNGENT_BLIGHT_HELPER)
|
||||
target->RemoveAurasDueToSpell(INOCULATED_HELPER);
|
||||
@@ -174,7 +174,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim() || !CheckInRoom())
|
||||
return;
|
||||
@@ -248,13 +248,13 @@ public:
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
|
||||
void SetData(uint32 type, uint32 data)
|
||||
void SetData(uint32 type, uint32 data) override
|
||||
{
|
||||
if (type == DATA_INOCULATED_STACK && data > _maxInoculatedStack)
|
||||
_maxInoculatedStack = data;
|
||||
}
|
||||
|
||||
uint32 GetData(uint32 type) const
|
||||
uint32 GetData(uint32 type) const override
|
||||
{
|
||||
if (type == DATA_INOCULATED_STACK)
|
||||
return _maxInoculatedStack;
|
||||
@@ -263,7 +263,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<boss_festergutAI>(creature);
|
||||
}
|
||||
@@ -278,7 +278,7 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_festergut_pungent_blight_SpellScript);
|
||||
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
return GetCaster()->GetTypeId() == TYPEID_UNIT;
|
||||
}
|
||||
@@ -301,13 +301,13 @@ public:
|
||||
professor->AI()->DoAction(ACTION_FESTERGUT_GAS);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_festergut_pungent_blight_SpellScript::HandleScript, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_festergut_pungent_blight_SpellScript();
|
||||
}
|
||||
@@ -322,7 +322,7 @@ public:
|
||||
{
|
||||
PrepareAuraScript(spell_festergut_blighted_spores_AuraScript);
|
||||
|
||||
bool Validate(SpellInfo const* /*spell*/)
|
||||
bool Validate(SpellInfo const* /*spell*/) override
|
||||
{
|
||||
if (!sSpellMgr->GetSpellInfo(SPELL_INOCULATED))
|
||||
return false;
|
||||
@@ -348,13 +348,13 @@ public:
|
||||
festergut->AI()->SetData(DATA_INOCULATED_STACK, inoculatedStack);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_festergut_blighted_spores_AuraScript::ExtraEffect, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_festergut_blighted_spores_AuraScript();
|
||||
}
|
||||
@@ -369,7 +369,7 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_festergut_gastric_bloat_SpellScript);
|
||||
|
||||
bool Validate(SpellInfo const* /*spell*/)
|
||||
bool Validate(SpellInfo const* /*spell*/) override
|
||||
{
|
||||
if (!sSpellMgr->GetSpellInfo(SPELL_GASTRIC_EXPLOSION))
|
||||
return false;
|
||||
@@ -386,13 +386,13 @@ public:
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_GASTRIC_EXPLOSION, true);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_festergut_gastric_bloat_SpellScript::HandleScript, EFFECT_2, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_festergut_gastric_bloat_SpellScript();
|
||||
}
|
||||
@@ -403,7 +403,7 @@ class achievement_flu_shot_shortage : public AchievementCriteriaScript
|
||||
public:
|
||||
achievement_flu_shot_shortage() : AchievementCriteriaScript("achievement_flu_shot_shortage") { }
|
||||
|
||||
bool OnCheck(Player* /*source*/, Unit* target)
|
||||
bool OnCheck(Player* /*source*/, Unit* target) override
|
||||
{
|
||||
if (target && target->GetTypeId() == TYPEID_UNIT)
|
||||
return target->ToCreature()->AI()->GetData(DATA_INOCULATED_STACK) < 3;
|
||||
@@ -421,12 +421,12 @@ public:
|
||||
{
|
||||
npc_stinky_iccAI(Creature* creature) : ScriptedAI(creature) {}
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
events.Reset();
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*target*/)
|
||||
void EnterCombat(Unit* /*target*/) override
|
||||
{
|
||||
me->setActive(true);
|
||||
me->CastSpell(me, SPELL_PLAGUE_STENCH, true);
|
||||
@@ -434,7 +434,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_MORTAL_WOUND, urand(1500, 2500));
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
@@ -464,7 +464,7 @@ public:
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
if (InstanceScript* _instance = me->GetInstanceScript())
|
||||
if (Creature* festergut = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_FESTERGUT)))
|
||||
@@ -476,7 +476,7 @@ public:
|
||||
EventMap events;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_stinky_iccAI>(creature);
|
||||
}
|
||||
|
||||
@@ -356,7 +356,7 @@ public:
|
||||
|
||||
BattleExperienceEvent(Creature* creature) : _creature(creature), _level(0) { }
|
||||
|
||||
bool Execute(uint64 timer, uint32 /*diff*/)
|
||||
bool Execute(uint64 timer, uint32 /*diff*/) override
|
||||
{
|
||||
if (!_creature->IsAlive())
|
||||
return true;
|
||||
@@ -469,7 +469,7 @@ class DelayedMovementEvent : public BasicEvent
|
||||
public:
|
||||
DelayedMovementEvent(Creature* owner, Position const& dest) : _owner(owner), _dest(dest) { }
|
||||
|
||||
bool Execute(uint64, uint32)
|
||||
bool Execute(uint64, uint32) override
|
||||
{
|
||||
if (!_owner->IsAlive() || !_owner->GetTransport())
|
||||
return true;
|
||||
@@ -491,7 +491,7 @@ class ResetEncounterEvent : public BasicEvent
|
||||
public:
|
||||
ResetEncounterEvent(Unit* caster, uint32 spellId, uint64 otherTransport) : _caster(caster), _spellId(spellId), _otherTransport(otherTransport) { }
|
||||
|
||||
bool Execute(uint64, uint32)
|
||||
bool Execute(uint64, uint32) override
|
||||
{
|
||||
_caster->CastSpell(_caster, _spellId, true);
|
||||
_caster->GetTransport()->ToMotionTransport()->UnloadNonStaticPassengers();
|
||||
@@ -524,7 +524,7 @@ public:
|
||||
me->SetRegeneratingHealth(false);
|
||||
}
|
||||
|
||||
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask)
|
||||
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
|
||||
{
|
||||
if (_instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != IN_PROGRESS)
|
||||
{
|
||||
@@ -553,7 +553,7 @@ public:
|
||||
captain->AI()->DoAction(ACTION_SPAWN_MAGE);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
if (_died || _instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != IN_PROGRESS)
|
||||
return;
|
||||
@@ -653,7 +653,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void SetGUID(uint64 guid, int32 id/* = 0*/)
|
||||
void SetGUID(uint64 guid, int32 id/* = 0*/) override
|
||||
{
|
||||
if (id != ACTION_SHIP_VISITS_ENEMY && id != ACTION_SHIP_VISITS_SELF)
|
||||
return;
|
||||
@@ -688,7 +688,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
uint32 GetData(uint32 id) const
|
||||
uint32 GetData(uint32 id) const override
|
||||
{
|
||||
if (id != ACTION_SHIP_VISITS_ENEMY)
|
||||
return 0;
|
||||
@@ -708,7 +708,7 @@ public:
|
||||
bool _summonedFirstMage;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
if (!creature->GetTransport())
|
||||
return nullptr;
|
||||
@@ -736,7 +736,7 @@ public:
|
||||
checkTimer = 1000;
|
||||
}
|
||||
|
||||
void sGossipSelect(Player* /*player*/, uint32 /*sender*/, uint32 /*action*/)
|
||||
void sGossipSelect(Player* /*player*/, uint32 /*sender*/, uint32 /*action*/) override
|
||||
{
|
||||
if (!me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP))
|
||||
return;
|
||||
@@ -750,7 +750,7 @@ public:
|
||||
_events.ScheduleEvent(EVENT_INTRO_H_4, 39200);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*target*/)
|
||||
void EnterCombat(Unit* /*target*/) override
|
||||
{
|
||||
if (_instance->GetData(DATA_TEAMID_IN_INSTANCE) == TEAM_HORDE && !me->HasAura(SPELL_FRIENDLY_BOSS_DAMAGE_MOD))
|
||||
me->CastSpell(me, SPELL_FRIENDLY_BOSS_DAMAGE_MOD, true);
|
||||
@@ -760,7 +760,7 @@ public:
|
||||
_events.ScheduleEvent(EVENT_CLEAVE, urand(3000, 6000));
|
||||
}
|
||||
|
||||
void EnterEvadeMode()
|
||||
void EnterEvadeMode() override
|
||||
{
|
||||
if (!me->IsAlive())
|
||||
return;
|
||||
@@ -770,7 +770,7 @@ public:
|
||||
Reset();
|
||||
}
|
||||
|
||||
void DoAction(int32 action)
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
if (action == ACTION_ENEMY_GUNSHIP_TALK)
|
||||
{
|
||||
@@ -834,7 +834,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void SetData(uint32 type, uint32 data)
|
||||
void SetData(uint32 type, uint32 data) override
|
||||
{
|
||||
if (type == ACTION_CLEAR_SLOT)
|
||||
{
|
||||
@@ -844,7 +844,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask)
|
||||
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
|
||||
{
|
||||
if (me->HealthBelowPctDamaged(65, damage) && !me->HasAura(SPELL_TASTE_OF_BLOOD))
|
||||
me->CastSpell(me, SPELL_TASTE_OF_BLOOD, true);
|
||||
@@ -853,7 +853,7 @@ public:
|
||||
damage = me->GetHealth() - 1;
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (_instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) == IN_PROGRESS)
|
||||
{
|
||||
@@ -1012,7 +1012,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void AttackStart(Unit* victim)
|
||||
void AttackStart(Unit* victim) override
|
||||
{
|
||||
if (victim && me->Attack(victim, true))
|
||||
{
|
||||
@@ -1027,7 +1027,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
bool CanAIAttack(const Unit* target) const
|
||||
bool CanAIAttack(const Unit* target) const override
|
||||
{
|
||||
if (_instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != IN_PROGRESS)
|
||||
return false;
|
||||
@@ -1046,7 +1046,7 @@ public:
|
||||
uint16 checkTimer;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_high_overlord_saurfang_igbAI>(creature);
|
||||
}
|
||||
@@ -1071,7 +1071,7 @@ public:
|
||||
checkTimer = 1000;
|
||||
}
|
||||
|
||||
void sGossipSelect(Player* /*player*/, uint32 /*sender*/, uint32 /*action*/)
|
||||
void sGossipSelect(Player* /*player*/, uint32 /*sender*/, uint32 /*action*/) override
|
||||
{
|
||||
if (!me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP))
|
||||
return;
|
||||
@@ -1086,7 +1086,7 @@ public:
|
||||
_events.ScheduleEvent(EVENT_INTRO_A_5, 45000);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*target*/)
|
||||
void EnterCombat(Unit* /*target*/) override
|
||||
{
|
||||
if (_instance->GetData(DATA_TEAMID_IN_INSTANCE) == TEAM_ALLIANCE && !me->HasAura(SPELL_FRIENDLY_BOSS_DAMAGE_MOD))
|
||||
me->CastSpell(me, SPELL_FRIENDLY_BOSS_DAMAGE_MOD, true);
|
||||
@@ -1096,7 +1096,7 @@ public:
|
||||
_events.ScheduleEvent(EVENT_CLEAVE, urand(3000, 6000));
|
||||
}
|
||||
|
||||
void EnterEvadeMode()
|
||||
void EnterEvadeMode() override
|
||||
{
|
||||
if (!me->IsAlive())
|
||||
return;
|
||||
@@ -1106,7 +1106,7 @@ public:
|
||||
Reset();
|
||||
}
|
||||
|
||||
void DoAction(int32 action)
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
if (action == ACTION_ENEMY_GUNSHIP_TALK)
|
||||
{
|
||||
@@ -1170,7 +1170,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void SetData(uint32 type, uint32 data)
|
||||
void SetData(uint32 type, uint32 data) override
|
||||
{
|
||||
if (type == ACTION_CLEAR_SLOT)
|
||||
{
|
||||
@@ -1180,7 +1180,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask)
|
||||
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
|
||||
{
|
||||
if (me->HealthBelowPctDamaged(65, damage) && !me->HasAura(SPELL_TASTE_OF_BLOOD))
|
||||
me->CastSpell(me, SPELL_TASTE_OF_BLOOD, true);
|
||||
@@ -1189,7 +1189,7 @@ public:
|
||||
damage = me->GetHealth() - 1;
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (_instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) == IN_PROGRESS)
|
||||
{
|
||||
@@ -1351,7 +1351,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void AttackStart(Unit* victim)
|
||||
void AttackStart(Unit* victim) override
|
||||
{
|
||||
if (victim && me->Attack(victim, true))
|
||||
{
|
||||
@@ -1366,7 +1366,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
bool CanAIAttack(const Unit* target) const
|
||||
bool CanAIAttack(const Unit* target) const override
|
||||
{
|
||||
if (_instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != IN_PROGRESS)
|
||||
return false;
|
||||
@@ -1385,7 +1385,7 @@ public:
|
||||
uint16 checkTimer;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_muradin_bronzebeard_igbAI>(creature);
|
||||
}
|
||||
@@ -1403,14 +1403,14 @@ public:
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
}
|
||||
|
||||
void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/)
|
||||
void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) override
|
||||
{
|
||||
player->AddItem(ITEM_GOBLIN_ROCKET_PACK, 1);
|
||||
player->PlayerTalkClass->SendCloseGossip();
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_zafod_boomboxAI>(creature);
|
||||
}
|
||||
@@ -1425,7 +1425,7 @@ public:
|
||||
{
|
||||
npc_igb_ship_crewAI(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) {}
|
||||
|
||||
bool CanAIAttack(const Unit* target) const
|
||||
bool CanAIAttack(const Unit* target) const override
|
||||
{
|
||||
return _instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) == IN_PROGRESS && target->GetTransport() == me->GetTransport() && target->GetPositionZ() < 478.0f && (me->GetEntry() == NPC_SKYBREAKER_DECKHAND ? (target->GetPositionY() > 2042.0f) : (target->GetPositionY() < 2431.0f));
|
||||
}
|
||||
@@ -1433,7 +1433,7 @@ public:
|
||||
InstanceScript* _instance;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_igb_ship_crewAI>(creature);
|
||||
}
|
||||
@@ -1457,7 +1457,7 @@ struct gunship_npc_AI : public ScriptedAI
|
||||
me->SetRegeneratingHealth(false);
|
||||
}
|
||||
|
||||
void SetData(uint32 type, uint32 data)
|
||||
void SetData(uint32 type, uint32 data) override
|
||||
{
|
||||
if (type == ACTION_SET_SLOT)
|
||||
{
|
||||
@@ -1472,7 +1472,7 @@ struct gunship_npc_AI : public ScriptedAI
|
||||
}
|
||||
}
|
||||
|
||||
void EnterEvadeMode()
|
||||
void EnterEvadeMode() override
|
||||
{
|
||||
if (!me->IsAlive() || !me->IsInCombat())
|
||||
return;
|
||||
@@ -1482,14 +1482,14 @@ struct gunship_npc_AI : public ScriptedAI
|
||||
Reset();
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
if (Slot)
|
||||
if (Creature* captain = me->FindNearestCreature(Instance->GetData(DATA_TEAMID_IN_INSTANCE) == TEAM_HORDE ? NPC_IGB_MURADIN_BRONZEBEARD : NPC_IGB_HIGH_OVERLORD_SAURFANG, 200.0f))
|
||||
captain->AI()->SetData(ACTION_CLEAR_SLOT, Index);
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type, uint32 pointId)
|
||||
void MovementInform(uint32 type, uint32 pointId) override
|
||||
{
|
||||
if (type == POINT_MOTION_TYPE && pointId == EVENT_CHARGE_PREPATH && Slot)
|
||||
{
|
||||
@@ -1523,7 +1523,7 @@ struct npc_gunship_boarding_addAI : public ScriptedAI
|
||||
me->SetRegeneratingHealth(false);
|
||||
}
|
||||
|
||||
void SetData(uint32 type, uint32 data)
|
||||
void SetData(uint32 type, uint32 data) override
|
||||
{
|
||||
if (type == ACTION_SET_SLOT)
|
||||
{
|
||||
@@ -1533,7 +1533,7 @@ struct npc_gunship_boarding_addAI : public ScriptedAI
|
||||
}
|
||||
}
|
||||
|
||||
void EnterEvadeMode()
|
||||
void EnterEvadeMode() override
|
||||
{
|
||||
if (!me->IsAlive() || !me->IsInCombat())
|
||||
return;
|
||||
@@ -1543,7 +1543,7 @@ struct npc_gunship_boarding_addAI : public ScriptedAI
|
||||
Reset();
|
||||
}
|
||||
|
||||
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask)
|
||||
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
|
||||
{
|
||||
if (_usedDesperateResolve)
|
||||
return;
|
||||
@@ -1553,7 +1553,7 @@ struct npc_gunship_boarding_addAI : public ScriptedAI
|
||||
me->CastSpell(me, SPELL_DESPERATE_RESOLVE, true);
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type, uint32 pointId)
|
||||
void MovementInform(uint32 type, uint32 pointId) override
|
||||
{
|
||||
if (type == POINT_MOTION_TYPE && pointId == EVENT_CHARGE_PREPATH && Slot)
|
||||
{
|
||||
@@ -1586,7 +1586,7 @@ struct npc_gunship_boarding_addAI : public ScriptedAI
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (checkTimer <= diff)
|
||||
{
|
||||
@@ -1607,7 +1607,7 @@ struct npc_gunship_boarding_addAI : public ScriptedAI
|
||||
checkTimer -= diff;
|
||||
}
|
||||
|
||||
bool CanAIAttack(const Unit* target) const
|
||||
bool CanAIAttack(const Unit* target) const override
|
||||
{
|
||||
return Instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) == IN_PROGRESS && target->GetTransport() && target->GetTransport() != me->GetTransport() && target->GetPositionZ() < 478.0f && (me->GetEntry() == NPC_SKYBREAKER_SERGEANT || me->GetEntry() == NPC_SKYBREAKER_MARINE ? (target->GetPositionY() < 2431.0f) : (target->GetPositionY() > 2042.0f));
|
||||
}
|
||||
@@ -1638,14 +1638,14 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*target*/)
|
||||
void EnterCombat(Unit* /*target*/) override
|
||||
{
|
||||
_events.Reset();
|
||||
_events.ScheduleEvent(EVENT_BLADESTORM, urand(13000, 18000));
|
||||
_events.ScheduleEvent(EVENT_WOUNDING_STRIKE, urand(5000, 10000));
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (Instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != IN_PROGRESS)
|
||||
return;
|
||||
@@ -1685,7 +1685,7 @@ public:
|
||||
EventMap _events;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_gunship_boarding_leaderAI>(creature);
|
||||
}
|
||||
@@ -1702,7 +1702,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (Instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != IN_PROGRESS)
|
||||
return;
|
||||
@@ -1727,7 +1727,7 @@ public:
|
||||
EventMap _events;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_gunship_boarding_add_realAI>(creature);
|
||||
}
|
||||
@@ -1745,12 +1745,12 @@ public:
|
||||
me->m_CombatDistance = 70.0f;
|
||||
}
|
||||
|
||||
void AttackStart(Unit* target)
|
||||
void AttackStart(Unit* target) override
|
||||
{
|
||||
me->Attack(target, false);
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type, uint32 pointId)
|
||||
void MovementInform(uint32 type, uint32 pointId) override
|
||||
{
|
||||
if (type == POINT_MOTION_TYPE && pointId == EVENT_CHARGE_PREPATH && Slot)
|
||||
{
|
||||
@@ -1777,7 +1777,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (Instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != IN_PROGRESS)
|
||||
return;
|
||||
@@ -1786,13 +1786,13 @@ public:
|
||||
gunship_npc_AI::UpdateAI(diff);
|
||||
}
|
||||
|
||||
bool CanAIAttack(const Unit* /*target*/) const
|
||||
bool CanAIAttack(const Unit* /*target*/) const override
|
||||
{
|
||||
return Instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) == IN_PROGRESS;
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_gunship_mageAI>(creature);
|
||||
}
|
||||
@@ -1812,19 +1812,19 @@ public:
|
||||
creature->m_CombatDistance = 150.0f;
|
||||
}
|
||||
|
||||
void AttackStart(Unit* target)
|
||||
void AttackStart(Unit* target) override
|
||||
{
|
||||
me->Attack(target, false);
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type, uint32 pointId)
|
||||
void MovementInform(uint32 type, uint32 pointId) override
|
||||
{
|
||||
gunship_npc_AI::MovementInform(type, pointId);
|
||||
if (type == POINT_MOTION_TYPE && pointId == EVENT_CHARGE_PREPATH)
|
||||
me->SetControlled(true, UNIT_STATE_ROOT);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (Instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != IN_PROGRESS)
|
||||
return;
|
||||
@@ -1860,7 +1860,7 @@ public:
|
||||
DoSpellAttackIfReady(me->GetEntry() == NPC_SKYBREAKER_RIFLEMAN ? SPELL_SHOOT : SPELL_HURL_AXE);
|
||||
}
|
||||
|
||||
bool CanAIAttack(const Unit* target) const
|
||||
bool CanAIAttack(const Unit* target) const override
|
||||
{
|
||||
return Instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) == IN_PROGRESS && target->GetTransport() && target->GetTransport() != me->GetTransport();
|
||||
}
|
||||
@@ -1870,7 +1870,7 @@ public:
|
||||
uint16 checkTimer;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_gunship_gunnerAI>(creature);
|
||||
}
|
||||
@@ -1888,14 +1888,14 @@ public:
|
||||
creature->m_CombatDistance = 150.0f;
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type, uint32 pointId)
|
||||
void MovementInform(uint32 type, uint32 pointId) override
|
||||
{
|
||||
gunship_npc_AI::MovementInform(type, pointId);
|
||||
if (type == POINT_MOTION_TYPE && pointId == EVENT_CHARGE_PREPATH)
|
||||
me->SetControlled(true, UNIT_STATE_ROOT);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 /*diff*/)
|
||||
void UpdateAI(uint32 /*diff*/) override
|
||||
{
|
||||
if (Instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != IN_PROGRESS)
|
||||
return;
|
||||
@@ -1915,13 +1915,13 @@ public:
|
||||
me->_AddCreatureSpellCooldown(spellId, 9000);
|
||||
}
|
||||
|
||||
bool CanAIAttack(const Unit* /*target*/) const
|
||||
bool CanAIAttack(const Unit* /*target*/) const override
|
||||
{
|
||||
return Instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) == IN_PROGRESS;
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_gunship_rocketeerAI>(creature);
|
||||
}
|
||||
@@ -1936,7 +1936,7 @@ public:
|
||||
{
|
||||
PrepareAuraScript(spell_igb_rocket_pack_AuraScript);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/)
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
if (!sSpellMgr->GetSpellInfo(SPELL_ROCKET_PACK_DAMAGE) ||
|
||||
!sSpellMgr->GetSpellInfo(SPELL_ROCKET_BURST))
|
||||
@@ -1958,14 +1958,14 @@ public:
|
||||
GetTarget()->CastSpell((Unit*)NULL, SPELL_ROCKET_BURST, true);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_igb_rocket_pack_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
OnEffectRemove += AuraEffectRemoveFn(spell_igb_rocket_pack_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_igb_rocket_pack_AuraScript();
|
||||
}
|
||||
@@ -1980,7 +1980,7 @@ public:
|
||||
{
|
||||
PrepareAuraScript(spell_igb_rocket_pack_useable_AuraScript);
|
||||
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
return GetOwner()->GetInstanceScript();
|
||||
}
|
||||
@@ -2006,7 +2006,7 @@ public:
|
||||
sCreatureTextMgr->SendChat(owner, SAY_ZAFOD_ROCKET_PACK_DISABLED, target, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_NEUTRAL, false, target);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
DoCheckAreaTarget += AuraCheckAreaTargetFn(spell_igb_rocket_pack_useable_AuraScript::CheckAreaTarget);
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_igb_rocket_pack_useable_AuraScript::HandleApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
@@ -2014,7 +2014,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_igb_rocket_pack_useable_AuraScript();
|
||||
}
|
||||
@@ -2042,13 +2042,13 @@ public:
|
||||
target->m_movementInfo.transport.pos.Relocate(x, y, z, o);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_igb_teleport_to_enemy_ship_SpellScript::RelocateTransportOffset, EFFECT_0, SPELL_EFFECT_TELEPORT_UNITS);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_igb_teleport_to_enemy_ship_SpellScript();
|
||||
}
|
||||
@@ -2063,7 +2063,7 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_igb_check_for_players_SpellScript);
|
||||
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
_playerCount = 0;
|
||||
return GetCaster()->GetTypeId() == TYPEID_UNIT;
|
||||
@@ -2086,7 +2086,7 @@ public:
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_GUNSHIP_FALL_TELEPORT, true);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_igb_check_for_players_SpellScript::CountTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY);
|
||||
AfterCast += SpellCastFn(spell_igb_check_for_players_SpellScript::TriggerWipe);
|
||||
@@ -2096,7 +2096,7 @@ public:
|
||||
uint32 _playerCount;
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_igb_check_for_players_SpellScript();
|
||||
}
|
||||
@@ -2111,7 +2111,7 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_igb_gunship_fall_teleport_SpellScript);
|
||||
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
return GetCaster()->GetInstanceScript();
|
||||
}
|
||||
@@ -2129,14 +2129,14 @@ public:
|
||||
GetHitDest()->RelocateOffset(offset);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectTargetSelect += SpellObjectTargetSelectFn(spell_igb_gunship_fall_teleport_SpellScript::SelectTransport, EFFECT_0, TARGET_DEST_NEARBY_ENTRY);
|
||||
OnEffectLaunch += SpellEffectFn(spell_igb_gunship_fall_teleport_SpellScript::RelocateDest, EFFECT_0, SPELL_EFFECT_TELEPORT_UNITS);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_igb_gunship_fall_teleport_SpellScript();
|
||||
}
|
||||
@@ -2151,7 +2151,7 @@ public:
|
||||
{
|
||||
PrepareAuraScript(spell_igb_explosion_main_AuraScript);
|
||||
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
tickNo = urand(0, 3);
|
||||
return true;
|
||||
@@ -2163,7 +2163,7 @@ public:
|
||||
PreventDefaultAction();
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_igb_explosion_main_AuraScript::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
@@ -2171,7 +2171,7 @@ public:
|
||||
uint32 tickNo;
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_igb_explosion_main_AuraScript();
|
||||
}
|
||||
@@ -2206,13 +2206,13 @@ public:
|
||||
acore::Containers::RandomResizeList(targets, 1);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_igb_explosion_SpellScript::SelectTarget, EFFECT_0, TARGET_UNIT_DEST_AREA_ENTRY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_igb_explosion_SpellScript();
|
||||
}
|
||||
@@ -2241,7 +2241,7 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_igb_teleport_players_on_victory_SpellScript);
|
||||
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
return GetCaster()->GetInstanceScript();
|
||||
}
|
||||
@@ -2252,13 +2252,13 @@ public:
|
||||
targets.remove_if(IgbTeleportOnVictoryCheck(instance));
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_igb_teleport_players_on_victory_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_DEST_AREA_ENTRY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_igb_teleport_players_on_victory_SpellScript();
|
||||
}
|
||||
@@ -2279,13 +2279,13 @@ public:
|
||||
GetTarget()->CastSpell(GetTarget(), GetSpellInfo()->Effects[EFFECT_0].TriggerSpell, TriggerCastFlags(TRIGGERED_FULL_MASK & ~TRIGGERED_IGNORE_POWER_AND_REAGENT_COST));
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_igb_periodic_trigger_with_power_cost_AuraScript::HandlePeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_igb_periodic_trigger_with_power_cost_AuraScript();
|
||||
}
|
||||
@@ -2300,7 +2300,7 @@ public:
|
||||
{
|
||||
PrepareAuraScript(spell_igb_overheat_AuraScript);
|
||||
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
if (GetAura()->GetType() != UNIT_AURA_TYPE)
|
||||
return false;
|
||||
@@ -2334,14 +2334,14 @@ public:
|
||||
SendClientControl(1);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_igb_overheat_AuraScript::HandleApply, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_igb_overheat_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_igb_overheat_AuraScript();
|
||||
}
|
||||
@@ -2356,7 +2356,7 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_igb_cannon_blast_SpellScript);
|
||||
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
return GetCaster()->GetTypeId() == TYPEID_UNIT;
|
||||
}
|
||||
@@ -2372,13 +2372,13 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
AfterHit += SpellHitFn(spell_igb_cannon_blast_SpellScript::CheckEnergy);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_igb_cannon_blast_SpellScript();
|
||||
}
|
||||
@@ -2422,7 +2422,7 @@ public:
|
||||
//SetEffectValue(GetEffectValue() + _energyLeft * _energyLeft * 8);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnCast += SpellCastFn(spell_igb_incinerating_blast_SpellScript::StoreEnergy);
|
||||
AfterCast += SpellCastFn(spell_igb_incinerating_blast_SpellScript::RemoveEnergy);
|
||||
@@ -2432,7 +2432,7 @@ public:
|
||||
uint32 _energyLeft;
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_igb_incinerating_blast_SpellScript();
|
||||
}
|
||||
@@ -2484,14 +2484,14 @@ public:
|
||||
GetCaster()->CastSpell(GetHitUnit(), uint32(GetEffectValue()), TRIGGERED_NONE);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_igb_burning_pitch_selector_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_igb_burning_pitch_selector_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_igb_burning_pitch_selector_SpellScript();
|
||||
}
|
||||
@@ -2513,13 +2513,13 @@ public:
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_BURNING_PITCH, TRIGGERED_FULL_MASK);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_igb_burning_pitch_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_igb_burning_pitch_SpellScript();
|
||||
}
|
||||
@@ -2569,14 +2569,14 @@ public:
|
||||
GetCaster()->CastSpell(GetHitUnit()->GetPositionX(), GetHitUnit()->GetPositionY(), GetHitUnit()->GetMap()->GetHeight(GetCaster()->GetPhaseMask(), GetHitUnit()->GetPositionX(), GetHitUnit()->GetPositionY(), GetHitUnit()->GetPositionZ()), uint32(GetEffectValue()), TRIGGERED_NONE);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_igb_rocket_artillery_SpellScript::SelectRandomTarget, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_igb_rocket_artillery_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_igb_rocket_artillery_SpellScript();
|
||||
}
|
||||
@@ -2597,13 +2597,13 @@ public:
|
||||
GetCaster()->CastCustomSpell(instance->GetData(DATA_TEAMID_IN_INSTANCE) == TEAM_HORDE ? SPELL_BURNING_PITCH_DAMAGE_A : SPELL_BURNING_PITCH_DAMAGE_H, SPELLVALUE_BASE_POINT0, 5000, NULL, TRIGGERED_FULL_MASK);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHit += SpellEffectFn(spell_igb_rocket_artillery_explosion_SpellScript::DamageGunship, EFFECT_0, SPELL_EFFECT_TRIGGER_MISSILE);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_igb_rocket_artillery_explosion_SpellScript();
|
||||
}
|
||||
@@ -2624,13 +2624,13 @@ public:
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_EJECT_ALL_PASSENGERS, TRIGGERED_FULL_MASK);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
BeforeHit += SpellHitFn(spell_igb_below_zero_SpellScript::RemovePassengers);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_igb_below_zero_SpellScript();
|
||||
}
|
||||
@@ -2645,7 +2645,7 @@ public:
|
||||
{
|
||||
PrepareAuraScript(spell_igb_on_gunship_deck_AuraScript);
|
||||
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
if (InstanceScript* instance = GetOwner()->GetInstanceScript())
|
||||
_teamIdInInstance = TeamId(instance->GetData(DATA_TEAMID_IN_INSTANCE));
|
||||
@@ -2666,7 +2666,7 @@ public:
|
||||
gunship->AI()->SetGUID(GetTarget()->GetGUID(), enemy ? ACTION_SHIP_VISITS_ENEMY : ACTION_SHIP_VISITS_SELF);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
DoCheckAreaTarget += AuraCheckAreaTargetFn(spell_igb_on_gunship_deck_AuraScript::CheckAreaTarget);
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_igb_on_gunship_deck_AuraScript::HandleApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
@@ -2675,7 +2675,7 @@ public:
|
||||
TeamId _teamIdInInstance;
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_igb_on_gunship_deck_AuraScript();
|
||||
}
|
||||
@@ -2686,7 +2686,7 @@ class achievement_im_on_a_boat : public AchievementCriteriaScript
|
||||
public:
|
||||
achievement_im_on_a_boat() : AchievementCriteriaScript("achievement_im_on_a_boat") { }
|
||||
|
||||
bool OnCheck(Player* /*source*/, Unit* target)
|
||||
bool OnCheck(Player* /*source*/, Unit* target) override
|
||||
{
|
||||
return target->GetAI() && target->GetAI()->GetData(ACTION_SHIP_VISITS_ENEMY) == 1;
|
||||
}
|
||||
|
||||
@@ -101,7 +101,7 @@ public:
|
||||
bool _boneSlice;
|
||||
uint64 _lastBoneSliceTargets[3];
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
_Reset();
|
||||
@@ -117,7 +117,7 @@ public:
|
||||
instance->SetData(DATA_BONED_ACHIEVEMENT, uint32(true));
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
void EnterCombat(Unit* /*who*/) override
|
||||
{
|
||||
Talk(SAY_AGGRO);
|
||||
me->setActive(true);
|
||||
@@ -125,7 +125,7 @@ public:
|
||||
instance->SetBossState(DATA_LORD_MARROWGAR, IN_PROGRESS);
|
||||
}
|
||||
|
||||
void SpellHitTarget(Unit* target, const SpellInfo* spell)
|
||||
void SpellHitTarget(Unit* target, const SpellInfo* spell) override
|
||||
{
|
||||
if (target && (spell->Id == 69055 || spell->Id == 70814)) // Bone Slice (Saber Lash)
|
||||
for (uint8 i = 0; i < 3; ++i)
|
||||
@@ -136,7 +136,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
uint64 GetGUID(int32 id) const
|
||||
uint64 GetGUID(int32 id) const override
|
||||
{
|
||||
if (id >= 0 && id <= 2)
|
||||
return _lastBoneSliceTargets[id];
|
||||
@@ -144,7 +144,7 @@ public:
|
||||
return (uint64)0;
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim() || !CheckInRoom())
|
||||
return;
|
||||
@@ -249,7 +249,7 @@ public:
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type, uint32 id)
|
||||
void MovementInform(uint32 type, uint32 id) override
|
||||
{
|
||||
if (type != POINT_MOTION_TYPE || id != 1337)
|
||||
return;
|
||||
@@ -257,25 +257,25 @@ public:
|
||||
events.ScheduleEvent(EVENT_SPELL_COLDFLAME_BONE_STORM, 0);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
Talk(SAY_DEATH);
|
||||
_JustDied();
|
||||
}
|
||||
|
||||
void JustReachedHome()
|
||||
void JustReachedHome() override
|
||||
{
|
||||
_JustReachedHome();
|
||||
instance->SetBossState(DATA_LORD_MARROWGAR, FAIL);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* victim)
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() == TYPEID_PLAYER)
|
||||
Talk(SAY_KILL);
|
||||
}
|
||||
|
||||
void MoveInLineOfSight(Unit* who)
|
||||
void MoveInLineOfSight(Unit* who) override
|
||||
{
|
||||
if (!_introDone && me->IsAlive() && who->GetTypeId() == TYPEID_PLAYER && me->GetExactDist2dSq(who) <= 10000.0f) // 100*100, moveinlineofsight limited to 60yd anyway
|
||||
{
|
||||
@@ -286,13 +286,13 @@ public:
|
||||
BossAI::MoveInLineOfSight(who);
|
||||
}
|
||||
|
||||
bool CanAIAttack(Unit const* target) const
|
||||
bool CanAIAttack(Unit const* target) const override
|
||||
{
|
||||
return target->GetPositionX() < -337.0f; // main gate
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<boss_lord_marrowgarAI>(creature);
|
||||
}
|
||||
@@ -311,14 +311,14 @@ public:
|
||||
|
||||
EventMap events;
|
||||
|
||||
void IsSummonedBy(Unit* /*summoner*/)
|
||||
void IsSummonedBy(Unit* /*summoner*/) override
|
||||
{
|
||||
events.ScheduleEvent(1, 450);
|
||||
events.ScheduleEvent(2, 12000);
|
||||
me->m_positionZ = 42.5f;
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
events.Update(diff);
|
||||
|
||||
@@ -348,7 +348,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_coldflameAI>(creature);
|
||||
}
|
||||
@@ -368,7 +368,7 @@ public:
|
||||
EventMap events;
|
||||
bool hasTrappedUnit;
|
||||
|
||||
void DoAction(int32 action)
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
if (action != -1337)
|
||||
return;
|
||||
@@ -392,12 +392,12 @@ public:
|
||||
me->DespawnOrUnsummon(1);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
DoAction(-1337);
|
||||
}
|
||||
|
||||
void IsSummonedBy(Unit* summoner)
|
||||
void IsSummonedBy(Unit* summoner) override
|
||||
{
|
||||
if (!summoner)
|
||||
return;
|
||||
@@ -419,7 +419,7 @@ public:
|
||||
hasTrappedUnit = true;
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!hasTrappedUnit || !me->IsAlive())
|
||||
return;
|
||||
@@ -454,7 +454,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_bone_spikeAI>(creature);
|
||||
}
|
||||
@@ -503,14 +503,14 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_marrowgar_coldflame_SpellScript::SelectTarget, EFFECT_0, TARGET_UNIT_DEST_AREA_ENEMY);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_marrowgar_coldflame_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_marrowgar_coldflame_SpellScript();
|
||||
}
|
||||
@@ -561,13 +561,13 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_marrowgar_bone_spike_graveyard_SpellScript::HandleSpikes, EFFECT_1, SPELL_EFFECT_APPLY_AURA);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_marrowgar_bone_spike_graveyard_SpellScript();
|
||||
}
|
||||
@@ -601,13 +601,13 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_marrowgar_coldflame_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_marrowgar_coldflame_SpellScript();
|
||||
}
|
||||
@@ -630,13 +630,13 @@ public:
|
||||
SetHitDamage(int32(GetHitDamage() / std::max(sqrtf(dist), 1.0f)));
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnHit += SpellHitFn(spell_marrowgar_bone_storm_SpellScript::RecalculateDamage);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_marrowgar_bone_storm_SpellScript();
|
||||
}
|
||||
@@ -651,7 +651,7 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_marrowgar_bone_slice_SpellScript);
|
||||
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
_targetCount = 0;
|
||||
return true;
|
||||
@@ -670,7 +670,7 @@ public:
|
||||
SetHitDamage(GetHitDamage() / _targetCount);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_marrowgar_bone_slice_SpellScript::CountTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ENEMY);
|
||||
OnHit += SpellHitFn(spell_marrowgar_bone_slice_SpellScript::SplitDamage);
|
||||
@@ -679,7 +679,7 @@ public:
|
||||
uint32 _targetCount;
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_marrowgar_bone_slice_SpellScript();
|
||||
}
|
||||
|
||||
@@ -226,7 +226,7 @@ public:
|
||||
bool bChangePhase;
|
||||
bool bEnteredCombat; // needed for failing an attempt in JustReachedHome()
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
sayFestergutDeathTimer = 0;
|
||||
sayRotfaceDeathTimer = 0;
|
||||
@@ -241,7 +241,7 @@ public:
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
|
||||
uint32 GetData(uint32 type) const
|
||||
uint32 GetData(uint32 type) const override
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
@@ -256,30 +256,30 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
void SetData(uint32 id, uint32 data)
|
||||
void SetData(uint32 id, uint32 data) override
|
||||
{
|
||||
if (id == DATA_EXPERIMENT_STAGE)
|
||||
_experimentState = (data ? 1 : 0);
|
||||
}
|
||||
|
||||
void AttackStart(Unit* who)
|
||||
void AttackStart(Unit* who) override
|
||||
{
|
||||
if (instance->CheckRequiredBosses(DATA_PROFESSOR_PUTRICIDE))
|
||||
BossAI::AttackStart(who);
|
||||
}
|
||||
|
||||
bool CanAIAttack(const Unit* target) const
|
||||
bool CanAIAttack(const Unit* target) const override
|
||||
{
|
||||
return me->IsVisible() && target->GetPositionZ() > 388.0f && target->GetPositionZ() < 410.0f && target->GetPositionY() > 3157.1f && target->GetExactDist2dSq(4356.0f, 3211.0f) < 80.0f * 80.0f;
|
||||
}
|
||||
|
||||
void MoveInLineOfSight(Unit* who)
|
||||
void MoveInLineOfSight(Unit* who) override
|
||||
{
|
||||
if (!me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE))
|
||||
BossAI::MoveInLineOfSight(who);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
void EnterCombat(Unit* who) override
|
||||
{
|
||||
Position homePos = me->GetHomePosition();
|
||||
if (!instance->CheckRequiredBosses(DATA_PROFESSOR_PUTRICIDE, who->ToPlayer()) || me->GetExactDist2d(&homePos) > 10.0f || !me->IsVisible()) // check home position because during festergut/rotface fight, trigger missile after their death can trigger putricide combat
|
||||
@@ -308,7 +308,7 @@ public:
|
||||
instance->SetData(DATA_NAUSEA_ACHIEVEMENT, uint32(true));
|
||||
}
|
||||
|
||||
void JustReachedHome()
|
||||
void JustReachedHome() override
|
||||
{
|
||||
_JustReachedHome();
|
||||
if (bEnteredCombat)
|
||||
@@ -321,13 +321,13 @@ public:
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_OOZE_VARIABLE);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* victim)
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() == TYPEID_PLAYER)
|
||||
Talk(SAY_KILL);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
_JustDied();
|
||||
Talk(SAY_DEATH);
|
||||
@@ -338,7 +338,7 @@ public:
|
||||
me->CastSpell((Unit*)NULL, SPELL_MUTATED_PLAGUE_CLEAR, true);
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summon)
|
||||
void JustSummoned(Creature* summon) override
|
||||
{
|
||||
if (summon->GetEntry() != 38308 && summon->GetEntry() != 38309 && (!me->IsInCombat() || me->IsInEvadeMode()))
|
||||
{
|
||||
@@ -380,7 +380,7 @@ public:
|
||||
summon->SetInCombatWithZone();
|
||||
}
|
||||
|
||||
void DamageTaken(Unit*, uint32& /*damage*/, DamageEffectType /*damagetype*/, SpellSchoolMask /*damageSchoolMask*/)
|
||||
void DamageTaken(Unit*, uint32& /*damage*/, DamageEffectType /*damagetype*/, SpellSchoolMask /*damageSchoolMask*/) override
|
||||
{
|
||||
if (bChangePhase)
|
||||
return;
|
||||
@@ -404,7 +404,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type, uint32 id)
|
||||
void MovementInform(uint32 type, uint32 id) override
|
||||
{
|
||||
if (type != POINT_MOTION_TYPE)
|
||||
return;
|
||||
@@ -453,7 +453,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void DoAction(int32 action)
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
switch (action)
|
||||
{
|
||||
@@ -478,7 +478,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (sayFestergutDeathTimer)
|
||||
{
|
||||
@@ -650,7 +650,7 @@ public:
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
|
||||
void EnterEvadeMode()
|
||||
void EnterEvadeMode() override
|
||||
{
|
||||
Position p = me->GetHomePosition();
|
||||
if (!me->IsInCombat() && me->GetExactDist2d(&p) > 10.0f)
|
||||
@@ -718,7 +718,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<boss_professor_putricideAI>(creature);
|
||||
}
|
||||
@@ -736,13 +736,13 @@ public:
|
||||
|
||||
uint64 targetGUID;
|
||||
|
||||
void SetGUID(uint64 guid, int32 type)
|
||||
void SetGUID(uint64 guid, int32 type) override
|
||||
{
|
||||
if (type == -1)
|
||||
targetGUID = guid;
|
||||
}
|
||||
|
||||
void IsSummonedBy(Unit* /*summoner*/)
|
||||
void IsSummonedBy(Unit* /*summoner*/) override
|
||||
{
|
||||
if (InstanceScript* instance = me->GetInstanceScript())
|
||||
if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
|
||||
@@ -764,19 +764,19 @@ public:
|
||||
_newTargetSelectTimer = 1000;
|
||||
}
|
||||
|
||||
void SpellHitTarget(Unit* /*target*/, SpellInfo const* spell)
|
||||
void SpellHitTarget(Unit* /*target*/, SpellInfo const* spell) override
|
||||
{
|
||||
if (!_newTargetSelectTimer && spell->Id == sSpellMgr->GetSpellIdForDifficulty(_hitTargetSpellId, me))
|
||||
SelectNewTarget();
|
||||
}
|
||||
|
||||
void SpellHit(Unit* /*caster*/, SpellInfo const* spell)
|
||||
void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
|
||||
{
|
||||
if (spell->Id == SPELL_TEAR_GAS_CREATURE)
|
||||
SelectNewTarget();
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!_newTargetSelectTimer)
|
||||
{
|
||||
@@ -825,13 +825,13 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
void CastMainSpell()
|
||||
void CastMainSpell() override
|
||||
{
|
||||
me->CastSpell(me, SPELL_VOLATILE_OOZE_ADHESIVE, false);
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_volatile_oozeAI>(creature);
|
||||
}
|
||||
@@ -849,7 +849,7 @@ public:
|
||||
_newTargetSelectTimer = 0;
|
||||
}
|
||||
|
||||
void CastMainSpell()
|
||||
void CastMainSpell() override
|
||||
{
|
||||
me->CastCustomSpell(SPELL_GASEOUS_BLOAT, SPELLVALUE_AURA_STACK, 10, me, false);
|
||||
}
|
||||
@@ -858,7 +858,7 @@ public:
|
||||
uint32 _newTargetSelectTimer;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_gas_cloudAI>(creature);
|
||||
}
|
||||
@@ -891,7 +891,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_slime_puddle_SpellScript::ScaleRange, EFFECT_0, TARGET_UNIT_DEST_AREA_ENEMY);
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_slime_puddle_SpellScript::ScaleRange, EFFECT_1, TARGET_UNIT_DEST_AREA_ENTRY);
|
||||
@@ -899,7 +899,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_putricide_slime_puddle_SpellScript();
|
||||
}
|
||||
@@ -924,13 +924,13 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
BeforeCast += SpellCastFn(spell_putricide_slime_puddle_spawn_SpellScript::SelectDest);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_putricide_slime_puddle_spawn_SpellScript();
|
||||
}
|
||||
@@ -952,13 +952,13 @@ public:
|
||||
PreventDefaultAction();
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_putricide_grow_stacker_AuraScript::HandleTriggerSpell, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_putricide_grow_stacker_AuraScript();
|
||||
}
|
||||
@@ -1001,13 +1001,13 @@ public:
|
||||
GetCaster()->CastSpell(target, uint32(GetSpellInfo()->Effects[stage].CalcValue()), true, nullptr, nullptr, GetCaster()->GetGUID());
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_putricide_unstable_experiment_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_putricide_unstable_experiment_SpellScript();
|
||||
}
|
||||
@@ -1031,14 +1031,14 @@ public:
|
||||
targets.remove_if(acore::UnitAuraCheck(true, 32612));
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_tear_gas_effect_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_tear_gas_effect_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_putricide_tear_gas_effect_SpellScript();
|
||||
}
|
||||
@@ -1062,13 +1062,13 @@ public:
|
||||
caster->CastCustomSpell(SPELL_GASEOUS_BLOAT, SPELLVALUE_AURA_STACK, 10, caster, false);*/
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_putricide_gaseous_bloat_AuraScript::HandleExtraEffect, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_putricide_gaseous_bloat_AuraScript();
|
||||
}
|
||||
@@ -1083,7 +1083,7 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_putricide_ooze_channel_SpellScript);
|
||||
|
||||
bool Validate(SpellInfo const* spell)
|
||||
bool Validate(SpellInfo const* spell) override
|
||||
{
|
||||
if (!spell->ExcludeTargetAuraSpell)
|
||||
return false;
|
||||
@@ -1094,7 +1094,7 @@ public:
|
||||
|
||||
// set up initial variables and check if caster is creature
|
||||
// this will let use safely use ToCreature() casts in entire script
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
_target = nullptr;
|
||||
return GetCaster()->GetTypeId() == TYPEID_UNIT;
|
||||
@@ -1137,7 +1137,7 @@ public:
|
||||
c->AI()->SetGUID(GetHitUnit()->GetGUID(), -1);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_ooze_channel_SpellScript::SelectTarget, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_ooze_channel_SpellScript::SetTarget, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
@@ -1148,7 +1148,7 @@ public:
|
||||
WorldObject* _target;
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_putricide_ooze_channel_SpellScript();
|
||||
}
|
||||
@@ -1173,13 +1173,13 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_putricide_ooze_eruption_searcher_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_putricide_ooze_eruption_searcher_SpellScript();
|
||||
}
|
||||
@@ -1223,14 +1223,14 @@ public:
|
||||
GetTarget()->CastCustomSpell(healSpell, SPELLVALUE_BASE_POINT0, healAmount, GetTarget(), TRIGGERED_FULL_MASK, nullptr, nullptr, GetCasterGUID());
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_putricide_mutated_plague_AuraScript::HandleTriggerSpell, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_putricide_mutated_plague_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_putricide_mutated_plague_AuraScript();
|
||||
}
|
||||
@@ -1245,7 +1245,7 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_putricide_unbound_plague_SpellScript);
|
||||
|
||||
bool Validate(SpellInfo const* /*spell*/)
|
||||
bool Validate(SpellInfo const* /*spell*/) override
|
||||
{
|
||||
if (!sSpellMgr->GetSpellInfo(SPELL_UNBOUND_PLAGUE))
|
||||
return false;
|
||||
@@ -1302,14 +1302,14 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_unbound_plague_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_putricide_unbound_plague_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_putricide_unbound_plague_SpellScript();
|
||||
}
|
||||
@@ -1333,13 +1333,13 @@ public:
|
||||
aurEff->SetAmount(dmg);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectUpdatePeriodic += AuraEffectUpdatePeriodicFn(spell_putricide_unbound_plague_dmg_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_putricide_unbound_plague_dmg_AuraScript();
|
||||
}
|
||||
@@ -1367,13 +1367,13 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_putricide_choking_gas_bomb_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_putricide_choking_gas_bomb_SpellScript();
|
||||
}
|
||||
@@ -1396,13 +1396,13 @@ public:
|
||||
GetHitUnit()->RemoveAurasDueToSpell(auraId);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_putricide_clear_aura_effect_value_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_putricide_clear_aura_effect_value_SpellScript();
|
||||
}
|
||||
@@ -1461,7 +1461,7 @@ public:
|
||||
return SPELL_CAST_OK;
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnCheckCast += SpellCheckCastFn(spell_putricide_mutation_init_SpellScript::CheckRequirement);
|
||||
}
|
||||
@@ -1480,18 +1480,18 @@ public:
|
||||
GetTarget()->CastSpell(GetTarget(), spellId, true);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_putricide_mutation_init_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_putricide_mutation_init_SpellScript();
|
||||
}
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_putricide_mutation_init_AuraScript();
|
||||
}
|
||||
@@ -1557,13 +1557,13 @@ public:
|
||||
summon->SetStatFloatValue(UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER, 0);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHit += SpellEffectFn(spell_putricide_mutated_transformation_SpellScript::HandleSummon, EFFECT_0, SPELL_EFFECT_SUMMON);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_putricide_mutated_transformation_SpellScript();
|
||||
}
|
||||
@@ -1584,13 +1584,13 @@ public:
|
||||
veh->RemoveAllPassengers();
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_putricide_mutated_transformation_dismiss_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_putricide_mutated_transformation_dismiss_AuraScript();
|
||||
}
|
||||
@@ -1611,13 +1611,13 @@ public:
|
||||
targets.remove(owner);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_mutated_transformation_dmg_SpellScript::FilterTargetsInitial, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_putricide_mutated_transformation_dmg_SpellScript();
|
||||
}
|
||||
@@ -1662,14 +1662,14 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_putricide_eat_ooze_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_eat_ooze_SpellScript::SelectTarget, EFFECT_0, TARGET_UNIT_DEST_AREA_ENTRY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_putricide_eat_ooze_SpellScript();
|
||||
}
|
||||
@@ -1691,13 +1691,13 @@ public:
|
||||
instance->SetData(DATA_NAUSEA_ACHIEVEMENT, uint32(false));
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_putricide_regurgitated_ooze_SpellScript::ExtraEffect, EFFECT_0, SPELL_EFFECT_APPLY_AURA);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_putricide_regurgitated_ooze_SpellScript();
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ public:
|
||||
uint64 _oozeFloodDummyGUIDs[4][2];
|
||||
uint8 _oozeFloodStage;
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
infectionCooldown = 14000;
|
||||
memset(&_oozeFloodDummyGUIDs, 0, sizeof(_oozeFloodDummyGUIDs));
|
||||
@@ -130,7 +130,7 @@ public:
|
||||
events.Reset();
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
void EnterCombat(Unit* who) override
|
||||
{
|
||||
if (!instance->CheckRequiredBosses(DATA_ROTFACE, who->ToPlayer()))
|
||||
{
|
||||
@@ -173,7 +173,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(MUTATED_INFECTION);
|
||||
_JustDied();
|
||||
@@ -182,13 +182,13 @@ public:
|
||||
professor->AI()->DoAction(ACTION_ROTFACE_DEATH);
|
||||
}
|
||||
|
||||
void JustReachedHome()
|
||||
void JustReachedHome() override
|
||||
{
|
||||
_JustReachedHome();
|
||||
instance->SetBossState(DATA_ROTFACE, FAIL);
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summon)
|
||||
void JustSummoned(Creature* summon) override
|
||||
{
|
||||
if (me->IsAlive() && me->IsInCombat() && !me->IsInEvadeMode())
|
||||
summons.Summon(summon);
|
||||
@@ -196,13 +196,13 @@ public:
|
||||
summon->DespawnOrUnsummon(1);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* victim)
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() == TYPEID_PLAYER)
|
||||
Talk(SAY_KILL);
|
||||
}
|
||||
|
||||
void EnterEvadeMode()
|
||||
void EnterEvadeMode() override
|
||||
{
|
||||
me->SetControlled(false, UNIT_STATE_ROOT);
|
||||
me->DisableRotate(false);
|
||||
@@ -211,7 +211,7 @@ public:
|
||||
professor->AI()->EnterEvadeMode();
|
||||
}
|
||||
|
||||
void SpellHitTarget(Unit* target, SpellInfo const* spell)
|
||||
void SpellHitTarget(Unit* target, SpellInfo const* spell) override
|
||||
{
|
||||
switch (spell->Id)
|
||||
{
|
||||
@@ -239,7 +239,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim() || !CheckInRoom())
|
||||
return;
|
||||
@@ -317,7 +317,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<boss_rotfaceAI>(creature);
|
||||
}
|
||||
@@ -341,7 +341,7 @@ public:
|
||||
EventMap events;
|
||||
InstanceScript* instance;
|
||||
|
||||
void IsSummonedBy(Unit* summoner)
|
||||
void IsSummonedBy(Unit* summoner) override
|
||||
{
|
||||
if (!summoner)
|
||||
return;
|
||||
@@ -350,14 +350,14 @@ public:
|
||||
AttackStart(summoner);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
if (Creature* rotface = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ROTFACE)))
|
||||
rotface->AI()->SummonedCreatureDespawn(me);
|
||||
me->DespawnOrUnsummon(0);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (firstUpdate)
|
||||
{
|
||||
@@ -390,13 +390,13 @@ public:
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
|
||||
void EnterEvadeMode()
|
||||
void EnterEvadeMode() override
|
||||
{
|
||||
me->SetInCombatWithZone();
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_little_oozeAI>(creature);
|
||||
}
|
||||
@@ -420,26 +420,26 @@ public:
|
||||
EventMap events;
|
||||
InstanceScript* instance;
|
||||
|
||||
void IsSummonedBy(Unit* /*summoner*/)
|
||||
void IsSummonedBy(Unit* /*summoner*/) override
|
||||
{
|
||||
if (Player* p = me->SelectNearestPlayer(100.0f))
|
||||
AttackStart(p);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
if (Creature* rotface = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ROTFACE)))
|
||||
rotface->AI()->SummonedCreatureDespawn(me);
|
||||
me->DespawnOrUnsummon();
|
||||
}
|
||||
|
||||
void DoAction(int32 action)
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
if (action == EVENT_STICKY_OOZE)
|
||||
events.CancelEvent(EVENT_STICKY_OOZE);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (firstUpdate)
|
||||
{
|
||||
@@ -475,13 +475,13 @@ public:
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
|
||||
void EnterEvadeMode()
|
||||
void EnterEvadeMode() override
|
||||
{
|
||||
me->SetInCombatWithZone();
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_big_oozeAI>(creature);
|
||||
}
|
||||
@@ -496,7 +496,7 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_rotface_mutated_infection_SpellScript);
|
||||
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
_target = nullptr;
|
||||
return true;
|
||||
@@ -531,7 +531,7 @@ public:
|
||||
caster->AI()->Talk(EMOTE_MUTATED_INFECTION, target);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_rotface_mutated_infection_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_rotface_mutated_infection_SpellScript::ReplaceTargets, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
@@ -551,18 +551,18 @@ public:
|
||||
GetTarget()->CastSpell(GetTarget(), GetSpellInfo()->Effects[2].CalcValue(), true);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_rotface_mutated_infection_AuraScript::ExtraRemoveEffect, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_rotface_mutated_infection_SpellScript();
|
||||
}
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_rotface_mutated_infection_AuraScript();
|
||||
}
|
||||
@@ -592,13 +592,13 @@ public:
|
||||
GetCaster()->ToCreature()->DespawnOrUnsummon();
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_rotface_little_ooze_combine_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_rotface_little_ooze_combine_SpellScript();
|
||||
}
|
||||
@@ -670,13 +670,13 @@ public:
|
||||
GetHitCreature()->DespawnOrUnsummon();
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_rotface_large_ooze_combine_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_rotface_large_ooze_combine_SpellScript();
|
||||
}
|
||||
@@ -733,13 +733,13 @@ public:
|
||||
GetHitCreature()->DespawnOrUnsummon();
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_rotface_large_ooze_buff_combine_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_rotface_large_ooze_buff_combine_SpellScript();
|
||||
}
|
||||
@@ -754,7 +754,7 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_rotface_unstable_ooze_explosion_init_SpellScript);
|
||||
|
||||
bool Validate(SpellInfo const* /*spell*/)
|
||||
bool Validate(SpellInfo const* /*spell*/) override
|
||||
{
|
||||
if (!sSpellMgr->GetSpellInfo(SPELL_UNSTABLE_OOZE_EXPLOSION_TRIGGER))
|
||||
return false;
|
||||
@@ -773,13 +773,13 @@ public:
|
||||
GetCaster()->CastSpell(dummy, SPELL_UNSTABLE_OOZE_EXPLOSION_TRIGGER, true);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_rotface_unstable_ooze_explosion_init_SpellScript::HandleCast, EFFECT_0, SPELL_EFFECT_FORCE_CAST);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_rotface_unstable_ooze_explosion_init_SpellScript();
|
||||
}
|
||||
@@ -810,13 +810,13 @@ public:
|
||||
rotface->CastSpell(x, y, z, triggered_spell_id, true/*, nullptr, nullptr, GetCaster()->GetGUID()*/); // caster not available on clientside, no log in such case
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHit += SpellEffectFn(spell_rotface_unstable_ooze_explosion_SpellScript::CheckTarget, EFFECT_0, SPELL_EFFECT_TRIGGER_MISSILE);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_rotface_unstable_ooze_explosion_SpellScript();
|
||||
}
|
||||
@@ -844,13 +844,13 @@ public:
|
||||
target->ToCreature()->DespawnOrUnsummon(60000);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_rotface_unstable_ooze_explosion_suicide_AuraScript::DespawnSelf, EFFECT_2, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_rotface_unstable_ooze_explosion_suicide_AuraScript();
|
||||
}
|
||||
@@ -866,13 +866,13 @@ public:
|
||||
{
|
||||
npc_precious_iccAI(Creature* creature) : ScriptedAI(creature), summons(me) {}
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
events.Reset();
|
||||
summons.DespawnAll();
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*target*/)
|
||||
void EnterCombat(Unit* /*target*/) override
|
||||
{
|
||||
me->setActive(true);
|
||||
events.ScheduleEvent(EVENT_DECIMATE, urand(20000, 25000));
|
||||
@@ -880,19 +880,19 @@ public:
|
||||
events.ScheduleEvent(EVENT_SUMMON_ZOMBIES, urand(25000, 30000));
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summon)
|
||||
void JustSummoned(Creature* summon) override
|
||||
{
|
||||
summons.Summon(summon);
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
summon->AI()->AttackStart(target);
|
||||
}
|
||||
|
||||
void SummonedCreatureDespawn(Creature* summon)
|
||||
void SummonedCreatureDespawn(Creature* summon) override
|
||||
{
|
||||
summons.Despawn(summon);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
summons.DespawnAll();
|
||||
if (InstanceScript* _instance = me->GetInstanceScript())
|
||||
@@ -901,7 +901,7 @@ public:
|
||||
rotface->AI()->Talk(SAY_PRECIOUS_DIES);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
@@ -942,7 +942,7 @@ public:
|
||||
SummonList summons;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_precious_iccAI>(creature);
|
||||
}
|
||||
|
||||
@@ -160,7 +160,7 @@ class FrostwyrmLandEvent : public BasicEvent
|
||||
public:
|
||||
FrostwyrmLandEvent(Creature& owner, Position const& dest) : _owner(owner), _dest(dest) { }
|
||||
|
||||
bool Execute(uint64 /*eventTime*/, uint32 /*updateTime*/)
|
||||
bool Execute(uint64 /*eventTime*/, uint32 /*updateTime*/) override
|
||||
{
|
||||
_owner.GetMotionMaster()->MoveLand(POINT_FROSTWYRM_LAND, _dest, 8.5f);
|
||||
return true;
|
||||
@@ -176,7 +176,7 @@ class FrostBombExplosion : public BasicEvent
|
||||
public:
|
||||
FrostBombExplosion(Creature* owner, uint64 sindragosaGUID) : _owner(owner), _sindragosaGUID(sindragosaGUID) { }
|
||||
|
||||
bool Execute(uint64 /*eventTime*/, uint32 /*updateTime*/)
|
||||
bool Execute(uint64 /*eventTime*/, uint32 /*updateTime*/) override
|
||||
{
|
||||
_owner->CastSpell((Unit*)NULL, SPELL_FROST_BOMB, false, nullptr, nullptr, _sindragosaGUID);
|
||||
_owner->RemoveAurasDueToSpell(SPELL_FROST_BOMB_VISUAL);
|
||||
@@ -193,7 +193,7 @@ class IceTombSummonEvent : public BasicEvent
|
||||
public:
|
||||
IceTombSummonEvent(Unit* owner, uint64 sindragosaGUID) : _owner(owner), _sindragosaGUID(sindragosaGUID) { }
|
||||
|
||||
bool Execute(uint64 /*eventTime*/, uint32 /*updateTime*/)
|
||||
bool Execute(uint64 /*eventTime*/, uint32 /*updateTime*/) override
|
||||
{
|
||||
if (!_owner->IsAlive() || !_owner->HasAura(SPELL_ICE_TOMB_DAMAGE))
|
||||
return true;
|
||||
@@ -267,7 +267,7 @@ public:
|
||||
me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_HASTE_SPELLS, true);
|
||||
}
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
_didFirstFlyPhase = false;
|
||||
_isBelow20Pct = false;
|
||||
@@ -289,13 +289,13 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void MoveInLineOfSight(Unit* who)
|
||||
void MoveInLineOfSight(Unit* who) override
|
||||
{
|
||||
if (!me->HasUnitMovementFlag(MOVEMENTFLAG_CAN_FLY))
|
||||
BossAI::MoveInLineOfSight(who);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /* killer */)
|
||||
void JustDied(Unit* /* killer */) override
|
||||
{
|
||||
_JustDied();
|
||||
Talk(SAY_DEATH);
|
||||
@@ -311,7 +311,7 @@ public:
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_ASPHYXIATION);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* victim)
|
||||
void EnterCombat(Unit* victim) override
|
||||
{
|
||||
if (!instance->CheckRequiredBosses(DATA_SINDRAGOSA, victim->ToPlayer()) || !me->IsVisible())
|
||||
{
|
||||
@@ -345,12 +345,12 @@ public:
|
||||
Talk(SAY_AGGRO);
|
||||
}
|
||||
|
||||
bool CanAIAttack(const Unit* target) const
|
||||
bool CanAIAttack(const Unit* target) const override
|
||||
{
|
||||
return me->IsVisible() && target->GetEntry() != NPC_CROK_SCOURGEBANE;
|
||||
}
|
||||
|
||||
void JustReachedHome()
|
||||
void JustReachedHome() override
|
||||
{
|
||||
_JustReachedHome();
|
||||
instance->SetBossState(DATA_SINDRAGOSA, FAIL);
|
||||
@@ -362,7 +362,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void EnterEvadeMode()
|
||||
void EnterEvadeMode() override
|
||||
{
|
||||
if (!me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE)) // this flag is removed after she lands and can be engaged
|
||||
{
|
||||
@@ -377,13 +377,13 @@ public:
|
||||
BossAI::EnterEvadeMode();
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* victim)
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() == TYPEID_PLAYER)
|
||||
Talk(SAY_KILL);
|
||||
}
|
||||
|
||||
void DoAction(int32 action)
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
if (action == ACTION_START_FROSTWYRM)
|
||||
{
|
||||
@@ -410,14 +410,14 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
uint32 GetData(uint32 type) const
|
||||
uint32 GetData(uint32 type) const override
|
||||
{
|
||||
if (type == DATA_MYSTIC_BUFFET_STACK)
|
||||
return _mysticBuffetStack;
|
||||
return 0xFFFFFFFF;
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type, uint32 point)
|
||||
void MovementInform(uint32 type, uint32 point) override
|
||||
{
|
||||
if (type != POINT_MOTION_TYPE && type != EFFECT_MOTION_TYPE)
|
||||
return;
|
||||
@@ -468,7 +468,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask)
|
||||
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
|
||||
{
|
||||
if (!damage || me->IsInEvadeMode())
|
||||
return;
|
||||
@@ -496,21 +496,21 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summon)
|
||||
void JustSummoned(Creature* summon) override
|
||||
{
|
||||
summons.Summon(summon);
|
||||
if (summon->GetEntry() == NPC_FROST_BOMB)
|
||||
summon->m_Events.AddEvent(new FrostBombExplosion(summon, me->GetGUID()), summon->m_Events.CalculateTime(5500));
|
||||
}
|
||||
|
||||
void SummonedCreatureDespawn(Creature* summon)
|
||||
void SummonedCreatureDespawn(Creature* summon) override
|
||||
{
|
||||
BossAI::SummonedCreatureDespawn(summon);
|
||||
if (summon->GetEntry() == NPC_ICE_TOMB)
|
||||
summon->AI()->JustDied(summon);
|
||||
}
|
||||
|
||||
void SpellHitTarget(Unit* target, SpellInfo const* spell)
|
||||
void SpellHitTarget(Unit* target, SpellInfo const* spell) override
|
||||
{
|
||||
if (target->GetTypeId() == TYPEID_PLAYER)
|
||||
if (uint32 spellId = sSpellMgr->GetSpellIdForDifficulty(70127, me))
|
||||
@@ -519,7 +519,7 @@ public:
|
||||
_mysticBuffetStack = std::max<uint8>(_mysticBuffetStack, mysticBuffet->GetStackAmount());
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim() || !CheckInRoom())
|
||||
return;
|
||||
@@ -701,7 +701,7 @@ public:
|
||||
bool _isThirdPhase;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<boss_sindragosaAI>(creature);
|
||||
}
|
||||
@@ -726,19 +726,19 @@ public:
|
||||
uint32 _existenceCheckTimer;
|
||||
uint16 _asphyxiationTimer;
|
||||
|
||||
void SetGUID(uint64 guid, int32 type)
|
||||
void SetGUID(uint64 guid, int32 type) override
|
||||
{
|
||||
if (type == DATA_TRAPPED_PLAYER)
|
||||
_trappedPlayerGUID = guid;
|
||||
}
|
||||
|
||||
void DamageTaken(Unit*, uint32& dmg, DamageEffectType, SpellSchoolMask)
|
||||
void DamageTaken(Unit*, uint32& dmg, DamageEffectType, SpellSchoolMask) override
|
||||
{
|
||||
if (dmg >= me->GetHealth())
|
||||
me->m_positionZ = me->GetPositionZ() - 5.0f;
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
me->RemoveAllGameObjects();
|
||||
|
||||
@@ -752,7 +752,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!_trappedPlayerGUID)
|
||||
return;
|
||||
@@ -789,7 +789,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_ice_tombAI>(creature);
|
||||
}
|
||||
@@ -804,7 +804,7 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_sindragosa_s_fury_SpellScript);
|
||||
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
_targetCount = 0;
|
||||
|
||||
@@ -854,7 +854,7 @@ public:
|
||||
GetCaster()->DealSpellDamage(&damageInfo, false);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
BeforeCast += SpellCastFn(spell_sindragosa_s_fury_SpellScript::SelectDest);
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_sindragosa_s_fury_SpellScript::CountTargets, EFFECT_1, TARGET_UNIT_DEST_AREA_ENTRY);
|
||||
@@ -864,7 +864,7 @@ public:
|
||||
uint32 _targetCount;
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_sindragosa_s_fury_SpellScript();
|
||||
}
|
||||
@@ -922,13 +922,13 @@ public:
|
||||
unitList.splice(unitList.begin(), dpsList);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_sindragosa_unchained_magic_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_sindragosa_unchained_magic_SpellScript();
|
||||
}
|
||||
@@ -939,7 +939,7 @@ public:
|
||||
|
||||
std::map<uint32, uint32> _lastMSTimeForSpell;
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/)
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
_lastMSTimeForSpell.clear();
|
||||
return true;
|
||||
@@ -967,13 +967,13 @@ public:
|
||||
return true;
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
DoCheckProc += AuraCheckProcFn(spell_sindragosa_unchained_magic_AuraScript::CheckProc);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_sindragosa_unchained_magic_AuraScript();
|
||||
}
|
||||
@@ -993,13 +993,13 @@ public:
|
||||
return eventInfo.GetProcTarget() && eventInfo.GetProcTarget()->GetEntry() == NPC_SINDRAGOSA;
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
DoCheckProc += AuraCheckProcFn(spell_sindragosa_permeating_chill_AuraScript::CheckProc);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_sindragosa_permeating_chill_AuraScript();
|
||||
}
|
||||
@@ -1014,7 +1014,7 @@ public:
|
||||
{
|
||||
PrepareAuraScript(spell_sindragosa_instability_AuraScript);
|
||||
|
||||
bool Validate(SpellInfo const* /*spell*/)
|
||||
bool Validate(SpellInfo const* /*spell*/) override
|
||||
{
|
||||
if (!sSpellMgr->GetSpellInfo(SPELL_BACKLASH))
|
||||
return false;
|
||||
@@ -1027,13 +1027,13 @@ public:
|
||||
GetTarget()->CastCustomSpell(SPELL_BACKLASH, SPELLVALUE_BASE_POINT0, aurEff->GetAmount(), GetTarget(), true, NULL, aurEff, GetCasterGUID());
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_sindragosa_instability_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_sindragosa_instability_AuraScript();
|
||||
}
|
||||
@@ -1048,7 +1048,7 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_sindragosa_icy_grip_SpellScript);
|
||||
|
||||
bool Validate(SpellInfo const* /*spell*/)
|
||||
bool Validate(SpellInfo const* /*spell*/) override
|
||||
{
|
||||
if (!sSpellMgr->GetSpellInfo(SPELL_ICY_GRIP_JUMP))
|
||||
return false;
|
||||
@@ -1064,13 +1064,13 @@ public:
|
||||
GetHitUnit()->CastSpell(GetCaster(), SPELL_ICY_GRIP_JUMP, true);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_sindragosa_icy_grip_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_sindragosa_icy_grip_SpellScript();
|
||||
}
|
||||
@@ -1105,13 +1105,13 @@ public:
|
||||
GetCaster()->GetMotionMaster()->MoveJump(x, y, z, speedXY, speedZ);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectLaunchTarget += SpellEffectFn(spell_sindragosa_icy_grip_jump_SpellScript::HandleSpecial, EFFECT_0, SPELL_EFFECT_JUMP);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_sindragosa_icy_grip_jump_SpellScript();
|
||||
}
|
||||
@@ -1126,7 +1126,7 @@ public:
|
||||
{
|
||||
PrepareAuraScript(spell_sindragosa_frost_beacon_AuraScript);
|
||||
|
||||
bool Validate(SpellInfo const* /*spell*/)
|
||||
bool Validate(SpellInfo const* /*spell*/) override
|
||||
{
|
||||
if (!sSpellMgr->GetSpellInfo(SPELL_ICE_TOMB_DAMAGE))
|
||||
return false;
|
||||
@@ -1140,13 +1140,13 @@ public:
|
||||
caster->CastSpell(GetTarget(), SPELL_ICE_TOMB_DAMAGE, true);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_sindragosa_frost_beacon_AuraScript::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_sindragosa_frost_beacon_AuraScript();
|
||||
}
|
||||
@@ -1180,13 +1180,13 @@ public:
|
||||
unitList.remove_if(SindragosaIceTombCheck());
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_sindragosa_ice_tomb_filter_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_sindragosa_ice_tomb_filter_SpellScript();
|
||||
}
|
||||
@@ -1203,7 +1203,7 @@ public:
|
||||
|
||||
std::list<WorldObject*> targetList;
|
||||
|
||||
bool Validate(SpellInfo const* /*spell*/)
|
||||
bool Validate(SpellInfo const* /*spell*/) override
|
||||
{
|
||||
if (!sObjectMgr->GetCreatureTemplate(NPC_ICE_TOMB))
|
||||
return false;
|
||||
@@ -1226,7 +1226,7 @@ public:
|
||||
}
|
||||
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_sindragosa_ice_tomb_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_DEST_AREA_ENEMY);
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_sindragosa_ice_tomb_SpellScript::FilterTargetsSubseq, EFFECT_2, TARGET_UNIT_DEST_AREA_ENEMY);
|
||||
@@ -1254,7 +1254,7 @@ public:
|
||||
GetTarget()->RemoveAurasDueToSpell(SPELL_ICE_TOMB_UNTARGETABLE);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_sindragosa_ice_tomb_AuraScript::PeriodicTick, EFFECT_2, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_sindragosa_ice_tomb_AuraScript::ExtraRemoveEffect, EFFECT_1, SPELL_AURA_MOD_STUN, AURA_EFFECT_HANDLE_REAL);
|
||||
@@ -1262,12 +1262,12 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_sindragosa_ice_tomb_SpellScript();
|
||||
}
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_sindragosa_ice_tomb_AuraScript();
|
||||
}
|
||||
@@ -1313,13 +1313,13 @@ public:
|
||||
targets.remove_if(MysticBuffetTargetFilter(GetCaster()));
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_sindragosa_mystic_buffet_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_sindragosa_mystic_buffet_SpellScript();
|
||||
}
|
||||
@@ -1347,13 +1347,13 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_sindragosa_soul_preservation_AuraScript::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_sindragosa_soul_preservation_AuraScript();
|
||||
}
|
||||
@@ -1364,7 +1364,7 @@ class achievement_all_you_can_eat : public AchievementCriteriaScript
|
||||
public:
|
||||
achievement_all_you_can_eat() : AchievementCriteriaScript("achievement_all_you_can_eat") { }
|
||||
|
||||
bool OnCheck(Player* /*source*/, Unit* target)
|
||||
bool OnCheck(Player* /*source*/, Unit* target) override
|
||||
{
|
||||
if (!target || target->GetEntry() != NPC_SINDRAGOSA)
|
||||
return false;
|
||||
@@ -1385,7 +1385,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
void InitializeAI()
|
||||
void InitializeAI() override
|
||||
{
|
||||
if (!me->isDead())
|
||||
{
|
||||
@@ -1394,7 +1394,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
_events.Reset();
|
||||
_events.ScheduleEvent(EVENT_BELLOWING_ROAR, urand(20000, 25000));
|
||||
@@ -1410,7 +1410,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void JustReachedHome()
|
||||
void JustReachedHome() override
|
||||
{
|
||||
ScriptedAI::JustReachedHome();
|
||||
if (_summoned)
|
||||
@@ -1421,18 +1421,18 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void JustRespawned()
|
||||
void JustRespawned() override
|
||||
{
|
||||
ScriptedAI::JustRespawned();
|
||||
_instance->SetData(DATA_SINDRAGOSA_FROSTWYRMS, me->GetDBTableGUIDLow()); // this cannot be in Reset because reset also happens on evade
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
_events.Reset();
|
||||
}
|
||||
|
||||
void DoAction(int32 action)
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
if (action == ACTION_START_FROSTWYRM)
|
||||
{
|
||||
@@ -1454,7 +1454,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type, uint32 point)
|
||||
void MovementInform(uint32 type, uint32 point) override
|
||||
{
|
||||
if (type != EFFECT_MOTION_TYPE || point != POINT_FROSTWYRM_LAND)
|
||||
return;
|
||||
@@ -1468,7 +1468,7 @@ public:
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
@@ -1505,7 +1505,7 @@ public:
|
||||
bool _summoned;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_spinestalkerAI>(creature);
|
||||
}
|
||||
@@ -1522,7 +1522,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
void InitializeAI()
|
||||
void InitializeAI() override
|
||||
{
|
||||
if (!me->isDead())
|
||||
{
|
||||
@@ -1531,7 +1531,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
_events.Reset();
|
||||
_events.ScheduleEvent(EVENT_FROST_BREATH_RIMEFANG, urand(12000, 15000));
|
||||
@@ -1547,7 +1547,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void JustReachedHome()
|
||||
void JustReachedHome() override
|
||||
{
|
||||
ScriptedAI::JustReachedHome();
|
||||
if (_summoned)
|
||||
@@ -1558,18 +1558,18 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void JustRespawned()
|
||||
void JustRespawned() override
|
||||
{
|
||||
ScriptedAI::JustRespawned();
|
||||
_instance->SetData(DATA_SINDRAGOSA_FROSTWYRMS, me->GetDBTableGUIDLow()); // this cannot be in Reset because reset also happens on evade
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
_events.Reset();
|
||||
}
|
||||
|
||||
void DoAction(int32 action)
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
if (action == ACTION_START_FROSTWYRM)
|
||||
{
|
||||
@@ -1591,7 +1591,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type, uint32 point)
|
||||
void MovementInform(uint32 type, uint32 point) override
|
||||
{
|
||||
if (type != EFFECT_MOTION_TYPE)
|
||||
return;
|
||||
@@ -1617,12 +1617,12 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*victim*/)
|
||||
void EnterCombat(Unit* /*victim*/) override
|
||||
{
|
||||
me->CastSpell(me, SPELL_FROST_AURA_RIMEFANG, true);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
@@ -1701,7 +1701,7 @@ public:
|
||||
bool _summoned;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_rimefangAI>(creature);
|
||||
}
|
||||
@@ -1716,7 +1716,7 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_rimefang_icy_blast_SpellScript);
|
||||
|
||||
bool Validate(SpellInfo const* /*spell*/)
|
||||
bool Validate(SpellInfo const* /*spell*/) override
|
||||
{
|
||||
if (!sSpellMgr->GetSpellInfo(SPELL_ICY_BLAST_AREA))
|
||||
return false;
|
||||
@@ -1731,13 +1731,13 @@ public:
|
||||
summon->CastSpell(summon, SPELL_ICY_BLAST_AREA, true);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHit += SpellEffectFn(spell_rimefang_icy_blast_SpellScript::HandleTriggerMissile, EFFECT_1, SPELL_EFFECT_TRIGGER_MISSILE);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_rimefang_icy_blast_SpellScript();
|
||||
}
|
||||
@@ -1748,7 +1748,7 @@ class at_sindragosa_lair : public AreaTriggerScript
|
||||
public:
|
||||
at_sindragosa_lair() : AreaTriggerScript("at_sindragosa_lair") { }
|
||||
|
||||
bool OnTrigger(Player* player, AreaTrigger const* /*areaTrigger*/)
|
||||
bool OnTrigger(Player* player, AreaTrigger const* /*areaTrigger*/) override
|
||||
{
|
||||
if (InstanceScript* instance = player->GetInstanceScript())
|
||||
{
|
||||
@@ -1789,7 +1789,7 @@ public:
|
||||
_instance = creature->GetInstanceScript();
|
||||
}
|
||||
|
||||
void InitializeAI()
|
||||
void InitializeAI() override
|
||||
{
|
||||
_frostwyrmId = (me->GetHomePosition().GetPositionY() < 2484.35f) ? DATA_RIMEFANG : DATA_SPINESTALKER;
|
||||
if (!me->isDead())
|
||||
@@ -1800,7 +1800,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
_isTaunted = false;
|
||||
_events.Reset();
|
||||
@@ -1813,7 +1813,7 @@ public:
|
||||
_events.ScheduleEvent(EVENT_WHELP_FROST_BLAST, urand(3000, 6000));
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
void EnterCombat(Unit* who) override
|
||||
{
|
||||
if (me->GetEntry() == NPC_FROSTWARDEN_HANDLER)
|
||||
{
|
||||
@@ -1832,7 +1832,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void JustRespawned()
|
||||
void JustRespawned() override
|
||||
{
|
||||
ScriptedAI::JustRespawned();
|
||||
|
||||
@@ -1841,13 +1841,13 @@ public:
|
||||
_instance->SetData(_frostwyrmId, me->GetDBTableGUIDLow()); // this cannot be in Reset because reset also happens on evade
|
||||
}
|
||||
|
||||
void SetData(uint32 type, uint32 data)
|
||||
void SetData(uint32 type, uint32 data) override
|
||||
{
|
||||
if (type == DATA_WHELP_MARKER)
|
||||
_isTaunted = data != 0;
|
||||
}
|
||||
|
||||
uint32 GetData(uint32 type) const
|
||||
uint32 GetData(uint32 type) const override
|
||||
{
|
||||
if (type == DATA_FROSTWYRM_OWNER)
|
||||
return _frostwyrmId;
|
||||
@@ -1856,7 +1856,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
@@ -1893,7 +1893,7 @@ public:
|
||||
bool _isTaunted; // Frostwing Whelp only
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_sindragosa_trashAI>(creature);
|
||||
}
|
||||
@@ -1924,7 +1924,7 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_frostwarden_handler_order_whelp_SpellScript);
|
||||
|
||||
bool Validate(SpellInfo const* /*spell*/)
|
||||
bool Validate(SpellInfo const* /*spell*/) override
|
||||
{
|
||||
if (!sSpellMgr->GetSpellInfo(SPELL_FOCUS_FIRE))
|
||||
return false;
|
||||
@@ -1957,14 +1957,14 @@ public:
|
||||
acore::Containers::SelectRandomContainerElement(unitList)->CastSpell(GetHitUnit(), uint32(GetEffectValue()), true);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_frostwarden_handler_order_whelp_SpellScript::HandleForcedCast, EFFECT_0, SPELL_EFFECT_FORCE_CAST);
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_frostwarden_handler_order_whelp_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ENEMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_frostwarden_handler_order_whelp_SpellScript();
|
||||
}
|
||||
@@ -1986,7 +1986,7 @@ public:
|
||||
GetCaster()->GetAI()->SetData(DATA_WHELP_MARKER, 1);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_frostwarden_handler_focus_fire_SpellScript::HandleScript, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
@@ -2006,18 +2006,18 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_frostwarden_handler_focus_fire_AuraScript::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_frostwarden_handler_focus_fire_SpellScript();
|
||||
}
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_frostwarden_handler_focus_fire_AuraScript();
|
||||
}
|
||||
@@ -2056,13 +2056,13 @@ public:
|
||||
target->CastSpell(target, SPELL_FROST_INFUSION, TRIGGERED_FULL_MASK);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
AfterHit += SpellHitFn(spell_sindragosa_frost_breath_SpellScript::HandleInfusion);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_sindragosa_frost_breath_SpellScript();
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -163,7 +163,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
bool Execute(uint64 /*time*/, uint32 /*diff*/)
|
||||
bool Execute(uint64 /*time*/, uint32 /*diff*/) override
|
||||
{
|
||||
_trigger->CastSpell(_trigger, _spellId, false, nullptr, nullptr, _originalCaster);
|
||||
if (_despawnTime)
|
||||
@@ -185,7 +185,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
bool Execute(uint64 /*time*/, uint32 /*diff*/)
|
||||
bool Execute(uint64 /*time*/, uint32 /*diff*/) override
|
||||
{
|
||||
_trigger->RemoveAurasDueToSpell(_spellId);
|
||||
return true;
|
||||
@@ -203,7 +203,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
bool Execute(uint64 /*currTime*/, uint32 /*diff*/)
|
||||
bool Execute(uint64 /*currTime*/, uint32 /*diff*/) override
|
||||
{
|
||||
acore::CreatureWorker<ValithriaDespawner> worker(_creature, *this);
|
||||
_creature->VisitNearbyGridObject(333.0f, worker);
|
||||
@@ -284,7 +284,7 @@ public:
|
||||
_spawnHealth = data->curhealth;
|
||||
}
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
_events.Reset();
|
||||
me->SetHealth(_spawnHealth);
|
||||
@@ -302,10 +302,10 @@ public:
|
||||
_done = false;
|
||||
}
|
||||
|
||||
void AttackStart(Unit* /*target*/) {}
|
||||
void MoveInLineOfSight(Unit* /*who*/) {}
|
||||
void AttackStart(Unit* /*target*/) override {}
|
||||
void MoveInLineOfSight(Unit* /*who*/) override {}
|
||||
|
||||
void DoAction(int32 action)
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
if (action != ACTION_ENTER_COMBAT)
|
||||
return;
|
||||
@@ -318,7 +318,7 @@ public:
|
||||
_events.ScheduleEvent(EVENT_BERSERK, 420000);
|
||||
}
|
||||
|
||||
void HealReceived(Unit* healer, uint32& heal)
|
||||
void HealReceived(Unit* healer, uint32& heal) override
|
||||
{
|
||||
if (!me->hasLootRecipient())
|
||||
me->SetLootRecipient(healer);
|
||||
@@ -353,7 +353,7 @@ public:
|
||||
trigger->AI()->DoAction(ACTION_ENTER_COMBAT);
|
||||
}
|
||||
|
||||
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask)
|
||||
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
|
||||
{
|
||||
if (me->HealthBelowPctDamaged(25, damage))
|
||||
{
|
||||
@@ -378,7 +378,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void SpellHit(Unit* /*caster*/, SpellInfo const* spell)
|
||||
void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
|
||||
{
|
||||
if (spell->Id == SPELL_DREAM_SLIP)
|
||||
{
|
||||
@@ -394,7 +394,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summon)
|
||||
void JustSummoned(Creature* summon) override
|
||||
{
|
||||
if (summon->GetEntry() == NPC_DREAM_PORTAL_PRE_EFFECT)
|
||||
{
|
||||
@@ -408,14 +408,14 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void SummonedCreatureDespawn(Creature* summon)
|
||||
void SummonedCreatureDespawn(Creature* summon) override
|
||||
{
|
||||
if (summon->GetEntry() == NPC_DREAM_PORTAL || summon->GetEntry() == NPC_NIGHTMARE_PORTAL)
|
||||
if (summon->AI()->GetData(MISSED_PORTALS))
|
||||
++_missedPortals;
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
// does not enter combat
|
||||
if (_instance->GetBossState(DATA_VALITHRIA_DREAMWALKER) == NOT_STARTED)
|
||||
@@ -453,7 +453,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
uint32 GetData(uint32 type) const
|
||||
uint32 GetData(uint32 type) const override
|
||||
{
|
||||
if (type == MISSED_PORTALS)
|
||||
return _missedPortals;
|
||||
@@ -473,7 +473,7 @@ public:
|
||||
bool _done;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<boss_valithria_dreamwalkerAI>(creature);
|
||||
}
|
||||
@@ -490,7 +490,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
events.Reset();
|
||||
summons.DespawnAll();
|
||||
@@ -500,7 +500,7 @@ public:
|
||||
checkTimer = 5000;
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* target)
|
||||
void EnterCombat(Unit* target) override
|
||||
{
|
||||
if (!instance->CheckRequiredBosses(DATA_VALITHRIA_DREAMWALKER, target->ToPlayer()))
|
||||
{
|
||||
@@ -531,20 +531,20 @@ public:
|
||||
(*itr)->AI()->DoAction(ACTION_ENTER_COMBAT);
|
||||
}
|
||||
|
||||
void AttackStart(Unit* target)
|
||||
void AttackStart(Unit* target) override
|
||||
{
|
||||
if (target->GetTypeId() == TYPEID_PLAYER)
|
||||
BossAI::AttackStart(target);
|
||||
}
|
||||
|
||||
void MoveInLineOfSight(Unit* /*who*/) {}
|
||||
void MoveInLineOfSight(Unit* /*who*/) override {}
|
||||
|
||||
bool CanAIAttack(Unit const* target) const
|
||||
bool CanAIAttack(Unit const* target) const override
|
||||
{
|
||||
return target->GetTypeId() == TYPEID_PLAYER;
|
||||
}
|
||||
|
||||
void JustReachedHome()
|
||||
void JustReachedHome() override
|
||||
{
|
||||
if (instance->GetBossState(DATA_VALITHRIA_DREAMWALKER) != DONE)
|
||||
DoAction(ACTION_DEATH); // setActive(false) in ValithriaDespawner
|
||||
@@ -552,7 +552,7 @@ public:
|
||||
_JustReachedHome();
|
||||
}
|
||||
|
||||
void DoAction(int32 action)
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
if (action == ACTION_DEATH)
|
||||
me->m_Events.AddEvent(new ValithriaDespawner(me), me->m_Events.CalculateTime(5000));
|
||||
@@ -563,7 +563,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!me->IsInCombat())
|
||||
return;
|
||||
@@ -588,7 +588,7 @@ public:
|
||||
uint16 checkTimer;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_green_dragon_combat_triggerAI>(creature);
|
||||
}
|
||||
@@ -607,14 +607,14 @@ public:
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
}
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
_events.Reset();
|
||||
me->RemoveAllAuras();
|
||||
me->CombatStop();
|
||||
}
|
||||
|
||||
void DoAction(int32 action)
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
if (action == ACTION_ENTER_COMBAT)
|
||||
{
|
||||
@@ -628,10 +628,10 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void AttackStart(Unit* /*who*/) {}
|
||||
void MoveInLineOfSight(Unit* /*who*/) {}
|
||||
void AttackStart(Unit* /*who*/) override {}
|
||||
void MoveInLineOfSight(Unit* /*who*/) override {}
|
||||
|
||||
void JustSummoned(Creature* summon)
|
||||
void JustSummoned(Creature* summon) override
|
||||
{
|
||||
summon->SetPhaseMask((summon->GetPhaseMask() & ~0x10), true); // must not be in dream phase
|
||||
if (summon->GetEntry() != NPC_SUPPRESSER)
|
||||
@@ -639,7 +639,7 @@ public:
|
||||
summon->AI()->AttackStart(target);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
// does not enter combat
|
||||
if (_instance->GetBossState(DATA_VALITHRIA_DREAMWALKER) != IN_PROGRESS)
|
||||
@@ -677,7 +677,7 @@ public:
|
||||
InstanceScript* _instance;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new npc_the_lich_king_controllerAI(creature);
|
||||
}
|
||||
@@ -695,12 +695,12 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
bool CanAIAttack(Unit const* target) const
|
||||
bool CanAIAttack(Unit const* target) const override
|
||||
{
|
||||
return target->GetEntry() != NPC_VALITHRIA_DREAMWALKER;
|
||||
}
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
_events.Reset();
|
||||
_events.ScheduleEvent(EVENT_FROSTBOLT_VOLLEY, urand(5000, 15000));
|
||||
@@ -708,7 +708,7 @@ public:
|
||||
_events.ScheduleEvent(EVENT_COLUMN_OF_FROST, urand(10000, 20000));
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*target*/)
|
||||
void EnterCombat(Unit* /*target*/) override
|
||||
{
|
||||
me->FinishSpell(CURRENT_CHANNELED_SPELL, false);
|
||||
me->SetInCombatWithZone();
|
||||
@@ -717,13 +717,13 @@ public:
|
||||
trigger->AI()->DoAction(ACTION_ENTER_COMBAT);
|
||||
}
|
||||
|
||||
void DoAction(int32 action)
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
if (action == ACTION_ENTER_COMBAT && !me->IsInCombat())
|
||||
me->SetInCombatWithZone();
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summon)
|
||||
void JustSummoned(Creature* summon) override
|
||||
{
|
||||
if (summon->GetEntry() == NPC_COLUMN_OF_FROST)
|
||||
summon->m_Events.AddEvent(new DelayedCastEvent(summon, SPELL_COLUMN_OF_FROST_DAMAGE, 0, 8000), summon->m_Events.CalculateTime(2000));
|
||||
@@ -731,7 +731,7 @@ public:
|
||||
summon->DespawnOrUnsummon(36000);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!me->IsInCombat())
|
||||
if (me->GetDBTableGUIDLow())
|
||||
@@ -777,7 +777,7 @@ public:
|
||||
InstanceScript* _instance;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_risen_archmageAI>(creature);
|
||||
}
|
||||
@@ -792,7 +792,7 @@ public:
|
||||
{
|
||||
npc_valithria_portalAI(Creature* creature) : NullCreatureAI(creature), _used(false) {}
|
||||
|
||||
void OnSpellClick(Unit* /*clicker*/, bool& result)
|
||||
void OnSpellClick(Unit* /*clicker*/, bool& result) override
|
||||
{
|
||||
if (!result)
|
||||
return;
|
||||
@@ -801,7 +801,7 @@ public:
|
||||
me->DespawnOrUnsummon();
|
||||
}
|
||||
|
||||
uint32 GetData(uint32 type) const
|
||||
uint32 GetData(uint32 type) const override
|
||||
{
|
||||
return (type == MISSED_PORTALS && _used) ? 0 : 1;
|
||||
}
|
||||
@@ -810,7 +810,7 @@ public:
|
||||
bool _used;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_valithria_portalAI>(creature);
|
||||
}
|
||||
@@ -828,7 +828,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
_events.Reset();
|
||||
_events.ScheduleEvent(EVENT_CHECK_PLAYER, 750);
|
||||
@@ -837,11 +837,11 @@ public:
|
||||
me->LoadCreaturesAddon(true);
|
||||
}
|
||||
|
||||
void AttackStart(Unit*) {}
|
||||
void MoveInLineOfSight(Unit*) {}
|
||||
void EnterEvadeMode() {}
|
||||
void AttackStart(Unit*) override {}
|
||||
void MoveInLineOfSight(Unit*) override {}
|
||||
void EnterEvadeMode() override {}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (_instance->GetBossState(DATA_VALITHRIA_DREAMWALKER) != IN_PROGRESS)
|
||||
return;
|
||||
@@ -874,7 +874,7 @@ public:
|
||||
InstanceScript* _instance;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_valithria_cloudAI>(creature);
|
||||
}
|
||||
@@ -891,14 +891,14 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
_events.Reset();
|
||||
_events.ScheduleEvent(EVENT_FIREBALL, urand(2000, 4000));
|
||||
_events.ScheduleEvent(EVENT_LEY_WASTE, urand(15000, 20000));
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
@@ -930,7 +930,7 @@ public:
|
||||
EventMap _events;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_blazing_skeletonAI>(creature);
|
||||
}
|
||||
@@ -951,19 +951,19 @@ public:
|
||||
|
||||
InstanceScript* const _instance;
|
||||
|
||||
void AttackStart(Unit* who)
|
||||
void AttackStart(Unit* who) override
|
||||
{
|
||||
if (who->GetEntry() == NPC_VALITHRIA_DREAMWALKER)
|
||||
ScriptedAI::AttackStart(who);
|
||||
}
|
||||
|
||||
void IsSummonedBy(Unit* /*summoner*/)
|
||||
void IsSummonedBy(Unit* /*summoner*/) override
|
||||
{
|
||||
if (Creature* valithria = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_VALITHRIA_DREAMWALKER)))
|
||||
AttackStart(valithria);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 /*diff*/)
|
||||
void UpdateAI(uint32 /*diff*/) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
@@ -981,7 +981,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_suppresserAI>(creature);
|
||||
}
|
||||
@@ -1003,7 +1003,7 @@ public:
|
||||
uint16 timer;
|
||||
bool casted;
|
||||
|
||||
void DamageTaken(Unit*, uint32& dmg, DamageEffectType, SpellSchoolMask)
|
||||
void DamageTaken(Unit*, uint32& dmg, DamageEffectType, SpellSchoolMask) override
|
||||
{
|
||||
if (dmg >= me->GetHealth())
|
||||
{
|
||||
@@ -1021,7 +1021,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (timer)
|
||||
{
|
||||
@@ -1046,7 +1046,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_blistering_zombieAI>(creature);
|
||||
}
|
||||
@@ -1063,13 +1063,13 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
void Reset()
|
||||
void Reset() override
|
||||
{
|
||||
_events.Reset();
|
||||
_events.ScheduleEvent(EVENT_GUT_SPRAY, urand(10000, 13000));
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summon)
|
||||
void JustSummoned(Creature* summon) override
|
||||
{
|
||||
if (me->GetInstanceScript() && me->GetInstanceScript()->GetBossState(DATA_VALITHRIA_DREAMWALKER) == DONE)
|
||||
summon->DespawnOrUnsummon(1);
|
||||
@@ -1077,12 +1077,12 @@ public:
|
||||
summon->AI()->AttackStart(target);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
me->CastSpell(me, SPELL_ROT_WORM_SPAWNER, true);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
@@ -1109,7 +1109,7 @@ public:
|
||||
EventMap _events;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_gluttonous_abominationAI>(creature);
|
||||
}
|
||||
@@ -1141,13 +1141,13 @@ public:
|
||||
target->CastSpell(target->GetPositionX() + cos(angle)*dist, target->GetPositionY() + sin(angle)*dist, target->GetPositionZ(), spellId, true);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_dreamwalker_summon_portal_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_dreamwalker_summon_portal_SpellScript();
|
||||
}
|
||||
@@ -1172,13 +1172,13 @@ public:
|
||||
GetHitUnit()->CastSpell((Unit*)NULL, GetSpellInfo()->Effects[effIndex].TriggerSpell, true, nullptr, nullptr, instance->GetData64(DATA_VALITHRIA_DREAMWALKER));
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_dreamwalker_twisted_nightmares_SpellScript::HandleScript, EFFECT_2, SPELL_EFFECT_FORCE_CAST);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_dreamwalker_twisted_nightmares_SpellScript();
|
||||
}
|
||||
@@ -1193,7 +1193,7 @@ public:
|
||||
{
|
||||
PrepareAuraScript(spell_dreamwalker_nightmare_cloud_AuraScript);
|
||||
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
_instance = GetOwner()->GetInstanceScript();
|
||||
return _instance != nullptr;
|
||||
@@ -1205,7 +1205,7 @@ public:
|
||||
PreventDefaultAction();
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_dreamwalker_nightmare_cloud_AuraScript::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
@@ -1213,7 +1213,7 @@ public:
|
||||
InstanceScript* _instance;
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_dreamwalker_nightmare_cloud_AuraScript();
|
||||
}
|
||||
@@ -1237,13 +1237,13 @@ public:
|
||||
PreventDefaultAction();
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_dreamwalker_mana_void_AuraScript::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_dreamwalker_mana_void_AuraScript();
|
||||
}
|
||||
@@ -1258,7 +1258,7 @@ public:
|
||||
{
|
||||
PrepareAuraScript(spell_dreamwalker_decay_periodic_timer_AuraScript);
|
||||
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
_decayRate = GetId() != SPELL_TIMER_BLAZING_SKELETON ? 1000 : 5000;
|
||||
return true;
|
||||
@@ -1273,7 +1273,7 @@ public:
|
||||
aurEff->SetPeriodicTimer(timer - _decayRate);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectUpdatePeriodic += AuraEffectUpdatePeriodicFn(spell_dreamwalker_decay_periodic_timer_AuraScript::DecayPeriodicTimer, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
@@ -1281,7 +1281,7 @@ public:
|
||||
int32 _decayRate;
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_dreamwalker_decay_periodic_timer_AuraScript();
|
||||
}
|
||||
@@ -1296,7 +1296,7 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_dreamwalker_summoner_SpellScript);
|
||||
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
if (!GetCaster()->GetInstanceScript())
|
||||
return false;
|
||||
@@ -1329,14 +1329,14 @@ public:
|
||||
GetHitUnit()->CastSpell(GetCaster(), GetSpellInfo()->Effects[effIndex].TriggerSpell, true, nullptr, nullptr, GetCaster()->GetInstanceScript()->GetData64(DATA_VALITHRIA_LICH_KING));
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_dreamwalker_summoner_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_dreamwalker_summoner_SpellScript::HandleForceCast, EFFECT_0, SPELL_EFFECT_FORCE_CAST);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_dreamwalker_summoner_SpellScript();
|
||||
}
|
||||
@@ -1376,13 +1376,13 @@ public:
|
||||
caster->CastSpell(summoners.back(), SPELL_SUMMON_SUPPRESSER, true);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_dreamwalker_summon_suppresser_AuraScript::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_dreamwalker_summon_suppresser_AuraScript();
|
||||
}
|
||||
@@ -1397,7 +1397,7 @@ public:
|
||||
{
|
||||
PrepareSpellScript(spell_dreamwalker_summon_suppresser_effect_SpellScript);
|
||||
|
||||
bool Load()
|
||||
bool Load() override
|
||||
{
|
||||
if (!GetCaster()->GetInstanceScript())
|
||||
return false;
|
||||
@@ -1413,13 +1413,13 @@ public:
|
||||
GetHitUnit()->CastSpell(GetCaster(), GetSpellInfo()->Effects[effIndex].TriggerSpell, true, nullptr, nullptr, GetCaster()->GetInstanceScript()->GetData64(DATA_VALITHRIA_LICH_KING));
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_dreamwalker_summon_suppresser_effect_SpellScript::HandleForceCast, EFFECT_0, SPELL_EFFECT_FORCE_CAST);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_dreamwalker_summon_suppresser_effect_SpellScript();
|
||||
}
|
||||
@@ -1471,14 +1471,14 @@ public:
|
||||
range.first->second->GetBase()->GetEffect(EFFECT_0)->SetAmount(count * GetSpellInfo()->Effects[0].CalcValue());
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_valithria_suppression_AuraScript::OnApply, EFFECT_0, SPELL_AURA_MOD_HEALING_PCT, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_valithria_suppression_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_MOD_HEALING_PCT, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_valithria_suppression_AuraScript();
|
||||
}
|
||||
@@ -1489,7 +1489,7 @@ class achievement_portal_jockey : public AchievementCriteriaScript
|
||||
public:
|
||||
achievement_portal_jockey() : AchievementCriteriaScript("achievement_portal_jockey") { }
|
||||
|
||||
bool OnCheck(Player* /*source*/, Unit* target)
|
||||
bool OnCheck(Player* /*source*/, Unit* target) override
|
||||
{
|
||||
return target && target->GetEntry() == NPC_VALITHRIA_DREAMWALKER && !target->GetAI()->GetData(MISSED_PORTALS);
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -579,7 +579,7 @@ public:
|
||||
public:
|
||||
spell_trigger_spell_from_caster_SpellScript(uint32 triggerId) : SpellScript(), _triggerId(triggerId) { }
|
||||
|
||||
bool Validate(SpellInfo const* /*spell*/)
|
||||
bool Validate(SpellInfo const* /*spell*/) override
|
||||
{
|
||||
if (!sSpellMgr->GetSpellInfo(_triggerId))
|
||||
return false;
|
||||
@@ -591,7 +591,7 @@ public:
|
||||
GetCaster()->CastSpell(GetHitUnit(), _triggerId, true);
|
||||
}
|
||||
|
||||
void Register()
|
||||
void Register() override
|
||||
{
|
||||
AfterHit += SpellHitFn(spell_trigger_spell_from_caster_SpellScript::HandleTrigger);
|
||||
}
|
||||
@@ -599,7 +599,7 @@ public:
|
||||
uint32 _triggerId;
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_trigger_spell_from_caster_SpellScript(_triggerId);
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@ class at_frozen_throne_teleport : public AreaTriggerScript
|
||||
public:
|
||||
at_frozen_throne_teleport() : AreaTriggerScript("at_frozen_throne_teleport") { }
|
||||
|
||||
bool OnTrigger(Player* player, AreaTrigger const* /*areaTrigger*/)
|
||||
bool OnTrigger(Player* player, AreaTrigger const* /*areaTrigger*/) override
|
||||
{
|
||||
if (player->IsInCombat())
|
||||
{
|
||||
|
||||
@@ -120,7 +120,7 @@ class RespawnEvent : public BasicEvent
|
||||
public:
|
||||
RespawnEvent(Creature& owner) : _owner(owner) { }
|
||||
|
||||
bool Execute(uint64 /*eventTime*/, uint32 /*updateTime*/)
|
||||
bool Execute(uint64 /*eventTime*/, uint32 /*updateTime*/) override
|
||||
{
|
||||
_owner.RemoveCorpse(false);
|
||||
_owner.Respawn();
|
||||
@@ -136,7 +136,7 @@ class DelayedCastMincharEvent : public BasicEvent
|
||||
public:
|
||||
DelayedCastMincharEvent(Creature* trigger, uint32 spellId) : _trigger(trigger), _spellId(spellId) {}
|
||||
|
||||
bool Execute(uint64 /*time*/, uint32 /*diff*/)
|
||||
bool Execute(uint64 /*time*/, uint32 /*diff*/) override
|
||||
{
|
||||
if (Creature* minchar = _trigger->FindNearestCreature(NPC_INFILTRATOR_MINCHAR_BQ, 50.0f, true))
|
||||
_trigger->CastSpell(minchar, _spellId, true);
|
||||
@@ -227,7 +227,7 @@ public:
|
||||
BloodPrinceTrashCount = 0;
|
||||
}
|
||||
|
||||
void FillInitialWorldStates(WorldPacket& data)
|
||||
void FillInitialWorldStates(WorldPacket& data) override
|
||||
{
|
||||
if (instance->IsHeroic())
|
||||
{
|
||||
@@ -239,7 +239,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void OnPlayerAreaUpdate(Player* player, uint32 /*oldArea*/, uint32 newArea)
|
||||
void OnPlayerAreaUpdate(Player* player, uint32 /*oldArea*/, uint32 newArea) override
|
||||
{
|
||||
if (newArea == 4890 /*Putricide's Laboratory of Alchemical Horrors and Fun*/ ||
|
||||
newArea == 4891 /*The Sanctum of Blood*/ ||
|
||||
@@ -255,7 +255,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void OnPlayerEnter(Player* player)
|
||||
void OnPlayerEnter(Player* player) override
|
||||
{
|
||||
if (TeamIdInInstance == TEAM_NEUTRAL)
|
||||
TeamIdInInstance = player->GetTeamId();
|
||||
@@ -268,7 +268,7 @@ public:
|
||||
SpawnGunship();
|
||||
}
|
||||
|
||||
void OnCreatureCreate(Creature* creature)
|
||||
void OnCreatureCreate(Creature* creature) override
|
||||
{
|
||||
if (TeamIdInInstance == TEAM_NEUTRAL)
|
||||
{
|
||||
@@ -509,13 +509,13 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void OnCreatureRemove(Creature* creature)
|
||||
void OnCreatureRemove(Creature* creature) override
|
||||
{
|
||||
if (creature->GetEntry() == NPC_SINDRAGOSA)
|
||||
SindragosaGUID = 0;
|
||||
}
|
||||
|
||||
uint32 GetCreatureEntry(uint32 /*guidLow*/, CreatureData const* data)
|
||||
uint32 GetCreatureEntry(uint32 /*guidLow*/, CreatureData const* data) override
|
||||
{
|
||||
if (TeamIdInInstance == TEAM_NEUTRAL)
|
||||
{
|
||||
@@ -560,7 +560,7 @@ public:
|
||||
return entry;
|
||||
}
|
||||
|
||||
uint32 GetGameObjectEntry(uint32 /*guidLow*/, uint32 entry)
|
||||
uint32 GetGameObjectEntry(uint32 /*guidLow*/, uint32 entry) override
|
||||
{
|
||||
if (TeamIdInInstance == TEAM_NEUTRAL)
|
||||
{
|
||||
@@ -591,7 +591,7 @@ public:
|
||||
return entry;
|
||||
}
|
||||
|
||||
void OnUnitDeath(Unit* unit)
|
||||
void OnUnitDeath(Unit* unit) override
|
||||
{
|
||||
Creature* creature = unit->ToCreature();
|
||||
if (!creature)
|
||||
@@ -664,7 +664,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void OnGameObjectCreate(GameObject* go)
|
||||
void OnGameObjectCreate(GameObject* go) override
|
||||
{
|
||||
if (TeamIdInInstance == TEAM_NEUTRAL)
|
||||
{
|
||||
@@ -861,7 +861,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void OnGameObjectRemove(GameObject* go)
|
||||
void OnGameObjectRemove(GameObject* go) override
|
||||
{
|
||||
switch (go->GetEntry())
|
||||
{
|
||||
@@ -900,7 +900,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
uint32 GetData(uint32 type) const
|
||||
uint32 GetData(uint32 type) const override
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
@@ -941,7 +941,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint64 GetData64(uint32 type) const
|
||||
uint64 GetData64(uint32 type) const override
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
@@ -1051,7 +1051,7 @@ public:
|
||||
_player->DestroyItemCount(ITEM_GOBLIN_ROCKET_PACK, _player->GetItemCount(ITEM_GOBLIN_ROCKET_PACK), true);
|
||||
}
|
||||
|
||||
bool SetBossState(uint32 type, EncounterState state)
|
||||
bool SetBossState(uint32 type, EncounterState state) override
|
||||
{
|
||||
if (!InstanceScript::SetBossState(type, state))
|
||||
return false;
|
||||
@@ -1223,7 +1223,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void SetData(uint32 type, uint32 data)
|
||||
void SetData(uint32 type, uint32 data) override
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
@@ -1390,7 +1390,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/)
|
||||
bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/) override
|
||||
{
|
||||
switch (criteria_id)
|
||||
{
|
||||
@@ -1426,7 +1426,7 @@ public:
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CheckRequiredBosses(uint32 bossId, Player const* /*player*/) const
|
||||
bool CheckRequiredBosses(uint32 bossId, Player const* /*player*/) const override
|
||||
{
|
||||
switch (bossId)
|
||||
{
|
||||
@@ -1598,7 +1598,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
std::string GetSaveData()
|
||||
std::string GetSaveData() override
|
||||
{
|
||||
OUT_SAVE_INST_DATA;
|
||||
|
||||
@@ -1612,7 +1612,7 @@ public:
|
||||
return saveStream.str();
|
||||
}
|
||||
|
||||
void Load(const char* str)
|
||||
void Load(const char* str) override
|
||||
{
|
||||
if (!str)
|
||||
{
|
||||
@@ -1668,7 +1668,7 @@ public:
|
||||
OUT_LOAD_INST_DATA_COMPLETE;
|
||||
}
|
||||
|
||||
void Update(uint32 diff)
|
||||
void Update(uint32 diff) override
|
||||
{
|
||||
// Xinef: A Feast of Souls (24547) whispers
|
||||
if (LichKingRandomWhisperTimer <= diff)
|
||||
@@ -1765,7 +1765,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void ProcessEvent(WorldObject* source, uint32 eventId)
|
||||
void ProcessEvent(WorldObject* source, uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
@@ -1973,7 +1973,7 @@ public:
|
||||
bool IsOrbWhispererEligible;
|
||||
};
|
||||
|
||||
InstanceScript* GetInstanceScript(InstanceMap* map) const
|
||||
InstanceScript* GetInstanceScript(InstanceMap* map) const override
|
||||
{
|
||||
return new instance_icecrown_citadel_InstanceMapScript(map);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user