Пример #1
0
        protected internal override void Remove(Aura aura)
        {
            base.Remove(aura);
            OnAuraAddedOrRemoved();
            if (aura.Spell.IsPassive)
            {
                if (aura.Spell.HasItemRequirements)
                {
                    ItemRestrictedAuras.Remove(aura);
                }
                if (aura.Spell.IsModalShapeshiftDependentAura)
                {
                    ShapeshiftRestrictedAuras.Remove(aura);
                }
                if (aura.Spell.RequiredCasterAuraState != AuraState.None)
                {
                    AuraStateRestrictedAuras.Remove(aura);
                }
            }

            if (!aura.Spell.HasAuraDependentEffects)
            {
                return;
            }
            AurasWithAuraDependentEffects.Remove(aura);
        }
Пример #2
0
        public override void AddAura(Aura aura, bool start)
        {
            base.AddAura(aura, start);
            OnAuraAddedOrRemoved();
            if (aura.Spell.IsPassive)
            {
                if (aura.Spell.HasItemRequirements)
                {
                    ItemRestrictedAuras.Add(aura);
                }
                if (aura.Spell.IsModalShapeshiftDependentAura)
                {
                    ShapeshiftRestrictedAuras.Add(aura);
                }
                if (aura.Spell.RequiredCasterAuraState != AuraState.None)
                {
                    AuraStateRestrictedAuras.Add(aura);
                }
            }

            if (!aura.Spell.HasAuraDependentEffects)
            {
                return;
            }
            AurasWithAuraDependentEffects.Add(aura);
        }