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

@@ -98,7 +98,7 @@ class boss_bjarngrim : public CreatureScript
public:
boss_bjarngrim() : CreatureScript("boss_bjarngrim") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_bjarngrimAI (creature);
}
@@ -133,7 +133,7 @@ public:
SummonList summons;
uint8 m_uiStance;
void Reset()
void Reset() override
{
events.Reset();
summons.DespawnAll();
@@ -153,7 +153,7 @@ public:
m_pInstance->SetData(TYPE_BJARNGRIM, NOT_STARTED);
}
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
me->SetInCombatWithZone();
Talk(SAY_AGGRO);
@@ -182,7 +182,7 @@ public:
}
}
void KilledUnit(Unit* victim)
void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -190,7 +190,7 @@ public:
Talk(SAY_SLAY);
}
void JustDied(Unit*)
void JustDied(Unit*) override
{
Talk(SAY_DEATH);
@@ -267,7 +267,7 @@ public:
m_uiStance = stance;
}
void WaypointReached(uint32 Point)
void WaypointReached(uint32 Point) override
{
if (Point == 1 || Point == 8)
me->CastSpell(me, SPELL_TEMPORARY_ELECTRICAL_CHARGE, true);
@@ -275,7 +275,7 @@ public:
me->RemoveAura(SPELL_TEMPORARY_ELECTRICAL_CHARGE);
}
void UpdateEscortAI(uint32 diff)
void UpdateEscortAI(uint32 diff) override
{
if (!me->IsInCombat())
return;
@@ -362,7 +362,7 @@ class npc_stormforged_lieutenant : public CreatureScript
public:
npc_stormforged_lieutenant() : CreatureScript("npc_stormforged_lieutenant") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_stormforged_lieutenantAI (creature);
}
@@ -374,7 +374,7 @@ public:
EventMap events;
uint64 BjarngrimGUID;
void Reset()
void Reset() override
{
if (me->IsSummon())
BjarngrimGUID = me->ToTempSummon()->GetSummonerGUID();
@@ -382,13 +382,13 @@ public:
BjarngrimGUID = 0;
}
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
events.ScheduleEvent(EVENT_ARC_WELD, 2000);
events.ScheduleEvent(EVENT_RENEW_STEEL, 10000 + rand() % 1000);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())

View File

@@ -57,7 +57,7 @@ class boss_ionar : public CreatureScript
public:
boss_ionar() : CreatureScript("boss_ionar") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_ionarAI (creature);
}
@@ -74,7 +74,7 @@ public:
SummonList summons;
uint8 HealthCheck;
void Reset()
void Reset() override
{
HealthCheck = 50;
events.Reset();
@@ -99,7 +99,7 @@ public:
events.RescheduleEvent(EVENT_STATIC_OVERLOAD, 5000, 0, 1);
}
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
me->SetInCombatWithZone();
Talk(SAY_AGGRO);
@@ -110,7 +110,7 @@ public:
ScheduleEvents(false);
}
void JustDied(Unit*)
void JustDied(Unit*) override
{
Talk(SAY_DEATH);
@@ -120,7 +120,7 @@ public:
m_pInstance->SetData(TYPE_IONAR, DONE);
}
void KilledUnit(Unit* victim)
void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -128,7 +128,7 @@ public:
Talk(SAY_SLAY);
}
void SpellHit(Unit* /*caster*/, const SpellInfo* spell)
void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if (spell->Id == SPELL_DISPERSE)
Split();
@@ -161,7 +161,7 @@ public:
events.ScheduleEvent(EVENT_CALL_SPARKS, 15000, 0, 2);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -218,7 +218,7 @@ class npc_spark_of_ionar : public CreatureScript
public:
npc_spark_of_ionar() : CreatureScript("npc_spark_of_ionar") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_spark_of_ionarAI (creature);
}
@@ -229,18 +229,18 @@ public:
bool returning;
void MoveInLineOfSight(Unit*) { }
void UpdateAI(uint32) { }
void AttackStart(Unit* /*who*/) { }
void MoveInLineOfSight(Unit*) override { }
void UpdateAI(uint32) override { }
void AttackStart(Unit* /*who*/) override { }
void Reset() { returning = false; }
void Reset() override { returning = false; }
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask)
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
{
damage = 0;
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (param == ACTION_CALLBACK)
{

View File

@@ -51,7 +51,7 @@ class boss_loken : public CreatureScript
public:
boss_loken() : CreatureScript("boss_loken") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_lokenAI (creature);
}
@@ -72,9 +72,9 @@ public:
uint32 IntroTimer;
uint8 HealthCheck;
void MoveInLineOfSight(Unit*) { }
void MoveInLineOfSight(Unit*) override { }
void Reset()
void Reset() override
{
events.Reset();
if (m_pInstance)
@@ -99,7 +99,7 @@ public:
}
}
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
me->SetInCombatWithZone();
Talk(SAY_AGGRO);
@@ -117,7 +117,7 @@ public:
}
}
void JustDied(Unit*)
void JustDied(Unit*) override
{
Talk(SAY_DEATH);
@@ -146,7 +146,7 @@ public:
Talk(SAY_NOVA);
}
void KilledUnit(Unit* victim)
void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -154,7 +154,7 @@ public:
Talk(SAY_SLAY);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!isActive)
{
@@ -259,13 +259,13 @@ public:
SetHitDamage(int32(GetHitDamage() * distance));
}
void Register()
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_loken_pulsing_shockwave_SpellScript::CalculateDamage, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_loken_pulsing_shockwave_SpellScript();
}

View File

@@ -70,7 +70,7 @@ class boss_volkhan : public CreatureScript
public:
boss_volkhan() : CreatureScript("boss_volkhan") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_volkhanAI (creature);
}
@@ -90,7 +90,7 @@ public:
uint8 PointID;
uint8 ShatteredCount;
void Reset()
void Reset() override
{
x = y = z = PointID = ShatteredCount = 0;
HealthCheck = 100;
@@ -106,7 +106,7 @@ public:
}
}
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
me->SetInCombatWithZone();
Talk(SAY_AGGRO);
@@ -117,7 +117,7 @@ public:
ScheduleEvents(false);
}
void JustDied(Unit*)
void JustDied(Unit*) override
{
Talk(SAY_DEATH);
@@ -168,7 +168,7 @@ public:
}
}
void KilledUnit(Unit* victim)
void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -185,7 +185,7 @@ public:
events.RescheduleEvent(EVENT_POSITION, 4000, 0, 1);
}
void JustSummoned(Creature* summon)
void JustSummoned(Creature* summon) override
{
summons.Summon(summon);
if (summon->GetEntry() == NPC_MOLTEN_GOLEM)
@@ -197,7 +197,7 @@ public:
}
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (param == ACTION_DESTROYED)
{
@@ -207,7 +207,7 @@ public:
}
}
void MovementInform(uint32 type, uint32 id)
void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -233,7 +233,7 @@ public:
events.ScheduleEvent(EVENT_MOVE_TO_ANVIL, 0, 0, 2);
}
void SpellHitTarget(Unit* /*who*/, const SpellInfo* spellInfo)
void SpellHitTarget(Unit* /*who*/, const SpellInfo* spellInfo) override
{
if (spellInfo->Id == SPELL_TEMPER)
{
@@ -259,7 +259,7 @@ public:
events.ScheduleEvent(EVENT_MOVE_TO_ANVIL, 0, 0, 2);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -311,7 +311,7 @@ class npc_molten_golem : public CreatureScript
public:
npc_molten_golem() : CreatureScript("npc_molten_golem") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_molten_golemAI (creature);
}
@@ -326,14 +326,14 @@ public:
EventMap events;
InstanceScript* m_pInstance;
void Reset()
void Reset() override
{
events.Reset();
events.ScheduleEvent(EVENT_BLAST, 7000);
events.ScheduleEvent(EVENT_IMMOLATION, 3000);
}
void DamageTaken(Unit*, uint32& uiDamage, DamageEffectType, SpellSchoolMask)
void DamageTaken(Unit*, uint32& uiDamage, DamageEffectType, SpellSchoolMask) override
{
if (me->GetEntry() == NPC_BRITTLE_GOLEM)
{
@@ -357,7 +357,7 @@ public:
}
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (me->GetEntry() == NPC_BRITTLE_GOLEM && param == ACTION_SHATTER)
{
@@ -369,7 +369,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
//Return since we have no target or if we are frozen
if (!UpdateVictim() || me->GetEntry() == NPC_BRITTLE_GOLEM)
@@ -435,7 +435,7 @@ class npc_hol_monument : public CreatureScript
public:
npc_hol_monument() : CreatureScript("npc_hol_monument") {}
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_hol_monumentAI(creature);
}
@@ -454,11 +454,11 @@ public:
bool _isActive;
uint64 _attackGUID;
void Reset()
void Reset() override
{
}
void MoveInLineOfSight(Unit* who)
void MoveInLineOfSight(Unit* who) override
{
if (_attackGUID)
ScriptedAI::MoveInLineOfSight(who);
@@ -474,7 +474,7 @@ public:
}
}
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
events.Reset();
if (me->GetEntry() == 28961) // NPC_TITANIUM_SIEGEBREAKER
@@ -492,14 +492,14 @@ public:
}
}
void AttackStart(Unit* who)
void AttackStart(Unit* who) override
{
if (!_attackGUID || !_isActive)
return;
ScriptedAI::AttackStart(who);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!_isActive && !_attackGUID)
return;

View File

@@ -11,7 +11,7 @@ class instance_halls_of_lightning : public InstanceMapScript
public:
instance_halls_of_lightning() : InstanceMapScript("instance_halls_of_lightning", 602) { }
InstanceScript* GetInstanceScript(InstanceMap* pMap) const
InstanceScript* GetInstanceScript(InstanceMap* pMap) const override
{
return new instance_halls_of_lightning_InstanceMapScript(pMap);
}
@@ -36,7 +36,7 @@ public:
bool volkhanAchievement;
bool bjarngrimAchievement;
void Initialize()
void Initialize() override
{
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
@@ -55,7 +55,7 @@ public:
bjarngrimAchievement = false;
}
bool IsEncounterInProgress() const
bool IsEncounterInProgress() const override
{
for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
{
@@ -65,7 +65,7 @@ public:
return false;
}
void OnCreatureCreate(Creature* pCreature)
void OnCreatureCreate(Creature* pCreature) override
{
switch(pCreature->GetEntry())
{
@@ -84,7 +84,7 @@ public:
}
}
void OnGameObjectCreate(GameObject* pGo)
void OnGameObjectCreate(GameObject* pGo) override
{
switch(pGo->GetEntry())
{
@@ -118,7 +118,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)
{
@@ -130,7 +130,7 @@ public:
return false;
}
void SetData(uint32 uiType, uint32 uiData)
void SetData(uint32 uiType, uint32 uiData) override
{
m_auiEncounter[uiType] = uiData;
if( uiType == TYPE_LOKEN_INTRO )
@@ -168,7 +168,7 @@ public:
SaveToDB();
}
std::string GetSaveData()
std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -181,7 +181,7 @@ public:
}
void Load(const char* in)
void Load(const char* in) override
{
if (!in)
{
@@ -216,12 +216,12 @@ public:
OUT_LOAD_INST_DATA_FAIL;
}
uint32 GetData(uint32 uiType) const
uint32 GetData(uint32 uiType) const override
{
return m_auiEncounter[uiType];
}
uint64 GetData64(uint32 uiData) const
uint64 GetData64(uint32 uiData) const override
{
switch(uiData)
{

View File

@@ -45,7 +45,7 @@ class boss_krystallus : public CreatureScript
public:
boss_krystallus() : CreatureScript("boss_krystallus") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_krystallusAI (pCreature);
}
@@ -60,14 +60,14 @@ public:
EventMap events;
InstanceScript* pInstance;
void Reset()
void Reset() override
{
events.Reset();
if (pInstance)
pInstance->SetData(BOSS_KRYSTALLUS, NOT_STARTED);
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) override
{
events.Reset();
events.RescheduleEvent(EVENT_BOULDER, 8000);
@@ -94,7 +94,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -151,14 +151,14 @@ public:
DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
if (pInstance)
pInstance->SetData(BOSS_KRYSTALLUS, DONE);
}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_KILL);
}
@@ -184,13 +184,13 @@ public:
}
}
void Register()
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_krystallus_shatter_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_krystallus_shatter_SpellScript();
}
@@ -219,13 +219,13 @@ public:
SetHitDamage(int32(GetHitDamage() * ((radius - distance) / radius)));
}
void Register()
void Register() override
{
OnHit += SpellHitFn(spell_krystallus_shatter_effect_SpellScript::CalculateDamage);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_krystallus_shatter_effect_SpellScript();
}

View File

@@ -37,7 +37,7 @@ class boss_maiden_of_grief : public CreatureScript
public:
boss_maiden_of_grief() : CreatureScript("boss_maiden_of_grief") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_maiden_of_griefAI (pCreature);
}
@@ -52,7 +52,7 @@ public:
InstanceScript* pInstance;
EventMap events;
void Reset()
void Reset() override
{
events.Reset();
if (pInstance)
@@ -62,7 +62,7 @@ public:
}
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_STORM, 5000);
events.ScheduleEvent(EVENT_SHOCK, 26000 + rand() % 6000);
@@ -77,7 +77,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if(!UpdateVictim())
return;
@@ -124,7 +124,7 @@ public:
DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -132,7 +132,7 @@ public:
pInstance->SetData(BOSS_MAIDEN_OF_GRIEF, DONE);
}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) override
{
if (urand(0, 1))
return;

View File

@@ -96,7 +96,7 @@ class boss_sjonnir : public CreatureScript
public:
boss_sjonnir() : CreatureScript("boss_sjonnir") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_sjonnirAI (pCreature);
}
@@ -115,7 +115,7 @@ public:
uint8 SummonPhase;
uint8 SlugeCount;
void Reset()
void Reset() override
{
events.Reset();
summons.DespawnAll();
@@ -148,7 +148,7 @@ public:
}
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
@@ -174,7 +174,7 @@ public:
}
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (param == ACTION_SLUG_KILLED)
{
@@ -184,7 +184,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -306,7 +306,7 @@ public:
DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -322,7 +322,7 @@ public:
}
}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) override
{
if (urand(0, 1))
return;
@@ -377,7 +377,7 @@ class boss_sjonnir_dwarf : public CreatureScript
public:
boss_sjonnir_dwarf() : CreatureScript("boss_sjonnir_dwarf") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_sjonnir_dwarfAI (pCreature);
}
@@ -386,7 +386,7 @@ public:
{
boss_sjonnir_dwarfAI(Creature* c) : ScriptedAI(c) { }
void UpdateAI(uint32 /*diff*/)
void UpdateAI(uint32 /*diff*/) override
{
if (!UpdateVictim())
return;
@@ -401,7 +401,7 @@ class boss_sjonnir_iron_sludge : public CreatureScript
public:
boss_sjonnir_iron_sludge() : CreatureScript("boss_sjonnir_iron_sludge") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_sjonnir_iron_sludgeAI (pCreature);
}
@@ -411,22 +411,22 @@ public:
boss_sjonnir_iron_sludgeAI(Creature* c) : ScriptedAI(c) { }
EventMap events;
void Reset()
void Reset() override
{
events.Reset();
}
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
events.ScheduleEvent(EVENT_TOXIC_VOLLEY, 5000);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) override
{
if (InstanceScript* pInstance = me->GetInstanceScript())
if (Creature* sjonnir = ObjectAccessor::GetCreature(*me, pInstance->GetData64(NPC_SJONNIR)))
sjonnir->AI()->DoAction(ACTION_SLUG_KILLED);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -457,7 +457,7 @@ class boss_sjonnir_malformed_ooze : public CreatureScript
public:
boss_sjonnir_malformed_ooze() : CreatureScript("boss_sjonnir_malformed_ooze") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_sjonnir_malformed_oozeAI (pCreature);
}
@@ -467,16 +467,16 @@ public:
boss_sjonnir_malformed_oozeAI(Creature* c) : ScriptedAI(c) { }
EventMap events;
void MovementInform(uint32 type, uint32 point)
void MovementInform(uint32 type, uint32 point) override
{
if (type == POINT_MOTION_TYPE && point == 0)
events.RescheduleEvent(EVENT_MALFORMED_OOZE_CHECK, 1000);
}
void EnterCombat(Unit*) { }
void MoveInLineOfSight(Unit*) { }
void EnterCombat(Unit*) override { }
void MoveInLineOfSight(Unit*) override { }
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
events.Update(diff);
switch (events.ExecuteEvent())

View File

