From 050f55b62fded4cc73b76e42d56d98ea950cc26a Mon Sep 17 00:00:00 2001 From: offl <11556157+offl@users.noreply.github.com> Date: Fri, 18 Feb 2022 19:14:44 +0200 Subject: Core/AI: OnSpellCast, OnSpellFailed, OnSpellStart hooks (#27704) (cherry picked from commit 3dca705acc953d20e4a43d4c2b3c97a84e5ab346) --- .../Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp | 6 +----- src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp | 4 ++-- .../scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp | 5 ++--- .../Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp | 5 ++--- .../Outland/TempestKeep/botanica/boss_commander_sarannis.cpp | 5 ++--- .../scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp | 5 ++--- 6 files changed, 11 insertions(+), 19 deletions(-) (limited to 'src/server/scripts') 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); -- cgit v1.2.3