aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Northrend
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/scripts/Northrend')
-rw-r--r--src/server/scripts/Northrend/zone_storm_peaks.cpp41
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);
}