refactor(Core): apply clang-tidy modernize-use-override (#3817)

This commit is contained in:
Francesco Borzì
2020-12-06 18:04:55 +01:00
committed by GitHub
parent 9facd81e54
commit d4a58700d4
561 changed files with 9574 additions and 9574 deletions

View File

@@ -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();
}

View File

@@ -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;

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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;
}

View File

@@ -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();
}

View File

@@ -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();
}

View File

@@ -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);
}

View File

@@ -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();
}

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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())
{

View File

@@ -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);
}