Exemplo n.º 1
0
            public bool Update()
            {
                if (Caster == null)
                {
                    return(true);
                }
                bool DeleteThis = false;

                checked
                {
                    if (Duration > 1000)
                    {
                        Duration -= 1000;
                    }
                    else
                    {
                        DeleteThis = true;
                    }
                }
                foreach (WS_Spells.SpellEffect effect in Effects)
                {
                    WS_Spells.SpellEffect Effect = effect;
                    if (Effect.GetRadius == 0f)
                    {
                        if (Effect.Amplitude == 0 || checked (WorldServiceLocator._WS_Spells.SPELLs[SpellID].GetDuration - Duration) % Effect.Amplitude == 0)
                        {
                            WS_Spells.ApplyAuraHandler obj        = WorldServiceLocator._WS_Spells.AURAs[Effect.ApplyAuraIndex];
                            ref WS_Base.BaseUnit       caster     = ref Caster;
                            WS_Base.BaseObject         baseObject = this;
                            obj(ref caster, ref baseObject, ref Effect, SpellID, 1, AuraAction.AURA_UPDATE);
                        }
                        continue;
                    }
                    List <WS_Base.BaseUnit> Targets = WorldServiceLocator._WS_Spells.GetEnemyAtPoint(ref Caster, positionX, positionY, positionZ, Effect.GetRadius);
                    foreach (WS_Base.BaseUnit item in Targets)
                    {
                        WS_Base.BaseUnit Target = item;
                        if (Effect.Amplitude == 0 || checked (WorldServiceLocator._WS_Spells.SPELLs[SpellID].GetDuration - Duration) % Effect.Amplitude == 0)
                        {
                            WS_Spells.ApplyAuraHandler obj2       = WorldServiceLocator._WS_Spells.AURAs[Effect.ApplyAuraIndex];
                            WS_Base.BaseObject         baseObject = this;
                            obj2(ref Target, ref baseObject, ref Effect, SpellID, 1, AuraAction.AURA_UPDATE);
                        }
                    }
                }
Exemplo n.º 2
0
 public void RemoveEffect(WS_Spells.SpellEffect EffectInfo)
 {
     Effects.Remove(EffectInfo);
 }
Exemplo n.º 3
0
 public void AddEffect(WS_Spells.SpellEffect EffectInfo)
 {
     Effects.Add(EffectInfo);
 }