1. src/server/scripts/Spells/spell_warrior.cpp | 65 +++++++++++++++++++++++++++++
  2. 1 file changed, 65 insertions(+)
  3. diff --git a/src/server/scripts/Spells/spell_warrior.cpp b/src/server/scripts/Spells/spell_warrior.cpp
  4. index 78dcaaa..0c1ccb9 100644
  5. --- a/src/server/scripts/Spells/spell_warrior.cpp
  6. +++ b/src/server/scripts/Spells/spell_warrior.cpp
  7. @@ -771,6 +771,69 @@ class spell_warr_vigilance_trigger : public SpellScriptLoader
  8. }
  9. };
  10. +class spell_warr_bladestorm_whirlwind_off_hand : public SpellScriptLoader
  11. +{
  12. + public:
  13. + spell_warr_bladestorm_whirlwind_off_hand() : SpellScriptLoader("spell_warr_bladestorm_whirlwind_off_hand") { }
  14. +
  15. + class spell_warr_bladestorm_whirlwind_off_hand_SpellScript : public SpellScript
  16. + {
  17. + PrepareSpellScript(spell_warr_bladestorm_whirlwind_off_hand_SpellScript);
  18. +
  19. + SpellCastResult CheckCast()
  20. + {
  21. + Item* item = GetCaster()->ToPlayer()->GetWeaponForAttack(OFF_ATTACK);
  22. +
  23. + if (!item || item->IsBroken())
  24. + return SPELL_FAILED_DONT_REPORT;
  25. +
  26. + if (!item->IsFitToSpellRequirements(sSpellMgr->GetSpellInfo(44949)))
  27. + return SPELL_FAILED_DONT_REPORT;
  28. +
  29. + return SPELL_CAST_OK;
  30. + }
  31. +
  32. + void Register() OVERRIDE
  33. + {
  34. + OnCheckCast += SpellCheckCastFn(spell_warr_bladestorm_whirlwind_off_hand_SpellScript::CheckCast);
  35. + }
  36. + };
  37. +
  38. + SpellScript* GetSpellScript() const OVERRIDE
  39. + {
  40. + return new spell_warr_bladestorm_whirlwind_off_hand_SpellScript();
  41. + }
  42. +};
  43. +
  44. +class spell_warr_bladestorm_whirlwind_main_hand : public SpellScriptLoader
  45. +{
  46. + public:
  47. + spell_warr_bladestorm_whirlwind_main_hand() : SpellScriptLoader("spell_warr_bladestorm_whirlwind_main_hand") { }
  48. +
  49. + class spell_warr_bladestorm_whirlwind_main_hand_SpellScript : public SpellScript
  50. + {
  51. + PrepareSpellScript(spell_warr_bladestorm_whirlwind_main_hand_SpellScript);
  52. +
  53. + SpellCastResult CheckCast()
  54. + {
  55. + if (GetCaster()->HasAuraType(SPELL_AURA_MOD_DISARM))
  56. + return SPELL_FAILED_DONT_REPORT;
  57. +
  58. + return SPELL_CAST_OK;
  59. + }
  60. +
  61. + void Register() OVERRIDE
  62. + {
  63. + OnCheckCast += SpellCheckCastFn(spell_warr_bladestorm_whirlwind_main_hand_SpellScript::CheckCast);
  64. + }
  65. + };
  66. +
  67. + SpellScript* GetSpellScript() const OVERRIDE
  68. + {
  69. + return new spell_warr_bladestorm_whirlwind_main_hand_SpellScript();
  70. + }
  71. +};
  72. +
  73. void AddSC_warrior_spell_scripts()
  74. {
  75. new spell_warr_bloodthirst();
  76. @@ -790,4 +853,6 @@ void AddSC_warrior_spell_scripts()
  77. new spell_warr_sweeping_strikes();
  78. new spell_warr_vigilance();
  79. new spell_warr_vigilance_trigger();
  80. + new spell_warr_bladestorm_whirlwind_off_hand();
  81. + new spell_warr_bladestorm_whirlwind_main_hand();
  82. }
  83. --
  84. 1.8.3.msysgit.0

BladeStorm