@@ -693,7 +693,7 @@ class dark_rune_protectors : public CreatureScript
public:
dark_rune_protectors() : CreatureScript("dark_rune_protectors") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const override
{
return new dark_rune_protectorsAI (creature);
}
@@ -703,18 +703,18 @@ public:
dark_rune_protectorsAI(Creature* c) : ScriptedAI(c) { }
EventMap events;
void Reset()
void Reset() override
{
events.Reset();
}
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
events.ScheduleEvent(EVENT_DRP_CHARGE, 10000);
events.ScheduleEvent(EVENT_DRP_CLEAVE, 7000);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -751,7 +751,7 @@ class dark_rune_stormcaller : public CreatureScript
public:
dark_rune_stormcaller() : CreatureScript("dark_rune_stormcaller") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const override
{
return new dark_rune_stormcallerAI (creature);
}
@@ -761,18 +761,18 @@ public:
dark_rune_stormcallerAI(Creature* c) : ScriptedAI(c) { }
EventMap events;
void Reset()
void Reset() override
{
events.Reset();
}
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
events.ScheduleEvent(EVENT_DRS_LIGHTNING_BOLD, 5000);
events.ScheduleEvent(EVENT_DRS_SHADOW_WORD_PAIN, 12000);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -807,7 +807,7 @@ class iron_golem_custodian : public CreatureScript
public:
iron_golem_custodian() : CreatureScript("iron_golem_custodian") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const override
{
return new iron_golem_custodianAI (creature);
}
@@ -816,17 +816,17 @@ public:
{
iron_golem_custodianAI(Creature* c) : ScriptedAI(c) { }
EventMap events;
void Reset()
void Reset() override
{
events.Reset();
}
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
events.ScheduleEvent(EVENT_IGC_CRUSH, 6000);
events.ScheduleEvent(EVENT_IGC_GROUND_SMASH, 4000);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -871,13 +871,13 @@ public:
caster->CastSpell(caster, caster->GetMap()->IsHeroic() ? SPELL_DARK_MATTER_H : SPELL_DARK_MATTER, true);
}
void Register()
void Register() override
{
OnEffectRemove += AuraEffectRemoveFn(spell_hos_dark_matter_AuraScript::HandleEffectRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_hos_dark_matter_AuraScript();
}

View File

@@ -11,7 +11,7 @@ class instance_halls_of_stone : public InstanceMapScript
public:
instance_halls_of_stone() : InstanceMapScript("instance_halls_of_stone", 599) { }
InstanceScript* GetInstanceScript(InstanceMap* pMap) const
InstanceScript* GetInstanceScript(InstanceMap* pMap) const override
{
return new instance_halls_of_stone_InstanceMapScript(pMap);
}
@@ -41,7 +41,7 @@ public:
bool isMaidenOfGriefDead;
bool isKrystalusDead;
void Initialize()
void Initialize() override
{
memset(&Encounter, 0, sizeof(Encounter));
@@ -65,7 +65,7 @@ public:
isKrystalusDead = false;
}
bool IsEncounterInProgress() const
bool IsEncounterInProgress() const override
{
for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
{
@@ -75,7 +75,7 @@ public:
return false;
}
void OnGameObjectCreate(GameObject* go)
void OnGameObjectCreate(GameObject* go) override
{
switch(go->GetEntry())
{
@@ -120,7 +120,7 @@ public:
}
void OnCreatureCreate(Creature* creature)
void OnCreatureCreate(Creature* creature) override
{
switch(creature->GetEntry())
{
@@ -133,7 +133,7 @@ public:
}
}
uint64 GetData64(uint32 id) const
uint64 GetData64(uint32 id) const override
{
switch(id)
{
@@ -164,7 +164,7 @@ public:
return 0;
}
uint32 GetData(uint32 id) const
uint32 GetData(uint32 id) const override
{
switch(id)
{
@@ -178,7 +178,7 @@ public:
return 0;
}
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)
{
@@ -190,7 +190,7 @@ public:
return false;
}
void SetData(uint32 type, uint32 data)
void SetData(uint32 type, uint32 data) override
{
if (type < MAX_ENCOUNTER)
Encounter[type] = data;
@@ -239,7 +239,7 @@ public:
SaveToDB();
}
std::string GetSaveData()
std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -250,7 +250,7 @@ public:
return saveStream.str();
}
void Load(const char* strIn)
void Load(const char* strIn) override
{
if (!strIn)
{

View File

@@ -236,7 +236,7 @@ public:
{
}
bool Execute(uint64 /*execTime*/, uint32 /*diff*/)
bool Execute(uint64 /*execTime*/, uint32 /*diff*/) override
{
_caster->CastSpell(_caster, SPELL_COSMIC_SMASH_TRIGGERED, true);
return true;
@@ -306,14 +306,14 @@ public:
return false;
}
void AttackStart(Unit* who)
void AttackStart(Unit* who) override
{
if (_fightWon)
return;
ScriptedAI::AttackStart(who);
}
uint32 GetData(uint32 param) const
uint32 GetData(uint32 param) const override
{
if (param == DATA_HAS_FED_ON_TEARS)
return _fedOnTears;
@@ -338,7 +338,7 @@ public:
}
}
void EnterEvadeMode()
void EnterEvadeMode() override
{
if (_fightWon)
return;
@@ -352,7 +352,7 @@ public:
ScriptedAI::EnterEvadeMode();
}
void Reset()
void Reset() override
{
if (_fightWon)
return;
@@ -372,7 +372,7 @@ public:
m_pInstance->SetData(TYPE_ALGALON, NOT_STARTED);
}
void KilledUnit(Unit* victim)
void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER || urand(0, 2))
return;
@@ -380,7 +380,7 @@ public:
Talk(SAY_ALGALON_KILL);
}
void DoAction(int32 action)
void DoAction(int32 action) override
{
switch (action)
{
@@ -441,12 +441,12 @@ public:
}
}
void JustReachedHome()
void JustReachedHome() override
{
me->setActive(false);
}
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
if (_fightWon)
return;
@@ -493,7 +493,7 @@ public:
DoCheckHeraldOfTheTitans();
}
void MovementInform(uint32 movementType, uint32 pointId)
void MovementInform(uint32 movementType, uint32 pointId) override
{
if (movementType != POINT_MOTION_TYPE)
return;
@@ -515,7 +515,7 @@ public:
}
}
void JustSummoned(Creature* summon)
void JustSummoned(Creature* summon) override
{
summons.Summon(summon);
switch (summon->GetEntry())
@@ -557,7 +557,7 @@ public:
}
}
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask)
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
{
if (_fightWon)
{
@@ -597,7 +597,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if ((!(events.GetPhaseMask() & PHASE_MASK_NO_UPDATE) && !UpdateVictim()) /*ZOMG!|| !CheckInRoom()*/)
return;
@@ -776,7 +776,7 @@ public:
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_algalon_the_observerAI(creature);
}
@@ -796,7 +796,7 @@ public:
EventMap events;
uint32 _currentPoint;
void DoAction(int32 action)
void DoAction(int32 action) override
{
switch (action)
{
@@ -818,7 +818,7 @@ public:
}
}
void MovementInform(uint32 movementType, uint32 pointId)
void MovementInform(uint32 movementType, uint32 pointId) override
{
if (movementType != POINT_MOTION_TYPE)
return;
@@ -848,7 +848,7 @@ public:
events.ScheduleEvent(EVENT_BRANN_MOVE_INTRO, delay);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
UpdateVictim();
events.Update(diff);
@@ -874,7 +874,7 @@ public:
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_brann_bronzebeard_algalonAI(creature);
}
@@ -893,14 +893,14 @@ public:
creature->CastSpell(creature, SPELL_COLLAPSE, true);
}
void JustSummoned(Creature* summon)
void JustSummoned(Creature* summon) override
{
if (TempSummon* summ = me->ToTempSummon())
if (Creature* algalon = ObjectAccessor::GetCreature(*me, summ->GetSummonerGUID()))
algalon->AI()->JustSummoned(summon);
}
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask)
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
{
if (damage >= me->GetHealth())
{
@@ -910,7 +910,7 @@ public:
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_collapsing_starAI(creature);
}
@@ -931,19 +931,19 @@ public:
EventMap events;
bool _isActive;
void Reset()
void Reset() override
{
events.Reset();
events.ScheduleEvent(EVENT_ARCANE_BARRAGE, 2500);
_isActive = false;
}
uint32 GetData(uint32 /*param*/) const
uint32 GetData(uint32 /*param*/) const override
{
return _isActive;
}
void DoAction(int32 action)
void DoAction(int32 action) override
{
switch (action)
{
@@ -967,7 +967,7 @@ public:
}
}
void SpellHit(Unit* caster, SpellInfo const* spell)
void SpellHit(Unit* caster, SpellInfo const* spell) override
{
if (spell->Id != SPELL_CONSTELLATION_PHASE_EFFECT || caster->GetTypeId() != TYPEID_UNIT)
return;
@@ -982,7 +982,7 @@ public:
voidZone->DespawnOrUnsummon(1);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!(events.GetPhaseMask() & PHASE_MASK_NO_UPDATE) && !UpdateVictim())
return;
@@ -1001,7 +1001,7 @@ public:
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_living_constellationAI(creature);
}
@@ -1022,12 +1022,12 @@ public:
uint32 _summonTimer;
void Reset()
void Reset() override
{
_summonTimer = urand(22000, 24000);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
_summonTimer += diff;
if (_summonTimer >= 30000)
@@ -1038,7 +1038,7 @@ public:
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_algalon_worm_holeAI(creature);
}
@@ -1059,7 +1059,7 @@ public:
EventMap events;
bool _locked;
bool GossipHello(Player* player, bool /*reportUse*/)
bool GossipHello(Player* player, bool /*reportUse*/) override
{
bool hasKey = true;
if (LockEntry const* lock = sLockStore.LookupEntry(go->GetGOInfo()->goober.lockId))
@@ -1103,7 +1103,7 @@ public:
return false;
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (events.Empty())
return;
@@ -1118,7 +1118,7 @@ public:
}
};
GameObjectAI* GetAI(GameObject* go) const
GameObjectAI* GetAI(GameObject* go) const override
{
return new go_celestial_planetarium_accessAI(go);
}
@@ -1149,14 +1149,14 @@ public:
GetTarget()->RemoveAurasDueToSpell(PhasePunchAlphaId[GetStackAmount() - 1]);
}
void Register()
void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_algalon_phase_punch_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
OnEffectRemove += AuraEffectRemoveFn(spell_algalon_phase_punch_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_algalon_phase_punch_AuraScript();
}
@@ -1177,13 +1177,13 @@ public:
Unit::DealDamage(GetTarget(), GetTarget(), GetTarget()->CountPctFromMaxHealth(1), NULL, NODAMAGE);
}
void Register()
void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_algalon_collapse_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_algalon_collapse_AuraScript();
}
@@ -1222,14 +1222,14 @@ public:
target->AI()->DoAction(ACTION_ACTIVATE_STAR);
}
void Register()
void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_algalon_trigger_3_adds_SpellScript::SelectTarget, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY);
OnEffectHitTarget += SpellEffectFn(spell_algalon_trigger_3_adds_SpellScript::HandleDummyEffect, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_algalon_trigger_3_adds_SpellScript();
}
@@ -1256,13 +1256,13 @@ public:
SetHitDamage(int32(float(GetHitDamage()) / distance) * 2);
}
void Register()
void Register() override
{
OnHit += SpellHitFn(spell_algalon_cosmic_smash_damage_SpellScript::RecalculateDamage);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_algalon_cosmic_smash_damage_SpellScript();
}
@@ -1277,7 +1277,7 @@ public:
{
PrepareSpellScript(spell_algalon_big_bang_SpellScript);
bool Load()
bool Load() override
{
_targetCount = 0;
return true;
@@ -1295,7 +1295,7 @@ public:
caster->GetAI()->DoAction(ACTION_ASCEND);
}
void Register()
void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_algalon_big_bang_SpellScript::CountTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
AfterCast += SpellCastFn(spell_algalon_big_bang_SpellScript::CheckTargets);
@@ -1304,7 +1304,7 @@ public:
uint32 _targetCount;
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_algalon_big_bang_SpellScript();
}
@@ -1326,13 +1326,13 @@ public:
GetTarget()->RemoveAurasDueToSpell(SPELL_BLACK_HOLE_DAMAGE);
}
void Register()
void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_algalon_remove_phase_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_algalon_remove_phase_AuraScript();
}
@@ -1355,13 +1355,13 @@ public:
GetHitPlayer()->ResetAchievementCriteria(ACHIEVEMENT_CRITERIA_CONDITION_NO_SPELL_HIT, GetSpellInfo()->Id, true);
}
void Register()
void Register() override
{
OnHit += SpellHitFn(spell_algalon_supermassive_fail_SpellScript::RecalculateDamage);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_algalon_supermassive_fail_SpellScript();
}
@@ -1372,7 +1372,7 @@ class achievement_algalon_he_feeds_on_your_tears : public AchievementCriteriaScr
public:
achievement_algalon_he_feeds_on_your_tears() : AchievementCriteriaScript("achievement_algalon_he_feeds_on_your_tears") { }
bool OnCheck(Player*, Unit* target /*Algalon*/)
bool OnCheck(Player*, Unit* target /*Algalon*/) override
{
return target && target->GetAI()->GetData(DATA_HAS_FED_ON_TEARS);
}
@@ -1383,7 +1383,7 @@ class achievement_algalon_herald_of_the_titans : public AchievementCriteriaScrip
public:
achievement_algalon_herald_of_the_titans() : AchievementCriteriaScript("achievement_algalon_herald_of_the_titans") { }
bool OnCheck(Player*, Unit* target /*Algalon*/)
bool OnCheck(Player*, Unit* target /*Algalon*/) override
{
return target && target->GetAI()->GetData(DATA_HERALD_OF_THE_TITANS);
}

View File

@@ -93,7 +93,7 @@ class boss_auriaya : public CreatureScript
public:
boss_auriaya() : CreatureScript("boss_auriaya") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_auriayaAI (pCreature);
}
@@ -112,7 +112,7 @@ public:
bool _feralDied;
bool _nineLives;
void Reset()
void Reset() override
{
_feralDied = false;
_nineLives = false;
@@ -131,7 +131,7 @@ public:
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_INTERRUPT_CAST, false);
}
uint32 GetData(uint32 param) const
uint32 GetData(uint32 param) const override
{
if (param == DATA_CRAZY_CAT)
return !_feralDied;
@@ -141,7 +141,7 @@ public:
return 0;
}
void JustSummoned(Creature* cr)
void JustSummoned(Creature* cr) override
{
if (cr->GetEntry() == NPC_SANCTUM_SENTRY)
cr->GetMotionMaster()->MoveFollow(me, 6, rand_norm() * 2 * 3.14f);
@@ -151,15 +151,15 @@ public:
summons.Summon(cr);
}
void SummonedCreatureDies(Creature* cr, Unit*)
void SummonedCreatureDies(Creature* cr, Unit*) override
{
if (cr->GetEntry() == NPC_SANCTUM_SENTRY)
_feralDied = true;
}
void JustReachedHome() { me->setActive(false); }
void JustReachedHome() override { me->setActive(false); }
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) override
{
if (m_pInstance)
m_pInstance->SetData(TYPE_AURIAYA, IN_PROGRESS);
@@ -178,7 +178,7 @@ public:
me->setActive(true);
}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) override
{
if (urand(0, 2))
return;
@@ -195,7 +195,7 @@ public:
}
}
void JustDied(Unit* /*victim*/)
void JustDied(Unit* /*victim*/) override
{
if (m_pInstance)
m_pInstance->SetData(TYPE_AURIAYA, DONE);
@@ -207,7 +207,7 @@ public:
me->PlayDirectSound(SOUND_DEATH);
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (param == ACTION_FERAL_DEATH_WITH_STACK)
events.ScheduleEvent(EVENT_RESPAWN_FERAL_DEFENDER, 25000);
@@ -215,7 +215,7 @@ public:
_nineLives = true;
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -276,7 +276,7 @@ class npc_auriaya_sanctum_sentry : public CreatureScript
public:
npc_auriaya_sanctum_sentry() : CreatureScript("npc_auriaya_sanctum_sentry") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_auriaya_sanctum_sentryAI (pCreature);
}
@@ -288,14 +288,14 @@ public:
uint32 _savagePounceTimer;
uint32 _ripFleshTimer;
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
if (me->GetInstanceScript())
if (Creature* cr = ObjectAccessor::GetCreature(*me, me->GetInstanceScript()->GetData64(TYPE_AURIAYA)))
cr->SetInCombatWithZone();
}
void Reset()
void Reset() override
{
_savagePounceTimer = 5000;
_ripFleshTimer = 0;
@@ -303,7 +303,7 @@ public:
me->CastSpell(me, SPELL_STRENGTH_OF_THE_PACK, true);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -338,7 +338,7 @@ class npc_auriaya_feral_defender : public CreatureScript
public:
npc_auriaya_feral_defender() : CreatureScript("npc_auriaya_feral_defender") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_auriaya_feral_defenderAI (pCreature);
}
@@ -352,7 +352,7 @@ public:
uint8 _feralEssenceStack;
SummonList summons;
void Reset()
void Reset() override
{
summons.DespawnAll();
_feralRushTimer = 3000;
@@ -363,7 +363,7 @@ public:
aur->SetStackAmount(_feralEssenceStack);
}
void JustDied(Unit*)
void JustDied(Unit*) override
{
// inform about our death, start timer
if (me->GetInstanceScript())
@@ -379,7 +379,7 @@ public:
}
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (param == ACTION_FERAL_RESPAWN)
{
@@ -401,7 +401,7 @@ public:
summons.DespawnAll();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -443,13 +443,13 @@ public:
unitList.remove_if(PlayerOrPetCheck());
}
void Register()
void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_auriaya_sentinel_blast_SpellScript::FilterTargets, EFFECT_ALL, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_auriaya_sentinel_blast_SpellScript();
}
@@ -460,7 +460,7 @@ class achievement_auriaya_crazy_cat_lady : public AchievementCriteriaScript
public:
achievement_auriaya_crazy_cat_lady() : AchievementCriteriaScript("achievement_auriaya_crazy_cat_lady") {}
bool OnCheck(Player* /*player*/, Unit* target)
bool OnCheck(Player* /*player*/, Unit* target) override
{
if (target)
if (InstanceScript* instance = target->GetInstanceScript())
@@ -476,7 +476,7 @@ class achievement_auriaya_nine_lives : public AchievementCriteriaScript
public:
achievement_auriaya_nine_lives() : AchievementCriteriaScript("achievement_auriaya_nine_lives") {}
bool OnCheck(Player* /*player*/, Unit* target)
bool OnCheck(Player* /*player*/, Unit* target) override
{
if (target)
if (InstanceScript* instance = target->GetInstanceScript())

View File

@@ -247,7 +247,7 @@ class boss_freya : public CreatureScript
public:
boss_freya() : CreatureScript("boss_freya") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_freyaAI (pCreature);
}
@@ -277,7 +277,7 @@ public:
uint64 _elderGUID[3];
void Reset()
void Reset() override
{
if (m_pInstance && m_pInstance->GetData(TYPE_FREYA) != DONE)
m_pInstance->SetData(TYPE_FREYA, NOT_STARTED);
@@ -304,7 +304,7 @@ public:
_deforestation = 0;
}
void KilledUnit(Unit* victim)
void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER || urand(0, 2))
return;
@@ -321,7 +321,7 @@ public:
}
}
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask)
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
{
// kaboom!
if (damage >= me->GetHealth())
@@ -368,7 +368,7 @@ public:
}
}
void JustSummoned(Creature* cr)
void JustSummoned(Creature* cr) override
{
if (cr->GetEntry() == NPC_FREYA_UNSTABLE_SUN_BEAM)
{
@@ -408,7 +408,7 @@ public:
}
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (param == ACTION_LUMBERJACKED)
{
@@ -462,7 +462,7 @@ public:
}
}
uint32 GetData(uint32 param) const
uint32 GetData(uint32 param) const override
{
if (param == DATA_GET_ELDER_COUNT)
{
@@ -479,9 +479,9 @@ public:
return 0;
}
void JustReachedHome() { me->setActive(false); }
void JustReachedHome() override { me->setActive(false); }
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
me->setActive(true);
me->SetInCombatWithZone();
@@ -548,13 +548,13 @@ public:
}
}
void SpellHitTarget(Unit* target, const SpellInfo* spell)
void SpellHitTarget(Unit* target, const SpellInfo* spell) override
{
if (spell->Id == SPELL_NATURE_BOMB_FLIGHT)
me->SummonCreature(NPC_NATURE_BOMB, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ());
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -655,7 +655,7 @@ public:
EnterEvadeIfOutOfCombatArea();
}
bool CheckEvadeIfOutOfCombatArea() const
bool CheckEvadeIfOutOfCombatArea() const override
{
return me->GetPositionX() < 2135.0f;
}
@@ -667,7 +667,7 @@ class boss_freya_elder_stonebark : public CreatureScript
public:
boss_freya_elder_stonebark() : CreatureScript("boss_freya_elder_stonebark") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_freya_elder_stonebarkAI (pCreature);
}
@@ -681,13 +681,13 @@ public:
EventMap events;
uint8 _chargesCount;
void Reset()
void Reset() override
{
events.Reset();
_chargesCount = 0;
}
void KilledUnit(Unit*)
void KilledUnit(Unit*) override
{
if (urand(0, 1))
return;
@@ -704,7 +704,7 @@ public:
}
}
void JustDied(Unit* killer)
void JustDied(Unit* killer) override
{
if (me->GetEntry() == killer->GetEntry())
return;
@@ -717,7 +717,7 @@ public:
freya->AI()->DoAction(ACTION_LUMBERJACKED);
}
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
events.ScheduleEvent(EVENT_STONEBARK_FISTS_OF_STONE, 40000);
events.ScheduleEvent(EVENT_STONEBARK_GROUND_TREMOR, 5000);
@@ -727,7 +727,7 @@ public:
me->PlayDirectSound(SOUND_STONEBARK_AGGRO);
}
void DamageTaken(Unit*, uint32& damage, DamageEffectType damageType, SpellSchoolMask damageSchoolMask)
void DamageTaken(Unit*, uint32& damage, DamageEffectType damageType, SpellSchoolMask damageSchoolMask) override
{
if ((damageType == DIRECT_DAMAGE || (damageType == SPELL_DIRECT_DAMAGE && damageSchoolMask & SPELL_SCHOOL_MASK_NORMAL)) && _chargesCount)
{
@@ -736,7 +736,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -773,7 +773,7 @@ class boss_freya_elder_brightleaf : public CreatureScript
public:
boss_freya_elder_brightleaf() : CreatureScript("boss_freya_elder_brightleaf") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_freya_elder_brightleafAI (pCreature);
}
@@ -787,13 +787,13 @@ public:
EventMap events;
SummonList summons;
void Reset()
void Reset() override
{
events.Reset();
summons.DespawnAll();
}
void KilledUnit(Unit*)
void KilledUnit(Unit*) override
{
if (urand(0, 1))
return;
@@ -810,7 +810,7 @@ public:
}
}
void JustDied(Unit* killer)
void JustDied(Unit* killer) override
{
if (me->GetEntry() == killer->GetEntry())
return;
@@ -823,7 +823,7 @@ public:
freya->AI()->DoAction(ACTION_LUMBERJACKED);
}
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
events.ScheduleEvent(EVENT_BRIGHTLEAF_FLUX, 10000);
events.ScheduleEvent(EVENT_BRIGHTLEAF_SOLAR_FLARE, 5000);
@@ -833,7 +833,7 @@ public:
me->PlayDirectSound(SOUND_BRIGHTLEAF_AGGRO);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -896,7 +896,7 @@ class boss_freya_elder_ironbranch : public CreatureScript
public:
boss_freya_elder_ironbranch() : CreatureScript("boss_freya_elder_ironbranch") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_freya_elder_ironbranchAI (pCreature);
}
@@ -909,12 +909,12 @@ public:
EventMap events;
void Reset()
void Reset() override
{
events.Reset();
}
void KilledUnit(Unit*)
void KilledUnit(Unit*) override
{
if (urand(0, 1))
return;
@@ -931,7 +931,7 @@ public:
}
}
void JustDied(Unit* killer)
void JustDied(Unit* killer) override
{
if (me->GetEntry() == killer->GetEntry())
return;
@@ -944,7 +944,7 @@ public:
freya->AI()->DoAction(ACTION_LUMBERJACKED);
}
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
events.ScheduleEvent(EVENT_IRONBRANCH_IMPALE, 10000);
events.ScheduleEvent(EVENT_IRONBRANCH_IRON_ROOT, 15000);
@@ -954,7 +954,7 @@ public:
me->PlayDirectSound(SOUND_IRONBRANCH_AGGRO);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -990,7 +990,7 @@ class boss_freya_iron_root : public CreatureScript
public:
boss_freya_iron_root() : CreatureScript("boss_freya_iron_root") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_freya_iron_rootAI (pCreature);
}
@@ -999,7 +999,7 @@ public:
{
boss_freya_iron_rootAI(Creature* pCreature) : NullCreatureAI(pCreature) { }
void JustDied(Unit*)
void JustDied(Unit*) override
{
if (!me->IsSummon())
return;
@@ -1020,7 +1020,7 @@ class boss_freya_lifebinder : public CreatureScript
public:
boss_freya_lifebinder() : CreatureScript("boss_freya_lifebinder") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_freya_lifebinderAI (pCreature);
}
@@ -1033,7 +1033,7 @@ public:
uint32 _healTimer;
void Reset()
void Reset() override
{
me->CastSpell(me, SPELL_LIFEBINDER_VISUAL, true);
me->CastSpell(me, SPELL_LIFEBINDER_PHERONOMES, true);
@@ -1041,7 +1041,7 @@ public:
_healTimer = 0;
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
_healTimer += diff;
if (_healTimer >= 12000)
@@ -1061,7 +1061,7 @@ class boss_freya_healthy_spore : public CreatureScript
public:
boss_freya_healthy_spore() : CreatureScript("boss_freya_healthy_spore") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_freya_healthy_sporeAI (pCreature);
}
@@ -1074,7 +1074,7 @@ public:
uint32 _despawnTimer;
void Reset()
void Reset() override
{
me->CastSpell(me, SPELL_POTENT_PHEROMONES, true);
me->CastSpell(me, SPELL_HEALTHY_SPORE_VISUAL, true);
@@ -1082,7 +1082,7 @@ public:
_despawnTimer = 0;
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
_despawnTimer += diff;
if (_despawnTimer >= 22000)
@@ -1100,7 +1100,7 @@ class boss_freya_summons : public CreatureScript
public:
boss_freya_summons() : CreatureScript("boss_freya_summons") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_freya_summonsAI (pCreature);
}
@@ -1120,7 +1120,7 @@ public:
bool _hasDied;
bool _isTrio;
void Reset()
void Reset() override
{
_stackCount = 0;
events.Reset();
@@ -1128,7 +1128,7 @@ public:
AttackStart(target);
}
void JustDied(Unit*)
void JustDied(Unit*) override
{
if (Creature* freya = ObjectAccessor::GetCreature(*me, _freyaGUID))
{
@@ -1145,7 +1145,7 @@ public:
me->CastSpell(me, SPELL_DETONATE, true);
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (_isTrio && param == ACTION_RESPAWN_TRIO)
{
@@ -1154,7 +1154,7 @@ public:
}
}
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
if (me->GetEntry() == NPC_ANCIENT_CONSERVATOR)
{
@@ -1186,7 +1186,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1240,7 +1240,7 @@ class boss_freya_nature_bomb : public CreatureScript
public:
boss_freya_nature_bomb() : CreatureScript("boss_freya_nature_bomb") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_freya_nature_bombAI (pCreature);
}
@@ -1255,7 +1255,7 @@ public:
uint64 _goGUID;
uint32 _explodeTimer;
void Reset()
void Reset() override
{
me->SetObjectScale(0.5f);
me->CastSpell(me, SPELL_GREEN_BANISH_STATE, true);
@@ -1266,7 +1266,7 @@ public:
}
uint32 Timer;
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
_explodeTimer += diff;
if (_explodeTimer >= 11000)
@@ -1292,7 +1292,7 @@ class achievement_freya_getting_back_to_nature : public AchievementCriteriaScrip
public:
achievement_freya_getting_back_to_nature() : AchievementCriteriaScript("achievement_freya_getting_back_to_nature") {}
bool OnCheck(Player* /*player*/, Unit* target /*Freya*/)
bool OnCheck(Player* /*player*/, Unit* target /*Freya*/) override
{
if (target)
if (target->GetAI()->GetData(DATA_BACK_TO_NATURE))
@@ -1309,7 +1309,7 @@ public:
{
}
bool OnCheck(Player* /*player*/, Unit* target /*Freya*/)
bool OnCheck(Player* /*player*/, Unit* target /*Freya*/) override
{
return target && _elderCount <= target->GetAI()->GetData(DATA_GET_ELDER_COUNT);
}

View File

@@ -100,7 +100,7 @@ class boss_vezax : public CreatureScript
public:
boss_vezax() : CreatureScript("boss_vezax") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_vezaxAI (pCreature);
}
@@ -121,7 +121,7 @@ public:
InstanceScript* pInstance;
void Reset()
void Reset() override
{
vaporsCount = 0;
hardmodeAvailable = true;
@@ -135,12 +135,12 @@ public:
pInstance->SetData(TYPE_VEZAX, NOT_STARTED);
}
void JustReachedHome()
void JustReachedHome() override
{
me->setActive(false);
}
void EnterCombat(Unit* /*pWho*/)
void EnterCombat(Unit* /*pWho*/) override
{
me->setActive(true);
me->SetInCombatWithZone();
@@ -162,7 +162,7 @@ public:
me->CastSpell(me, SPELL_AURA_OF_DESPAIR_1, true);
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
switch( param )
{
@@ -176,7 +176,7 @@ public:
}
}
uint32 GetData(uint32 id) const
uint32 GetData(uint32 id) const override
{
switch (id)
{
@@ -188,13 +188,13 @@ public:
return 0;
}
void SpellHitTarget(Unit* target, const SpellInfo* spell)
void SpellHitTarget(Unit* target, const SpellInfo* spell) override
{
if (target && spell && target->GetTypeId() == TYPEID_PLAYER && spell->Id == SPELL_VEZAX_SHADOW_CRASH_DMG)
bAchievShadowdodger = false;
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if( !UpdateVictim() )
return;
@@ -340,7 +340,7 @@ public:
DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) override
{
summons.DespawnAll();
if (pInstance)
@@ -357,7 +357,7 @@ public:
}
}
void KilledUnit(Unit* who)
void KilledUnit(Unit* who) override
{
if( who->GetTypeId() == TYPEID_PLAYER )
{
@@ -374,14 +374,14 @@ public:
}
}
void MoveInLineOfSight(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) override {}
void JustSummoned(Creature* summon)
void JustSummoned(Creature* summon) override
{
summons.Summon(summon);
}
void SummonedCreatureDespawn(Creature* s)
void SummonedCreatureDespawn(Creature* s) override
{
summons.Despawn(s);
}
@@ -393,7 +393,7 @@ class npc_ulduar_saronite_vapors : public CreatureScript
public:
npc_ulduar_saronite_vapors() : CreatureScript("npc_ulduar_saronite_vapors") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_saronite_vaporsAI (pCreature);
}
@@ -408,7 +408,7 @@ public:
InstanceScript* pInstance;
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) override
{
me->CastSpell(me, SPELL_SARONITE_VAPORS_AURA, true);
@@ -425,7 +425,7 @@ class npc_ulduar_saronite_animus : public CreatureScript
public:
npc_ulduar_saronite_animus() : CreatureScript("npc_ulduar_saronite_animus") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_saronite_animusAI (pCreature);
}
@@ -445,7 +445,7 @@ public:
InstanceScript* pInstance;
uint16 timer;
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) override
{
me->DespawnOrUnsummon(3000);
@@ -454,7 +454,7 @@ public:
vezax->AI()->DoAction(2);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
UpdateVictim();
@@ -505,14 +505,14 @@ public:
}
}
void Register()
void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_aura_of_despair_AuraScript::OnApply, EFFECT_0, SPELL_AURA_PREVENT_REGENERATE_POWER, AURA_EFFECT_HANDLE_REAL);
AfterEffectRemove += AuraEffectRemoveFn(spell_aura_of_despair_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PREVENT_REGENERATE_POWER, AURA_EFFECT_HANDLE_REAL);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_aura_of_despair_AuraScript();
}
@@ -538,13 +538,13 @@ public:
}
}
void Register()
void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_mark_of_the_faceless_periodic_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_mark_of_the_faceless_periodic_AuraScript();
}
@@ -566,13 +566,13 @@ public:
Cancel();
}
void Register()
void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_mark_of_the_faceless_drainhealth_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_DEST_AREA_ENEMY);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_mark_of_the_faceless_drainhealth_SpellScript();
}
@@ -596,13 +596,13 @@ public:
}
}
void Register()
void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_saronite_vapors_dummy_AuraScript::HandleAfterEffectApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_saronite_vapors_dummy_AuraScript();
}
@@ -628,13 +628,13 @@ public:
}
}
void Register()
void Register() override
{
AfterHit += SpellHitFn(spell_saronite_vapors_damage_SpellScript::HandleAfterHit);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_saronite_vapors_damage_SpellScript();
}
@@ -645,7 +645,7 @@ class achievement_smell_saronite : public AchievementCriteriaScript
public:
achievement_smell_saronite() : AchievementCriteriaScript("achievement_smell_saronite") {}
bool OnCheck(Player* /*player*/, Unit* target)
bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetEntry() == NPC_VEZAX && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(1);
}
@@ -656,7 +656,7 @@ class achievement_shadowdodger : public AchievementCriteriaScript
public:
achievement_shadowdodger() : AchievementCriteriaScript("achievement_shadowdodger") {}
bool OnCheck(Player* /*player*/, Unit* target)
bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetEntry() == NPC_VEZAX && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(2);
}

View File

@@ -190,7 +190,7 @@ class boss_hodir : public CreatureScript
public:
boss_hodir() : CreatureScript("boss_hodir") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_hodirAI (pCreature);
}
@@ -216,7 +216,7 @@ public:
bool bAchievCoolestFriends;
uint16 addSpawnTimer;
void Reset()
void Reset() override
{
events.Reset();
summons.DespawnAll();
@@ -238,7 +238,7 @@ public:
}
}
void EnterCombat(Unit* /*pWho*/)
void EnterCombat(Unit* /*pWho*/) override
{
if (summons.size() != uint32(RAID_MODE(8, 16)))
{
@@ -268,7 +268,7 @@ public:
}
}
void JustReachedHome() { me->setActive(false); }
void JustReachedHome() override { me->setActive(false); }
void SmallIcicles(bool enable)
{
@@ -278,7 +278,7 @@ public:
me->RemoveAura(SPELL_ICICLE_BOSS_AURA);
}
void SpellHitTarget(Unit* target, const SpellInfo* spell)
void SpellHitTarget(Unit* target, const SpellInfo* spell) override
{
switch( spell->Id )
{
@@ -296,7 +296,7 @@ public:
}
}
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask)
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
{
if (damage >= me->GetHealth() || me->GetHealth() < 150000)
{
@@ -364,7 +364,7 @@ public:
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (addSpawnTimer <= diff)
{
@@ -515,7 +515,7 @@ public:
}
}
void KilledUnit(Unit* who)
void KilledUnit(Unit* who) override
{
if( who->GetTypeId() == TYPEID_PLAYER )
{
@@ -532,17 +532,17 @@ public:
}
}
void JustSummoned(Creature* s)
void JustSummoned(Creature* s) override
{
summons.Summon(s);
}
void SummonedCreatureDespawn(Creature* s)
void SummonedCreatureDespawn(Creature* s) override
{
summons.Despawn(s);
}
bool CanAIAttack(const Unit* t) const
bool CanAIAttack(const Unit* t) const override
{
if (t->GetTypeId() == TYPEID_PLAYER)
return !t->HasAura(SPELL_FLASH_FREEZE_TRAPPED_PLAYER);
@@ -552,7 +552,7 @@ public:
return true;
}
void SetData(uint32 id, uint32 value)
void SetData(uint32 id, uint32 value) override
{
if (value)
switch (id)
@@ -569,7 +569,7 @@ public:
}
}
uint32 GetData(uint32 id) const
uint32 GetData(uint32 id) const override
{
switch (id)
{
@@ -585,7 +585,7 @@ public:
return 0;
}
void MoveInLineOfSight(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) override {}
};
};
@@ -594,7 +594,7 @@ class npc_ulduar_icicle : public CreatureScript
public:
npc_ulduar_icicle() : CreatureScript("npc_ulduar_icicle") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_icicleAI (pCreature);
}
@@ -610,7 +610,7 @@ public:
uint16 timer1;
uint16 timer2;
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if( timer1 <= diff )
{
@@ -637,7 +637,7 @@ class npc_ulduar_flash_freeze : public CreatureScript
public:
npc_ulduar_flash_freeze() : CreatureScript("npc_ulduar_flash_freeze") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_flash_freezeAI (pCreature);
}
@@ -653,7 +653,7 @@ public:
InstanceScript* pInstance;
uint16 timer;
void DamageTaken(Unit* doneBy, uint32& /*damage*/, DamageEffectType, SpellSchoolMask)
void DamageTaken(Unit* doneBy, uint32& /*damage*/, DamageEffectType, SpellSchoolMask) override
{
if (pInstance && doneBy)
if (pInstance->GetData(TYPE_HODIR) == NOT_STARTED)
@@ -661,7 +661,7 @@ public:
hodir->AI()->AttackStart(doneBy);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (timer <= diff)
{
@@ -697,7 +697,7 @@ class npc_ulduar_toasty_fire : public CreatureScript
public:
npc_ulduar_toasty_fire() : CreatureScript("npc_ulduar_toasty_fire") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_toasty_fireAI (pCreature);
}
@@ -709,7 +709,7 @@ public:
me->CastSpell(me, SPELL_MAGE_TOASTY_FIRE_AURA, true);
}
void DoAction(int32 a)
void DoAction(int32 a) override
{
if (a == 1)
{
@@ -722,7 +722,7 @@ public:
}
}
void SpellHit(Unit* /*caster*/, const SpellInfo* spell)
void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
switch( spell->Id )
{
@@ -740,7 +740,7 @@ class npc_ulduar_hodir_priest : public CreatureScript
public:
npc_ulduar_hodir_priest() : CreatureScript("npc_ulduar_hodir_priest") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_hodir_priestAI (pCreature);
}
@@ -757,7 +757,7 @@ public:
EventMap events;
InstanceScript* pInstance;
void AttackStart(Unit* who)
void AttackStart(Unit* who) override
{
AttackStartCaster(who, 17.0f);
}
@@ -769,7 +769,7 @@ public:
events.ScheduleEvent(EVENT_PRIEST_SMITE, 2100);
}
void SpellHit(Unit* /*caster*/, const SpellInfo* spell)
void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if(spell->Id == SPELL_FLASH_FREEZE_TRAPPED_NPC)
{
@@ -778,7 +778,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -819,11 +819,11 @@ public:
}
}
void MoveInLineOfSight(Unit* /*who*/) {}
void EnterEvadeMode() {}
bool CanAIAttack(const Unit* t) const { return t->GetEntry() == NPC_HODIR; }
void MoveInLineOfSight(Unit* /*who*/) override {}
void EnterEvadeMode() override {}
bool CanAIAttack(const Unit* t) const override { return t->GetEntry() == NPC_HODIR; }
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) override
{
if (pInstance)
if (Creature* hodir = pInstance->instance->GetCreature(pInstance->GetData64(TYPE_HODIR)))
@@ -837,7 +837,7 @@ class npc_ulduar_hodir_druid : public CreatureScript
public:
npc_ulduar_hodir_druid() : CreatureScript("npc_ulduar_hodir_druid") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_hodir_druidAI (pCreature);
}
@@ -854,7 +854,7 @@ public:
EventMap events;
InstanceScript* pInstance;
void AttackStart(Unit* who)
void AttackStart(Unit* who) override
{
AttackStartCaster(who, 22.0f);
}
@@ -865,7 +865,7 @@ public:
events.ScheduleEvent(EVENT_DRUID_STARLIGHT, 10000);
}
void SpellHit(Unit* /*caster*/, const SpellInfo* spell)
void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if(spell->Id == SPELL_FLASH_FREEZE_TRAPPED_NPC)
{
@@ -874,7 +874,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -916,11 +916,11 @@ public:
}
}
void MoveInLineOfSight(Unit* /*who*/) {}
void EnterEvadeMode() {}
bool CanAIAttack(const Unit* t) const { return t->GetEntry() == NPC_HODIR; }
void MoveInLineOfSight(Unit* /*who*/) override {}
void EnterEvadeMode() override {}
bool CanAIAttack(const Unit* t) const override { return t->GetEntry() == NPC_HODIR; }
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) override
{
if (pInstance)
if (Creature* hodir = pInstance->instance->GetCreature(pInstance->GetData64(TYPE_HODIR)))
@@ -934,7 +934,7 @@ class npc_ulduar_hodir_shaman : public CreatureScript
public:
npc_ulduar_hodir_shaman() : CreatureScript("npc_ulduar_hodir_shaman") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_hodir_shamanAI (pCreature);
}
@@ -951,7 +951,7 @@ public:
EventMap events;
InstanceScript* pInstance;
void AttackStart(Unit* who)
void AttackStart(Unit* who) override
{
AttackStartCaster(who, 25.0f);
}
@@ -962,7 +962,7 @@ public:
events.ScheduleEvent(EVENT_SHAMAN_STORM_CLOUD, 10000);
}
void SpellHit(Unit* /*caster*/, const SpellInfo* spell)
void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if(spell->Id == SPELL_FLASH_FREEZE_TRAPPED_NPC)
{
@@ -971,14 +971,14 @@ public:
}
}
void SpellHitTarget(Unit* target, const SpellInfo* spell)
void SpellHitTarget(Unit* target, const SpellInfo* spell) override
{
if (target && spell->Id == SPELL_SHAMAN_STORM_CLOUD)
if (Aura* a = target->GetAura(SPELL_SHAMAN_STORM_CLOUD, me->GetGUID()))
a->SetStackAmount(spell->StackAmount);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -1016,11 +1016,11 @@ public:
}
}
void MoveInLineOfSight(Unit* /*who*/) {}
void EnterEvadeMode() {}
bool CanAIAttack(const Unit* t) const { return t->GetEntry() == NPC_HODIR; }
void MoveInLineOfSight(Unit* /*who*/) override {}
void EnterEvadeMode() override {}
bool CanAIAttack(const Unit* t) const override { return t->GetEntry() == NPC_HODIR; }
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) override
{
if (pInstance)
if (Creature* hodir = pInstance->instance->GetCreature(pInstance->GetData64(TYPE_HODIR)))
@@ -1034,7 +1034,7 @@ class npc_ulduar_hodir_mage : public CreatureScript
public:
npc_ulduar_hodir_mage() : CreatureScript("npc_ulduar_hodir_mage") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_hodir_mageAI (pCreature);
}
@@ -1051,7 +1051,7 @@ public:
EventMap events;
InstanceScript* pInstance;
void AttackStart(Unit* who)
void AttackStart(Unit* who) override
{
AttackStartCaster(who, 30.0f);
}
@@ -1063,7 +1063,7 @@ public:
events.ScheduleEvent(EVENT_MAGE_MELT_ICE, 1000);
}
void SpellHit(Unit* /*caster*/, const SpellInfo* spell)
void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if(spell->Id == SPELL_FLASH_FREEZE_TRAPPED_NPC)
{
@@ -1072,7 +1072,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -1131,11 +1131,11 @@ public:
}
}
void MoveInLineOfSight(Unit* /*who*/) {}
void EnterEvadeMode() {}
bool CanAIAttack(const Unit* t) const { return t->GetEntry() == NPC_HODIR; }
void MoveInLineOfSight(Unit* /*who*/) override {}
void EnterEvadeMode() override {}
bool CanAIAttack(const Unit* t) const override { return t->GetEntry() == NPC_HODIR; }
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) override
{
if (pInstance)
if (Creature* hodir = pInstance->instance->GetCreature(pInstance->GetData64(TYPE_HODIR)))
@@ -1161,13 +1161,13 @@ public:
target->CastSpell(target, SPELL_BITING_COLD_PLAYER_AURA, true);
}
void Register()
void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_hodir_biting_cold_main_aura_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_hodir_biting_cold_main_aura_AuraScript();
}
@@ -1185,7 +1185,7 @@ public:
uint8 counter;
bool prev;
bool Load()
bool Load() override
{
counter = 0;
prev = false;
@@ -1236,13 +1236,13 @@ public:
}
}
void Register()
void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_hodir_biting_cold_player_aura_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_hodir_biting_cold_player_aura_AuraScript();
}
@@ -1264,13 +1264,13 @@ public:
acore::Containers::RandomResizeList(targets, 1);
}
void Register()
void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_hodir_periodic_icicle_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_hodir_periodic_icicle_SpellScript();
}
@@ -1303,7 +1303,7 @@ public:
targets.remove_if(FlashFreezeCheck());
}
void Register()
void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_hodir_flash_freeze_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_hodir_flash_freeze_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
@@ -1351,18 +1351,18 @@ public:
}
}
void Register()
void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_hodir_flash_freeze_AuraScript::HandleEffectPeriodic, EFFECT_1, SPELL_AURA_PERIODIC_DUMMY);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_hodir_flash_freeze_SpellScript();
}
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_hodir_flash_freeze_AuraScript();
}
@@ -1391,14 +1391,14 @@ public:
target->ToPlayer()->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2, GetId(), 0, GetCaster());
}
void Register()
void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_hodir_storm_power_AuraScript::OnApply, EFFECT_0, SPELL_AURA_MOD_CRIT_DAMAGE_BONUS, AURA_EFFECT_HANDLE_REAL);
AfterEffectApply += AuraEffectApplyFn(spell_hodir_storm_power_AuraScript::HandleAfterEffectApply, EFFECT_0, SPELL_AURA_MOD_CRIT_DAMAGE_BONUS, AURA_EFFECT_HANDLE_SEND_FOR_CLIENT_MASK);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_hodir_storm_power_AuraScript();
}
@@ -1420,13 +1420,13 @@ public:
target->CastSpell((Unit*)NULL, (GetId() == SPELL_SHAMAN_STORM_CLOUD_10 ? SPELL_SHAMAN_STORM_POWER_10 : SPELL_SHAMAN_STORM_POWER_25), true);
}
void Register()
void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_hodir_storm_cloud_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_hodir_storm_cloud_AuraScript();
}
@@ -1437,7 +1437,7 @@ class achievement_cheese_the_freeze : public AchievementCriteriaScript
public:
achievement_cheese_the_freeze() : AchievementCriteriaScript("achievement_cheese_the_freeze") {}
bool OnCheck(Player* /*player*/, Unit* target)
bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetEntry() == NPC_HODIR && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(1);
}
@@ -1448,7 +1448,7 @@ class achievement_getting_cold_in_here : public AchievementCriteriaScript
public:
achievement_getting_cold_in_here() : AchievementCriteriaScript("achievement_getting_cold_in_here") {}
bool OnCheck(Player* /*player*/, Unit* target)
bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetEntry() == NPC_HODIR && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(2);
}
@@ -1459,7 +1459,7 @@ class achievement_i_could_say_that_this_cache_was_rare : public AchievementCrite
public:
achievement_i_could_say_that_this_cache_was_rare() : AchievementCriteriaScript("achievement_i_could_say_that_this_cache_was_rare") {}
bool OnCheck(Player* /*player*/, Unit* target)
bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetEntry() == NPC_HODIR && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(3);
}
@@ -1470,7 +1470,7 @@ class achievement_i_have_the_coolest_friends : public AchievementCriteriaScript
public:
achievement_i_have_the_coolest_friends() : AchievementCriteriaScript("achievement_i_have_the_coolest_friends") {}
bool OnCheck(Player* /*player*/, Unit* target)
bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetEntry() == NPC_HODIR && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(4);
}
@@ -1481,7 +1481,7 @@ class achievement_staying_buffed_all_winter_10 : public AchievementCriteriaScrip
public:
achievement_staying_buffed_all_winter_10() : AchievementCriteriaScript("achievement_staying_buffed_all_winter_10") {}
bool OnCheck(Player* player, Unit* /*target*/)
bool OnCheck(Player* player, Unit* /*target*/) override
{
return player && player->HasAura(SPELL_MAGE_TOASTY_FIRE_AURA) && player->HasAura(SPELL_DRUID_STARLIGHT_AREA_AURA) && player->HasAura(SPELL_SHAMAN_STORM_POWER_10);
}
@@ -1492,7 +1492,7 @@ class achievement_staying_buffed_all_winter_25 : public AchievementCriteriaScrip
public:
achievement_staying_buffed_all_winter_25() : AchievementCriteriaScript("achievement_staying_buffed_all_winter_25") {}
bool OnCheck(Player* player, Unit* /*target*/)
bool OnCheck(Player* player, Unit* /*target*/) override
{
return player && player->HasAura(SPELL_MAGE_TOASTY_FIRE_AURA) && player->HasAura(SPELL_DRUID_STARLIGHT_AREA_AURA) && player->HasAura(SPELL_SHAMAN_STORM_POWER_25);
}
@@ -1514,13 +1514,13 @@ public:
target->ToPlayer()->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2, SPELL_MAGE_TOASTY_FIRE_AURA, 0, GetCaster());
}
void Register()
void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_hodir_toasty_fire_AuraScript::HandleAfterEffectApply, EFFECT_0, SPELL_AURA_MOD_STAT, AURA_EFFECT_HANDLE_SEND_FOR_CLIENT_MASK);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_hodir_toasty_fire_AuraScript();
}
@@ -1542,13 +1542,13 @@ public:
target->ToPlayer()->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2, SPELL_DRUID_STARLIGHT_AREA_AURA, 0, GetCaster());
}
void Register()
void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_hodir_starlight_AuraScript::HandleAfterEffectApply, EFFECT_0, SPELL_AURA_MELEE_SLOW, AURA_EFFECT_HANDLE_SEND_FOR_CLIENT_MASK);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_hodir_starlight_AuraScript();
}

View File

@@ -82,7 +82,7 @@ class npc_ulduar_iron_construct : public CreatureScript
public:
npc_ulduar_iron_construct() : CreatureScript("npc_ulduar_iron_construct") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_iron_constructAI (pCreature);
}
@@ -96,19 +96,19 @@ public:
uint16 timer;
void Reset()
void Reset() override
{
timer = 1000;
me->SetReactState(REACT_PASSIVE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
void JustReachedHome()
void JustReachedHome() override
{
me->CastSpell(me, 38757, true);
}
void SpellHit(Unit* /*caster*/, const SpellInfo* spell)
void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if (spell->Id == SPELL_ACTIVATE_CONSTRUCT)
{
@@ -140,7 +140,7 @@ public:
}
}
void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType, SpellSchoolMask)
void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType, SpellSchoolMask) override
{
if( damage >= RAID_MODE(3000U, 5000U) && me->GetAura(S_BRITTLE) )
{
@@ -153,14 +153,14 @@ public:
}
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) override
{
if (InstanceScript* instance = me->GetInstanceScript())
if (Creature* ignis = ObjectAccessor::GetCreature(*me, instance->GetData64(TYPE_IGNIS)))
ignis->RemoveAuraFromStack(SPELL_STRENGTH_OF_THE_CREATOR);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -181,7 +181,7 @@ public:
DoMeleeAttackIfReady();
}
void MoveInLineOfSight(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) override {}
};
};
@@ -190,7 +190,7 @@ class boss_ignis : public CreatureScript
public:
boss_ignis() : CreatureScript("boss_ignis") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_ignisAI (pCreature);
}
@@ -204,7 +204,7 @@ public:
bool bShattered;
uint32 lastShatterMSTime;
void Reset()
void Reset() override
{
events.Reset();
me->SetControlled(false, UNIT_STATE_ROOT);
@@ -220,7 +220,7 @@ public:
}
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) override
{
me->setActive(true);
@@ -259,7 +259,7 @@ public:
}
}
void SetData(uint32 id, uint32 /*value*/)
void SetData(uint32 id, uint32 /*value*/) override
{
if (id == 1337)
{
@@ -271,19 +271,19 @@ public:
}
}
uint32 GetData(uint32 id) const
uint32 GetData(uint32 id) const override
{
if (id == 1337)
return (bShattered ? 1 : 0);
return 0;
}
void JustReachedHome()
void JustReachedHome() override
{
me->setActive(false);
}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) override
{
if( rand() % 2 )
{
@@ -297,7 +297,7 @@ public:
}
}
void JustDied(Unit* /*victim*/)
void JustDied(Unit* /*victim*/) override
{
me->MonsterYell(TEXT_DEATH, LANG_UNIVERSAL, 0);
me->PlayDirectSound(SOUND_DEATH);
@@ -312,7 +312,7 @@ public:
Unit::Kill(*itr, *itr);
}
void SpellHit(Unit* caster, const SpellInfo* spell)
void SpellHit(Unit* caster, const SpellInfo* spell) override
{
if (caster && spell->Id == SPELL_GRAB_CONTROL_2)
{
@@ -321,9 +321,9 @@ public:
}
}
void MoveInLineOfSight(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) override {}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -429,7 +429,7 @@ public:
DoMeleeAttackIfReady();
}
void EnterEvadeMode()
void EnterEvadeMode() override
{
me->SetControlled(false, UNIT_STATE_ROOT);
me->DisableRotate(false);
@@ -458,13 +458,13 @@ public:
}
}
void Register()
void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_ignis_scorch_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_ignis_scorch_AuraScript();
}
@@ -485,13 +485,13 @@ public:
t->CastSpell(t, SPELL_GRAB_TRIGGERED, true);
}
void Register()
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_ignis_grab_initial_SpellScript::HandleScript, EFFECT_2, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_ignis_grab_initial_SpellScript();
}
@@ -533,7 +533,7 @@ public:
}
}
void Register()
void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_ignis_slag_pot_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
OnEffectApply += AuraEffectApplyFn(spell_ignis_slag_pot_AuraScript::OnApply, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
@@ -541,7 +541,7 @@ public:
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_ignis_slag_pot_AuraScript();
}
@@ -552,7 +552,7 @@ class achievement_ignis_shattered : public AchievementCriteriaScript
public:
achievement_ignis_shattered() : AchievementCriteriaScript("achievement_ignis_shattered") {}
bool OnCheck(Player* /*player*/, Unit* target)
bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target || target->GetTypeId() != TYPEID_UNIT)
return false;

View File

