using System; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using BepInEx; using HarmonyLib; using Microsoft.CodeAnalysis; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyVersion("0.0.0.0")] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace LargeResoureCap { [BepInPlugin("com.coloron.largeresourecap", "No Resource Cap", "1.0.0")] [MycoMod(/*Could not decode attribute arguments.*/)] public class LargeResoureCapPlugin : BaseUnityPlugin { public const string PluginGuid = "com.coloron.largeresourecap"; public const string PluginName = "No Resource Cap"; public const string PluginVersion = "1.0.0"; public const int CapValue = 99999; private Harmony _harmony; private void Awake() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown _harmony = new Harmony("com.coloron.largeresourecap"); _harmony.PatchAll(typeof(LargeResoureCapPlugin).Assembly); ((BaseUnityPlugin)this).Logger.LogInfo((object)string.Format("[{0}] Loaded. Resource/item cap overridden to {1}.", "No Resource Cap", 99999)); } private void OnDestroy() { if (_harmony != null) { _harmony.UnpatchSelf(); } } } [HarmonyPatch(typeof(PlayerResource), "get_Max")] public static class Patch_PlayerResource_Max { private static bool Prefix(PlayerResource __instance, ref int __result) { __result = 99999; return false; } } [HarmonyPatch(typeof(PlayerData), "AddResource", new Type[] { typeof(PlayerResource), typeof(int), typeof(bool) })] public static class Patch_PlayerData_AddResource { private static void Postfix(PlayerData __instance, PlayerResource resource, int amount, bool invokeMissionUpdate) { if (amount > 0 && !((Object)(object)resource == (Object)null)) { int resource2 = __instance.GetResource(resource); int value = Mathf.Min(resource2 + amount, 99999); Traverse val = Traverse.Create((object)__instance).Field("resources"); Dictionary value2 = val.GetValue>(); if (value2 != null) { value2[resource.ID] = value; } } } } [HarmonyPatch(typeof(PlayerData), "AddItem", new Type[] { typeof(IInventoryItem), typeof(int) })] public static class Patch_PlayerData_AddItem { private static void Postfix(PlayerData __instance, IInventoryItem item, int count) { if (count > 0 && item != null && !(item is PlayerResource)) { int item2 = __instance.GetItem(item); int value = Mathf.Min(item2 + count, 99999); Traverse val = Traverse.Create((object)__instance).Field("items"); Dictionary value2 = val.GetValue>(); if (value2 != null) { value2[item.ID] = value; } } } } }