|
|
@@ -0,0 +1,57 @@
|
|
|
+using GadgetCore.API;
|
|
|
+using HarmonyLib;
|
|
|
+
|
|
|
+namespace IronmanChest.Patches
|
|
|
+{
|
|
|
+
|
|
|
+ [HarmonyPatch(typeof(GameScript))]
|
|
|
+ [HarmonyPatch(nameof(GameScript.SaveStorage))]
|
|
|
+ [HarmonyGadget("IronmanChest")]
|
|
|
+ public static class Patch_GameScript_SaveStorage
|
|
|
+ {
|
|
|
+ [HarmonyPrefix]
|
|
|
+ public static void Prefix(GameScript __instance, Item[] ___storage, ref int ___storageLevel)
|
|
|
+ {
|
|
|
+ if (Menuu.curProfession == 1)
|
|
|
+ {
|
|
|
+ PreviewLabs.PlayerPrefs.SetInt(Menuu.curChar + "ironmanstorageLevel", ___storageLevel);
|
|
|
+ for (int i = 0; i < Core.settingAmountPages * Core.settingAmountSlots; i++)
|
|
|
+ {
|
|
|
+ PreviewLabs.PlayerPrefs.SetInt(Menuu.curChar + "ironmanstorage" + i + "id", ___storage[i].id);
|
|
|
+ PreviewLabs.PlayerPrefs.SetInt(Menuu.curChar + "ironmanstorage" + i + "q", ___storage[i].q);
|
|
|
+ PreviewLabs.PlayerPrefs.SetInt(Menuu.curChar + "ironmanstorage" + i + "exp", ___storage[i].exp);
|
|
|
+ PreviewLabs.PlayerPrefs.SetInt(Menuu.curChar + "ironmanstorage" + i + "tier", ___storage[i].tier);
|
|
|
+ PreviewLabs.PlayerPrefs.SetInt(Menuu.curChar + "ironmanstorage" + i + "corrupted", ___storage[i].corrupted);
|
|
|
+ PreviewLabs.PlayerPrefs.SetInt(Menuu.curChar + "ironmanstorage" + i + "a0", ___storage[i].aspect[0]);
|
|
|
+ PreviewLabs.PlayerPrefs.SetInt(Menuu.curChar + "ironmanstorage" + i + "a1", ___storage[i].aspect[1]);
|
|
|
+ PreviewLabs.PlayerPrefs.SetInt(Menuu.curChar + "ironmanstorage" + i + "a2", ___storage[i].aspect[2]);
|
|
|
+ PreviewLabs.PlayerPrefs.SetInt(Menuu.curChar + "ironmanstorage" + i + "aL0", ___storage[i].aspectLvl[0]);
|
|
|
+ PreviewLabs.PlayerPrefs.SetInt(Menuu.curChar + "ironmanstorage" + i + "aL1", ___storage[i].aspectLvl[1]);
|
|
|
+ PreviewLabs.PlayerPrefs.SetInt(Menuu.curChar + "ironmanstorage" + i + "aL2", ___storage[i].aspectLvl[2]);
|
|
|
+ }
|
|
|
+ ___storageLevel = PreviewLabs.PlayerPrefs.GetInt("storageLevel");
|
|
|
+ for (int i = 0; i < Core.settingAmountPages * Core.settingAmountSlots; i++)
|
|
|
+ {
|
|
|
+ ___storage[i].id = PreviewLabs.PlayerPrefs.GetInt("storage" + i + "id");
|
|
|
+ ___storage[i].q = PreviewLabs.PlayerPrefs.GetInt("storage" + i + "q");
|
|
|
+ ___storage[i].exp = PreviewLabs.PlayerPrefs.GetInt("storage" + i + "exp");
|
|
|
+ ___storage[i].tier = PreviewLabs.PlayerPrefs.GetInt("storage" + i + "tier");
|
|
|
+ ___storage[i].corrupted = PreviewLabs.PlayerPrefs.GetInt("storage" + i + "corrupted");
|
|
|
+ ___storage[i].aspect[0] = PreviewLabs.PlayerPrefs.GetInt("storage" + i + "a0");
|
|
|
+ ___storage[i].aspect[1] = PreviewLabs.PlayerPrefs.GetInt("storage" + i + "a1");
|
|
|
+ ___storage[i].aspect[2] = PreviewLabs.PlayerPrefs.GetInt("storage" + i + "a2");
|
|
|
+ ___storage[i].aspectLvl[0] = PreviewLabs.PlayerPrefs.GetInt("storage" + i + "aL0");
|
|
|
+ ___storage[i].aspectLvl[1] = PreviewLabs.PlayerPrefs.GetInt("storage" + i + "aL1");
|
|
|
+ ___storage[i].aspectLvl[2] = PreviewLabs.PlayerPrefs.GetInt("storage" + i + "aL2");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ [HarmonyPostfix]
|
|
|
+ [HarmonyPriority(Priority.Low)]
|
|
|
+ public static void Postfix(GameScript __instance, Item[] ___storage, ref int ___storageLevel)
|
|
|
+ {
|
|
|
+ Patch_GameScript_LoadGame.Postfix(__instance, ___storage, ref ___storageLevel);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|