| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- using GadgetCore.API;
- using HarmonyLib;
- namespace IronmanChest.Patches
- {
- [HarmonyPatch(typeof(GameScript))]
- [HarmonyPatch(nameof(GameScript.SaveGame))]
- [HarmonyGadget("IronmanChest")]
- public static class Patch_GameScript_SaveGame
- {
- [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);
- }
- }
- }
|