Beispiel #1
0
        public override void Despawn()
        {
            base.Despawn();

            if (Spell == Spell.Reincarnation && Caster != null && Caster.Node != null)
            {
                Caster.ActiveReincarnation = false;
                Caster.Enqueue(new S.CancelReincarnation {
                });
            }

            if (Spell == Spell.ExplosiveTrap && Caster != null)
            {
                Caster.ExplosiveTrapDetonated(ExplosiveTrapID, ExplosiveTrapCount);
            }

            if (Spell == Spell.Portal && Caster != null)
            {
                if (Caster.PortalObjectsArray[0] == this)
                {
                    Caster.PortalObjectsArray[0] = null;

                    if (Caster.PortalObjectsArray[1] != null)
                    {
                        Caster.PortalObjectsArray[1].ExpireTime = 0;
                        Caster.PortalObjectsArray[1].Process();
                    }
                }
                else
                {
                    Caster.PortalObjectsArray[1] = null;
                }
            }
        }
Beispiel #2
0
        public override void Despawn()
        {
            base.Despawn();

            if (Spell == Spell.Reincarnation && Caster != null && Caster.Node != null)
            {
                Caster.ActiveReincarnation = false;
                Caster.Enqueue(new S.CancelReincarnation {
                });
            }

            if (Spell == Spell.ExplosiveTrap && Caster != null)//ArcherSpells - Explosive Trap
            {
                Caster.ExplosiveTrapDetonated(ExplosiveTrapID, ExplosiveTrapCount);
            }
        }