public void OnCheckRoundEnd(CheckRoundEndEvent ev) { if (!isQueue) { return; } alives.ForEach(x => { if (x.Player.TeamRole.Role == Smod2.API.RoleType.UNASSIGNED || x.Player.TeamRole.Role == Smod2.API.RoleType.SPECTATOR) { x.EndTasks(); } }); if (!alives.Exists(x => x.Rola == Klasy.ZDRAJCA)) { alives.ForEach(x => x.EndTasks()); ev.Server.Map.Broadcast(5, Translation["i_won"], false); ev.Status = ROUND_END_STATUS.OTHER_VICTORY; } else if (!alives.Exists(x => x.Rola == Klasy.NIEWINNY)) { alives.ForEach(x => x.EndTasks()); ev.Server.Map.Broadcast(5, Translation["t_won"], false); ev.Status = ROUND_END_STATUS.OTHER_VICTORY; } else { ev.Status = ROUND_END_STATUS.ON_GOING; } }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { if (GamemodeManager.GamemodeManager.CurrentMode == plugin) { bool scpalive = false; bool humanalive = false; foreach (Player player in ev.Server.GetPlayers()) { if (scp_list.Contains(player.PlayerId) || player.TeamRole.Team == Team.SCP) { scpalive = true; } else if (player.TeamRole.Team != Team.SPECTATOR) { humanalive = true; } } if (scpalive && !humanalive) { ev.Status = ROUND_END_STATUS.SCP_VICTORY; } //Added this so when 2 D-bois escape, they instantly win. -Nico else if (!scpalive && humanalive || AmountOfPlayersEscaped == 2) { ev.Status = ROUND_END_STATUS.MTF_VICTORY; } else { ev.Status = ROUND_END_STATUS.ON_GOING; } } }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { if (AdminToolbox.lockRound) { ev.Status = ROUND_END_STATUS.ON_GOING; } }
void IEventHandlerCheckRoundEnd.OnCheckRoundEnd(CheckRoundEndEvent ev) { send(ev, new IdMapping() .appendId(Lib.ROUND_ID, ev.Round) .appendId(Lib.ROUND_STATS_ID, ev.Round.Stats) ); }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { bool MTFAlive = (SerpentsHand.CountRoles(Team.NINETAILFOX) > 0) ? true : false; bool CiAlive = (SerpentsHand.CountRoles(Team.CHAOS_INSURGENCY) > 0) ? true : false; bool ScpAlive = (SerpentsHand.CountRoles(Team.SCP) > 0) ? true : false; bool DClassAlive = (SerpentsHand.CountRoles(Team.CLASSD) > 0) ? true : false; bool ScientistsAlive = (SerpentsHand.CountRoles(Team.SCIENTISTS) > 0) ? true : false; bool SHAlive = (SerpentsHand.shPlayers.Count > 0) ? true : false; if (MTFAlive && (CiAlive || ScpAlive || DClassAlive || SHAlive)) { ev.Status = ROUND_END_STATUS.ON_GOING; } else if (CiAlive && (MTFAlive || (DClassAlive && ScpAlive) || ScientistsAlive || SHAlive || DClassAlive)) { ev.Status = ROUND_END_STATUS.ON_GOING; } else if (ScpAlive && (MTFAlive || DClassAlive || ScientistsAlive)) { ev.Status = ROUND_END_STATUS.ON_GOING; } else if (SHAlive && ScpAlive && !MTFAlive && !CiAlive && !DClassAlive && !ScientistsAlive) { ev.Status = ROUND_END_STATUS.SCP_VICTORY; } else if (CiAlive && ScpAlive && !plugin.GetConfigBool("sh_ci_win_with_scp")) { ev.Status = ROUND_END_STATUS.ON_GOING; } }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { bool MTFAlive = CupGod.CountRoles(Smod2.API.Team.NINETAILFOX) > 0; bool CiAlive = CupGod.CountRoles(Smod2.API.Team.CHAOS_INSURGENCY) > 0; bool ScpAlive = CupGod.CountRoles(Smod2.API.Team.SCP) > 0; bool DClassAlive = CupGod.CountRoles(Smod2.API.Team.CLASSD) > 0; bool ScientistsAlive = CupGod.CountRoles(Smod2.API.Team.SCIENTIST) > 0; int CupGodCount = CupGod.CupGods; bool CGAlive = CupGodCount > 0; if (MTFAlive && (CiAlive || ScpAlive || DClassAlive || CGAlive)) { ev.Status = ROUND_END_STATUS.ON_GOING; } else if (CiAlive && (MTFAlive || (DClassAlive && ScpAlive) || ScientistsAlive || CGAlive)) { ev.Status = ROUND_END_STATUS.ON_GOING; } else if (ScpAlive && (MTFAlive || DClassAlive || ScientistsAlive)) { ev.Status = ROUND_END_STATUS.ON_GOING; } else if (CGAlive && ScpAlive && !MTFAlive && !CiAlive && !DClassAlive && !ScientistsAlive) { ev.Status = ROUND_END_STATUS.SCP_VICTORY; } else if (CiAlive && ScpAlive) { ev.Status = ROUND_END_STATUS.SCP_CI_VICTORY; } }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { if (isDecon && isEnabled) { ev.Status = ROUND_END_STATUS.NO_VICTORY; } }
public void OnCheckRoundEnd(ref CheckRoundEndEvent ev) { int awa = 0; int qwq = 0; if (zhunbeiyes == true) { ev.ForceEnd = false; } else { foreach (ReferenceHub referenceHub in Player.GetHubs()) { if (referenceHub.GetRole() == RoleType.ChaosInsurgency) { awa++; } if (referenceHub.GetRole() == RoleType.NtfLieutenant) { qwq++; } } if (awa == 0) { ev.ForceEnd = true; } if (qwq == 0) { ev.ForceEnd = true; } } }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { if (GamemodeManager.GamemodeManager.CurrentMode == plugin) { bool scpalive = false; bool humanalive = false; foreach (Player player in ev.Server.GetPlayers()) { if (scp_list.Contains(player.PlayerId)) { scpalive = true; } else if (player.TeamRole.Team != Team.SPECTATOR) { humanalive = true; } } if (scpalive && !humanalive) { ev.Status = ROUND_END_STATUS.SCP_VICTORY; } else if (!scpalive && humanalive) { ev.Status = ROUND_END_STATUS.MTF_VICTORY; } else { ev.Status = ROUND_END_STATUS.ON_GOING; } } }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { /// <summary> /// This event handler will call everytime the game checks for a round end /// </summary> //Protip, don't turn this on. plugin.SendMessage(Config.GetArray("channels.oncheckroundend"), "round.oncheckroundend"); }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { if (ev.Server.NumPlayers <= 2) { ev.Status = ROUND_END_STATUS.ON_GOING; } plugin.luaHookCall.Function.Call("OnCheckRoundEnd", ev.Server, ev.Round, ev.Status); }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { Pasivaa.Clear(); level = 0; elevatoss = false; }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { /// <summary> /// This event handler will call everytime the game checks for a round end /// </summary> //Protip, don't turn this on. plugin.SendMessageAsync(plugin.GetConfigString("discord_channel_oncheckroundend"), plugin.MultiLanguage(14)); }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { if ((ev.Server.NumPlayers < 4) && (scientistdead == true)) { ev.Status = ROUND_END_STATUS.SCP_VICTORY; } else { ev.Status = ROUND_END_STATUS.MTF_VICTORY; } }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { if (ev.Status != RoundEndStatus.ON_GOING) { if (!AdminToolbox.roundStatsRecorded && ev.Round.Duration >= 3) { AdminToolbox.roundStatsRecorded = true; Roundstat.AddPoint(ev.Status); } } }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { //por si se transforma en un role y es el ultimo scp que no termine la ronda foreach (KeyValuePair <string, bool> pair in Habilidad) { if (Habilidad[pair.Key] == false) { ev.Status = ROUND_END_STATUS.ON_GOING; } } }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { if (Scientists > Dboys) { ev.Status = ROUND_END_STATUS.MTF_VICTORY; } if (Dboys > Scientists) { ev.Status = ROUND_END_STATUS.CI_VICTORY; } }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { if (!isQueue) { RoundStatus = EventRoundStatus.INACTIVE; } if (RoundStatus != EventRoundStatus.INACTIVE) { ev.Status = (ROUND_END_STATUS)RoundStatus; innocent_data.Clear(); } }
public static void InvokeCheckRoundEnd(ref bool forceEnd, ref bool allow, ref RoundSummary.LeadingTeam team, ref bool teamChanged) { var ev = new CheckRoundEndEvent { Allow = allow, ForceEnd = forceEnd, LeadingTeam = team }; CheckRoundEndEvent?.Invoke(ev); teamChanged = team != ev.LeadingTeam; team = ev.LeadingTeam; allow = ev.Allow; forceEnd = ev.ForceEnd; }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { if (plugin.activated) { bool classDAlive = false; bool mtfAlive = false; foreach (var player in ev.Server.GetPlayers()) { if (player.TeamRole.Team == Team.SPECTATOR) { continue; } if (player.TeamRole.Team == Team.NINETAILFOX) { mtfAlive = true; } if (player.TeamRole.Team == Team.CLASSD || player.TeamRole.Team == Team.CHAOS_INSURGENCY) { classDAlive = true; } } plugin.Debug("Class-D Alive: " + classDAlive); plugin.Debug("MTF Alive: " + mtfAlive); if (!classDAlive && !mtfAlive) { ev.Status = ROUND_END_STATUS.NO_VICTORY; // stalemate } else if (classDAlive && !mtfAlive) { ev.Status = ROUND_END_STATUS.CI_VICTORY; // class-d } else if (!classDAlive && mtfAlive) { ev.Status = ROUND_END_STATUS.MTF_VICTORY; // mtf } else { ev.Status = ROUND_END_STATUS.ON_GOING; // still going } } }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { ///quien gana// if ((chaos != 100) || (ntf != 100)) { ev.Status = Smod2.API.ROUND_END_STATUS.ON_GOING; } if (chaos == 100) { ev.Status = Smod2.API.ROUND_END_STATUS.CI_VICTORY; ntf = 0; Smod2.PluginManager.Manager.Server.Map.Broadcast(10, "Mejor jugador" + Puntuacion.Keys.Max() + "con <color=#C50000>" + Puntuacion.Values.Max() + "</color> puntos.", false); } if (ntf == 100) { ev.Status = Smod2.API.ROUND_END_STATUS.MTF_VICTORY; chaos = 0; Smod2.PluginManager.Manager.Server.Map.Broadcast(10, "Mejor jugador" + Puntuacion.Keys.Max() + "con <color=#C50000>" + Puntuacion.Values.Max() + "</color> puntos.", false); } }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { if (this.scp079id != -1) { num = 0; int num2 = 0; int num3 = 0; int num4 = 0; int num5 = 0; foreach (Player player in this.plugin.PluginManager.Server.GetPlayers("")) { if (player.TeamRole.Team == Smod2.API.Team.SCP) { num++; } if (player.TeamRole.Team == Smod2.API.Team.CHAOS_INSURGENCY) { num2++; } if (player.TeamRole.Team == Smod2.API.Team.SCIENTIST) { num3++; } if (player.TeamRole.Team == Smod2.API.Team.CLASSD) { num4++; } if (player.TeamRole.Team == Smod2.API.Team.NINETAILFOX) { num5++; } } if ((num2 == 0) && (num4 == 0) && (num == 1)) { ev.Status = ROUND_END_STATUS.MTF_VICTORY; this.plugin.PluginManager.Server.Round.EndRound(); } else if ((num3 == 0) && (num5 == 0) && (num == 1) && (num2 == 0)) { ev.Status = ROUND_END_STATUS.CI_VICTORY; this.plugin.PluginManager.Server.Round.EndRound(); } } }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { if (plugin.Active) { if (!roundStarted) { ev.Status = ROUND_END_STATUS.ON_GOING; } else { Smod2.API.Team[] players = PlayerManager.singleton.players.Select(x => { CharacterClassManager ccm = x.GetComponent <CharacterClassManager>(); return((Smod2.API.Team)ccm.klasy[ccm.curClass].team); }).ToArray(); bool mtf = players.Count(x => x == Smod2.API.Team.NINETAILFOX) > 0; bool scp = players.Count(x => x == Smod2.API.Team.SCP) - fcs.Count > 0; bool scientist = players.Count(x => x == Smod2.API.Team.SCIENTIST) > 0; if (scientist) { if (!scp) { ev.Status = ROUND_END_STATUS.MTF_VICTORY; } } else { if (mtf) { if (!scp) { ev.Status = ROUND_END_STATUS.MTF_VICTORY; } } else { ev.Status = ROUND_END_STATUS.SCP_VICTORY; } } } } }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { if (!isEnabled) { return; } List <Smod2.API.Team> pList = ev.Server.GetPlayers().Select(x => x.TeamRole.Team).ToList(); pList.Remove(pList.FirstOrDefault(x => x == scpPlayer?.TeamRole.Team)); // If everyone but SCPs and 035 or just 035 is alive, end the round if ((!pList.Contains(Smod2.API.Team.CHAOS_INSURGENCY) && !pList.Contains(Smod2.API.Team.CLASSD) && !pList.Contains(Smod2.API.Team.NINETAILFOX) && !pList.Contains(Smod2.API.Team.SCIENTIST) && ((pList.Contains(Smod2.API.Team.SCP) && scpPlayer != null) || !pList.Contains(Smod2.API.Team.SCP) && scpPlayer != null)) || (winWithTutorials && !pList.Contains(Smod2.API.Team.CHAOS_INSURGENCY) && !pList.Contains(Smod2.API.Team.CLASSD) && !pList.Contains(Smod2.API.Team.NINETAILFOX) && !pList.Contains(Smod2.API.Team.SCIENTIST) && pList.Contains(Smod2.API.Team.TUTORIAL) && scpPlayer != null)) { if (changeToZombie) { scpPlayer.ChangeRole(Role.SCP_049_2, true, false); } else { ev.Status = ROUND_END_STATUS.SCP_VICTORY; } } // If 035 is the only scp alive keep the round going else if (scpPlayer != null && !pList.Contains(Smod2.API.Team.SCP)) { ev.Status = ROUND_END_STATUS.ON_GOING; } }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { if (Status.gamemodeRoundActive) { bool scpAlive = false; bool humanAlive = false; foreach (Player player in ev.Server.GetPlayers()) { if (player.TeamRole.Team == SMTeam.SCP) { scpAlive = true; } if (player.TeamRole.Team == SMTeam.CLASSD) { humanAlive = true; } } if (scpAlive && humanAlive) { ev.Status = ROUND_END_STATUS.ON_GOING; return; } else if (scpAlive && humanAlive == false && ev.Round.Stats.ClassDEscaped < 1) { ev.Status = ROUND_END_STATUS.SCP_VICTORY; ev.Round.EndRound(); return; } else if (scpAlive == false && humanAlive) { int dclassalive = ev.Server.GetPlayers().Where(p => p.TeamRole.Role == Role.CLASSD).Count(); ev.Round.Stats.ClassDEscaped += dclassalive; ev.Status = ROUND_END_STATUS.OTHER_VICTORY; ev.Round.EndRound(); return; } ev.Status = ROUND_END_STATUS.ON_GOING; return; } }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { if (en) { List <string> human = new List <string>(); List <string> scp = new List <string>(); List <string> s035 = new List <string>(); foreach (Player p in plugin.pluginManager.Server.GetPlayers()) { if (p.TeamRole.Team == Smod2.API.Team.SCP) { scp.Add(p.SteamId); } if (!scp035.Contains(p.SteamId)) { if (p.TeamRole.Team == Smod2.API.Team.CHAOS_INSURGENCY || p.TeamRole.Team == Smod2.API.Team.NINETAILFOX || p.TeamRole.Team == Smod2.API.Team.CLASSD || p.TeamRole.Team == Smod2.API.Team.SCIENTIST) { human.Add(p.SteamId); } } if (scp035.Contains(p.SteamId)) { s035.Add(p.SteamId); } } if (scp.Count > 0 && human.Count == 0 && s035.Count > 0) { ev.Status = ROUND_END_STATUS.SCP_VICTORY; } if (s035.Count > 0 && human.Count > 0 && scp.Count == 0) { ev.Status = ROUND_END_STATUS.ON_GOING; } if (scp.Count == 0 && human.Count == 0 && s035.Count > 0) { ev.Status = ROUND_END_STATUS.SCP_VICTORY; } human.Clear(); scp.Clear(); s035.Clear(); } }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { if (!isQueue || boss == null) { return; } if (ev.Status == ROUND_END_STATUS.ON_GOING) { ev.Server.Map.ClearBroadcasts(); ev.Server.Map.Broadcast(2, boss.player.Name + " become " + boss.role.ToString() + " | Boss HP: " + boss.player.GetHealth(), false); } else { if (boss.player.TeamRole.Role != Smod2.API.RoleType.CHAOS_INSURGENCY) { boss.EndTask(); boss = null; } } }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { if (refreshPlayers) { refreshPlayers = false; string[] curPlayers = PlayerManager.singleton.players .Select(x => x.GetComponent <CharacterClassManager>().SteamId).ToArray(); SHPlugin.shPlayers.RemoveAll(x => !curPlayers.Contains(x)); } bool MTFAlive = SHPlugin.CountRoles(Smod2.API.Team.NINETAILFOX) > 0; bool CiAlive = SHPlugin.CountRoles(Smod2.API.Team.CHAOS_INSURGENCY) > 0; bool ScpAlive = SHPlugin.CountRoles(Smod2.API.Team.SCP) > 0; bool DClassAlive = SHPlugin.CountRoles(Smod2.API.Team.CLASSD) > 0; bool ScientistsAlive = SHPlugin.CountRoles(Smod2.API.Team.SCIENTIST) > 0; bool SHAlive = SHPlugin.shPlayers.Count > 0; if (MTFAlive && (CiAlive || ScpAlive || DClassAlive || SHAlive)) { ev.Status = ROUND_END_STATUS.ON_GOING; } else if (CiAlive && (MTFAlive || (DClassAlive && ScpAlive) || ScientistsAlive || SHAlive)) { ev.Status = ROUND_END_STATUS.ON_GOING; } else if (ScpAlive && (MTFAlive || DClassAlive || ScientistsAlive)) { ev.Status = ROUND_END_STATUS.ON_GOING; } else if (SHAlive && ScpAlive && !MTFAlive && !CiAlive && !DClassAlive && !ScientistsAlive) { ev.Status = ROUND_END_STATUS.SCP_VICTORY; } else if (CiAlive && ScpAlive && !SHPlugin.ciWinWithSCP) { ev.Status = ROUND_END_STATUS.ON_GOING; } }
public void OnCheckRoundEnd(CheckRoundEndEvent ev) { if (boss == null) { return; } if (ev.Status == ROUND_END_STATUS.ON_GOING) { ev.Server.Map.ClearBroadcasts(); string message = Translation("hale_spawn"); message = message.Replace("%nick%", boss.player.Name); message = message.Replace("%class%", boss.role.ToString()); message = message.Replace("%hp%", Math.Round(boss.player.HP).ToString()); ev.Server.Map.Broadcast(2, message, false); } else { if (boss.player.TeamRole.Role != Smod2.API.RoleType.CHAOS_INSURGENCY) { boss.EndTask(); boss = null; } } }
/// <summary> /// This event handler will call everytime the game checks for a round end /// </summary> public void OnCheckRoundEnd(CheckRoundEndEvent ev) { //Protip, don't turn this on. this.plugin.SendMessage(Config.GetArray("channels.oncheckroundend"), "round.oncheckroundend"); }