diff --git a/sql/updates/world/2013_12_01_05_world_misc.sql b/sql/updates/world/2013_12_01_05_world_misc.sql new file mode 100644 index 0000000000000..7c0fbe48985d9 --- /dev/null +++ b/sql/updates/world/2013_12_01_05_world_misc.sql @@ -0,0 +1,10 @@ +DELETE FROM `spell_scripts` WHERE `id` IN (52160,52163); +DELETE FROM `db_script_string` WHERE `entry` IN (2000000107,2000000108); +DELETE FROM `spell_script_names` WHERE `spell_id` IN (52160,52163); +INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES +(52160, 'spell_shango_tracks'), +(52163, 'spell_shango_tracks'); +DELETE FROM `trinity_string` WHERE `entry` IN (28634,28635); +INSERT INTO `trinity_string` (`entry`,`content_default`) VALUES +(28634, 'These tracks must belong to Shango.'), +(28635, 'These aren''t Shango''s tracks.'); diff --git a/src/server/scripts/Northrend/zone_sholazar_basin.cpp b/src/server/scripts/Northrend/zone_sholazar_basin.cpp index 77b85037a0123..a4fbe29d1b2a6 100644 --- a/src/server/scripts/Northrend/zone_sholazar_basin.cpp +++ b/src/server/scripts/Northrend/zone_sholazar_basin.cpp @@ -1082,6 +1082,57 @@ class npc_vics_flying_machine : public CreatureScript } }; +/*###### +## Quest Dreadsaber Mastery: Stalking the Prey (12550) +######*/ + +enum ShangoTracks +{ + SPELL_CORRECT_TRACKS = 52160, + SPELL_INCORRECT_TRACKS = 52163, + SAY_CORRECT_TRACKS = 28634, + SAY_INCORRECT_TRACKS = 28635 +}; + +class spell_shango_tracks : public SpellScriptLoader +{ +public: + spell_shango_tracks() : SpellScriptLoader("spell_shango_tracks") { } + + class spell_shango_tracks_SpellScript : public SpellScript + { + PrepareSpellScript(spell_shango_tracks_SpellScript); + + void HandleScript(SpellEffIndex effIndex) + { + if (Player* player = GetHitUnit()->ToPlayer()) + { + switch (GetSpellInfo()->Id) + { + case SPELL_CORRECT_TRACKS: + player->Say(sObjectMgr->GetTrinityStringForDBCLocale(SAY_CORRECT_TRACKS), LANG_UNIVERSAL); + break; + case SPELL_INCORRECT_TRACKS: + player->Say(sObjectMgr->GetTrinityStringForDBCLocale(SAY_INCORRECT_TRACKS), LANG_UNIVERSAL); + break; + default: + break; + } + } + } + + void Register() OVERRIDE + { + OnEffectHitTarget += SpellEffectFn(spell_shango_tracks_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } + }; + + SpellScript* GetSpellScript() const OVERRIDE + { + return new spell_shango_tracks_SpellScript(); + } +}; + void AddSC_sholazar_basin() { new npc_injured_rainspeaker_oracle(); @@ -1095,4 +1146,5 @@ void AddSC_sholazar_basin() new spell_q12589_shoot_rjr(); new npc_haiphoon(); new npc_vics_flying_machine(); + new spell_shango_tracks(); }