Decompiled source of NoBellRequired v1.0.1

LCObligedCompany.dll

Decompiled 6 months ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Logging;
using HarmonyLib;
using Unity.Netcode;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: AssemblyTitle("LCObligedCompany")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("LCObligedCompany")]
[assembly: AssemblyCopyright("Copyright ©  2024")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("1bdec440-60bc-4a8a-8214-2245618900b9")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8.1", FrameworkDisplayName = ".NET Framework 4.8.1")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace LCObligedCompany
{
	[BepInPlugin("freesnow.obligedcompany", "No Bell Required", "1.0.0")]
	public class NoBellRequired : BaseUnityPlugin
	{
		private const string MOD_NAMESPACE = "freesnow.obligedcompany";

		private const string MOD_NAME = "No Bell Required";

		private const string MOD_VERSION = "1.0.0";

		private readonly Harmony _harmony = new Harmony("freesnow.obligedcompany");

		public ManualLogSource Logger { get; private set; }

		private void Awake()
		{
			Logger = Logger.CreateLogSource("freesnow.obligedcompany");
			Logger.LogInfo((object)"No Bell Required v1.0.0 is now running.");
			_harmony.PatchAll();
		}
	}
}
namespace LCObligedCompany.Patches
{
	[HarmonyPatch(typeof(DepositItemsDesk))]
	internal class DepositItemsDeskPatch
	{
		[HarmonyPatch("Update")]
		[HarmonyPostfix]
		private static void BeNiceBeQuick(DepositItemsDesk __instance, ref List<GrabbableObject> ___itemsOnCounter, ref float ___grabObjectsTimer)
		{
			if (((NetworkBehaviour)__instance).IsHost)
			{
				__instance.currentMood.desiresSilence = false;
				__instance.currentMood.judgementSpeed = 0f;
				__instance.currentMood.timeToWaitBeforeGrabbingItem = 0f;
				__instance.currentMood.maxPlayersToKillBeforeSatisfied = 0;
				__instance.currentMood.mustBeWokenUp = false;
				___grabObjectsTimer = Math.Min(3f, ___grabObjectsTimer);
				__instance.patienceLevel = float.MaxValue;
				if (___itemsOnCounter.Count > 0 && !__instance.doorOpen)
				{
					__instance.OpenShutDoor(true);
				}
			}
		}
	}
}