From a771f210a62bf3660b20219aefe67a01bc4cf905 Mon Sep 17 00:00:00 2001 From: Meji Date: Sun, 27 Oct 2024 14:02:12 +0100 Subject: Scripts/Durotar: Handle phase aura application for Hellscream's Fist areatrigger (8595) --- src/server/scripts/Kalimdor/zone_durotar.cpp | 32 ++++++++++++++++++++++++++ src/server/scripts/Kalimdor/zone_orgrimmar.cpp | 1 + 2 files changed, 33 insertions(+) (limited to 'src') diff --git a/src/server/scripts/Kalimdor/zone_durotar.cpp b/src/server/scripts/Kalimdor/zone_durotar.cpp index 4d959dce9c1..181151a15a7 100644 --- a/src/server/scripts/Kalimdor/zone_durotar.cpp +++ b/src/server/scripts/Kalimdor/zone_durotar.cpp @@ -27,6 +27,14 @@ #include "PassiveAI.h" #include "ObjectAccessor.h" +namespace Durotar +{ + namespace Spells + { + static constexpr uint32 PhasePlayer = 130750; + } +} + /*###### ## Quest 37446: Lazy Peons ## npc_lazy_peon @@ -1211,6 +1219,27 @@ private: ObjectGuid _brazierGUID; }; +// 8595 - Hellscream's Fist Gunship +class at_hellscreams_fist_gunship : public AreaTriggerScript +{ +public: + at_hellscreams_fist_gunship() : AreaTriggerScript("at_hellscreams_fist_gunship") { } + + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override + { + player->CastSpell(player, Durotar::Spells::PhasePlayer, CastSpellExtraArgsInit{ + .TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR, + }); + return true; + } + + bool OnExit(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override + { + player->RemoveAurasDueToSpell(Durotar::Spells::PhasePlayer); + return true; + } +}; + void AddSC_durotar() { new npc_lazy_peon(); @@ -1251,4 +1280,7 @@ void AddSC_durotar() new quest_proving_pit("quest_proving_pit_monk"); RegisterCreatureAI(npc_voljin_garrosh_vision); RegisterCreatureAI(npc_voljin_thrall_vision); + + // Hellscream's Fist + new at_hellscreams_fist_gunship(); } diff --git a/src/server/scripts/Kalimdor/zone_orgrimmar.cpp b/src/server/scripts/Kalimdor/zone_orgrimmar.cpp index 1ebdeb54e7f..31ddbac6e11 100644 --- a/src/server/scripts/Kalimdor/zone_orgrimmar.cpp +++ b/src/server/scripts/Kalimdor/zone_orgrimmar.cpp @@ -75,5 +75,6 @@ class spell_art_of_war_movie_aura : public AuraScript void AddSC_orgrimmar() { + // Grommash Hold RegisterSpellScript(spell_art_of_war_movie_aura); } -- cgit v1.2.3