public static IEnumerator <float> Unlock079(int time) { yield return(Timing.WaitForSeconds(time)); var state = RoleType.Scp079.LockedUpState(); var ev = new TogglingLockedUpStateEventArgs(RoleType.Scp079, state, !state); if (!ev.IsAllowed) { yield break; } ToggleLockedUpState(RoleType.Scp079); foreach (var player in Player.List.Where(x => x.Role == RoleType.Scp079)) { player.SendContainmentBreachText(); } }
// Unlock public static IEnumerator <float> Unlock106s(int time) { yield return(Timing.WaitForSeconds(time)); var state = RoleType.Scp106.LockedUpState(); var ev = new TogglingLockedUpStateEventArgs(RoleType.Scp106, state, !state); if (!ev.IsAllowed) { yield break; } var pos = RoleType.Scp106.GetRandomSpawnProperties().Item1; ToggleLockedUpState(RoleType.Scp106); foreach (var player in Player.List.Where(x => x.Role == RoleType.Scp106)) { player.Position = pos; player.SendContainmentBreachText(); } }
public static IEnumerator <float> Unlock939s(int time) { yield return(Timing.WaitForSeconds(time)); var state = RoleType.Scp93953.LockedUpState(); var ev = new TogglingLockedUpStateEventArgs(RoleType.Scp93953, state, !state); if (!ev.IsAllowed) { yield break; } foreach (var door in EventHandlers.Scp939Doors) { door.Unlock(); } ToggleLockedUpState(RoleType.Scp93953); foreach (var player in Player.List.Where(x => x.Role.Type.Is939())) { player.SendContainmentBreachText(); } }
public static void OnChangingLockedUpStatus(TogglingLockedUpStateEventArgs ev) => TogglingLockedUpState.InvokeSafely(ev);
public void OnRoundStart() { Methods.ProcessDoors(); Methods.SendCassies(); RunningCoroutines.Add(Timing.CallDelayed(1, () => { foreach (var scp in plugin.Config.AffectedScps) { if (Scps939Locked && scp.RoleType.Is939()) { continue; } var state = scp.RoleType.LockedUpState(); var ev = new TogglingLockedUpStateEventArgs(scp.RoleType, state, !state); if (!ev.IsAllowed) { continue; } LockdownController.ToggleLockedUpState(scp.RoleType); switch (scp.RoleType) { case RoleType.Scp079: { RunningCoroutines.Add(Timing.RunCoroutine(LockdownController.Unlock079(scp.TimeToUnlock))); break; } case RoleType.Scp173: { LockdownController.Lockdown173(scp.TimeToUnlock); break; } case RoleType.Scp106: { LockdownController.Lockdown106(scp.TimeToUnlock); break; } case RoleType.Scp049: { LockdownController.Lockdown049(scp.TimeToUnlock); break; } case RoleType.Scp096: { LockdownController.Lockdown096(scp.TimeToUnlock); break; } case RoleType.Scp93989: case RoleType.Scp93953: { Scps939Locked = true; LockdownController.Lockdown939(scp.TimeToUnlock); break; } } } })); }