public static void ServerEvents_RespawningTeam(Exiled.Events.EventArgs.RespawningTeamEventArgs ev) { // Default game logic var spawningPlayers = ev.Players; var spawningPlayersCount = spawningPlayers.Count; if (spawningPlayersCount == 0) { return; } FilterSpawns(ev.NextKnownTeam == SpawnableTeamType.ChaosInsurgency ? RoleType.ChaosInsurgency : RoleType.NtfCadet, spawningPlayersCount); }
private void Server_RespawningTeam(Exiled.Events.EventArgs.RespawningTeamEventArgs ev) { if (!_useZombies || UnityEngine.Random.Range(0, 101) > Config.PercentChanceToSpawnZombies || ev.Players.Count == 0) { return; } if (!string.IsNullOrWhiteSpace(Config.ZombieAnnounceMessage)) { Cassie.Message(Config.ZombieAnnounceMessage); } LoadedZombieSpawns.UnityShuffle(); var index = 0; var loadedSpawnsCount = LoadedZombieSpawns.Count; var spawns = ev.Players; var spawnCount = spawns.Count; for (int i = 0; i < spawnCount; i++) { var spawn = spawns[i]; spawn.SetRole(RoleType.Scp0492); var spawnPosition = LoadedZombieSpawns[index].Position; Timing.CallDelayed(0.3f, () => spawn.Position = spawnPosition); index++; if (index == loadedSpawnsCount) { index = 0; } } spawns.Clear(); }