Advertisement
jordan83221

Stormbolt

May 10th, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.33 KB | None | 0 0
  1. // Storm Bolt - 107570 and Storm Bolt (off hand) - 145585
  2. class spell_warr_storm_bolt : public SpellScriptLoader
  3. {
  4.     public:
  5.         spell_warr_storm_bolt() : SpellScriptLoader("spell_warr_storm_bolt") { }
  6.  
  7.         class spell_warr_storm_bolt_SpellScript : public SpellScript
  8.         {
  9.             PrepareSpellScript(spell_warr_storm_bolt_SpellScript);
  10.  
  11.             void HandleOnHit()
  12.             {
  13.                 if (Player* _player = GetCaster()->ToPlayer())
  14.                 {
  15.                     if (Unit* unitTarget = GetHitUnit())
  16.                     {
  17.                         if (unitTarget->GetTypeId() == TYPEID_UNIT && unitTarget->IsImmunedToSpellEffect(sSpellMgr->GetSpellInfo(WARRIOR_SPELL_STORM_BOLT_STUN), 0, true))
  18.                             SetHitDamage(GetHitDamage() * 4);
  19.  
  20.                         if (GetSpellInfo()->Id == 107570 && !unitTarget->HasAura(19263)) // Deterrence
  21.                             _player->CastSpell(unitTarget, WARRIOR_SPELL_STORM_BOLT_STUN, true);
  22.                     }
  23.                 }
  24.             }
  25.  
  26.             void Register()
  27.             {
  28.                 OnHit += SpellHitFn(spell_warr_storm_bolt_SpellScript::HandleOnHit);
  29.             }
  30.         };
  31.  
  32.         SpellScript* GetSpellScript() const
  33.         {
  34.             return new spell_warr_storm_bolt_SpellScript();
  35.         }
  36. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement