public virtual void TeleportToSpawnPoint(PvPTeam team, PlayerMobile pm) { if (pm != null && !pm.Deleted && team != null && !team.Deleted && team.IsMember(pm)) { Teleport(pm, team.SpawnPoint, Options.Locations.Map); } }
public bool UpdateStatistics(PvPTeam t, PlayerMobile pm, Action <PvPProfileHistoryEntry> update) { if (t == null || t.Deleted || pm == null || update == null) { return(false); } var s = t.GetStatistics(pm); if (s == null) { return(false); } var success = true; VitaNexCore.TryCatch( update, s, x => { AutoPvP.CMOptions.ToConsole(x); success = false; }); if (t.IsMember(pm)) { t.UpdateActivity(pm); } return(success); }
public virtual void TeleportToSpawnPoint(PvPTeam team, PlayerMobile pm) { if (pm == null || pm.Deleted || team == null || team.Deleted || !team.IsMember(pm)) { return; } var p = team.SpawnPoint; if (team.RespawnRangeMin > 0 && team.RespawnRangeMax > 0) { var i = 10; while (--i >= 0) { p = team.SpawnPoint.GetRandomPoint3D(team.RespawnRangeMin, team.RespawnRangeMax); if (Options.Locations.Map.CanSpawnMobile(p)) { break; } } if (i < 0) { p = team.SpawnPoint; } } Teleport(pm, p, Options.Locations.Map); }
public virtual int GetAwardPoints(PvPTeam team, PlayerMobile pm) { if (!IsRunning || team == null || team.Deleted || (pm != null && !team.IsMember(pm))) { return(0); } return(PointsBase); }