aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/master/2017_03_11_01_world.sql6
-rw-r--r--src/server/scripts/Spells/spell_warrior.cpp37
2 files changed, 43 insertions, 0 deletions
diff --git a/sql/updates/world/master/2017_03_11_01_world.sql b/sql/updates/world/master/2017_03_11_01_world.sql
new file mode 100644
index 00000000000..b92e9524cd3
--- /dev/null
+++ b/sql/updates/world/master/2017_03_11_01_world.sql
@@ -0,0 +1,6 @@
+-- Class: Warrior
+-- Spect: Arms, Fury, Protection
+-- Spell: Storm Bolt
+
+DELETE FROM `spell_script_names` WHERE ScriptName = 'spell_warr_storm_bolt';
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES (107570, 'spell_warr_storm_bolt');
diff --git a/src/server/scripts/Spells/spell_warrior.cpp b/src/server/scripts/Spells/spell_warrior.cpp
index 3bfc606381c..ae95838104c 100644
--- a/src/server/scripts/Spells/spell_warrior.cpp
+++ b/src/server/scripts/Spells/spell_warrior.cpp
@@ -53,6 +53,7 @@ enum WarriorSpells
SPELL_WARRIOR_SECOUND_WIND_TRIGGER_RANK_2 = 29842,
SPELL_WARRIOR_SHIELD_SLAM = 23922,
SPELL_WARRIOR_SLAM = 50782,
+ SPELL_WARRIOR_STORM_BOLT_STUN = 132169,
SPELL_WARRIOR_SUNDER_ARMOR = 58567,
SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_1 = 12723,
SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_2 = 26654,
@@ -683,6 +684,41 @@ class spell_warr_second_wind_trigger : public SpellScriptLoader
}
};
+// 107570 - Storm Bolt
+class spell_warr_storm_bolt : public SpellScriptLoader
+{
+public:
+ spell_warr_storm_bolt() : SpellScriptLoader("spell_warr_storm_bolt") { }
+
+ class spell_warr_storm_bolt_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_warr_storm_bolt_SpellScript);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo
+ ({
+ SPELL_WARRIOR_STORM_BOLT_STUN
+ });
+ }
+
+ void HandleOnHit(SpellEffIndex /*effIndex*/)
+ {
+ GetCaster()->CastSpell(GetHitUnit(), SPELL_WARRIOR_STORM_BOLT_STUN, true);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_warr_storm_bolt_SpellScript::HandleOnHit, EFFECT_1, SPELL_EFFECT_DUMMY);
+ }
+ };
+
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_warr_storm_bolt_SpellScript();
+ }
+};
+
// 52437 - Sudden Death
class spell_warr_sudden_death : public SpellScriptLoader
{
@@ -1092,6 +1128,7 @@ void AddSC_warrior_spell_scripts()
new spell_warr_second_wind_trigger();
new spell_warr_shattering_throw();
new spell_warr_slam();
+ new spell_warr_storm_bolt();
new spell_warr_sudden_death();
new spell_warr_sweeping_strikes();
new spell_warr_sword_and_board();