void OnPeriodic(AuraEffect const* aurEff)
 {
     if (Unit* caster = GetCaster())
     {
         CustomSpellValues values;
         values.AddSpellMod(SPELLVALUE_BASE_POINT0, aurEff->GetAmount());
         caster->CastCustomSpell(GetSpellInfo()->Effects[EFFECT_0].TriggerSpell, values, GetTarget());
     }
 }
Beispiel #2
0
            void HandleShareBuff (AuraEffect const* aurEff, AuraEffectHandleModes mode)
            {
                if (!GetTargetApplication())
                    return;

                if (!GetTargetApplication()->GetBase())
                    return;

                if (GetTargetApplication()->GetRemoveMode() == AURA_REMOVE_BY_ENEMY_SPELL)
                {
                    if (Unit* target = GetTarget())
                    {
                        CustomSpellValues values;
                        values.AddSpellMod(SPELLVALUE_MAX_TARGETS, 2);
                        values.AddSpellMod(SPELLVALUE_BASE_POINT1, GetTargetApplication()->GetBase()->GetDuration());
                        GetTarget()->CastCustomSpell(SPELL_WRACK_JUMP, values, NULL, TRIGGERED_FULL_MASK, NULL, NULL, GetCasterGUID());
                    }
                }
            }