diff options
| author | offl <11556157+offl@users.noreply.github.com> | 2022-02-27 18:52:45 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-27 18:52:45 +0200 |
| commit | 45d6cd42b70eb9f28e0d37cec0949281cfa80a6d (patch) | |
| tree | 036740d5d3335fa7c51b42500be7f58de5fce139 /src/server/scripts/Northrend | |
| parent | e898b6e7942971a9bc96af54737ee971b99073a8 (diff) | |
Scripts/Quest: Update 'Mounting Hodir's Helm' (#27832)
Diffstat (limited to 'src/server/scripts/Northrend')
| -rw-r--r-- | src/server/scripts/Northrend/zone_storm_peaks.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/server/scripts/Northrend/zone_storm_peaks.cpp b/src/server/scripts/Northrend/zone_storm_peaks.cpp index 0421465002f..b973b685dcb 100644 --- a/src/server/scripts/Northrend/zone_storm_peaks.cpp +++ b/src/server/scripts/Northrend/zone_storm_peaks.cpp @@ -20,6 +20,7 @@ #include "GameObject.h" #include "MotionMaster.h" #include "ObjectAccessor.h" +#include "ObjectMgr.h" #include "Player.h" #include "ScriptedEscortAI.h" #include "ScriptedGossip.h" @@ -1319,6 +1320,45 @@ class spell_q12823_remove_collapsing_cave_aura : public SpellScript } }; +/*###### +## Quest 12987: Mounting Hodir's Helm +######*/ + +enum MountingHodirsHelm +{ + TEXT_PRONOUNCEMENT_1 = 30906, + TEXT_PRONOUNCEMENT_2 = 30907, + NPC_HODIRS_HELM_KC = 30210 +}; + +// 56278 - Read Pronouncement +class spell_read_pronouncement : public AuraScript +{ + PrepareAuraScript(spell_read_pronouncement); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return sObjectMgr->GetBroadcastText(TEXT_PRONOUNCEMENT_1) && + sObjectMgr->GetBroadcastText(TEXT_PRONOUNCEMENT_2) && + sObjectMgr->GetCreatureTemplate(NPC_HODIRS_HELM_KC); + } + + void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) + { + if (Player* target = GetTarget()->ToPlayer()) + { + target->Unit::Whisper(TEXT_PRONOUNCEMENT_1, target, true); + target->KilledMonsterCredit(NPC_HODIRS_HELM_KC); + target->Unit::Whisper(TEXT_PRONOUNCEMENT_2, target, true); + } + } + + void Register() override + { + AfterEffectApply += AuraEffectApplyFn(spell_read_pronouncement::OnApply, EFFECT_0, SPELL_AURA_NONE, AURA_EFFECT_HANDLE_REAL); + } +}; + void AddSC_storm_peaks() { new npc_roxi_ramrocket(); @@ -1342,4 +1382,5 @@ void AddSC_storm_peaks() new spell_fatal_strike(); new spell_player_mount_wyrm(); RegisterSpellScript(spell_q12823_remove_collapsing_cave_aura); + RegisterSpellScript(spell_read_pronouncement); } |
