aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroffl <11556157+offl@users.noreply.github.com>2022-02-27 18:52:45 +0200
committerGitHub <noreply@github.com>2022-02-27 18:52:45 +0200
commit45d6cd42b70eb9f28e0d37cec0949281cfa80a6d (patch)
tree036740d5d3335fa7c51b42500be7f58de5fce139
parente898b6e7942971a9bc96af54737ee971b99073a8 (diff)
Scripts/Quest: Update 'Mounting Hodir's Helm' (#27832)
-rw-r--r--sql/updates/world/3.3.5/2022_02_27_00_world.sql3
-rw-r--r--src/server/scripts/Northrend/zone_storm_peaks.cpp41
-rw-r--r--src/server/scripts/Spells/spell_quest.cpp34
3 files changed, 44 insertions, 34 deletions
diff --git a/sql/updates/world/3.3.5/2022_02_27_00_world.sql b/sql/updates/world/3.3.5/2022_02_27_00_world.sql
new file mode 100644
index 00000000000..00ed32a167f
--- /dev/null
+++ b/sql/updates/world/3.3.5/2022_02_27_00_world.sql
@@ -0,0 +1,3 @@
+--
+UPDATE `spell_script_names` SET `ScriptName` = 'spell_read_pronouncement' WHERE `ScriptName` = 'spell_q12987_read_pronouncement';
+DELETE FROM `creature_text` WHERE `CreatureID` = 30215;
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);
}
diff --git a/src/server/scripts/Spells/spell_quest.cpp b/src/server/scripts/Spells/spell_quest.cpp
index a39e997c541..ba19f1b62a7 100644
--- a/src/server/scripts/Spells/spell_quest.cpp
+++ b/src/server/scripts/Spells/spell_quest.cpp
@@ -898,39 +898,6 @@ class spell_q14076_14092_pound_drum : public SpellScript
}
};
-enum HodirsHelm
-{
- SAY_1 = 1,
- SAY_2 = 2,
- NPC_KILLCREDIT = 30210, // Hodir's Helm KC Bunny
- NPC_ICE_SPIKE_BUNNY = 30215
-};
-
-// 56278 - Read Pronouncement
-class spell_q12987_read_pronouncement : public AuraScript
-{
- PrepareAuraScript(spell_q12987_read_pronouncement);
-
- void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
- {
- // player must cast kill credit and do emote text, according to sniff
- if (Player* target = GetTarget()->ToPlayer())
- {
- if (Creature* trigger = target->FindNearestCreature(NPC_ICE_SPIKE_BUNNY, 25.0f))
- {
- sCreatureTextMgr->SendChat(trigger, SAY_1, target, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, target);
- target->KilledMonsterCredit(NPC_KILLCREDIT);
- sCreatureTextMgr->SendChat(trigger, SAY_2, target, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, target);
- }
- }
- }
-
- void Register() override
- {
- AfterEffectApply += AuraEffectApplyFn(spell_q12987_read_pronouncement::OnApply, EFFECT_0, SPELL_AURA_NONE, AURA_EFFECT_HANDLE_REAL);
- }
-};
-
enum LeaveNothingToChance
{
NPC_UPPER_MINE_SHAFT = 27436,
@@ -2344,7 +2311,6 @@ void AddSC_quest_spell_scripts()
RegisterSpellScript(spell_q14112_14145_chum_the_water);
RegisterSpellScript(spell_q9452_cast_net);
RegisterSpellScript(spell_q14076_14092_pound_drum);
- RegisterSpellScript(spell_q12987_read_pronouncement);
RegisterSpellScript(spell_q12277_wintergarde_mine_explosion);
RegisterSpellScript(spell_q12066_bunny_kill_credit);
RegisterSpellScript(spell_q12735_song_of_cleansing);