private void OnPickingUp(PickingUpItemEventArgs ev) { if (CheckItem(ev.Pickup)) { Coroutines.Add(Timing.RunCoroutine(DoInventoryRegeneration(ev.Player))); } }
public Coroutine Run(IEnumerator enumerator, IPlugin owner, string name = null) { if (enumerator == null) { throw new NullReferenceException("Coroutine cant not be null."); } var routine = new Coroutine(enumerator, owner, name); lock (locker) { var first = Coroutines.FirstOrDefault(x => x.Name == routine.Name && x.Owner == routine.Owner); if (first != null) { CountFalseAddCoroutines++; return(first); } Coroutines.Add(routine); CoroutinePerformance.TryGetValue(routine.Name, out var t); CoroutinePerformance[routine.Name] = t; CountAddCoroutines++; return(routine); } }
public void OnCalm(ref Scp096CalmEvent ev) { if (Instance.Scp096Healing) { Coroutines.Add(Timing.RunCoroutine(HealOverTime(ev.Player, Instance.Scp096Heal * Scp096KillCount), ev.Player.GetUserId())); } }
public void OnPocketDeath(PocketDimDeathEvent ev) { if (Instance.Scp106Healing) { ReferenceHub scp = Player.GetHubs().FirstOrDefault(r => r.GetRole() == RoleType.Scp106); Coroutines.Add(Timing.RunCoroutine(HealOverTime(scp, Instance.Scp106HealAmount), scp.GetUserId())); } }
internal void RoundStart() { Patches.AutoWarheadLockPatches.AutoLocked = false; Coroutines.Add(Timing.RunCoroutine(AutoNuke())); if (ClearRagdolls) { Coroutines.Add(Timing.RunCoroutine(CleanupRagdolls())); } if (ClearItems) { Coroutines.Add(Timing.RunCoroutine(CleanupItems())); } }
public ScheduledTask Run(MonoBehaviour parent, Action action, TimeSpan delay, bool repeat = false) { var task = new ScheduledTask(); task.Delay = delay; task.IsRepeating = repeat; task.Parent = parent; task.Coroutine = StartCoroutine(RunCallback(task, action)); Coroutines.Add(parent, task); return(task); }
public void OnPlayerDeath(ref PlayerDeathEvent ev) { if (ev.Killer.GetRole() == RoleType.Scp096) { Scp096KillCount++; } if (ev.Killer.GetRole().Is939() && Instance.Scp939Healing && Instance.Gen.Next(1, 100) > 50) { Coroutines.Add(Timing.RunCoroutine(HealOverTime(ev.Killer, Instance.Scp939Heal), ev.Killer.GetUserId())); } if (ev.Killer.GetRole() == RoleType.Scp173 && Instance.Scp173Healing) { Coroutines.Add(Timing.RunCoroutine(HealOverTime(ev.Killer, Instance.Scp173HealAmount, 5f), ev.Killer.GetUserId())); } }
internal void RoundStart() { Patches.AutoWarheadLockPatches.AutoLocked = false; if (EnableAutoNuke) { Coroutines.Add(Timing.RunCoroutine(AutoNuke())); } if (ClearRagdolls) { Coroutines.Add(Timing.RunCoroutine(CleanupRagdolls())); } if (ClearItems) { Coroutines.Add(Timing.RunCoroutine(CleanupItems())); } if (Instance.Scp049Healing || Instance.Scp0492Healing) { Coroutines.Add(Timing.RunCoroutine(DoScp049Heal())); } }
public Coroutine Run(Coroutine routine) { if (routine == null) { throw new NullReferenceException("Coroutine cant not be null."); } lock (locker) { var first = Coroutines.FirstOrDefault(x => x.Name == routine.Name && x.Owner == routine.Owner); if (first != null) { CountFalseAddCoroutines++; return(first); } Coroutines.Add(routine); CoroutinePerformance.TryGetValue(routine.Name, out var t); CoroutinePerformance[routine.Name] = t; CountAddCoroutines++; return(routine); } }
protected override void ItemGiven(Player player) { Coroutines.Add(Timing.RunCoroutine(DoInventoryRegeneration(player))); }
public Scp127(ItemType type, int clipSize, int itemId) : base(type, clipSize, itemId) { Coroutines.Add(Timing.RunCoroutine(DoAmmoRegeneration())); }