Advertisement
jordan83221

[WoW] Stormbolt

May 10th, 2017
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.88 KB | None | 0 0
  1. // Storm Bolt - 107570
  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.                     if (Unit* unitTarget = GetHitUnit())
  15.                         _player->CastSpell(unitTarget, WARRIOR_SPELL_STORM_BOLT_STUN, true);
  16.             }
  17.  
  18.             void Register()
  19.             {
  20.                 OnHit += SpellHitFn(spell_warr_storm_bolt_SpellScript::HandleOnHit);
  21.             }
  22.         };
  23.  
  24.         SpellScript* GetSpellScript() const
  25.         {
  26.             return new spell_warr_storm_bolt_SpellScript();
  27.         }
  28. };
  29.  
  30. // Storm Bolt damage (145585, 107570)
  31. class spell_warr_storm_bolt_damage : public SpellScriptLoader
  32. {
  33.     public:
  34.         spell_warr_storm_bolt_damage() : SpellScriptLoader("spell_warr_storm_bolt_damage") { }
  35.  
  36.         class spell_warr_storm_bolt_damage_SpellScript : public SpellScript
  37.         {
  38.             PrepareSpellScript(spell_warr_storm_bolt_damage_SpellScript);
  39.  
  40.             void HandleOnHit()
  41.             {
  42.                 if (Unit* unitTarget = GetHitUnit())
  43.                     if (unitTarget->GetTypeId() != TYPEID_PLAYER && unitTarget->IsImmunedToSpellEffect(sSpellMgr->GetSpellInfo(WARRIOR_SPELL_STORM_BOLT_STUN), 0))
  44.                         SetHitDamage(GetHitDamage() * 4);
  45.             }
  46.  
  47.             void Register()
  48.             {
  49.                 OnHit += SpellHitFn(spell_warr_storm_bolt_damage_SpellScript::HandleOnHit);
  50.             }
  51.         };
  52.  
  53.         SpellScript* GetSpellScript() const
  54.         {
  55.             return new spell_warr_storm_bolt_damage_SpellScript();
  56.         }
  57. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement