diff options
Diffstat (limited to 'src/server/scripts')
| -rw-r--r-- | src/server/scripts/Spells/spell_shaman.cpp | 44 | 
1 files changed, 43 insertions, 1 deletions
diff --git a/src/server/scripts/Spells/spell_shaman.cpp b/src/server/scripts/Spells/spell_shaman.cpp index c8b0264995b..41e72b1388b 100644 --- a/src/server/scripts/Spells/spell_shaman.cpp +++ b/src/server/scripts/Spells/spell_shaman.cpp @@ -55,7 +55,8 @@ enum ShamanSpells      SPELL_SHAMAN_TOTEM_EARTHBIND_EARTHGRAB      = 64695,      SPELL_SHAMAN_TOTEM_EARTHBIND_TOTEM          = 6474,      SPELL_SHAMAN_TOTEM_EARTHEN_POWER            = 59566, -    SPELL_SHAMAN_TOTEM_HEALING_STREAM_HEAL      = 52042 +    SPELL_SHAMAN_TOTEM_HEALING_STREAM_HEAL      = 52042, +    SPELL_SHAMAN_TOTEMIC_MASTERY                = 38437  };  enum ShamanSpellIcons @@ -1025,6 +1026,46 @@ class spell_sha_thunderstorm : public SpellScriptLoader          }  }; +// 38443 - Totemic Mastery (Tier 6 - 2P) +class spell_sha_totemic_mastery : public SpellScriptLoader +{ +public: +    spell_sha_totemic_mastery() : SpellScriptLoader("spell_sha_totemic_mastery") { } + +    class spell_sha_totemic_mastery_AuraScript : public AuraScript +    { +        PrepareAuraScript(spell_sha_totemic_mastery_AuraScript); + +        bool Validate(SpellInfo const* /*spellInfo*/) override +        { +            if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_TOTEMIC_MASTERY)) +                return false; +            return true; +        } + +        void HandleDummy(AuraEffect const* /*aurEff*/) +        { +            Unit* target = GetTarget(); +            for (uint8 i = SUMMON_SLOT_TOTEM; i < MAX_TOTEM_SLOT; ++i) +                if (!target->m_SummonSlot[i]) +                    return; + +            target->CastSpell(target, SPELL_SHAMAN_TOTEMIC_MASTERY, true); +            PreventDefaultAction(); +        } + +        void Register() override +        { +            OnEffectPeriodic += AuraEffectPeriodicFn(spell_sha_totemic_mastery_AuraScript::HandleDummy, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL); +        } +    }; + +    AuraScript* GetAuraScript() const override +    { +        return new spell_sha_totemic_mastery_AuraScript(); +    } +}; +  void AddSC_shaman_spell_scripts()  {      new spell_sha_ancestral_awakening_proc(); @@ -1048,4 +1089,5 @@ void AddSC_shaman_spell_scripts()      new spell_sha_mana_tide_totem();      new spell_sha_sentry_totem();      new spell_sha_thunderstorm(); +    new spell_sha_totemic_mastery();  }  | 