@@ -129,7 +129,7 @@ class boss_kologarn : public CreatureScript
public:
boss_kologarn() : CreatureScript("boss_kologarn") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_kologarnAI (pCreature);
}
@@ -501,7 +501,7 @@ class boss_kologarn_arms : public CreatureScript
public:
boss_kologarn_arms() : CreatureScript("boss_kologarn_arms") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_kologarn_armsAI (pCreature);
}
@@ -513,18 +513,18 @@ public:
int32 _damageDone;
bool _combatStarted;
void EnterEvadeMode() {}
void MoveInLineOfSight(Unit*) {}
void AttackStart(Unit*) {}
void UpdateAI(uint32 /*diff*/) {}
void EnterEvadeMode() override {}
void MoveInLineOfSight(Unit*) override {}
void AttackStart(Unit*) override {}
void UpdateAI(uint32 /*diff*/) override {}
void Reset()
void Reset() override
{
_combatStarted = false;
_damageDone = 0;
}
void PassengerBoarded(Unit* /*who*/, int8 /*seatId*/, bool apply)
void PassengerBoarded(Unit* /*who*/, int8 /*seatId*/, bool apply) override
{
if (!apply)
_damageDone = 0;
@@ -536,7 +536,7 @@ public:
}
}
void DamageTaken(Unit* who, uint32& damage, DamageEffectType, SpellSchoolMask)
void DamageTaken(Unit* who, uint32& damage, DamageEffectType, SpellSchoolMask) override
{
if (!_combatStarted)
if (InstanceScript* instance = me->GetInstanceScript())
@@ -555,7 +555,7 @@ public:
}
}
void JustDied(Unit*)
void JustDied(Unit*) override
{
float x, y, z;
// left arm
@@ -601,7 +601,7 @@ class boss_kologarn_eyebeam : public CreatureScript
public:
boss_kologarn_eyebeam() : CreatureScript("boss_kologarn_eyebeam") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_kologarn_eyebeamAI (pCreature);
}
@@ -613,7 +613,7 @@ public:
uint32 _timer;
bool _damaged;
void DamageDealt(Unit* /*victim*/, uint32& damage, DamageEffectType /*damageType*/)
void DamageDealt(Unit* /*victim*/, uint32& damage, DamageEffectType /*damageType*/) override
{
if (damage > 0 && !_damaged && me->GetInstanceScript())
{
@@ -623,7 +623,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (_timer)
{
@@ -669,7 +669,7 @@ public:
{
PrepareSpellScript(spell_ulduar_stone_grip_cast_target_SpellScript);
bool Load()
bool Load() override
{
if (GetCaster()->GetTypeId() != TYPEID_UNIT)
return false;
@@ -694,13 +694,13 @@ public:
}
}
void Register()
void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_ulduar_stone_grip_cast_target_SpellScript::FilterTargetsInitial, EFFECT_ALL, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_ulduar_stone_grip_cast_target_SpellScript();
}
@@ -721,13 +721,13 @@ public:
owner->RemoveAurasDueToSpell(aurEff->GetAmount());
}
void Register()
void Register() override
{
OnEffectRemove += AuraEffectRemoveFn(spell_ulduar_stone_grip_AuraScript::OnRemoveStun, EFFECT_2, SPELL_AURA_MOD_STUN, AURA_EFFECT_HANDLE_REAL);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_ulduar_stone_grip_AuraScript();
}
@@ -751,13 +751,13 @@ public:
GetHitPlayer()->ExitVehicle();
}
void Register()
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_ulduar_squeezed_lifeless_SpellScript::HandleInstaKill, EFFECT_1, SPELL_EFFECT_INSTAKILL);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_ulduar_squeezed_lifeless_SpellScript();
}
@@ -779,14 +779,14 @@ public:
caster->CastSpell(caster, triggerSpellId, false);
}
void Register()
void Register() override
{
if (m_scriptSpellId == SPELL_STONE_SHOUT_10 || m_scriptSpellId == SPELL_STONE_SHOUT_25)
OnEffectPeriodic += AuraEffectPeriodicFn(spell_kologarn_stone_shout_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_kologarn_stone_shout_AuraScript();
}
@@ -800,14 +800,14 @@ public:
targets.remove_if (PlayerOrPetCheck());
}
void Register()
void Register() override
{
if (m_scriptSpellId != SPELL_STONE_SHOUT_10 && m_scriptSpellId != SPELL_STONE_SHOUT_25)
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_kologarn_stone_shout_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_kologarn_stone_shout_SpellScript();
}
@@ -818,7 +818,7 @@ class achievement_kologarn_looks_could_kill : public AchievementCriteriaScript
public:
achievement_kologarn_looks_could_kill() : AchievementCriteriaScript("achievement_kologarn_looks_could_kill") {}
bool OnCheck(Player* /*player*/, Unit* target)
bool OnCheck(Player* /*player*/, Unit* target) override
{
if (target)
if (InstanceScript* instance = target->GetInstanceScript())
@@ -834,7 +834,7 @@ class achievement_kologarn_rubble_and_roll : public AchievementCriteriaScript
public:
achievement_kologarn_rubble_and_roll() : AchievementCriteriaScript("achievement_kologarn_rubble_and_roll") {}
bool OnCheck(Player* /*player*/, Unit* target)
bool OnCheck(Player* /*player*/, Unit* target) override
{
if (target)
if (InstanceScript* instance = target->GetInstanceScript())
@@ -850,7 +850,7 @@ class achievement_kologarn_with_open_arms : public AchievementCriteriaScript
public:
achievement_kologarn_with_open_arms() : AchievementCriteriaScript("achievement_kologarn_with_open_arms") {}
bool OnCheck(Player* /*player*/, Unit* target)
bool OnCheck(Player* /*player*/, Unit* target) override
{
if (target)
if (InstanceScript* instance = target->GetInstanceScript())

View File

@@ -286,7 +286,7 @@ class boss_mimiron : public CreatureScript
public:
boss_mimiron() : CreatureScript("boss_mimiron") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_mimironAI (pCreature);
}
@@ -316,7 +316,7 @@ public:
uint8 minutesTalkNum;
uint32 outofCombatTimer;
void Reset()
void Reset() override
{
hardmode = false;
berserk = false;
@@ -335,19 +335,19 @@ public:
pInstance->SetData(TYPE_MIMIRON, NOT_STARTED);
}
void AttackStart(Unit* who)
void AttackStart(Unit* who) override
{
if (who)
me->Attack(who, true); // skip following
}
void JustReachedHome()
void JustReachedHome() override
{
me->setActive(false);
ScriptedAI::JustReachedHome();
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) override
{
me->setActive(true);
DoZoneInCombat();
@@ -406,7 +406,7 @@ public:
pInstance->SetData(TYPE_MIMIRON, IN_PROGRESS);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!me->IsInCombat())
{
@@ -826,9 +826,9 @@ public:
}
}
void MoveInLineOfSight(Unit* /*mover*/) {}
void MoveInLineOfSight(Unit* /*mover*/) override {}
void EnterEvadeMode()
void EnterEvadeMode() override
{
if (bIsEvading)
return;
@@ -858,12 +858,12 @@ public:
bIsEvading = false;
}
void JustSummoned(Creature* s)
void JustSummoned(Creature* s) override
{
summons.Summon(s);
}
void SummonedCreatureDespawn(Creature* s)
void SummonedCreatureDespawn(Creature* s) override
{
summons.Despawn(s);
}
@@ -919,7 +919,7 @@ public:
}
}
void SetData(uint32 /*id*/, uint32 value)
void SetData(uint32 /*id*/, uint32 value) override
{
switch (value) // end of phase 1-3, 4-6 for voltron
{
@@ -967,7 +967,7 @@ public:
}
}
uint32 GetData(uint32 id) const
uint32 GetData(uint32 id) const override
{
switch (id)
{
@@ -994,7 +994,7 @@ class npc_ulduar_leviathan_mkii : public CreatureScript
public:
npc_ulduar_leviathan_mkii() : CreatureScript("npc_ulduar_leviathan_mkii") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_leviathan_mkiiAI (pCreature);
}
@@ -1012,7 +1012,7 @@ public:
bool bIsEvading;
uint8 Phase;
void Reset()
void Reset() override
{
Phase = 0;
if (Unit* c = GetS3())
@@ -1027,7 +1027,7 @@ public:
events.Reset();
}
void SetData(uint32 id, uint32 value)
void SetData(uint32 id, uint32 value) override
{
if (id == 1) // setting phase to start fighting
{
@@ -1069,7 +1069,7 @@ public:
}
}
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask)
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
{
if (damage >= me->GetHealth() || me->GetHealth() < 15000)
{
@@ -1116,7 +1116,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1191,9 +1191,9 @@ public:
}
}
void MoveInLineOfSight(Unit* /*mover*/) {}
void MoveInLineOfSight(Unit* /*mover*/) override {}
void KilledUnit(Unit* who)
void KilledUnit(Unit* who) override
{
if( who->GetTypeId() == TYPEID_PLAYER )
if (Creature* c = GetMimiron())
@@ -1227,7 +1227,7 @@ public:
}
}
void EnterEvadeMode()
void EnterEvadeMode() override
{
if (bIsEvading)
return;
@@ -1243,7 +1243,7 @@ public:
bIsEvading = false;
}
void PassengerBoarded(Unit* p, int8 /*seat*/, bool apply)
void PassengerBoarded(Unit* p, int8 /*seat*/, bool apply) override
{
if (p->GetEntry() == NPC_LEVIATHAN_MKII_CANNON && !apply)
{
@@ -1261,7 +1261,7 @@ public:
return 0;
}
void SpellHit(Unit* /*caster*/, const SpellInfo* spell)
void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if( spell->Id == SPELL_SELF_REPAIR )
{
@@ -1277,7 +1277,7 @@ class npc_ulduar_vx001 : public CreatureScript
public:
npc_ulduar_vx001() : CreatureScript("npc_ulduar_vx001") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_vx001AI (pCreature);
}
@@ -1299,7 +1299,7 @@ public:
uint32 spinningUpOrientation;
uint16 spinningUpTimer;
void Reset()
void Reset() override
{
Phase = 0;
fighting = false;
@@ -1309,9 +1309,9 @@ public:
events.Reset();
}
void AttackStart(Unit* /*who*/) {}
void AttackStart(Unit* /*who*/) override {}
void SetData(uint32 id, uint32 value)
void SetData(uint32 id, uint32 value) override
{
if (id == 1) // setting phase to start fighting
{
@@ -1358,12 +1358,12 @@ public:
}
}
uint32 GetData(uint32 /*id*/) const
uint32 GetData(uint32 /*id*/) const override
{
return spinningUpOrientation;
}
void DoAction(int32 action)
void DoAction(int32 action) override
{
if (action == 1337)
if( Vehicle* vk = me->GetVehicleKit() )
@@ -1373,7 +1373,7 @@ public:
r->ToCreature()->DespawnOrUnsummon(1);
}
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask)
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
{
if (damage >= me->GetHealth() || me->GetHealth() < 15000)
{
@@ -1417,7 +1417,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!fighting)
return;
@@ -1541,9 +1541,9 @@ public:
}
}
void MoveInLineOfSight(Unit* /*mover*/) {}
void MoveInLineOfSight(Unit* /*mover*/) override {}
void KilledUnit(Unit* who)
void KilledUnit(Unit* who) override
{
if( who->GetTypeId() == TYPEID_PLAYER )
if( Creature* c = GetMimiron() )
@@ -1577,7 +1577,7 @@ public:
}
}
void EnterEvadeMode()
void EnterEvadeMode() override
{
if (bIsEvading)
return;
@@ -1593,13 +1593,13 @@ public:
bIsEvading = false;
}
void PassengerBoarded(Unit* p, int8 /*seat*/, bool apply)
void PassengerBoarded(Unit* p, int8 /*seat*/, bool apply) override
{
if (p->GetEntry() == NPC_ROCKET_VISUAL && !apply)
p->ToCreature()->DespawnOrUnsummon(8000);
}
void SpellHit(Unit* /*caster*/, const SpellInfo* spell)
void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if( spell->Id == SPELL_SELF_REPAIR )
{
@@ -1615,7 +1615,7 @@ class npc_ulduar_aerial_command_unit : public CreatureScript
public:
npc_ulduar_aerial_command_unit() : CreatureScript("npc_ulduar_aerial_command_unit") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_aerial_command_unitAI (pCreature);
}
@@ -1637,20 +1637,20 @@ public:
uint8 Phase;
bool immobilized;
void Reset()
void Reset() override
{
Phase = 0;
events.Reset();
summons.DespawnAll();
}
void AttackStart(Unit* who)
void AttackStart(Unit* who) override
{
if (who)
me->Attack(who, true); // skip following
}
void SetData(uint32 id, uint32 value)
void SetData(uint32 id, uint32 value) override
{
if (id == 1) // setting phase to start fighting
{
@@ -1696,13 +1696,13 @@ public:
}
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (param == 1337)
summons.DespawnAll();
}
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask)
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
{
if (damage >= me->GetHealth() || me->GetHealth() < 15000)
{
@@ -1751,7 +1751,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1865,9 +1865,9 @@ public:
}
}
void MoveInLineOfSight(Unit* /*mover*/) {}
void MoveInLineOfSight(Unit* /*mover*/) override {}
void KilledUnit(Unit* who)
void KilledUnit(Unit* who) override
{
if( who->GetTypeId() == TYPEID_PLAYER )
if( Creature* c = GetMimiron() )
@@ -1901,7 +1901,7 @@ public:
}
}
void EnterEvadeMode()
void EnterEvadeMode() override
{
if (bIsEvading)
return;
@@ -1917,19 +1917,19 @@ public:
bIsEvading = false;
}
void JustSummoned(Creature* s)
void JustSummoned(Creature* s) override
{
summons.Summon(s);
if (s->GetEntry() == NPC_BOMB_BOT)
s->m_positionZ = 364.34f;
}
void SummonedCreatureDespawn(Creature* s)
void SummonedCreatureDespawn(Creature* s) override
{
summons.Despawn(s);
}
void SpellHit(Unit* /*caster*/, const SpellInfo* spell)
void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if( spell->Id == SPELL_SELF_REPAIR )
{
@@ -1945,7 +1945,7 @@ class npc_ulduar_proximity_mine : public CreatureScript
public:
npc_ulduar_proximity_mine() : CreatureScript("npc_ulduar_proximity_mine") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_proximity_mineAI (pCreature);
}
@@ -1963,11 +1963,11 @@ public:
uint16 timer;
uint16 timer2;
void AttackStart(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
bool CanAIAttack(const Unit* /*target*/) const { return false; }
void AttackStart(Unit* /*who*/) override {}
void MoveInLineOfSight(Unit* /*who*/) override {}
bool CanAIAttack(const Unit* /*target*/) const override { return false; }
void SpellHitTarget(Unit* target, const SpellInfo* spell)
void SpellHitTarget(Unit* target, const SpellInfo* spell) override
{
if (target && spell && target->GetTypeId() == TYPEID_PLAYER && spell->Id == SPELL_MINE_EXPLOSION)
if (InstanceScript* pInstance = me->GetInstanceScript())
@@ -1976,7 +1976,7 @@ public:
}
// MoveInLineOfSight is checked every few yards, can't use it
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (timer2 <= diff)
{
@@ -2010,7 +2010,7 @@ class npc_ulduar_mimiron_rocket : public CreatureScript
public:
npc_ulduar_mimiron_rocket() : CreatureScript("npc_ulduar_mimiron_rocket") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_mimiron_rocketAI (pCreature);
}
@@ -2019,25 +2019,25 @@ public:
{
npc_ulduar_mimiron_rocketAI(Creature* pCreature) : NullCreatureAI(pCreature) {}
void InitializeAI()
void InitializeAI() override
{
if (!me->isDead())
Reset();
}
void Reset()
void Reset() override
{
me->SetCanFly(true);
me->AddUnitMovementFlag(MOVEMENTFLAG_FLYING);
me->AddUnitState(UNIT_STATE_NO_ENVIRONMENT_UPD);
}
void SetData(uint32 /*id*/, uint32 /*value*/)
void SetData(uint32 /*id*/, uint32 /*value*/) override
{
me->GetMotionMaster()->MovePoint(0, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 100.0f, false, true);
}
void UpdateAI(uint32 /*diff*/)
void UpdateAI(uint32 /*diff*/) override
{
if (!me->GetVehicle())
{
@@ -2053,7 +2053,7 @@ class npc_ulduar_magnetic_core : public CreatureScript
public:
npc_ulduar_magnetic_core() : CreatureScript("npc_ulduar_magnetic_core") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_magnetic_coreAI (pCreature);
}
@@ -2079,12 +2079,12 @@ public:
InstanceScript* pInstance;
uint16 despawnTimer;
void SetData(uint32 /*id*/, uint32 /*value*/)
void SetData(uint32 /*id*/, uint32 /*value*/) override
{
despawnTimer = 20000;
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (despawnTimer <= diff)
{
@@ -2102,7 +2102,7 @@ class npc_ulduar_bot_summon_trigger : public CreatureScript
public:
npc_ulduar_bot_summon_trigger() : CreatureScript("npc_ulduar_bot_summon_trigger") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_bot_summon_triggerAI (pCreature);
}
@@ -2114,13 +2114,13 @@ public:
uint32 timer;
uint8 option;
void Reset()
void Reset() override
{
timer = 8000;
option = 0;
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
switch( param )
{
@@ -2139,7 +2139,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if( timer <= diff )
{
@@ -2182,13 +2182,13 @@ public:
}
}
void Register()
void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_mimiron_rapid_burst_AuraScript::HandleEffectPeriodic, EFFECT_1, SPELL_AURA_PERIODIC_DUMMY);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_mimiron_rapid_burst_AuraScript();
}
@@ -2206,7 +2206,7 @@ public:
uint32 lastMSTime;
float lastOrientation;
bool Load()
bool Load() override
{
lastMSTime = World::GetGameTimeMS();
lastOrientation = -1.0f;
@@ -2235,13 +2235,13 @@ public:
}
}
void Register()
void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_mimiron_p3wx2_laser_barrage_AuraScript::HandleEffectPeriodic, EFFECT_1, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_mimiron_p3wx2_laser_barrage_AuraScript();
}
@@ -2278,7 +2278,7 @@ class npc_ulduar_flames_initial : public CreatureScript
public:
npc_ulduar_flames_initial() : CreatureScript("npc_ulduar_flames_initial") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_flames_initialAI (pCreature);
}
@@ -2301,7 +2301,7 @@ public:
EventMap events;
uint32 CreateTime;
void DoAction(int32 action)
void DoAction(int32 action) override
{
if (action == 1337)
RemoveAll();
@@ -2333,7 +2333,7 @@ public:
me->DespawnOrUnsummon();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (InstanceScript* pInstance = me->GetInstanceScript())
if (pInstance->GetData(TYPE_MIMIRON) != IN_PROGRESS)
@@ -2398,7 +2398,7 @@ class npc_ulduar_flames_spread : public CreatureScript
public:
npc_ulduar_flames_spread() : CreatureScript("npc_ulduar_flames_spread") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_flames_spreadAI (pCreature);
}
@@ -2407,7 +2407,7 @@ public:
{
npc_ulduar_flames_spreadAI(Creature* pCreature) : NullCreatureAI(pCreature) {}
void SpellHit(Unit* /*caster*/, const SpellInfo* spell)
void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
switch( spell->Id )
{
@@ -2440,7 +2440,7 @@ class npc_ulduar_emergency_fire_bot : public CreatureScript
public:
npc_ulduar_emergency_fire_bot() : CreatureScript("npc_ulduar_emergency_fire_bot") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_emergency_fire_botAI (pCreature);
}
@@ -2455,16 +2455,16 @@ public:
EventMap events;
void MoveInLineOfSight(Unit*) {}
void AttackStart(Unit*) {}
void MoveInLineOfSight(Unit*) override {}
void AttackStart(Unit*) override {}
void MovementInform(uint32 type, uint32 id)
void MovementInform(uint32 type, uint32 id) override
{
if (type == POINT_MOTION_TYPE && id == 1)
events.ScheduleEvent(EVENT_EMERGENCY_BOT_ATTACK, 0);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
events.Update(diff);
switch( events.ExecuteEvent() )
@@ -2497,7 +2497,7 @@ class npc_ulduar_rocket_strike_trigger : public CreatureScript
public:
npc_ulduar_rocket_strike_trigger() : CreatureScript("npc_ulduar_rocket_strike_trigger") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_rocket_strike_triggerAI (pCreature);
}
@@ -2506,7 +2506,7 @@ public:
{
npc_ulduar_rocket_strike_triggerAI(Creature* pCreature) : NullCreatureAI(pCreature) {}
void SpellHitTarget(Unit* target, const SpellInfo* spell)
void SpellHitTarget(Unit* target, const SpellInfo* spell) override
{
if (!target || !spell)
return;
@@ -2528,7 +2528,7 @@ class achievement_mimiron_firefighter : public AchievementCriteriaScript
public:
achievement_mimiron_firefighter() : AchievementCriteriaScript("achievement_mimiron_firefighter") {}
bool OnCheck(Player* /*player*/, Unit* target)
bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetEntry() == NPC_MIMIRON && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(1);
}
@@ -2539,7 +2539,7 @@ class achievement_mimiron_set_up_us_the_bomb_11 : public AchievementCriteriaScri
public:
achievement_mimiron_set_up_us_the_bomb_11() : AchievementCriteriaScript("achievement_mimiron_set_up_us_the_bomb_11") {}
bool OnCheck(Player* /*player*/, Unit* target)
bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetEntry() == NPC_MIMIRON && target->GetTypeId() == TYPEID_UNIT && !target->ToCreature()->AI()->GetData(11);
}
@@ -2550,7 +2550,7 @@ class achievement_mimiron_set_up_us_the_bomb_12 : public AchievementCriteriaScri
public:
achievement_mimiron_set_up_us_the_bomb_12() : AchievementCriteriaScript("achievement_mimiron_set_up_us_the_bomb_12") {}
bool OnCheck(Player* /*player*/, Unit* target)
bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetEntry() == NPC_MIMIRON && target->GetTypeId() == TYPEID_UNIT && !target->ToCreature()->AI()->GetData(12);
}
@@ -2561,7 +2561,7 @@ class achievement_mimiron_set_up_us_the_bomb_13 : public AchievementCriteriaScri
public:
achievement_mimiron_set_up_us_the_bomb_13() : AchievementCriteriaScript("achievement_mimiron_set_up_us_the_bomb_13") {}
bool OnCheck(Player* /*player*/, Unit* target)
bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetEntry() == NPC_MIMIRON && target->GetTypeId() == TYPEID_UNIT && !target->ToCreature()->AI()->GetData(13);
}

View File

