Scripts/Quest: Update 'Mounting Hodir's Helm' (#27832)

This commit is contained in:
offl
2022-02-27 18:52:45 +02:00
committed by GitHub
parent e898b6e794
commit 45d6cd42b7
3 changed files with 44 additions and 34 deletions

View File

@@ -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;

View File

@@ -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);
}

View File

@@ -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);