public static bool Prefix(Scp914Machine __instance) { try { Better914Config Config = Better914Plugin.instance.Config; if (!Config.IsEnabled && !Config.UseNewRecipeSystem) { return(false); } if (!NetworkServer.active) { return(true); } __instance.players.Clear(); __instance.items.Clear(); foreach (var collider in Physics.OverlapBox(__instance.intake.position, __instance.inputSize / 2f)) { if (collider.GetComponent <CharacterClassManager>() is CharacterClassManager ccm) { __instance.players.Add(ccm); } if (collider.GetComponent <Pickup>() is Pickup pickup) { __instance.items.Add(pickup); } } return(Upgrade(__instance)); } catch (System.Exception ex) { Log.Error(ex.ToString()); return(true); } }
public static bool Prefix(PlayerInteract __instance) { Better914Config Config = Better914Plugin.instance.Config; if (!Config.IsEnabled) { return(false); } if (!__instance._playerInteractRateLimit.CanExecute(true)) { return(true); } if (__instance._hc.CufferId > 0 && (Config.OverrideHandcuffConfig ? !Config.CanDisarmedInteract : !PlayerInteract.CanDisarmedInteract)) { return(true); } if (!Config.CanChangeKnobWhileWorking && Scp914Machine.singleton.working) { return(true); } if (!__instance.ChckDis(Scp914Machine.singleton.knob.position)) { return(true); } if (Math.Abs(Scp914Machine.singleton.curKnobCooldown) > 0.001f) { return(true); } var ev = new ChangingKnobSettingEventArgs(Exiled.API.Features.Player.Get(__instance.gameObject), Scp914Machine.singleton.knobState + 1); Exiled.Events.Handlers.Scp914.OnChangingKnobSetting(ev); if (!ev.IsAllowed) { return(true); } Scp914Machine.singleton.curKnobCooldown = Scp914Machine.singleton.knobCooldown; Scp914Machine.singleton.NetworkknobState = ev.KnobSetting; __instance.OnInteract(); return(true); }