Beispiel #1
0
        public virtual void OnExit(PvPRegion region, Mobile m)
        {
            if (region == null || m == null || m.Deleted)
            {
                return;
            }

            if (region.IsPartOf(BattleRegion) && !m.InRegion(BattleRegion))
            {
                var pm = m as PlayerMobile;

                if (pm != null)
                {
                    if (IsParticipant(pm))
                    {
                        Eject(pm, false);
                    }

                    pm.SendMessage("You have left {0}", Name);
                }

                AutoPvP.InvokeExitBattle(this, region, m);
            }
            else if (region.IsPartOf(SpectateRegion) && !m.InRegion(SpectateRegion))
            {
                var pm = m as PlayerMobile;

                if (pm != null)
                {
                    pm.SendMessage("You have left {0} spectator area", Name);

                    if (IsSpectator(pm))
                    {
                        RemoveSpectator(pm, false);
                    }
                }

                AutoPvP.InvokeExitBattle(this, region, m);
            }

            m.Delta(MobileDelta.Noto);
        }