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); }