@@ -112,7 +112,7 @@ class boss_razorscale : public CreatureScript
public:
boss_razorscale() : CreatureScript("boss_razorscale") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_razorscaleAI (pCreature);
}
@@ -135,7 +135,7 @@ public:
bool startPath;
uint8 flyTimes;
void Reset()
void Reset() override
{
events.Reset();
summons.DespawnAll();
@@ -154,13 +154,13 @@ public:
pInstance->SetData(TYPE_RAZORSCALE, NOT_STARTED);
}
void AttackStart(Unit* who)
void AttackStart(Unit* who) override
{
if (who && me->Attack(who, true) && bGroundPhase)
me->GetMotionMaster()->MoveChase(who);
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) override
{
me->SetInCombatWithZone();
events.Reset();
@@ -190,7 +190,7 @@ public:
pInstance->SetData(TYPE_RAZORSCALE, IN_PROGRESS);
}
void JustDied(Unit* /*Killer*/)
void JustDied(Unit* /*Killer*/) override
{
summons.DespawnAll();
@@ -198,7 +198,7 @@ public:
pInstance->SetData(TYPE_RAZORSCALE, DONE);
}
void SpellHit(Unit* caster, const SpellInfo* spell)
void SpellHit(Unit* caster, const SpellInfo* spell) override
{
if (!caster || !pInstance)
return;
@@ -254,7 +254,7 @@ public:
}
}
void DamageTaken(Unit*, uint32& damage, DamageEffectType /*damagetype*/, SpellSchoolMask /*damageSchoolMask*/)
void DamageTaken(Unit*, uint32& damage, DamageEffectType /*damagetype*/, SpellSchoolMask /*damageSchoolMask*/) override
{
if (me->GetPositionZ() > 440.0f) // protection, razorscale is attackable (so harpoons can hit him, etc.), but should not receive dmg while in air
damage = 0;
@@ -262,7 +262,7 @@ public:
events.RescheduleEvent(EVENT_WARN_DEEP_BREATH, 0);
}
void MovementInform(uint32 type, uint32 id)
void MovementInform(uint32 type, uint32 id) override
{
if (type == POINT_MOTION_TYPE && id == POINT_RAZORSCALE_INIT)
{
@@ -297,7 +297,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (startPath)
{
@@ -547,33 +547,33 @@ public:
DoMeleeAttackIfReady();
}
void MoveInLineOfSight(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) override {}
void JustReachedHome()
void JustReachedHome() override
{
startPath = true;
}
void JustSummoned(Creature* s)
void JustSummoned(Creature* s) override
{
summons.Summon(s);
}
uint32 GetData(uint32 id) const
uint32 GetData(uint32 id) const override
{
if (id == 1)
return (flyTimes <= 1 ? 1 : 0);
return 0;
}
void KilledUnit(Unit* victim)
void KilledUnit(Unit* victim) override
{
if (victim && victim->GetEntry() == NPC_DARK_RUNE_GUARDIAN)
if (pInstance)
pInstance->DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE, NPC_DARK_RUNE_GUARDIAN, 1, me);
}
void EnterEvadeMode()
void EnterEvadeMode() override
{
me->SetControlled(false, UNIT_STATE_ROOT);
me->DisableRotate(false);
@@ -677,7 +677,7 @@ class npc_ulduar_harpoonfirestate : public CreatureScript
public:
npc_ulduar_harpoonfirestate() : CreatureScript("npc_ulduar_harpoonfirestate") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_harpoonfirestateAI (pCreature);
}
@@ -692,7 +692,7 @@ public:
InstanceScript* pInstance;
uint8 repairPoints;
void Reset()
void Reset() override
{
repairPoints = 0;
}
@@ -713,7 +713,7 @@ public:
return 0;
}
void SetData(uint32 id, uint32 value)
void SetData(uint32 id, uint32 value) override
{
switch (id)
{
@@ -760,7 +760,7 @@ public:
}
}
uint32 GetData(uint32 id) const
uint32 GetData(uint32 id) const override
{
switch (id)
{
@@ -777,7 +777,7 @@ class npc_ulduar_expedition_engineer : public CreatureScript
public:
npc_ulduar_expedition_engineer() : CreatureScript("npc_ulduar_expedition_engineer") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_expedition_engineerAI (pCreature);
}
@@ -794,14 +794,14 @@ public:
uint16 timer;
uint64 fixingGUID;
void Reset()
void Reset() override
{
working = false;
timer = 0;
fixingGUID = 0;
}
void SetData(uint32 id, uint32 /*value*/)
void SetData(uint32 id, uint32 /*value*/) override
{
switch (id)
{
@@ -818,7 +818,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (working)
{
@@ -941,7 +941,7 @@ class npc_ulduar_dark_rune_guardian : public CreatureScript
public:
npc_ulduar_dark_rune_guardian() : CreatureScript("npc_ulduar_dark_rune_guardian") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_dark_rune_guardianAI (pCreature);
}
@@ -952,17 +952,17 @@ public:
uint32 timer2;
void Reset()
void Reset() override
{
timer2 = 6000;
}
bool CanAIAttack(const Unit* target) const
bool CanAIAttack(const Unit* target) const override
{
return target && target->GetEntry() != NPC_RAZORSCALE;
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if( !UpdateVictim() )
return;
@@ -988,7 +988,7 @@ class npc_ulduar_dark_rune_watcher : public CreatureScript
public:
npc_ulduar_dark_rune_watcher() : CreatureScript("npc_ulduar_dark_rune_watcher") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_dark_rune_watcherAI (pCreature);
}
@@ -1000,18 +1000,18 @@ public:
uint32 timer1;
uint32 timer2;
void Reset()
void Reset() override
{
timer1 = 6000;
timer2 = 2000;
}
bool CanAIAttack(const Unit* target) const
bool CanAIAttack(const Unit* target) const override
{
return target && target->GetEntry() != NPC_RAZORSCALE;
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if( !UpdateVictim() )
return;
@@ -1044,7 +1044,7 @@ class npc_ulduar_dark_rune_sentinel : public CreatureScript
public:
npc_ulduar_dark_rune_sentinel() : CreatureScript("npc_ulduar_dark_rune_sentinel") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ulduar_dark_rune_sentinelAI (pCreature);
}
@@ -1056,18 +1056,18 @@ public:
uint32 timer1;
uint32 timer2;
void Reset()
void Reset() override
{
timer1 = urand(1000, 2000);
timer2 = 6000;
}
bool CanAIAttack(const Unit* target) const
bool CanAIAttack(const Unit* target) const override
{
return target && target->GetEntry() != NPC_RAZORSCALE;
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if( !UpdateVictim() )
return;
@@ -1098,7 +1098,7 @@ class achievement_quick_shave : public AchievementCriteriaScript
public:
achievement_quick_shave() : AchievementCriteriaScript("achievement_quick_shave") {}
bool OnCheck(Player* /*player*/, Unit* target)
bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetTypeId() == TYPEID_UNIT && target->GetEntry() == NPC_RAZORSCALE && target->ToCreature()->AI()->GetData(1);
}
@@ -1109,7 +1109,7 @@ class achievement_iron_dwarf_medium_rare : public AchievementCriteriaScript
public:
achievement_iron_dwarf_medium_rare() : AchievementCriteriaScript("achievement_iron_dwarf_medium_rare") {}
bool OnCheck(Player* /*player*/, Unit* target)
bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetEntry() == NPC_RAZORSCALE;
}

View File

@@ -307,7 +307,7 @@ class boss_thorim : public CreatureScript
public:
boss_thorim() : CreatureScript("boss_thorim") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_thorimAI (pCreature);
}
@@ -360,7 +360,7 @@ public:
return nullptr;
}
void JustSummoned(Creature* cr) { summons.Summon(cr); }
void JustSummoned(Creature* cr) override { summons.Summon(cr); }
void SpawnAllNPCs()
{
@@ -421,13 +421,13 @@ public:
go->SetGoState(GO_STATE_ACTIVE);
}
void EnterEvadeMode()
void EnterEvadeMode() override
{
DisableThorim(false);
CreatureAI::EnterEvadeMode();
}
void Reset()
void Reset() override
{
if (m_pInstance && !_encounterFinished)
m_pInstance->SetData(TYPE_THORIM, NOT_STARTED);
@@ -454,7 +454,7 @@ public:
DisableThorim(false);
}
uint32 GetData(uint32 param) const
uint32 GetData(uint32 param) const override
{
if (param == DATA_HIT_BY_LIGHTNING)
return !_hitByLightning;
@@ -464,7 +464,7 @@ public:
return 0;
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (param == ACTION_START_TRASH_DIED)
{
@@ -486,7 +486,7 @@ public:
_isHitAllowed = true;
}
void KilledUnit(Unit*)
void KilledUnit(Unit*) override
{
if (urand(0, 2))
return;
@@ -503,9 +503,9 @@ public:
}
}
void JustReachedHome() { me->setActive(false); }
void JustReachedHome() override { me->setActive(false); }
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
if (m_pInstance && !_encounterFinished)
m_pInstance->SetData(TYPE_THORIM, IN_PROGRESS);
@@ -515,7 +515,7 @@ public:
//me->CastSpell(me, SPELL_TOUCH_OF_DOMINION, true);
}
void DamageTaken(Unit* who, uint32& damage, DamageEffectType, SpellSchoolMask)
void DamageTaken(Unit* who, uint32& damage, DamageEffectType, SpellSchoolMask) override
{
if (who && _isHitAllowed && who->GetPositionZ() > 430 && who->GetTypeId() == TYPEID_PLAYER)
{
@@ -610,7 +610,7 @@ public:
}
}
void SpellHit(Unit* caster, const SpellInfo* spellInfo)
void SpellHit(Unit* caster, const SpellInfo* spellInfo) override
{
if (spellInfo->Id == SPELL_LIGHTNING_ORB_CHARGER)
{
@@ -621,7 +621,7 @@ public:
}
}
void SpellHitTarget(Unit* target, const SpellInfo* spellInfo)
void SpellHitTarget(Unit* target, const SpellInfo* spellInfo) override
{
if (spellInfo->Id == SPELL_LIGHTNING_CHARGE_DAMAGE && target->GetTypeId() == TYPEID_PLAYER)
_hitByLightning = true;
@@ -659,7 +659,7 @@ public:
return nullptr;
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!_encounterFinished && !UpdateVictim())
return;
@@ -817,7 +817,7 @@ class boss_thorim_sif : public CreatureScript
public:
boss_thorim_sif() : CreatureScript("boss_thorim_sif") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_thorim_sifAI (pCreature);
}
@@ -826,20 +826,20 @@ public:
{
boss_thorim_sifAI(Creature* pCreature) : ScriptedAI(pCreature) { }
void MoveInLineOfSight(Unit*) {}
void AttackStart(Unit*) {}
void MoveInLineOfSight(Unit*) override {}
void AttackStart(Unit*) override {}
bool _allowCast;
EventMap events;
void Reset()
void Reset() override
{
events.Reset();
me->SetReactState(REACT_PASSIVE);
_allowCast = false;
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (param == ACTION_SIF_START_TALK)
events.ScheduleEvent(EVENT_SIF_START_TALK, 9000);
@@ -867,7 +867,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
events.Update(diff);
if (me->HasUnitState(UNIT_STATE_CASTING))
@@ -928,7 +928,7 @@ class boss_thorim_lightning_orb : public CreatureScript
public:
boss_thorim_lightning_orb() : CreatureScript("boss_thorim_lightning_orb") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_thorim_lightning_orbAI (pCreature);
}
@@ -944,9 +944,9 @@ public:
uint32 Timer;
void EnterEvadeMode() {}
void MoveInLineOfSight(Unit*) {}
void AttackStart(Unit*) {}
void EnterEvadeMode() override {}
void MoveInLineOfSight(Unit*) override {}
void AttackStart(Unit*) override {}
void InitWaypoint()
{
@@ -960,12 +960,12 @@ public:
AddWaypoint(8, 2110, -251, 419.42f, 0);
}
void Reset()
void Reset() override
{
me->CastSpell(me, SPELL_LIGHTNING_DESTRUCTION, true);
}
void WaypointReached(uint32 /*point*/)
void WaypointReached(uint32 /*point*/) override
{
}
};
@@ -976,7 +976,7 @@ class boss_thorim_trap : public CreatureScript
public:
boss_thorim_trap() : CreatureScript("boss_thorim_trap") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_thorim_trapAI (pCreature);
}
@@ -987,8 +987,8 @@ public:
uint32 _checkTimer;
void Reset() { _checkTimer = 1; }
void UpdateAI(uint32 diff)
void Reset() override { _checkTimer = 1; }
void UpdateAI(uint32 diff) override
{
if (_checkTimer)
{
@@ -1014,7 +1014,7 @@ class boss_thorim_sif_blizzard : public CreatureScript
public:
boss_thorim_sif_blizzard() : CreatureScript("boss_thorim_sif_blizzard") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_thorim_sif_blizzardAI (pCreature);
}
@@ -1029,9 +1029,9 @@ public:
SetDespawnAtEnd(false);
}
void MoveInLineOfSight(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) {}
void AttackStart(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) override {}
void EnterCombat(Unit* /*who*/) override {}
void AttackStart(Unit* /*who*/) override {}
void InitWaypoint()
{
@@ -1045,14 +1045,14 @@ public:
AddWaypoint(8, 2161.5f, -280.0f, 419.4f, 0);
}
void Reset()
void Reset() override
{
me->SetSpeed(MOVE_RUN, 1);
me->SetSpeed(MOVE_WALK, 1);
me->CastSpell(me, RAID_MODE(SPELL_BLIZZARD_10, SPELL_BLIZZARD_25), true);
}
void WaypointReached(uint32 /*point*/)
void WaypointReached(uint32 /*point*/) override
{
}
};
@@ -1063,7 +1063,7 @@ class boss_thorim_pillar : public CreatureScript
public:
boss_thorim_pillar() : CreatureScript("boss_thorim_pillar") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_thorim_pillarAI (pCreature);
}
@@ -1074,14 +1074,14 @@ public:
uint32 _resetTimer;
void Reset()
void Reset() override
{
_resetTimer = 0;
me->SetControlled(true, UNIT_STATE_STUNNED);
me->SetDisableGravity(true);
}
void SpellHit(Unit*, const SpellInfo* spellInfo)
void SpellHit(Unit*, const SpellInfo* spellInfo) override
{
if (spellInfo->Id == SPELL_CHARGE_ORB)
me->CastSpell(me, SPELL_LIGHTNING_PILLAR_P1, true);
@@ -1092,7 +1092,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
_resetTimer += diff;
if (_resetTimer >= 10000)
@@ -1106,7 +1106,7 @@ class boss_thorim_start_npcs : public CreatureScript
public:
boss_thorim_start_npcs() : CreatureScript("boss_thorim_start_npcs") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_thorim_start_npcsAI (pCreature);
}
@@ -1119,7 +1119,7 @@ public:
bool _isCaster;
bool _playerAttack;
void Reset()
void Reset() override
{
events.Reset();
_isCaster = (me->GetEntry() == NPC_DARK_RUNE_ACOLYTE_I);
@@ -1129,7 +1129,7 @@ public:
AttackStart(cr);
}
void DamageTaken(Unit* who, uint32&, DamageEffectType, SpellSchoolMask)
void DamageTaken(Unit* who, uint32&, DamageEffectType, SpellSchoolMask) override
{
if (!_playerAttack && who && (who->GetTypeId() == TYPEID_PLAYER || IS_PLAYER_GUID(who->GetOwnerGUID())))
{
@@ -1152,14 +1152,14 @@ public:
me->SetHealth(me->GetMaxHealth());
}
void JustDied(Unit*)
void JustDied(Unit*) override
{
if (me->GetInstanceScript())
if (Creature* thorim = ObjectAccessor::GetCreature(*me, me->GetInstanceScript()->GetData64(TYPE_THORIM)))
thorim->AI()->DoAction(ACTION_START_TRASH_DIED);
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) override
{
if (me->GetEntry() == NPC_DARK_RUNE_ACOLYTE_I)
{
@@ -1187,7 +1187,7 @@ public:
me->CallForHelp(10);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1260,7 +1260,7 @@ class boss_thorim_gauntlet_npcs : public CreatureScript
public:
boss_thorim_gauntlet_npcs() : CreatureScript("boss_thorim_gauntlet_npcs") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_thorim_gauntlet_npcsAI (pCreature);
}
@@ -1272,13 +1272,13 @@ public:
EventMap events;
bool _isCaster;
void Reset()
void Reset() override
{
events.Reset();
_isCaster = (me->GetEntry() == NPC_DARK_RUNE_ACOLYTE_G);
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) override
{
if (me->GetEntry() == NPC_IRON_RING_GUARD)
{
@@ -1304,7 +1304,7 @@ public:
me->CallForHelp(25);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1367,7 +1367,7 @@ class boss_thorim_runic_colossus : public CreatureScript
public:
boss_thorim_runic_colossus() : CreatureScript("boss_thorim_runic_colossus") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_thorim_runic_colossusAI (pCreature);
}
@@ -1382,7 +1382,7 @@ public:
float _nextTriggerPos;
uint64 _triggerLeftGUID[2], _triggerRightGUID[2];
void Reset()
void Reset() override
{
_nextTriggerPos = 0.0f;
_leftHand = false;
@@ -1402,14 +1402,14 @@ public:
_triggerLeftGUID[1] = c->GetGUID();
}
void JustDied(Unit*)
void JustDied(Unit*) override
{
if (me->GetInstanceScript())
if (GameObject* go = ObjectAccessor::GetGameObject(*me, me->GetInstanceScript()->GetData64(DATA_THORIM_FIRST_DOORS)))
go->SetGoState(GO_STATE_ACTIVE);
}
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
events.CancelEvent(EVENT_RC_RUNIC_SMASH);
events.ScheduleEvent(EVENT_RC_RUNIC_BARRIER, 10000);
@@ -1420,7 +1420,7 @@ public:
_checkTarget = true;
}
void SpellHit(Unit*, const SpellInfo* spellInfo)
void SpellHit(Unit*, const SpellInfo* spellInfo) override
{
if (spellInfo->Id == SPELL_RUNIC_SMASH_LEFT || spellInfo->Id == SPELL_RUNIC_SMASH_RIGHT)
{
@@ -1447,7 +1447,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (_checkTarget && !UpdateVictim())
return;
@@ -1501,7 +1501,7 @@ class boss_thorim_ancient_rune_giant : public CreatureScript
public:
boss_thorim_ancient_rune_giant() : CreatureScript("boss_thorim_ancient_rune_giant") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_thorim_ancient_rune_giantAI (pCreature);
}
@@ -1513,13 +1513,13 @@ public:
EventMap events;
bool _isInCombat;
void Reset()
void Reset() override
{
_isInCombat = false;
events.Reset();
}
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
_isInCombat = true;
events.CancelEvent(EVENT_ARG_SPAWN);
@@ -1530,7 +1530,7 @@ public:
me->MonsterTextEmote("Ancient Rune Giant fortifies nearby allies with runic might", 0, true);
}
void JustDied(Unit*)
void JustDied(Unit*) override
{
if (InstanceScript* pInstance = me->GetInstanceScript())
{
@@ -1542,13 +1542,13 @@ public:
}
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (param == ACTION_IRON_HONOR_DIED)
events.RescheduleEvent(EVENT_ARG_SPAWN, 20000);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (_isInCombat && !UpdateVictim())
return;
@@ -1586,7 +1586,7 @@ class boss_thorim_arena_npcs : public CreatureScript
public:
boss_thorim_arena_npcs() : CreatureScript("boss_thorim_arena_npcs") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_thorim_arena_npcsAI (pCreature);
}
@@ -1598,7 +1598,7 @@ public:
EventMap events;
bool _isCaster;
void Reset()
void Reset() override
{
_isCaster = (me->GetEntry() == NPC_DARK_RUNE_EVOKER);
events.Reset();
@@ -1606,7 +1606,7 @@ public:
me->CastSpell(me, SPELL_AURA_OF_CELERITY, true);
}
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
if (me->GetEntry() == NPC_DARK_RUNE_WARBRINGER)
{
@@ -1631,7 +1631,7 @@ public:
}
}
bool CanAIAttack(const Unit* target) const
bool CanAIAttack(const Unit* target) const override
{
return target->GetPositionX() < 2180 && target->GetPositionZ() < 425;
}
@@ -1666,7 +1666,7 @@ public:
return false;
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() && !SelectT())
return;
@@ -1758,13 +1758,13 @@ public:
GetUnitOwner()->CastSpell(caster, GetSpellInfo()->Effects[aurEff->GetEffIndex()].TriggerSpell, true);
}
void Register()
void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_thorim_lightning_pillar_P2_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_thorim_lightning_pillar_P2_AuraScript();
}
@@ -1786,13 +1786,13 @@ public:
SetDuration(0);
}
void Register()
void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_thorim_trash_impale_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_thorim_trash_impale_AuraScript();
}
@@ -1803,7 +1803,7 @@ class achievement_thorim_stand_in_the_lightning : public AchievementCriteriaScri
public:
achievement_thorim_stand_in_the_lightning() : AchievementCriteriaScript("achievement_thorim_stand_in_the_lightning") {}
bool OnCheck(Player* player, Unit*)
bool OnCheck(Player* player, Unit*) override
{
if (InstanceScript* instance = player->GetInstanceScript())
if (Creature* cr = ObjectAccessor::GetCreature(*player, instance->GetData64(TYPE_THORIM)))
@@ -1818,7 +1818,7 @@ class achievement_thorim_lose_your_illusion : public AchievementCriteriaScript
public:
achievement_thorim_lose_your_illusion() : AchievementCriteriaScript("achievement_thorim_lose_your_illusion") {}
bool OnCheck(Player* player, Unit*)
bool OnCheck(Player* player, Unit*) override
{
if (InstanceScript* instance = player->GetInstanceScript())
if (Creature* cr = ObjectAccessor::GetCreature(*player, instance->GetData64(TYPE_THORIM)))

View File

@@ -112,7 +112,7 @@ class boss_xt002 : public CreatureScript
public:
boss_xt002() : CreatureScript("boss_xt002") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_xt002AI (pCreature);
}
@@ -140,7 +140,7 @@ public:
events.RescheduleEvent(EVENT_HEALTH_CHECK, 2000, 1);
}
void Reset()
void Reset() override
{
summons.DespawnAll();
events.Reset();
@@ -167,8 +167,8 @@ public:
}
}
void JustSummoned(Creature* cr) { summons.Summon(cr); }
void SummonedCreatureDespawn(Creature* cr) { summons.Despawn(cr); }
void JustSummoned(Creature* cr) override { summons.Summon(cr); }
void SummonedCreatureDespawn(Creature* cr) override { summons.Despawn(cr); }
void AttachHeart()
{
@@ -182,9 +182,9 @@ public:
}
}
void JustReachedHome() { me->setActive(false); }
void JustReachedHome() override { me->setActive(false); }
void EnterCombat(Unit*)
void EnterCombat(Unit*) override
{
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
events.ScheduleEvent(EVENT_ENRAGE, 600000, 0, 0);
@@ -208,7 +208,7 @@ public:
AttachHeart();
}
void KilledUnit(Unit* victim)
void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER && !urand(0, 2))
{
@@ -225,7 +225,7 @@ public:
}
}
void JustDied(Unit* /*victim*/)
void JustDied(Unit* /*victim*/) override
{
me->MonsterYell("You are bad... Toys... Very... Baaaaad!", LANG_UNIVERSAL, 0);
me->PlayDirectSound(XT_SOUND_DEATH);
@@ -241,7 +241,7 @@ public:
summons.DespawnAll();
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (param == DATA_XT002_NERF_ENGINEERING)
{
@@ -284,7 +284,7 @@ public:
}
}
uint32 GetData(uint32 param) const
uint32 GetData(uint32 param) const override
{
if (param == DATA_XT002_NERF_ENGINEERING)
return _nerfAchievement;
@@ -294,7 +294,7 @@ public:
return 0;
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -402,7 +402,7 @@ class npc_xt002_heart : public CreatureScript
public:
npc_xt002_heart() : CreatureScript("npc_xt002_heart") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_xt002_heartAI (pCreature);
}
@@ -421,16 +421,16 @@ public:
uint8 _spawnSelection;
uint8 _pummelerCount;
void MoveInLineOfSight(Unit*) { }
void AttackStart(Unit*) { }
void JustSummoned(Creature* cr)
void MoveInLineOfSight(Unit*) override { }
void AttackStart(Unit*) override { }
void JustSummoned(Creature* cr) override
{
summons.Summon(cr);
if (Unit* owner = me->GetVehicleBase())
if (owner->GetTypeId() == TYPEID_UNIT)
owner->ToCreature()->AI()->JustSummoned(cr);
}
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask)
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
{
_damageDone += damage;
}
@@ -443,7 +443,7 @@ public:
me->SummonCreature(NPC_PILE_TRIGGER, 794.600f, 59.660f, 409.82f, 5.34f);
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (param == ACTION_AWAKEN_HEART)
{
@@ -488,7 +488,7 @@ public:
me->CastSpell(pile, SPELL_ENERGY_ORB, true);
}
void SpellHitTarget(Unit* target, const SpellInfo* spellInfo)
void SpellHitTarget(Unit* target, const SpellInfo* spellInfo) override
{
// spawn not-so-random robots
if (spellInfo->Id == SPELL_ENERGY_ORB_TRIGGER && target->GetEntry() == NPC_PILE_TRIGGER)
@@ -523,7 +523,7 @@ public:
}
}
void JustDied(Unit* /*victim*/)
void JustDied(Unit* /*victim*/) override
{
me->SetVisible(false);
if (me->GetInstanceScript())
@@ -532,7 +532,7 @@ public:
XT002->AI()->DoAction(ACTION_HEART_BROKEN);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE))
{
@@ -552,7 +552,7 @@ class npc_xt002_scrapbot : public CreatureScript
public:
npc_xt002_scrapbot() : CreatureScript("npc_xt002_scrapbot") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_xt002_scrapbotAI (pCreature);
}
@@ -562,7 +562,7 @@ public:
npc_xt002_scrapbotAI(Creature* pCreature) : PassiveAI(pCreature) { }
bool _locked;
void Reset()
void Reset() override
{
me->StopMoving();
_locked = true;
@@ -578,7 +578,7 @@ public:
}
}
void JustDied(Unit* killer)
void JustDied(Unit* killer) override
{
// Nerf Scrapbots achievement
if (killer->GetEntry() == NPC_XE321_BOOMBOT)
@@ -590,7 +590,7 @@ public:
}
// tc idiots, they use updateAI, while we have movementinform :)
void MovementInform(uint32 type, uint32 /*param*/)
void MovementInform(uint32 type, uint32 /*param*/) override
{
if (type == POINT_MOTION_TYPE)
{
@@ -615,7 +615,7 @@ public:
}
}
void UpdateAI(uint32 /*diff*/)
void UpdateAI(uint32 /*diff*/) override
{
if (!_locked)
{
@@ -635,7 +635,7 @@ class npc_xt002_pummeller : public CreatureScript
public:
npc_xt002_pummeller() : CreatureScript("npc_xt002_pummeller") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_xt002_pummellerAI (pCreature);
}
@@ -648,7 +648,7 @@ public:
int32 _trampleTimer;
int32 _uppercutTimer;
void Reset()
void Reset() override
{
_arcingSmashTimer = 0;
_trampleTimer = 0;
@@ -660,7 +660,7 @@ public:
me->DespawnOrUnsummon(500);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -700,7 +700,7 @@ public:
{
}
bool Execute(uint64 /*time*/, uint32 /*diff*/)
bool Execute(uint64 /*time*/, uint32 /*diff*/) override
{
// This hack is here because we suspect our implementation of spell effect execution on targets
// is done in the wrong order. We suspect that EFFECT_0 needs to be applied on all targets,
@@ -721,7 +721,7 @@ class npc_xt002_boombot : public CreatureScript
public:
npc_xt002_boombot() : CreatureScript("npc_xt002_boombot") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_xt002_boombotAI (pCreature);
}
@@ -732,7 +732,7 @@ public:
bool _locked;
bool _boomed;
void Reset()
void Reset() override
{
me->StopMoving();
_locked = true;
@@ -772,12 +772,12 @@ public:
me->m_Events.AddEvent(new BoomEvent(me), me->m_Events.CalculateTime(1 * IN_MILLISECONDS));
}
void JustDied(Unit*)
void JustDied(Unit*) override
{
me->m_Events.AddEvent(new BoomEvent(me), me->m_Events.CalculateTime(1 * IN_MILLISECONDS));
}
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask)
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
{
if (_boomed)
damage = 0;
@@ -790,7 +790,7 @@ public:
}
// tc idiots, they use updateAI, while we have movementinform :)
void MovementInform(uint32 type, uint32 /*param*/)
void MovementInform(uint32 type, uint32 /*param*/) override
{
if (type == POINT_MOTION_TYPE)
{
@@ -802,7 +802,7 @@ public:
// _kill = true;
}
void UpdateAI(uint32 /*diff*/)
void UpdateAI(uint32 /*diff*/) override
{
if (!_locked)
{
@@ -822,7 +822,7 @@ class npc_xt002_life_spark : public CreatureScript
public:
npc_xt002_life_spark() : CreatureScript("npc_xt002_life_spark") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_xt002_life_sparkAI (pCreature);
}
@@ -837,7 +837,7 @@ public:
}
uint32 _attackTimer;
void Reset()
void Reset() override
{
if (Unit* target = SelectTargetFromPlayerList(200))
AttackStart(target);
@@ -845,7 +845,7 @@ public:
me->DespawnOrUnsummon();
}
void UpdateAI(uint32 /*diff*/)
void UpdateAI(uint32 /*diff*/) override
{
if (!UpdateVictim())
return;
@@ -876,14 +876,14 @@ public:
SetHitDamage(GetHitUnit()->CountPctFromMaxHealth(GetHitDamage()));
}
void Register()
void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_xt002_tympanic_tantrum_SpellScript::FilterTargets, EFFECT_ALL, TARGET_UNIT_SRC_AREA_ENEMY);
OnHit += SpellHitFn(spell_xt002_tympanic_tantrum_SpellScript::RecalculateDamage);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_xt002_tympanic_tantrum_SpellScript();
}
@@ -925,14 +925,14 @@ public:
xt002->GetAI()->DoAction(DATA_XT002_GRAVITY_ACHIEV);
}
void Register()
void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_xt002_gravity_bomb_aura_AuraScript::OnPeriodic, EFFECT_2, SPELL_AURA_PERIODIC_DAMAGE);
AfterEffectRemove += AuraEffectRemoveFn(spell_xt002_gravity_bomb_aura_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_xt002_gravity_bomb_aura_AuraScript();
}
@@ -947,13 +947,13 @@ public:
targets.remove_if(acore::ObjectGUIDCheck(victim->GetGUID(), true));
}
void Register()
void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_xt002_gravity_bomb_aura_SpellScript::SelectTarget, EFFECT_ALL, TARGET_UNIT_DEST_AREA_ENEMY);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_xt002_gravity_bomb_aura_SpellScript();
}
@@ -979,13 +979,13 @@ public:
caster->GetAI()->DoAction(DATA_XT002_GRAVITY_ACHIEV);
}
void Register()
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_xt002_gravity_bomb_damage_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_xt002_gravity_bomb_damage_SpellScript();
}
@@ -1008,13 +1008,13 @@ public:
xt002->SummonCreature(NPC_LIFE_SPARK, player->GetPositionX(), player->GetPositionY(), player->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 180000);
}
void Register()
void Register() override
{
OnEffectRemove += AuraEffectRemoveFn(spell_xt002_searing_light_spawn_life_spark_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_xt002_searing_light_spawn_life_spark_AuraScript();
}
@@ -1029,13 +1029,13 @@ public:
targets.remove_if(acore::ObjectGUIDCheck(victim->GetGUID(), true));
}
void Register()
void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_xt002_searing_light_spawn_life_spark_SpellScript::SelectTarget, EFFECT_ALL, TARGET_UNIT_DEST_AREA_ENEMY);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_xt002_searing_light_spawn_life_spark_SpellScript();
}
@@ -1046,7 +1046,7 @@ class achievement_xt002_nerf_engineering : public AchievementCriteriaScript
public:
achievement_xt002_nerf_engineering() : AchievementCriteriaScript("achievement_xt002_nerf_engineering") {}
bool OnCheck(Player* /*player*/, Unit* target)
bool OnCheck(Player* /*player*/, Unit* target) override
{
if (target)
if (InstanceScript* instance = target->GetInstanceScript())
@@ -1062,7 +1062,7 @@ class achievement_xt002_nerf_gravity_bombs : public AchievementCriteriaScript
public:
achievement_xt002_nerf_gravity_bombs() : AchievementCriteriaScript("achievement_xt002_nerf_gravity_bombs") {}
bool OnCheck(Player* /*player*/, Unit* target)
bool OnCheck(Player* /*player*/, Unit* target) override
{
if (target)
if (InstanceScript* instance = target->GetInstanceScript())

View File

@@ -325,7 +325,7 @@ class boss_yoggsaron_sara : public CreatureScript
public:
boss_yoggsaron_sara() : CreatureScript("boss_yoggsaron_sara") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_yoggsaron_saraAI (pCreature);
}
@@ -350,10 +350,10 @@ public:
uint8 _currentIllusion;
bool _isIllusionReversed;
void AttackStart(Unit*) { }
void MoveInLineOfSight(Unit*) { }
void AttackStart(Unit*) override { }
void MoveInLineOfSight(Unit*) override { }
void JustSummoned(Creature* cr)
void JustSummoned(Creature* cr) override
{
summons.Summon(cr);
if (cr->GetEntry() >= NPC_FREYA_KEEPER && cr->GetEntry() <= NPC_THORIM_KEEPER)
@@ -387,7 +387,7 @@ public:
me->SummonCreature(NPC_SANITY_WELL, 1899.94f, 0.330621f, 332.296f, 0.0f);
}
void EnterEvadeMode()
void EnterEvadeMode() override
{
if (!_EnterEvadeMode())
return;
@@ -415,7 +415,7 @@ public:
}
}
void Reset()
void Reset() override
{
summons.DoAction(ACTION_DESPAWN_ADDS);
events.Reset();
@@ -579,7 +579,7 @@ public:
}
}
void KilledUnit(Unit* who)
void KilledUnit(Unit* who) override
{
if (who->GetTypeId() != TYPEID_PLAYER)
return;
@@ -596,14 +596,14 @@ public:
}
}
void SpellHitTarget(Unit* target, const SpellInfo* spellInfo)
void SpellHitTarget(Unit* target, const SpellInfo* spellInfo) override
{
if (spellInfo->Id == SPELL_SANITY)
if (Aura* aur = target->GetAura(SPELL_SANITY))
aur->SetStackAmount(100);
}
uint32 GetData(uint32 param) const
uint32 GetData(uint32 param) const override
{
if (param == DATA_GET_KEEPERS_COUNT)
{
@@ -620,7 +620,7 @@ public:
return 4; // just to be sure, return max numer of keepers
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (param == ACTION_BRAIN_DAMAGED)
{
@@ -672,7 +672,7 @@ public:
me->CastSpell(me, SPELL_SHATTERED_ILLUSION, true);
}
void DamageTaken(Unit* who, uint32& damage, DamageEffectType, SpellSchoolMask)
void DamageTaken(Unit* who, uint32& damage, DamageEffectType, SpellSchoolMask) override
{
if (who && who->GetEntry() == NPC_GUARDIAN_OF_YS && !_secondPhase)
{
@@ -700,7 +700,7 @@ public:
damage = 0;
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (_initFight)
{
@@ -873,7 +873,7 @@ class boss_yoggsaron_cloud : public CreatureScript
public:
boss_yoggsaron_cloud() : CreatureScript("boss_yoggsaron_cloud") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_yoggsaron_cloudAI (pCreature);
}
@@ -890,7 +890,7 @@ public:
uint32 _checkTimer;
bool _isSummoning;
void JustSummoned(Creature* cr)
void JustSummoned(Creature* cr) override
{
cr->ToTempSummon()->SetTempSummonType(TEMPSUMMON_CORPSE_DESPAWN);
@@ -900,18 +900,18 @@ public:
sara->AI()->JustSummoned(cr);
}
void MoveInLineOfSight(Unit* /*who*/) {}
void AttackStart(Unit* /*who*/) {}
void WaypointReached(uint32 /*point*/) {}
void MoveInLineOfSight(Unit* /*who*/) override {}
void AttackStart(Unit* /*who*/) override {}
void WaypointReached(uint32 /*point*/) override {}
void Reset()
void Reset() override
{
me->CastSpell(me, SPELL_CLOUD_VISUAL, true);
_checkTimer = 0;
_isSummoning = false;
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (param == ACTION_UNSUMMON_CLOUDS)
{
@@ -945,7 +945,7 @@ public:
}
}
void UpdateEscortAI(uint32 diff)
void UpdateEscortAI(uint32 diff) override
{
_checkTimer += diff;
if (_checkTimer >= 500 && !_isSummoning)
@@ -969,7 +969,7 @@ class boss_yoggsaron_guardian_of_ys : public CreatureScript
public:
boss_yoggsaron_guardian_of_ys() : CreatureScript("boss_yoggsaron_guardian_of_ys") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_yoggsaron_guardian_of_ysAI (pCreature);
}
@@ -980,18 +980,18 @@ public:
uint32 _spellTimer;
void Reset()
void Reset() override
{
_spellTimer = 0;
me->SetInCombatWithZone();
}
void JustDied(Unit*)
void JustDied(Unit*) override
{
me->CastSpell((Unit*)NULL, SPELL_SHADOW_NOVA, true);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1013,7 +1013,7 @@ class boss_yoggsaron : public CreatureScript
public:
boss_yoggsaron() : CreatureScript("boss_yoggsaron") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_yoggsaronAI (pCreature);
}
@@ -1047,9 +1047,9 @@ public:
bool _thirdPhase;
bool _usedInsane;
void AttackStart(Unit*) { }
void AttackStart(Unit*) override { }
void JustSummoned(Creature* cr) { summons.Summon(cr); }
void JustSummoned(Creature* cr) override { summons.Summon(cr); }
void SummonImmortalGuardian()
{
@@ -1059,7 +1059,7 @@ public:
me->SummonCreature(NPC_IMMORTAL_GUARDIAN, me->GetPositionX() + dist * cos(o), me->GetPositionY() + dist * sin(o), 327.2 + Zplus, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000);
}
void JustDied(Unit* /*who*/)
void JustDied(Unit* /*who*/) override
{
summons.DespawnAll();
events.Reset();
@@ -1085,7 +1085,7 @@ public:
}
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (param == ACTION_DESPAWN_ADDS)
summons.DespawnAll();
@@ -1140,7 +1140,7 @@ public:
_usedInsane = true;
}
uint32 GetData(uint32 param) const
uint32 GetData(uint32 param) const override
{
if (param == DATA_GET_DRIVE_ME_CRAZY)
return !_usedInsane;
@@ -1148,13 +1148,13 @@ public:
return 0;
}
void SpellHit(Unit* /*caster*/, const SpellInfo* spellInfo)
void SpellHit(Unit* /*caster*/, const SpellInfo* spellInfo) override
{
if (spellInfo->Id == SPELL_IN_THE_MAWS_OF_THE_OLD_GOD)
me->AddLootMode(32);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!_thirdPhase)
return;
@@ -1196,7 +1196,7 @@ class boss_yoggsaron_brain : public CreatureScript
public:
boss_yoggsaron_brain() : CreatureScript("boss_yoggsaron_brain") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_yoggsaron_brainAI (pCreature);
}
@@ -1219,8 +1219,8 @@ public:
uint32 _induceTimer;
SummonList summons;
void Reset() { }
void JustSummoned(Creature* cr)
void Reset() override { }
void JustSummoned(Creature* cr) override
{
if (cr->GetEntry() == NPC_INFLUENCE_TENTACLE)
{
@@ -1332,7 +1332,7 @@ public:
me->SummonCreature(NPC_KING_LLANE, 1925.14f, 71.74f, 242.37f, 5.17f);
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (param == ACTION_DESPAWN_ADDS)
{
@@ -1384,7 +1384,7 @@ public:
me->CastSpell(me, SPELL_INDUCE_MADNESS, false);
}
uint32 GetData(uint32 param) const
uint32 GetData(uint32 param) const override
{
if (param == DATA_GET_CURRENT_ILLUSION)
return _activeIllusion + 1;
@@ -1392,7 +1392,7 @@ public:
return 0;
}
void DamageTaken(Unit* who, uint32& damage, DamageEffectType, SpellSchoolMask)
void DamageTaken(Unit* who, uint32& damage, DamageEffectType, SpellSchoolMask) override
{
if (_tentacleCount < 7) // if all tentacles aren't killed
{
@@ -1419,7 +1419,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (_induceTimer)
_induceTimer += diff;
@@ -1432,7 +1432,7 @@ class boss_yoggsaron_death_orb : public CreatureScript
public:
boss_yoggsaron_death_orb() : CreatureScript("boss_yoggsaron_death_orb") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_yoggsaron_death_orbAI (pCreature);
}
@@ -1447,7 +1447,7 @@ public:
uint32 _startTimer;
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (_startTimer)
{
@@ -1472,7 +1472,7 @@ class boss_yoggsaron_crusher_tentacle : public CreatureScript
public:
boss_yoggsaron_crusher_tentacle() : CreatureScript("boss_yoggsaron_crusher_tentacle") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_yoggsaron_crusher_tentacleAI (pCreature);
}
@@ -1487,12 +1487,12 @@ public:
me->CastSpell(me, SPELL_DIMINISH_POWER, false);
}
void Reset()
void Reset() override
{
me->SetInCombatWithZone();
}
void DamageTaken(Unit* who, uint32&, DamageEffectType damagetype, SpellSchoolMask)
void DamageTaken(Unit* who, uint32&, DamageEffectType damagetype, SpellSchoolMask) override
{
if (who && damagetype == DIRECT_DAMAGE)
{
@@ -1503,13 +1503,13 @@ public:
}
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (param == ACTION_REMOVE_STUN)
me->RemoveAura(SPELL_SHATTERED_ILLUSION);
}
void UpdateAI(uint32 /*diff*/)
void UpdateAI(uint32 /*diff*/) override
{
if (!UpdateVictim())
return;
@@ -1534,7 +1534,7 @@ class boss_yoggsaron_corruptor_tentacle : public CreatureScript
public:
boss_yoggsaron_corruptor_tentacle() : CreatureScript("boss_yoggsaron_corruptor_tentacle") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_yoggsaron_corruptor_tentacleAI (pCreature);
}
@@ -1546,7 +1546,7 @@ public:
SetCombatMovement(false);
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (param == ACTION_REMOVE_STUN)
me->RemoveAura(SPELL_SHATTERED_ILLUSION);
@@ -1572,7 +1572,7 @@ public:
return target;
}
void UpdateAI(uint32 /*diff*/)
void UpdateAI(uint32 /*diff*/) override
{
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
@@ -1591,7 +1591,7 @@ class boss_yoggsaron_constrictor_tentacle : public CreatureScript
public:
boss_yoggsaron_constrictor_tentacle() : CreatureScript("boss_yoggsaron_constrictor_tentacle") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_yoggsaron_constrictor_tentacleAI (pCreature);
}
@@ -1630,7 +1630,7 @@ public:
return target;
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (_checkTimer)
{
@@ -1651,13 +1651,13 @@ public:
}
}
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (param == ACTION_REMOVE_STUN)
me->RemoveAura(SPELL_SHATTERED_ILLUSION);
}
void JustDied(Unit*)
void JustDied(Unit*) override
{
if (Unit* player = ObjectAccessor::GetUnit(*me, _playerGUID))
player->RemoveAura(SPELL_SQUEEZE);
@@ -1670,7 +1670,7 @@ class boss_yoggsaron_keeper : public CreatureScript
public:
boss_yoggsaron_keeper() : CreatureScript("boss_yoggsaron_keeper") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_yoggsaron_keeperAI (pCreature);
}
@@ -1685,13 +1685,13 @@ public:
uint32 _checkTimer;
void DoAction(int32 param)
void DoAction(int32 param) override
{
if (me->GetEntry() == NPC_THORIM_KEEPER && param == ACTION_THORIM_START_STORM)
me->CastSpell(me, SPELL_TITANIC_STORM_PASSIVE, false);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (me->GetInstanceScript())
if (me->GetInstanceScript()->GetData(TYPE_YOGGSARON) != IN_PROGRESS)
@@ -1746,7 +1746,7 @@ class boss_yoggsaron_influence_tentacle : public CreatureScript
public:
boss_yoggsaron_influence_tentacle() : CreatureScript("boss_yoggsaron_influence_tentacle") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_yoggsaron_influence_tentacleAI (pCreature);
}
@@ -1758,13 +1758,13 @@ public:
me->CastSpell(me, SPELL_GRIM_REPRISAL, true);
}
void DamageTaken(Unit*, uint32&, DamageEffectType, SpellSchoolMask)
void DamageTaken(Unit*, uint32&, DamageEffectType, SpellSchoolMask) override
{
if (me->GetEntry() != NPC_INFLUENCE_TENTACLE)
me->UpdateEntry(NPC_INFLUENCE_TENTACLE, 0, false);
}
void JustDied(Unit*)
void JustDied(Unit*) override
{
if (me->IsSummon())
if (Unit* sara = me->ToTempSummon()->GetSummoner())
@@ -1778,7 +1778,7 @@ class boss_yoggsaron_immortal_guardian : public CreatureScript
public:
boss_yoggsaron_immortal_guardian() : CreatureScript("boss_yoggsaron_immortal_guardian") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_yoggsaron_immortal_guardianAI (pCreature);
}
@@ -1793,7 +1793,7 @@ public:
uint32 _visualTimer;
uint32 _spellTimer;
void Reset()
void Reset() override
{
me->CastSpell(me, SPELL_RECENTLY_SPAWNED, true);
//me->CastSpell(me, SPELL_EMPOWERED_PASSIVE, true);
@@ -1806,19 +1806,19 @@ public:
me->SetInCombatWithZone();
}
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask)
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
{
if (damage >= me->GetHealth())
damage = me->GetHealth() - 1;
}
void SpellHit(Unit* caster, const SpellInfo* spellInfo)
void SpellHit(Unit* caster, const SpellInfo* spellInfo) override
{
if (spellInfo->Id == SPELL_SHADOW_BEACON)
caster->GetAI()->DoAction(ACTION_YOGG_SARON_SHADOW_BEACON);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1866,7 +1866,7 @@ class boss_yoggsaron_lich_king : public CreatureScript
public:
boss_yoggsaron_lich_king() : CreatureScript("boss_yoggsaron_lich_king") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_yoggsaron_lich_kingAI (pCreature);
}
@@ -1881,7 +1881,7 @@ public:
uint64 _championGUID;
uint64 _yoggGUID;
void Reset()
void Reset() override
{
_running = true;
_checkTimer = 0;
@@ -1927,7 +1927,7 @@ public:
me->SendMessageToSetInRange(&data, 90, false);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!_running)
return;
@@ -1981,7 +1981,7 @@ class boss_yoggsaron_llane : public CreatureScript
public:
boss_yoggsaron_llane() : CreatureScript("boss_yoggsaron_llane") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_yoggsaron_llaneAI (pCreature);
}
@@ -1996,7 +1996,7 @@ public:
uint64 _garonaGUID;
uint64 _yoggGUID;
void Reset()
void Reset() override
{
_running = true;
_checkTimer = 0;
@@ -2042,7 +2042,7 @@ public:
me->SendMessageToSetInRange(&data, 90, false);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!_running)
return;
@@ -2103,7 +2103,7 @@ class boss_yoggsaron_neltharion : public CreatureScript
public:
boss_yoggsaron_neltharion() : CreatureScript("boss_yoggsaron_neltharion") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_yoggsaron_neltharionAI (pCreature);
}
@@ -2117,7 +2117,7 @@ public:
uint8 _step;
uint64 _yoggGUID;
void Reset()
void Reset() override
{
_running = true;
_checkTimer = 0;
@@ -2162,7 +2162,7 @@ public:
me->SendMessageToSetInRange(&data, 90, false);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!_running)
return;
@@ -2211,7 +2211,7 @@ class boss_yoggsaron_voice : public CreatureScript
public:
boss_yoggsaron_voice() : CreatureScript("boss_yoggsaron_voice") { }
CreatureAI* GetAI(Creature* pCreature) const
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_yoggsaron_voiceAI (pCreature);
}
@@ -2228,12 +2228,12 @@ public:
std::vector<uint64> _targets;
uint32 _current;
void Reset()
void Reset() override
{
me->CastSpell(me, SPELL_INSANE_PERIODIC, true);
}
void SpellHitTarget(Unit* target, const SpellInfo* spellInfo)
void SpellHitTarget(Unit* target, const SpellInfo* spellInfo) override
{
if (spellInfo->Id == SPELL_INSANE1)
{
@@ -2247,7 +2247,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
events.Update(diff);
switch (events.ExecuteEvent())
@@ -2289,14 +2289,14 @@ public:
GetUnitOwner()->CastCustomSpell(SPELL_MALADY_OF_THE_MIND_TRIGGER, SPELLVALUE_MAX_TARGETS, 1, GetUnitOwner(), true);
}
void Register()
void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_yogg_saron_malady_of_the_mind_AuraScript::OnApply, EFFECT_1, SPELL_AURA_MOD_FEAR, AURA_EFFECT_HANDLE_REAL);
OnEffectRemove += AuraEffectRemoveFn(spell_yogg_saron_malady_of_the_mind_AuraScript::OnRemove, EFFECT_1, SPELL_AURA_MOD_FEAR, AURA_EFFECT_HANDLE_REAL);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_yogg_saron_malady_of_the_mind_AuraScript();
}
@@ -2360,7 +2360,7 @@ public:
owner->CastSpell(_target, SPELL_BRAIN_LINK_OK, true);
}
void Register()
void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_yogg_saron_brain_link_AuraScript::HandleOnEffectApply, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
OnEffectPeriodic += AuraEffectPeriodicFn(spell_yogg_saron_brain_link_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
@@ -2370,7 +2370,7 @@ public:
uint64 _targetGUID;
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_yogg_saron_brain_link_AuraScript();
}
@@ -2391,13 +2391,13 @@ public:
targets.push_back(*itr);
}
void Register()
void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_yogg_saron_brain_link_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_brain_link_SpellScript();
}
@@ -2434,14 +2434,14 @@ public:
targets.push_back(target);
}
void Register()
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_yogg_saron_destabilization_matrix_SpellScript::HandleDummyEffect, EFFECT_0, SPELL_EFFECT_DUMMY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_yogg_saron_destabilization_matrix_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_destabilization_matrix_SpellScript();
}
@@ -2478,14 +2478,14 @@ public:
targets.push_back(target);
}
void Register()
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_yogg_saron_titanic_storm_SpellScript::HandleDummyEffect, EFFECT_0, SPELL_EFFECT_DUMMY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_yogg_saron_titanic_storm_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_titanic_storm_SpellScript();
}
@@ -2512,13 +2512,13 @@ public:
targets.push_back(*itr);
}
void Register()
void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_yogg_saron_lunatic_gaze_SpellScript::FilterTargets, EFFECT_ALL, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_lunatic_gaze_SpellScript();
}
@@ -2552,14 +2552,14 @@ public:
absorbAmount = dmgInfo.GetDamage();
}
void Register()
void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_yogg_saron_protective_gaze_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_SCHOOL_ABSORB);
OnEffectAbsorb += AuraEffectAbsorbFn(spell_yogg_saron_protective_gaze_AuraScript::Absorb, EFFECT_0);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_yogg_saron_protective_gaze_AuraScript();
}
@@ -2591,13 +2591,13 @@ public:
}
}
void Register()
void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_yogg_saron_empowered_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_yogg_saron_empowered_AuraScript();
}
@@ -2638,14 +2638,14 @@ public:
targets.push_back(*itr);
}
void Register()
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_yogg_saron_insane_periodic_trigger_SpellScript::HandleDummyEffect, EFFECT_0, SPELL_EFFECT_DUMMY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_yogg_saron_insane_periodic_trigger_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_insane_periodic_trigger_SpellScript();
}
@@ -2665,13 +2665,13 @@ public:
Unit::Kill(GetUnitOwner(), GetUnitOwner());
}
void Register()
void Register() override
{
OnEffectRemove += AuraEffectRemoveFn(spell_yogg_saron_insane_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_AOE_CHARM, AURA_EFFECT_HANDLE_REAL);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_yogg_saron_insane_AuraScript();
}
@@ -2702,14 +2702,14 @@ public:
aur->SetStackAmount(std::min(100, aur->GetStackAmount() + 20));
}
void Register()
void Register() override
{
DoEffectCalcPeriodic += AuraEffectCalcPeriodicFn(spell_yogg_saron_sanity_well_AuraScript::HandleEffectCalcPeriodic, EFFECT_0, SPELL_AURA_MOD_DAMAGE_PERCENT_DONE);
OnEffectPeriodic += AuraEffectPeriodicFn(spell_yogg_saron_sanity_well_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_MOD_DAMAGE_PERCENT_DONE);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_yogg_saron_sanity_well_AuraScript();
}
@@ -2773,13 +2773,13 @@ public:
}
}
void Register()
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_yogg_saron_sanity_reduce_SpellScript::HandleScriptEffect, EFFECT_FIRST_FOUND, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_sanity_reduce_SpellScript();
}
@@ -2801,13 +2801,13 @@ public:
target->CastSpell(target, target->GetMap()->Is25ManRaid() ? 64486 : 64468, true); // SPELL_EMPOWERING_SHADOWS_HEAL
}
void Register()
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_yogg_saron_empowering_shadows_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_empowering_shadows_SpellScript();
}
@@ -2838,13 +2838,13 @@ public:
return SPELL_CAST_OK;
}
void Register()
void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_yogg_saron_in_the_maws_of_the_old_god_SpellScript::CheckCast);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_in_the_maws_of_the_old_god_SpellScript();
}
@@ -2868,13 +2868,13 @@ public:
}
}
void Register()
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_yogg_saron_target_selectors_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_target_selectors_SpellScript();
}
@@ -2889,7 +2889,7 @@ public:
{
PrepareAuraScript(spell_yogg_saron_grim_reprisal_AuraScript);
bool Validate(SpellInfo const* /*spellInfo*/)
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_GRIM_REPRISAL_DAMAGE))
return false;
@@ -2902,13 +2902,13 @@ public:
GetTarget()->CastCustomSpell(SPELL_GRIM_REPRISAL_DAMAGE, SPELLVALUE_BASE_POINT0, damage, eventInfo.GetDamageInfo()->GetAttacker(), true, NULL, aurEff);
}
void Register()
void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_yogg_saron_grim_reprisal_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_yogg_saron_grim_reprisal_AuraScript();
}
@@ -2919,7 +2919,7 @@ class achievement_yogg_saron_drive_me_crazy : public AchievementCriteriaScript
public:
achievement_yogg_saron_drive_me_crazy() : AchievementCriteriaScript("achievement_yogg_saron_drive_me_crazy") {}
bool OnCheck(Player* /*player*/, Unit* target)
bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetAI()->GetData(DATA_GET_DRIVE_ME_CRAZY); // target = Yogg-Saron
}
@@ -2933,7 +2933,7 @@ public:
{
}
bool OnCheck(Player* player, Unit* /*target*/ /*Yogg-Saron*/)
bool OnCheck(Player* player, Unit* /*target*/ /*Yogg-Saron*/) override
{
if (player->GetInstanceScript())
if (Creature* sara = ObjectAccessor::GetCreature(*player, player->GetInstanceScript()->GetData64(NPC_SARA)))
@@ -2954,7 +2954,7 @@ public:
{
}
bool OnCheck(Player* player, Unit* /*target*/ /*Yogg-Saron*/)
bool OnCheck(Player* player, Unit* /*target*/ /*Yogg-Saron*/) override
{
if (player->GetInstanceScript())
if (Creature* sara = ObjectAccessor::GetCreature(*player, player->GetInstanceScript()->GetData64(NPC_BRAIN_OF_YOGG_SARON)))
@@ -2973,7 +2973,7 @@ class achievement_yogg_saron_kiss_and_make_up : public AchievementCriteriaScript
public:
achievement_yogg_saron_kiss_and_make_up() : AchievementCriteriaScript("achievement_yogg_saron_kiss_and_make_up") {}
bool OnCheck(Player* /*player*/, Unit* target /*Sara*/)
bool OnCheck(Player* /*player*/, Unit* target /*Sara*/) override
{
return target && target->GetEntry() == NPC_SARA && target->GetAI() && target->GetAI()->GetData(DATA_GET_SARA_PHASE);
}

View File

@@ -16,7 +16,7 @@ class instance_ulduar : public InstanceMapScript
public:
instance_ulduar() : InstanceMapScript("instance_ulduar", 603) { }
InstanceScript* GetInstanceScript(InstanceMap* pMap) const
InstanceScript* GetInstanceScript(InstanceMap* pMap) const override
{
return new instance_ulduar_InstanceMapScript(pMap);
}
@@ -100,7 +100,7 @@ public:
uint64 m_keepersGossipGUID[4];
void Initialize()
void Initialize() override
{
// Bosses
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
@@ -174,13 +174,13 @@ public:
m_keepersgateGUID = 0;
}
void FillInitialWorldStates(WorldPacket& packet)
void FillInitialWorldStates(WorldPacket& packet) override
{
packet << uint32(WORLD_STATE_ALGALON_TIMER_ENABLED) << uint32(m_algalonTimer && m_algalonTimer <= 60);
packet << uint32(WORLD_STATE_ALGALON_DESPAWN_TIMER) << uint32(std::min<uint32>(m_algalonTimer, 60));
}
void OnPlayerEnter(Player* player)
void OnPlayerEnter(Player* player) override
{
// mimiron tram:
instance->LoadGrid(2307.0f, 284.632f);
@@ -206,7 +206,7 @@ public:
}
}
bool IsEncounterInProgress() const
bool IsEncounterInProgress() const override
{
for (uint8 i = 0; i < (MAX_ENCOUNTER - 1); ++i)
{
@@ -223,14 +223,14 @@ public:
return false;
}
void ProcessEvent(WorldObject* /*obj*/, uint32 eventId)
void ProcessEvent(WorldObject* /*obj*/, uint32 eventId) override
{
// destory towers
if (eventId >= EVENT_TOWER_OF_LIFE_DESTROYED && eventId <= EVENT_TOWER_OF_FLAMES_DESTROYED)
SetData(eventId, 0);
}
void OnCreatureCreate(Creature* creature)
void OnCreatureCreate(Creature* creature) override
{
switch(creature->GetEntry())
{
@@ -353,7 +353,7 @@ public:
}
}
void OnCreatureRemove(Creature* creature)
void OnCreatureRemove(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -383,7 +383,7 @@ public:
cr->SetVisible(on);
}
void OnGameObjectCreate(GameObject* gameObject)
void OnGameObjectCreate(GameObject* gameObject) override
{
switch (gameObject->GetEntry())
{
@@ -567,7 +567,7 @@ public:
}
}
void SetData(uint32 type, uint32 data)
void SetData(uint32 type, uint32 data) override
{
switch(type)
{
@@ -728,7 +728,7 @@ public:
}
}
uint64 GetData64(uint32 data) const
uint64 GetData64(uint32 data) const override
{
switch(data)
{
@@ -848,7 +848,7 @@ public:
return 0;
}
uint32 GetData(uint32 type) const
uint32 GetData(uint32 type) const override
{
switch(type)
{
@@ -885,7 +885,7 @@ public:
return 0;
}
void OnUnitDeath(Unit* unit)
void OnUnitDeath(Unit* unit) override
{
// Feeds on Tears achievement
if (unit->GetTypeId() == TYPEID_PLAYER)
@@ -926,7 +926,7 @@ public:
}
}
std::string GetSaveData()
std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -941,7 +941,7 @@ public:
return saveStream.str();
}
void Load(const char* strIn)
void Load(const char* strIn) override
{
if (!strIn)
{
@@ -989,7 +989,7 @@ public:
}
void Update(uint32 diff)
void Update(uint32 diff) override
{
if (_events.Empty())
return;
@@ -1019,7 +1019,7 @@ public:
void SpawnLeviathanEncounterVehicles(uint8 mode);
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)
{

View File

@@ -176,13 +176,13 @@ public:
target->CastSpell(target, (aurEff->GetId() == 64740) ? 64747 : 64863, true);
}
void Register()
void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_ulduar_energy_sap_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_ulduar_energy_sap_AuraScript();
}
@@ -193,7 +193,7 @@ class npc_ulduar_snow_mound : public CreatureScript
public:
npc_ulduar_snow_mound() : CreatureScript("npc_ulduar_snow_mound") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_ulduar_snow_moundAI(creature);
}
@@ -208,7 +208,7 @@ public:
bool activated;
void MoveInLineOfSight(Unit* who)
void MoveInLineOfSight(Unit* who) override
{
if (!activated && who->GetTypeId() == TYPEID_PLAYER)
if (me->GetExactDist2d(who) <= 25.0f && me->GetMap()->isInLineOfSight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 5.0f, who->GetPositionX(), who->GetPositionY(), who->GetPositionZ() + 5.0f, 2, LINEOFSIGHT_ALL_CHECKS))
@@ -231,7 +231,7 @@ public:
}
}
void UpdateAI(uint32 /*diff*/) {}
void UpdateAI(uint32 /*diff*/) override {}
};
};
@@ -240,7 +240,7 @@ class npc_ulduar_storm_tempered_keeper : public CreatureScript
public:
npc_ulduar_storm_tempered_keeper() : CreatureScript("npc_ulduar_storm_tempered_keeper") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_ulduar_storm_tempered_keeperAI(creature);
}
@@ -255,12 +255,12 @@ public:
EventMap events;
uint64 otherGUID;
void Reset()
void Reset() override
{
events.Reset();
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) override
{
events.Reset();
events.ScheduleEvent(1, 2000); // checking Separation Anxiety, Charged Sphere
@@ -272,19 +272,19 @@ public:
me->CastSpell(me, 63630, true); // Vengeful Surge
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) override
{
if (Creature* c = ObjectAccessor::GetCreature(*me, otherGUID))
c->CastSpell(c, 63630, true); // Vengeful Surge
}
void JustSummoned(Creature* s)
void JustSummoned(Creature* s) override
{
if (Creature* c = ObjectAccessor::GetCreature(*me, otherGUID))
s->GetMotionMaster()->MoveFollow(c, 0.0f, 0.0f);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -329,7 +329,7 @@ class npc_ulduar_arachnopod_destroyer : public CreatureScript
public:
npc_ulduar_arachnopod_destroyer() : CreatureScript("npc_ulduar_arachnopod_destroyer") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_ulduar_arachnopod_destroyerAI(creature);
}
@@ -345,7 +345,7 @@ public:
EventMap events;
bool _spawnedMechanic;
void Reset()
void Reset() override
{
events.Reset();
events.ScheduleEvent(1, urand(5000, 8000)); // Flame Spray
@@ -353,13 +353,13 @@ public:
events.ScheduleEvent(3, 1000); // Charged Leap
}
void PassengerBoarded(Unit* p, int8 /*seat*/, bool /*apply*/)
void PassengerBoarded(Unit* p, int8 /*seat*/, bool /*apply*/) override
{
me->setFaction(p->getFaction());
me->SetReactState(REACT_PASSIVE);
}
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask)
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
{
if (!_spawnedMechanic && me->HealthBelowPctDamaged(20, damage))
{
@@ -376,21 +376,21 @@ public:
}
}
void AttackStart(Unit* who)
void AttackStart(Unit* who) override
{
if (me->getFaction() == 16)
ScriptedAI::AttackStart(who);
}
void EnterEvadeMode()
void EnterEvadeMode() override
{
if (me->getFaction() == 16)
ScriptedAI::EnterEvadeMode();
}
void OnCharmed(bool /*apply*/) {}
void OnCharmed(bool /*apply*/) override {}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) override
{
if (me->getFaction() != 16)
{
@@ -454,13 +454,13 @@ public:
Unit::Kill(c, c, false);
}
void Register()
void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_ulduar_arachnopod_damaged_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
AuraScript* GetAuraScript() const
AuraScript* GetAuraScript() const override
{
return new spell_ulduar_arachnopod_damaged_AuraScript();
}
@@ -475,7 +475,7 @@ public:
{
}
bool OnTrigger(Player* player, AreaTrigger const* /*trigger*/)
bool OnTrigger(Player* player, AreaTrigger const* /*trigger*/) override
{
if (player->IsAlive())
if (uint32 questId = (player->GetMap()->Is25ManRaid() ? 13816 : 13607 /*QUEST_CELESTIAL_PLANETARIUM*/))