Beispiel #1
0
        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);
                            }
                        });
                    }
                }
            }
        }
Beispiel #2
0
        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);
        }