diff options
author | offl <11556157+offl@users.noreply.github.com> | 2022-02-18 19:14:44 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-03-26 15:15:46 +0100 |
commit | 050f55b62fded4cc73b76e42d56d98ea950cc26a (patch) | |
tree | c68bc4d938bd6b5298986dfeac578f4ba6d6028c /src/server/scripts | |
parent | bb18bd47e52dc4d53623496e42d9cef96f819468 (diff) |
Core/AI: OnSpellCast, OnSpellFailed, OnSpellStart hooks (#27704)
(cherry picked from commit 3dca705acc953d20e4a43d4c2b3c97a84e5ab346)
Diffstat (limited to 'src/server/scripts')
6 files changed, 11 insertions, 19 deletions
diff --git a/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp b/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp index be8b07d182b..7169440b308 100644 --- a/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp +++ b/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp @@ -24,7 +24,6 @@ #include "ObjectAccessor.h" #include "ScriptMgr.h" #include "ScriptedCreature.h" -#include "Spell.h" #include "SpellAuras.h" #include "SpellScript.h" #include "SpellAuraEffects.h" @@ -247,11 +246,8 @@ struct boss_garothi_worldbreaker : public BossAI instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me); } - void OnSpellCastFinished(SpellInfo const* spell, SpellFinishReason reason) override + void OnSpellCast(SpellInfo const* spell) override { - if (reason != SPELL_FINISHED_SUCCESSFUL_CAST) - return; - switch (spell->Id) { case SPELL_APOCALYPSE_DRIVE_FINAL_DAMAGE: diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp index be6d571baa2..489800274d5 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp @@ -1322,9 +1322,9 @@ struct npc_shambling_horror_icc : public ScriptedAI DoMeleeAttackIfReady(); } - void OnSpellCastFinished(SpellInfo const* spell, SpellFinishReason reason) override + void OnSpellFailed(SpellInfo const* spell) override { - if (reason == SPELL_FINISHED_CANCELED && spell->Id == ENRAGE) + if (spell->Id == ENRAGE) _events.RescheduleEvent(EVENT_ENRAGE, 1s); } diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp index c202169e720..a92c7845153 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp @@ -19,7 +19,6 @@ #include "halls_of_stone.h" #include "InstanceScript.h" #include "ScriptedCreature.h" -#include "Spell.h" #include "SpellInfo.h" #include "SpellMgr.h" @@ -83,9 +82,9 @@ struct boss_maiden_of_grief : public BossAI Talk(SAY_SLAY); } - void OnSpellCastFinished(SpellInfo const* spell, SpellFinishReason reason) override + void OnSpellCast(SpellInfo const* spell) override { - if (reason == SPELL_FINISHED_SUCCESSFUL_CAST && spell->Id == SPELL_SHOCK_OF_SORROW) + if (spell->Id == SPELL_SHOCK_OF_SORROW) Talk(SAY_STUN); } diff --git a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp index a0a120b46f3..5fecee52b14 100644 --- a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp +++ b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp @@ -20,7 +20,6 @@ #include "ObjectAccessor.h" #include "Player.h" #include "ScriptedCreature.h" -#include "Spell.h" #include "SpellInfo.h" #include "SpellScript.h" @@ -122,9 +121,9 @@ struct boss_exarch_maladaar : public BossAI } } - void OnSpellCastFinished(SpellInfo const* spell, SpellFinishReason reason) override + void OnSpellCast(SpellInfo const* spell) override { - if (reason == SPELL_FINISHED_SUCCESSFUL_CAST && spell->Id == SPELL_STOLEN_SOUL) + if (spell->Id == SPELL_STOLEN_SOUL) if (roll_chance_i(25)) Talk(SAY_SOUL_CLEAVE); } diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp index ffccab6b686..a637298c64e 100644 --- a/src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp +++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp @@ -17,7 +17,6 @@ #include "ScriptMgr.h" #include "ScriptedCreature.h" -#include "Spell.h" #include "SpellInfo.h" #include "SpellScript.h" #include "the_botanica.h" @@ -97,9 +96,9 @@ struct boss_commander_sarannis : public BossAI } } - void OnSpellCastFinished(SpellInfo const* spell, SpellFinishReason reason) override + void OnSpellCast(SpellInfo const* spell) override { - if (reason == SPELL_FINISHED_SUCCESSFUL_CAST && spell->Id == SPELL_SUMMON_REINFORCEMENTS) + if (spell->Id == SPELL_SUMMON_REINFORCEMENTS) Talk(SAY_SUMMON); } diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp index c8c5dd4d2e8..e4672be695a 100644 --- a/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp +++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp @@ -17,7 +17,6 @@ #include "ScriptMgr.h" #include "ScriptedCreature.h" -#include "Spell.h" #include "SpellInfo.h" #include "the_botanica.h" @@ -82,9 +81,9 @@ struct boss_warp_splinter : public BossAI Talk(SAY_DEATH); } - void OnSpellCastFinished(SpellInfo const* spell, SpellFinishReason reason) override + void OnSpellCast(SpellInfo const* spell) override { - if (reason == SPELL_FINISHED_SUCCESSFUL_CAST && spell->Id == SPELL_SUMMON_SAPLINGS) + if (spell->Id == SPELL_SUMMON_SAPLINGS) { for (uint32 summonSpells : SummonSaplingsSpells) DoCastSelf(summonSpells, true); |