protected override void Apply(RealmServer.Entities.WorldObject target) { var chr = target as Character; if (chr != null) { foreach (var line in spellsWithoutGlyph) { line.Apply(spell => { if (chr.Spells.Contains(spell.Id)) { chr.Spells.ClearCooldown(spell, false); } }); } if (chr.Spells.Contains(SpellId.GlyphOfPreparation) || chr.Spells.Contains(SpellId.GlyphOfPreparation_2)) { foreach (var line in spellsWithGlyph) { line.Apply(spell => { if (chr.Spells.Contains(spell.Id)) { chr.Spells.ClearCooldown(spell, false); } }); } } } }
protected override void Apply(RealmServer.Entities.WorldObject target) { var chr = target as Character; if (chr != null) { chr.Auras.RemoveWhere(aura => SpellConstants.MoveMechanics[(int)aura.Spell.Mechanic] || aura.Handlers.Any(handler => SpellConstants.MoveMechanics[(int)handler.SpellEffect.Mechanic]) && !aura.IsBeneficial); } base.Apply(target); }