aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2013_12_01_05_world_misc.sql10
-rw-r--r--src/server/scripts/Northrend/zone_sholazar_basin.cpp52
2 files changed, 62 insertions, 0 deletions
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 00000000000..7c0fbe48985
--- /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 77b85037a01..a4fbe29d1b2 100644
--- a/src/server/scripts/Northrend/zone_sholazar_basin.cpp
+++ b/src/server/scripts/Northrend/zone_sholazar_basin.cpp
@@ -1082,6 +1082,57 @@ public:
}
};
+/*######
+## 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();
}