Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of SmoothReserves Decor v1.1.3
SomeStuff.dll
Decompiled 2 years agousing System; using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Configuration; using HarmonyLib; using LethalLib.Modules; using TerminalApi; using TerminalApi.Events; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("SomeStuff")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("SomeStuff")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("8b8d4b02-f0c4-41ef-86f4-cac85c26b89d")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyVersion("1.0.0.0")] namespace SmoothReserevesDecor; [BepInPlugin("SmoothReserve.SmoothReservesDecor", "SmoothReserves Decor", "1.1.3")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] public class SmoothReservesDecor : BaseUnityPlugin { private const string modGUID = "SmoothReserve.SmoothReservesDecor"; private const string modName = "SmoothReserves Decor"; private const string modVersion = "1.1.3"; private readonly Harmony harmony = new Harmony("SmoothReserve.SmoothReservesDecor"); private static SmoothReservesDecor Instance; private bool stringPrinted = false; private ConfigEntry<int> configArma; private ConfigEntry<int> configAot; private ConfigEntry<int> configKim; private ConfigEntry<int> configHelldivers; private ConfigEntry<int> configRE2; private ConfigEntry<int> configCat; private ConfigEntry<int> configCraft; private ConfigEntry<int> configZombie; private ConfigEntry<int> configFootball; private ConfigEntry<int> configPersona; private ConfigEntry<int> configROR2; private ConfigEntry<int> configCSGO2; private ConfigEntry<int> configTerraria; private ConfigEntry<int> configTF2; private ConfigEntry<int> configZomboid; private ConfigEntry<int> configEyelessDog; private ConfigEntry<int> configSofa; private ConfigEntry<int> configDivider; private ConfigEntry<int> configMiniFrige; private ConfigEntry<int> configFridge; private ConfigEntry<int> configStove; private ConfigEntry<int> configCounter; private ConfigEntry<int> configCabinet; private ConfigEntry<int> configChoppingBoard; private ConfigEntry<int> configPot; private ConfigEntry<int> configPan; private ConfigEntry<int> configToaster; private ConfigEntry<int> configFlatScreen; private ConfigEntry<int> configSBox; private ConfigEntry<int> configJoystick; private ConfigEntry<int> configToiletPaperStand; private ConfigEntry<int> configTrashCan; private ConfigEntry<int> configSoap; private ConfigEntry<int> configTowelRack; private ConfigEntry<int> configSink; private ConfigEntry<int> configShower; private ConfigEntry<int> configToothbrushHolder; private ConfigEntry<int> configWashroomCubby; private ConfigEntry<int> configPiano; private ConfigEntry<int> configTVStand; private ConfigEntry<int> configTrafficCone; private ConfigEntry<int> configLaptop; private ConfigEntry<int> configBasicTable; private ConfigEntry<int> configGamingChair; private ConfigEntry<int> configToilet; private ConfigEntry<int> configBasicItemShelf; private ConfigEntry<int> configEndTable; private ConfigEntry<int> configBasicStandingLamp; private ConfigEntry<int> configVRHeadset; private ConfigEntry<int> configDrawingTablet; private ConfigEntry<int> configRectangleRug; private ConfigEntry<int> configCircleRug; private ConfigEntry<int> configShowerMat; private ConfigEntry<int> configPlunger; private ConfigEntry<int> configDeskLamp; private ConfigEntry<int> configHeadphones; private ConfigEntry<int> configSPhone; private ConfigEntry<int> configWasher; private ConfigEntry<int> configDryer; private ConfigEntry<int> configAxe; private ConfigEntry<int> configBasicCeilingLight1; private ConfigEntry<int> configBasicCeilingLight2; private ConfigEntry<int> configBasicWallLight1; private ConfigEntry<int> configBasicWallLight2; public string PingCommand() { return "Pong!"; } private void Awake() { //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Expected O, but got Unknown //IL_07ca: Unknown result type (might be due to invalid IL or missing references) //IL_07d1: Expected O, but got Unknown //IL_0849: Unknown result type (might be due to invalid IL or missing references) //IL_0850: Expected O, but got Unknown //IL_093a: Unknown result type (might be due to invalid IL or missing references) //IL_093f: Unknown result type (might be due to invalid IL or missing references) //IL_0943: Unknown result type (might be due to invalid IL or missing references) //IL_0952: Unknown result type (might be due to invalid IL or missing references) //IL_0961: Unknown result type (might be due to invalid IL or missing references) //IL_0981: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)Instance == (Object)null) { Instance = this; } ConfigEntry<bool> val = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "IsPlayerUsingImports", false, "Are you using custom imports?"); Events.TerminalAwake += new TerminalEventHandler(TerminalIsAwake); string text = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "axeitembundle"); AssetBundle val2 = AssetBundle.LoadFromFile(text); string path = ""; if (val.Value) { path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "imports"); } string[] array = new string[0]; string[] array2 = new string[0]; string[] array3 = new string[0]; string[] array4 = new string[0]; UnlockablesList[] array5 = (UnlockablesList[])(object)new UnlockablesList[0]; UnlockableItem[] array6 = (UnlockableItem[])(object)new UnlockableItem[0]; if (val.Value) { array = Directory.GetDirectories(path); array2 = new string[array.Length]; array3 = new string[array.Length]; array4 = new string[array.Length]; int num = 0; string[] array7 = array; foreach (string text2 in array7) { num++; } array5 = (UnlockablesList[])(object)new UnlockablesList[num]; array6 = (UnlockableItem[])(object)new UnlockableItem[num]; } string text3 = "WELCOME TO SMOOTHRESERVES DECOR!\nplease select a subcatagory\n_____________________________\n"; if (val.Value) { int num2 = 0; string[] array8 = array; foreach (string path2 in array8) { switch (num2) { case 0: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate0/ImportTemplateUnlockable.asset"); break; case 1: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate1/ImportTemplateUnlockable.asset"); break; case 2: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate2/ImportTemplateUnlockable.asset"); break; case 3: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate3/ImportTemplateUnlockable.asset"); break; case 4: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate4/ImportTemplateUnlockable.asset"); break; case 5: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate5/ImportTemplateUnlockable.asset"); break; case 6: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate6/ImportTemplateUnlockable.asset"); break; case 7: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate7/ImportTemplateUnlockable.asset"); break; case 8: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate8/ImportTemplateUnlockable.asset"); break; case 9: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate9/ImportTemplateUnlockable.asset"); break; case 10: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate10/ImportTemplateUnlockable.asset"); break; case 11: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate11/ImportTemplateUnlockable.asset"); break; case 12: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate12/ImportTemplateUnlockable.asset"); break; case 13: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate13/ImportTemplateUnlockable.asset"); break; case 14: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate14/ImportTemplateUnlockable.asset"); break; case 15: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate15/ImportTemplateUnlockable.asset"); break; case 16: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate16/ImportTemplateUnlockable.asset"); break; case 17: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate17/ImportTemplateUnlockable.asset"); break; case 18: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate18/ImportTemplateUnlockable.asset"); break; case 19: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate19/ImportTemplateUnlockable.asset"); break; case 20: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate20/ImportTemplateUnlockable.asset"); break; case 21: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate21/ImportTemplateUnlockable.asset"); break; case 22: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate22/ImportTemplateUnlockable.asset"); break; case 23: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate23/ImportTemplateUnlockable.asset"); break; case 24: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate24/ImportTemplateUnlockable.asset"); break; case 25: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate25/ImportTemplateUnlockable.asset"); break; case 26: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate26/ImportTemplateUnlockable.asset"); break; case 27: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate27/ImportTemplateUnlockable.asset"); break; case 28: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate28/ImportTemplateUnlockable.asset"); break; case 29: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate29/ImportTemplateUnlockable.asset"); break; case 30: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate30/ImportTemplateUnlockable.asset"); break; case 31: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate31/ImportTemplateUnlockable.asset"); break; case 32: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate32/ImportTemplateUnlockable.asset"); break; case 33: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate33/ImportTemplateUnlockable.asset"); break; case 34: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate34/ImportTemplateUnlockable.asset"); break; case 35: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate35/ImportTemplateUnlockable.asset"); break; case 36: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate36/ImportTemplateUnlockable.asset"); break; case 37: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate37/ImportTemplateUnlockable.asset"); break; case 38: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate38/ImportTemplateUnlockable.asset"); break; case 39: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate39/ImportTemplateUnlockable.asset"); break; case 40: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate40/ImportTemplateUnlockable.asset"); break; case 41: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate41/ImportTemplateUnlockable.asset"); break; case 42: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate42/ImportTemplateUnlockable.asset"); break; case 43: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate43/ImportTemplateUnlockable.asset"); break; case 44: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate44/ImportTemplateUnlockable.asset"); break; case 45: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate45/ImportTemplateUnlockable.asset"); break; case 46: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate46/ImportTemplateUnlockable.asset"); break; case 47: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate47/ImportTemplateUnlockable.asset"); break; case 48: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate48/ImportTemplateUnlockable.asset"); break; case 49: array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate49/ImportTemplateUnlockable.asset"); break; } Material val3 = new Material(Shader.Find("HDRP/Lit")); array6[num2] = array5[num2].unlockables[0]; GameObject prefabObject = array6[num2].prefabObject; array2[num2] = Path.GetFileName(path2); array3[num2] = Directory.GetFiles(path2, "*.png")[0]; array4[num2] = Directory.GetFiles(path2, "*.obj")[0]; prefabObject.GetComponentInChildren<MeshFilter>().mesh = LoadMeshFromOBJ(array4[num2]); byte[] array9 = File.ReadAllBytes(array3[num2]); Texture2D val4 = new Texture2D(2, 2); ImageConversion.LoadImage(val4, array9); val3.mainTexture = (Texture)(object)val4; ((Renderer)prefabObject.GetComponentInChildren<MeshRenderer>()).material = val3; array6[num2].spawnPrefab = Object.op_Implicit((Object)(object)prefabObject); NetworkPrefabs.RegisterNetworkPrefab(array6[num2].prefabObject); Utilities.FixMixerGroups(array6[num2].prefabObject); ConfigEntry<float> val5 = ((BaseUnityPlugin)this).Config.Bind<float>("General", array2[num2] + " scale", 1f, "The scale of the " + array2[num2]); if (array2[num2] == "Skull") { val5.Value = 0.025f; } ConfigEntry<int> val6 = ((BaseUnityPlugin)this).Config.Bind<int>("General", array2[num2] + " price", 1, "The scale of the " + array2[num2]); Vector3 localScale = ((Component)prefabObject.GetComponentInChildren<MeshRenderer>()).transform.localScale; ((Vector3)(ref localScale))..ctor(localScale.x * val5.Value, localScale.y * val5.Value, localScale.z * val5.Value); ((Component)prefabObject.GetComponentInChildren<MeshRenderer>()).transform.localScale = localScale; array6[num2].unlockableName = array2[num2]; Unlockables.RegisterUnlockable(array6[num2], (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, 1); ((BaseUnityPlugin)this).Logger.LogMessage((object)("object " + (num2 + 1) + " Name: " + array2[num2] + " png: " + Path.GetFileName(array3[num2]) + " obj: " + Path.GetFileName(array4[num2]))); ((BaseUnityPlugin)this).Logger.LogMessage((object)array6[num2].unlockableName); text3 = text3 + "\n" + array2[num2] + " - [" + val6.Value + "]\nProduct ID: " + array2[num2] + "\n"; num2++; } } text3 += "_____________________________\n"; UnlockablesList val7 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Arma/ArmaUnlockable.asset"); UnlockableItem val8 = val7.unlockables[0]; UnlockablesList val9 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/AOT/AOTUnlockable.asset"); UnlockableItem val10 = val9.unlockables[0]; UnlockablesList val11 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Kim/KimUnlockable.asset"); UnlockableItem val12 = val11.unlockables[0]; UnlockablesList val13 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Helldivers/HelldiversUnlockable.asset"); UnlockableItem val14 = val13.unlockables[0]; UnlockablesList val15 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/RE2/RE2Unlockable.asset"); UnlockableItem val16 = val15.unlockables[0]; UnlockablesList val17 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Cat/CatUnlockable.asset"); UnlockableItem val18 = val17.unlockables[0]; UnlockablesList val19 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Craft/CraftUnlockable.asset"); UnlockableItem val20 = val19.unlockables[0]; UnlockablesList val21 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Zombies/ZombiesUnlockable.asset"); UnlockableItem val22 = val21.unlockables[0]; UnlockablesList val23 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Football/FootballUnlockable.asset"); UnlockableItem val24 = val23.unlockables[0]; UnlockablesList val25 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Persona/PersonaUnlockable.asset"); UnlockableItem val26 = val25.unlockables[0]; UnlockablesList val27 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ROR/RORUnlockable.asset"); UnlockableItem val28 = val27.unlockables[0]; UnlockablesList val29 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/CSGO/CSGOUnlockable.asset"); UnlockableItem val30 = val29.unlockables[0]; UnlockablesList val31 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Terraria/TerrariaUnlockable.asset"); UnlockableItem val32 = val31.unlockables[0]; UnlockablesList val33 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/TF2/TF2Unlockable.asset"); UnlockableItem val34 = val33.unlockables[0]; UnlockablesList val35 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Zomboid/ZomboidUnlockable.asset"); UnlockableItem val36 = val35.unlockables[0]; UnlockablesList val37 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/EyelessDog/EyelessDogUnlockable.asset"); UnlockableItem val38 = val37.unlockables[0]; UnlockablesList val39 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Sofa/SofaUnlockable.asset"); UnlockableItem val40 = val39.unlockables[0]; UnlockablesList val41 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/DeviderWall/DeviderWallUnlockable.asset"); UnlockableItem val42 = val41.unlockables[0]; UnlockablesList val43 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/MiniFridge/MiniFridgeUnlockable.asset"); UnlockableItem val44 = val43.unlockables[0]; UnlockablesList val45 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Fridge/FridgeUnlockable.asset"); UnlockableItem val46 = val45.unlockables[0]; UnlockablesList val47 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Stove/StoveUnlockable.asset"); UnlockableItem val48 = val47.unlockables[0]; UnlockablesList val49 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Counter/CounterUnlockable.asset"); UnlockableItem val50 = val49.unlockables[0]; UnlockablesList val51 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Cupboard/CupboardUnlockable.asset"); UnlockableItem val52 = val51.unlockables[0]; UnlockablesList val53 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ChoppingBoard/ChoppingBoardUnlockable.asset"); UnlockableItem val54 = val53.unlockables[0]; UnlockablesList val55 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Pan/PanUnlockable.asset"); UnlockableItem val56 = val55.unlockables[0]; UnlockablesList val57 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Toaster/ToasterUnlockable.asset"); UnlockableItem val58 = val57.unlockables[0]; UnlockablesList val59 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Pot/PotUnlockable.asset"); UnlockableItem val60 = val59.unlockables[0]; UnlockablesList val61 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/FlatScreen/FlatScreenUnlockable.asset"); UnlockableItem val62 = val61.unlockables[0]; UnlockablesList val63 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/SBox/SBoxUnlockable.asset"); UnlockableItem val64 = val63.unlockables[0]; UnlockablesList val65 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Joystick/JoystickUnlockable.asset"); UnlockableItem val66 = val65.unlockables[0]; UnlockablesList val67 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ToiletPaperHolder/ToiletPaperHolderUnlockable.asset"); UnlockableItem val68 = val67.unlockables[0]; UnlockablesList val69 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/TowelRack/TowelRackUnlockable.asset"); UnlockableItem val70 = val69.unlockables[0]; UnlockablesList val71 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/TrashCan/TrashCanUnlockable.asset"); UnlockableItem val72 = val71.unlockables[0]; UnlockablesList val73 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Sink/SinkUnlockable.asset"); UnlockableItem val74 = val73.unlockables[0]; UnlockablesList val75 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Soap/SoapUnlockable.asset"); UnlockableItem val76 = val75.unlockables[0]; UnlockablesList val77 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/WashroomCubby/WashroomCubbyUnlockable.asset"); UnlockableItem val78 = val77.unlockables[0]; UnlockablesList val79 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Shower/ShowerUnlockable.asset"); UnlockableItem val80 = val79.unlockables[0]; UnlockablesList val81 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Toilet/ToiletUnlockable.asset"); UnlockableItem val82 = val81.unlockables[0]; UnlockablesList val83 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/TVStand/TVStandUnlockable.asset"); UnlockableItem val84 = val83.unlockables[0]; UnlockablesList val85 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Piano/PianoUnlockable.asset"); UnlockableItem val86 = val85.unlockables[0]; UnlockablesList val87 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Laptop/LaptopUnlockable.asset"); UnlockableItem val88 = val87.unlockables[0]; UnlockablesList val89 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/BasicTable/BasicTableUnlockable.asset"); UnlockableItem val90 = val89.unlockables[0]; UnlockablesList val91 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/GamingChair/GamingChairUnlockable.asset"); UnlockableItem val92 = val91.unlockables[0]; UnlockablesList val93 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/TrafficCone/TrafficConeUnlockable.asset"); UnlockableItem val94 = val93.unlockables[0]; UnlockablesList val95 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ToothbrushHolder/ToothbrushHolderUnlockable.asset"); UnlockableItem val96 = val95.unlockables[0]; UnlockablesList val97 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/BasicItemShelf/BasicItemShelfUnlockable.asset"); UnlockableItem val98 = val97.unlockables[0]; UnlockablesList val99 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/EndTable/EndTableUnlockable.asset"); UnlockableItem val100 = val99.unlockables[0]; UnlockablesList val101 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/BasicStandingLamp/BasicStandingLampUnlockable.asset"); UnlockableItem val102 = val101.unlockables[0]; UnlockablesList val103 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/VRHeadset/VRHeadsetUnlockable.asset"); UnlockableItem val104 = val103.unlockables[0]; UnlockablesList val105 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/DrawingTablet/DrawingTabletUnlockable.asset"); UnlockableItem val106 = val105.unlockables[0]; UnlockablesList val107 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/RectangleRug/RectangleRugUnlockable.asset"); UnlockableItem val108 = val107.unlockables[0]; UnlockablesList val109 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/CircleRug/CircleRugUnlockable.asset"); UnlockableItem val110 = val109.unlockables[0]; UnlockablesList val111 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ShowerMat/ShowerMatUnlockable.asset"); UnlockableItem val112 = val111.unlockables[0]; UnlockablesList val113 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Plunger/PlungerUnlockable.asset"); UnlockableItem val114 = val113.unlockables[0]; UnlockablesList val115 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/DeskLamp/DeskLampUnlockable.asset"); UnlockableItem val116 = val115.unlockables[0]; UnlockablesList val117 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Headphones/HeadphonesUnlockable.asset"); UnlockableItem val118 = val117.unlockables[0]; UnlockablesList val119 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/SPhone/SPhoneUnlockable.asset"); UnlockableItem val120 = val119.unlockables[0]; UnlockablesList val121 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/WashingMachine/WashingMachineUnlockable.asset"); UnlockableItem val122 = val121.unlockables[0]; UnlockablesList val123 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/DryingMachine/DryingMachineUnlockable.asset"); UnlockableItem val124 = val123.unlockables[0]; UnlockablesList val125 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Axe/AxeUnlockable.asset"); UnlockableItem val126 = val125.unlockables[0]; UnlockablesList val127 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/BasicCeilingLight1/BasicCeilingLight1Unlockable.asset"); UnlockableItem val128 = val127.unlockables[0]; UnlockablesList val129 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/BasicCeilingLight2/BasicCeilingLight2Unlockable.asset"); UnlockableItem val130 = val129.unlockables[0]; UnlockablesList val131 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/BasicWallLight1/BasicWallLight1Unlockable.asset"); UnlockableItem val132 = val131.unlockables[0]; UnlockablesList val133 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/BasicWallLight2/BasicWallLight2Unlockable.asset"); UnlockableItem val134 = val133.unlockables[0]; NetworkPrefabs.RegisterNetworkPrefab(val8.prefabObject); Utilities.FixMixerGroups(val8.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val10.prefabObject); Utilities.FixMixerGroups(val10.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val12.prefabObject); Utilities.FixMixerGroups(val12.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val14.prefabObject); Utilities.FixMixerGroups(val14.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val16.prefabObject); Utilities.FixMixerGroups(val16.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val18.prefabObject); Utilities.FixMixerGroups(val18.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val20.prefabObject); Utilities.FixMixerGroups(val20.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val22.prefabObject); Utilities.FixMixerGroups(val22.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val24.prefabObject); Utilities.FixMixerGroups(val24.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val26.prefabObject); Utilities.FixMixerGroups(val26.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val28.prefabObject); Utilities.FixMixerGroups(val28.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val30.prefabObject); Utilities.FixMixerGroups(val30.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val32.prefabObject); Utilities.FixMixerGroups(val32.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val34.prefabObject); Utilities.FixMixerGroups(val34.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val36.prefabObject); Utilities.FixMixerGroups(val36.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val38.prefabObject); Utilities.FixMixerGroups(val38.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val40.prefabObject); Utilities.FixMixerGroups(val40.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val42.prefabObject); Utilities.FixMixerGroups(val42.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val44.prefabObject); Utilities.FixMixerGroups(val44.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val46.prefabObject); Utilities.FixMixerGroups(val46.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val48.prefabObject); Utilities.FixMixerGroups(val48.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val50.prefabObject); Utilities.FixMixerGroups(val50.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val52.prefabObject); Utilities.FixMixerGroups(val52.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val52.prefabObject); Utilities.FixMixerGroups(val56.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val56.prefabObject); Utilities.FixMixerGroups(val58.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val58.prefabObject); Utilities.FixMixerGroups(val54.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val54.prefabObject); Utilities.FixMixerGroups(val60.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val60.prefabObject); Utilities.FixMixerGroups(val62.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val62.prefabObject); Utilities.FixMixerGroups(val64.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val64.prefabObject); Utilities.FixMixerGroups(val66.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val66.prefabObject); Utilities.FixMixerGroups(val68.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val68.prefabObject); Utilities.FixMixerGroups(val70.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val70.prefabObject); Utilities.FixMixerGroups(val72.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val72.prefabObject); Utilities.FixMixerGroups(val74.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val74.prefabObject); Utilities.FixMixerGroups(val76.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val76.prefabObject); Utilities.FixMixerGroups(val78.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val78.prefabObject); Utilities.FixMixerGroups(val80.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val80.prefabObject); Utilities.FixMixerGroups(val82.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val82.prefabObject); Utilities.FixMixerGroups(val86.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val86.prefabObject); Utilities.FixMixerGroups(val84.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val84.prefabObject); Utilities.FixMixerGroups(val88.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val88.prefabObject); Utilities.FixMixerGroups(val90.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val90.prefabObject); Utilities.FixMixerGroups(val92.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val92.prefabObject); Utilities.FixMixerGroups(val94.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val94.prefabObject); Utilities.FixMixerGroups(val96.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val96.prefabObject); Utilities.FixMixerGroups(val98.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val98.prefabObject); Utilities.FixMixerGroups(val100.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val100.prefabObject); Utilities.FixMixerGroups(val102.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val102.prefabObject); Utilities.FixMixerGroups(val104.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val104.prefabObject); Utilities.FixMixerGroups(val106.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val106.prefabObject); Utilities.FixMixerGroups(val108.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val108.prefabObject); Utilities.FixMixerGroups(val110.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val110.prefabObject); Utilities.FixMixerGroups(val112.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val112.prefabObject); Utilities.FixMixerGroups(val116.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val116.prefabObject); Utilities.FixMixerGroups(val114.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val114.prefabObject); Utilities.FixMixerGroups(val118.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val118.prefabObject); Utilities.FixMixerGroups(val120.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val120.prefabObject); Utilities.FixMixerGroups(val122.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val122.prefabObject); Utilities.FixMixerGroups(val124.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val124.prefabObject); Utilities.FixMixerGroups(val126.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val126.prefabObject); Utilities.FixMixerGroups(val132.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val132.prefabObject); Utilities.FixMixerGroups(val134.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val134.prefabObject); Utilities.FixMixerGroups(val128.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val128.prefabObject); Utilities.FixMixerGroups(val130.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(val130.prefabObject); configArma = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ArmaPosterPrice", 30, "The price of the Arma poster"); configAot = ((BaseUnityPlugin)this).Config.Bind<int>("General", "AttackOnTitanPosterPrice", 30, "The price of the Attack on Titan poster"); configKim = ((BaseUnityPlugin)this).Config.Bind<int>("General", "KitsuragiPosterPrice", 30, "The price of the Kitsuragi poster"); configHelldivers = ((BaseUnityPlugin)this).Config.Bind<int>("General", "HelldiversPosterPrice", 30, "The price of the Helldivers2 poster"); configRE2 = ((BaseUnityPlugin)this).Config.Bind<int>("General", "RE2PosterPrice", 30, "The price of the RE2 poster"); configCat = ((BaseUnityPlugin)this).Config.Bind<int>("General", "HappyCatPosterPrice", 30, "The price of the Happy Cat poster"); configCraft = ((BaseUnityPlugin)this).Config.Bind<int>("General", "MinecraftPosterPrice", 30, "The price of the Minecraft poster"); configZombie = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ZombiesPosterPrice", 30, "The price of the Zombies poster"); configFootball = ((BaseUnityPlugin)this).Config.Bind<int>("General", "FootballPosterPrice", 30, "The price of the Football poster"); configPersona = ((BaseUnityPlugin)this).Config.Bind<int>("General", "PersonaPosterPrice", 30, "The price of the Persona 5 poster"); configROR2 = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ROR2PosterPrice", 30, "The price of the Risk of Rain 2 poster"); configCSGO2 = ((BaseUnityPlugin)this).Config.Bind<int>("General", "CSGO2PosterPrice", 30, "The price of the CSGO 2 poster"); configTerraria = ((BaseUnityPlugin)this).Config.Bind<int>("General", "TerrariaPosterPrice", 30, "The price of the Terraria poster"); configTF2 = ((BaseUnityPlugin)this).Config.Bind<int>("General", "TF2PosterPrice", 30, "The price of the TF2 poster"); configZomboid = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ZomboidPosterPrice", 30, "The price of the Zomboid poster"); configEyelessDog = ((BaseUnityPlugin)this).Config.Bind<int>("General", "EyelessDogPosterPrice", 30, "The price of the Eyeless Dog poster"); configSofa = ((BaseUnityPlugin)this).Config.Bind<int>("General", "SofaPrice", 50, "The price of the Sofa"); configDivider = ((BaseUnityPlugin)this).Config.Bind<int>("General", "DividerPrice", 125, "The price of the Divider"); configMiniFrige = ((BaseUnityPlugin)this).Config.Bind<int>("General", "MiniFridgePrice", 40, "The price of the Mini Fridge"); configFridge = ((BaseUnityPlugin)this).Config.Bind<int>("General", "FridgePrice", 50, "The price of the Fridge"); configStove = ((BaseUnityPlugin)this).Config.Bind<int>("General", "StovePrice", 40, "The price of the Stove"); configCounter = ((BaseUnityPlugin)this).Config.Bind<int>("General", "CounterPrice", 30, "The price of the Counter"); configCabinet = ((BaseUnityPlugin)this).Config.Bind<int>("General", "CabinetPrice", 30, "The price of the Cabinet"); configChoppingBoard = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ChoppingBoardPrice", 15, "The price of the Chopping Board"); configPot = ((BaseUnityPlugin)this).Config.Bind<int>("General", "PotPrice", 20, "The price of the Pot"); configPan = ((BaseUnityPlugin)this).Config.Bind<int>("General", "PanPrice", 20, "The price of the Pan"); configToaster = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ToasterPrice", 25, "The price of the Toaster"); configFlatScreen = ((BaseUnityPlugin)this).Config.Bind<int>("General", "FlatscreenTVPrice", 50, "The price of the Flatscreen TV"); configSBox = ((BaseUnityPlugin)this).Config.Bind<int>("General", "SBoxPrice", 40, "The price of the SBox"); configJoystick = ((BaseUnityPlugin)this).Config.Bind<int>("General", "JoystickPrice", 15, "The price of the Joystick"); configToiletPaperStand = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ToiletPaperStandPrice", 20, "The price of the Toilet Paper Stand"); configTrashCan = ((BaseUnityPlugin)this).Config.Bind<int>("General", "TrashCanPrice", 15, "The price of the Trash Can"); configSoap = ((BaseUnityPlugin)this).Config.Bind<int>("General", "SoapPrice", 10, "The price of the Soap"); configTowelRack = ((BaseUnityPlugin)this).Config.Bind<int>("General", "TowelRackPrice", 25, "The price of the Towel Rack"); configSink = ((BaseUnityPlugin)this).Config.Bind<int>("General", "SinkPrice", 50, "The price of the Sink"); configShower = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ShowerPrice", 75, "The price of the Shower"); configToothbrushHolder = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ToothbrushHolderPrice", 15, "The price of the Toothbrush Holder"); configWashroomCubby = ((BaseUnityPlugin)this).Config.Bind<int>("General", "WashroomCubbyPrice", 100, "The price of the Washroom Cubby"); configPiano = ((BaseUnityPlugin)this).Config.Bind<int>("General", "PianoPrice", 50, "The price of the Piano"); configTVStand = ((BaseUnityPlugin)this).Config.Bind<int>("General", "TVStandPrice", 40, "The price of the TV Stand"); configTrafficCone = ((BaseUnityPlugin)this).Config.Bind<int>("General", "TrafficConePrice", 15, "The price of the Traffic Cone"); configLaptop = ((BaseUnityPlugin)this).Config.Bind<int>("General", "LaptopPrice", 40, "The price of the Laptop"); configBasicTable = ((BaseUnityPlugin)this).Config.Bind<int>("General", "BasicTablePrice", 30, "The price of the Basic Table"); configGamingChair = ((BaseUnityPlugin)this).Config.Bind<int>("General", "GamingChairPrice", 50, "The price of the Gaming Chair"); configToilet = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ToiletPrice", 50, "The price of the Toilet"); configBasicItemShelf = ((BaseUnityPlugin)this).Config.Bind<int>("General", "BasicItemShelfPrice", 40, "The price of the Basic Item Shelf"); configEndTable = ((BaseUnityPlugin)this).Config.Bind<int>("General", "EndTablePrice", 35, "The price of the End Table"); configBasicStandingLamp = ((BaseUnityPlugin)this).Config.Bind<int>("General", "BasicStandingLampPrice", 25, "The price of the Basic Standing Lamp"); configVRHeadset = ((BaseUnityPlugin)this).Config.Bind<int>("General", "VRHeadsetPrice", 30, "The price of the VR Headset"); configDrawingTablet = ((BaseUnityPlugin)this).Config.Bind<int>("General", "DrawingTabletPrice", 30, "The price of the Drawing Tablet"); configRectangleRug = ((BaseUnityPlugin)this).Config.Bind<int>("General", "RectangleRugPrice", 25, "The price of the Rectangle Rug"); configCircleRug = ((BaseUnityPlugin)this).Config.Bind<int>("General", "CircleRugPrice", 20, "The price of the Circle Rug"); configShowerMat = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ShowerMatPrice", 15, "The price of the Shower Mat"); configPlunger = ((BaseUnityPlugin)this).Config.Bind<int>("General", "PlungerPrice", 30, "The price of the Plunger"); configDeskLamp = ((BaseUnityPlugin)this).Config.Bind<int>("General", "DeskLampPrice", 15, "The price of the Desk Lamp"); configHeadphones = ((BaseUnityPlugin)this).Config.Bind<int>("General", "HeadphonesPrice", 30, "The price of the Headphones"); configSPhone = ((BaseUnityPlugin)this).Config.Bind<int>("General", "SPhonePrice", 30, "The price of the SPhone"); configWasher = ((BaseUnityPlugin)this).Config.Bind<int>("General", "WashingMachinePrice", 50, "The price of the Washing Machine"); configDryer = ((BaseUnityPlugin)this).Config.Bind<int>("General", "DryingMachinePrice", 50, "The price of the Drying Machine"); configAxe = ((BaseUnityPlugin)this).Config.Bind<int>("General", "AxePrice", 20, "The price of the Axe"); configBasicCeilingLight1 = ((BaseUnityPlugin)this).Config.Bind<int>("General", "BasicCeilingLight1", 20, "The price of the Basic Ceiling Light 1"); configBasicCeilingLight2 = ((BaseUnityPlugin)this).Config.Bind<int>("General", "BasicCeilingLight2", 20, "The price of the Basic Ceiling Light 2"); configBasicWallLight1 = ((BaseUnityPlugin)this).Config.Bind<int>("General", "BasicWallLight1", 20, "The price of the Basic Wall Light 1"); configBasicWallLight2 = ((BaseUnityPlugin)this).Config.Bind<int>("General", "BasicWallLight2", 20, "The price of the Basic Wall Light 2"); Unlockables.RegisterUnlockable(val8, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configArma.Value); Unlockables.RegisterUnlockable(val10, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configAot.Value); Unlockables.RegisterUnlockable(val12, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configKim.Value); Unlockables.RegisterUnlockable(val14, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configHelldivers.Value); Unlockables.RegisterUnlockable(val16, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configRE2.Value); Unlockables.RegisterUnlockable(val18, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configCat.Value); Unlockables.RegisterUnlockable(val20, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configCraft.Value); Unlockables.RegisterUnlockable(val22, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configZombie.Value); Unlockables.RegisterUnlockable(val24, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configFootball.Value); Unlockables.RegisterUnlockable(val26, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configPersona.Value); Unlockables.RegisterUnlockable(val28, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configROR2.Value); Unlockables.RegisterUnlockable(val30, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configCSGO2.Value); Unlockables.RegisterUnlockable(val32, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configTerraria.Value); Unlockables.RegisterUnlockable(val34, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configTF2.Value); Unlockables.RegisterUnlockable(val36, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configZomboid.Value); Unlockables.RegisterUnlockable(val38, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configEyelessDog.Value); Unlockables.RegisterUnlockable(val40, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configSofa.Value); Unlockables.RegisterUnlockable(val42, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configDivider.Value); Unlockables.RegisterUnlockable(val44, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configMiniFrige.Value); Unlockables.RegisterUnlockable(val46, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configFridge.Value); Unlockables.RegisterUnlockable(val48, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configStove.Value); Unlockables.RegisterUnlockable(val50, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configCounter.Value); Unlockables.RegisterUnlockable(val52, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configCabinet.Value); Unlockables.RegisterUnlockable(val56, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configPan.Value); Unlockables.RegisterUnlockable(val54, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configChoppingBoard.Value); Unlockables.RegisterUnlockable(val58, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configToaster.Value); Unlockables.RegisterUnlockable(val60, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configPot.Value); Unlockables.RegisterUnlockable(val62, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configFlatScreen.Value); Unlockables.RegisterUnlockable(val64, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configSBox.Value); Unlockables.RegisterUnlockable(val66, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configJoystick.Value); Unlockables.RegisterUnlockable(val72, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configTrashCan.Value); Unlockables.RegisterUnlockable(val68, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configToiletPaperStand.Value); Unlockables.RegisterUnlockable(val76, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configSoap.Value); Unlockables.RegisterUnlockable(val74, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configSink.Value); Unlockables.RegisterUnlockable(val70, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configTowelRack.Value); Unlockables.RegisterUnlockable(val78, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configWashroomCubby.Value); Unlockables.RegisterUnlockable(val80, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configShower.Value); Unlockables.RegisterUnlockable(val82, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configToilet.Value); Unlockables.RegisterUnlockable(val86, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configPiano.Value); Unlockables.RegisterUnlockable(val84, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configTVStand.Value); Unlockables.RegisterUnlockable(val88, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configLaptop.Value); Unlockables.RegisterUnlockable(val90, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configBasicTable.Value); Unlockables.RegisterUnlockable(val92, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configGamingChair.Value); Unlockables.RegisterUnlockable(val94, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configTrafficCone.Value); Unlockables.RegisterUnlockable(val96, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configToothbrushHolder.Value); Unlockables.RegisterUnlockable(val98, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configBasicItemShelf.Value); Unlockables.RegisterUnlockable(val100, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configEndTable.Value); Unlockables.RegisterUnlockable(val102, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configBasicStandingLamp.Value); Unlockables.RegisterUnlockable(val104, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configVRHeadset.Value); Unlockables.RegisterUnlockable(val106, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configDrawingTablet.Value); Unlockables.RegisterUnlockable(val108, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configRectangleRug.Value); Unlockables.RegisterUnlockable(val110, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configCircleRug.Value); Unlockables.RegisterUnlockable(val112, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configShowerMat.Value); Unlockables.RegisterUnlockable(val116, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configDeskLamp.Value); Unlockables.RegisterUnlockable(val114, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configPlunger.Value); Unlockables.RegisterUnlockable(val118, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configHeadphones.Value); Unlockables.RegisterUnlockable(val120, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configSPhone.Value); Unlockables.RegisterUnlockable(val122, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configWasher.Value); Unlockables.RegisterUnlockable(val124, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configDryer.Value); Unlockables.RegisterUnlockable(val126, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configAxe.Value); Unlockables.RegisterUnlockable(val128, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configBasicCeilingLight1.Value); Unlockables.RegisterUnlockable(val130, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configBasicCeilingLight2.Value); Unlockables.RegisterUnlockable(val132, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configBasicWallLight1.Value); Unlockables.RegisterUnlockable(val134, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configBasicWallLight2.Value); string text4 = "WELCOME TO SMOOTHRESERVES DECOR!\nplease select a subcatagory\n_____________________________\n\n<Livingroom\n<srLivingRoom\n\n<Kitchen\n<srKitchen\n\n<Washroom\n<srWashroom\n\n<Lights\n<srLights\n\n<Posters\n<srPosters\n\n<Other\n<srOther\n\n<Imports\n<srImports\n_____________________________\n"; string text5 = "\nWELCOME TO SMOOTHRESERVES OTHERS!\n_____________________________\n\nAxe - [" + configAxe.Value + "]\nProduct ID: 4X3S\n\nDivider Wall - [" + configDivider.Value + "]\nProduct ID: 2n9d\n\nTraffic Cone - [" + configTrafficCone.Value + "]\nProduct ID: 9s9f\n\nWashroom Cubby - [" + configWashroomCubby.Value + "]\nProduct ID: S5J7\nNOTE: The grab point for the cubby is above the door.\n"; string text6 = "\nWELCOME TO SMOOTHRESERVES KITCHEN!\n_____________________________\n\nCabinet - [" + configCabinet.Value + "]\nProduct ID: 3U0x\n\nChopping Board - [" + configChoppingBoard.Value + "]\nProduct ID: e98c\n\nCounter - [" + configCounter.Value + "]\nProduct ID: 4a7m\n\nDrying Machine - [" + configDryer.Value + "]\nProduct ID: d4y1\n\nFridge - [" + configFridge.Value + "]\nProduct ID: g2a6\n\nPan - [" + configPan.Value + "]\nProduct ID: k3h6\n\nPot - [" + configPot.Value + "]\nProduct ID: 7j5c\n\nStove - [" + configStove.Value + "]\nProduct ID: 9h1m\n\nToaster - [" + configToaster.Value + "]\nProduct ID: f3mh\n\nWashing Machine - [" + configWasher.Value + "]\nProduct ID: w6s5\n"; string text7 = "\nWELCOME TO SMOOTHRESERVES LIVING ROOMS!\n_____________________________\n\nBasic Item Shelf - [" + configBasicItemShelf.Value + "]\nProduct ID: z2z4\n\nBasic Table - [" + configBasicTable.Value + "]\nProduct ID: k5z1\n\nCircle Rug - [" + configCircleRug.Value + "]\nProduct ID: C1R6\n\nDrawing Tablet - [" + configDrawingTablet.Value + "]\nProduct ID: 0b0z\n\nEnd Table - [" + configEndTable.Value + "]\nProduct ID: u6r3\n\nFlat-Screen TV - [" + configFlatScreen.Value + "]\nProduct ID: l0z6\n\nGaming Chair - [" + configGamingChair.Value + "]\nProduct ID: u2o9\n\nHeadphones - [" + configHeadphones.Value + "]\nProduct ID: H3A6\n\nJoystick - [" + configJoystick.Value + "]\nProduct ID: 2l5k\n\nLaptop - [" + configLaptop.Value + "]\nProduct ID: t6t2\n\nMini Fridge - [" + configMiniFrige.Value + "]\nProduct ID: j2x8\n\nPiano - [" + configPiano.Value + "]\nProduct ID: a0p1\n\nRectangle Rug - [" + configRectangleRug.Value + "]\nProduct ID: R3C7\n\nSBox - [" + configSBox.Value + "]\nProduct ID: 8i4r\n\nSPhone - [" + configSPhone.Value + "]\nProduct ID: 5P0N\n\nSofa - [" + configSofa.Value + "]\nProduct ID: f6h1\n\nTV Stand - [" + configTVStand.Value + "]\nProduct ID: r7a2\n\nVR Headset - [" + configVRHeadset.Value + "]\nProduct ID: v3c8\n"; string text8 = "\nWELCOME TO SMOOTHRESERVES WASHROOMS!\n_____________________________\n\nPlunger - [" + configPlunger.Value + "]\nProduct ID: P1U5\n\nShower - [" + configShower.Value + "]\nProduct ID: C4uk\n\nShower Mat - [" + configShowerMat.Value + "]\nProduct ID: 5H0W\n\nToilet - [" + configToilet.Value + "]\nProduct ID: F2K0\n\nToilet Paper Stand - [" + configToiletPaperStand.Value + "]\nProduct ID: z8OV\n\nToothbrush Holder - [" + configToothbrushHolder.Value + "]\nProduct ID: m8n4\n\nTowel Rack - [" + configTowelRack.Value + "]\nProduct ID: 5x1k\n\nTrash Can - [" + configTrashCan.Value + "]\nProduct ID: h3d0\n\nSink - [" + configSink.Value + "]\nProduct ID: X3f8\n\nSoap Bar - [" + configSoap.Value + "]\nProduct ID: g1v5\n"; string text9 = "\nWELCOME TO SMOOTHRESERVES POSTERS!\n_____________________________\n\nArma 3 Poster - [" + configArma.Value + "]\nProduct ID: d4l6\n\nAttack On Titan Poster - [" + configAot.Value + "]\nProduct ID: 5n9d\n\nCSGO 2 Poster - [" + configCSGO2.Value + "]\nProduct ID: C5G0\n\nEyelessDog Poster - [" + configEyelessDog.Value + "]\nProduct ID: 3Y3L\n\nFootball Poster - [" + configFootball.Value + "]\nProduct ID: f0o7\n\nHappy Cat Poster - [" + configCat.Value + "]\nProduct ID: 4n9d\n\nHellDivers 2 Poster - [" + configHelldivers.Value + "]\nProduct ID: 8k3m\n\nKim Kitsuragi Poster - [" + configKim.Value + "]\nProduct ID: 6d3n\n\nMinecraft Poster - [" + configCraft.Value + "]\nProduct ID: 2o8c\n\nPersona 5 Poster - [" + configPersona.Value + "]\nProduct ID: p3r5\n\nResident Evil 2 Poster - [" + configRE2.Value + "]\nProduct ID: h3c7\n\nRisk of Rain 2 Poster - [" + configROR2.Value + "]\nProduct ID: b4u9\n\nTerraria Poster - [" + configTerraria.Value + "]\nProduct ID: T3R4\n\nTF2 Poster - [" + configTF2.Value + "]\nProduct ID: T72o\n\nZombies Poster - [" + configZombie.Value + "]\nProduct ID: c2z8\n\nZomboid Poster - [" + configZomboid.Value + "]\nProduct ID: Z0m6\n"; string text10 = "\nWELCOME TO SMOOTHRESERVES LIGHTS!\n_____________________________\n\nBasic Ceiling Light 1 - [" + configBasicCeilingLight1.Value + "]\nProduct ID: C1L7\n\nBasic Ceiling Light 2 - [" + configBasicCeilingLight2.Value + "]\nProduct ID: C2L7\n\nBasic Wall Light 1 - [" + configBasicWallLight1.Value + "]\nProduct ID: W1L7\n\nBasic Wall Light 2 - [" + configBasicWallLight2.Value + "]\nProduct ID: W2L7\n\nStanding Lamp - [" + configBasicStandingLamp.Value + "]\nProduct ID: D4A9\n\nDesk Lamp - [" + configDeskLamp.Value + "]\nProduct ID: D3S8\n"; TerminalApi.AddCommand("srFurniture", text4, "sr", true); TerminalApi.AddCommand("srLivingRoom", text7, "sr", true); TerminalApi.AddCommand("srKitchen", text6, "sr", true); TerminalApi.AddCommand("srWashRoom", text8, "sr", true); TerminalApi.AddCommand("srPosters", text9, "sr", true); TerminalApi.AddCommand("srOther", text5, "sr", true); TerminalApi.AddCommand("srImports", text3, "sr", true); TerminalApi.AddCommand("srLights", text10, "sr", true); harmony.PatchAll(); ((BaseUnityPlugin)this).Logger.LogMessage((object)"Loaded SmoothReserves decor!"); } private void TerminalIsAwake(object sender, TerminalEventArgs e) { if (!stringPrinted) { ((BaseUnityPlugin)this).Logger.LogMessage((object)"Terminal is awake"); TerminalApi.NodeAppendLine("help", ">srFurniture\nTo access the furniture menu\n"); stringPrinted = true; } } public static Mesh LoadMeshFromOBJ(string filePath) { //IL_03d2: Unknown result type (might be due to invalid IL or missing references) //IL_03d7: Unknown result type (might be due to invalid IL or missing references) //IL_03e4: Unknown result type (might be due to invalid IL or missing references) //IL_03f3: Expected O, but got Unknown //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Unknown result type (might be due to invalid IL or missing references) //IL_043c: Unknown result type (might be due to invalid IL or missing references) //IL_0441: Unknown result type (might be due to invalid IL or missing references) //IL_04bd: Unknown result type (might be due to invalid IL or missing references) //IL_04c2: Unknown result type (might be due to invalid IL or missing references) List<Vector3> list = new List<Vector3>(); List<Vector3> list2 = new List<Vector3>(); List<Vector2> list3 = new List<Vector2>(); List<int> list4 = new List<int>(); List<int> list5 = new List<int>(); List<int> list6 = new List<int>(); using (StreamReader streamReader = new StreamReader(filePath)) { string text; while ((text = streamReader.ReadLine()) != null) { if (text.StartsWith("v ")) { string[] array = text.Split(new char[1] { ' ' }, StringSplitOptions.RemoveEmptyEntries); if (array.Length >= 4) { float num = float.Parse(array[1], CultureInfo.InvariantCulture); float num2 = float.Parse(array[2], CultureInfo.InvariantCulture); float num3 = float.Parse(array[3], CultureInfo.InvariantCulture); list.Add(new Vector3(num, num2, num3)); } } else if (text.StartsWith("vn ")) { string[] array2 = text.Split(new char[1] { ' ' }, StringSplitOptions.RemoveEmptyEntries); if (array2.Length >= 4) { float num4 = float.Parse(array2[1], CultureInfo.InvariantCulture); float num5 = float.Parse(array2[2], CultureInfo.InvariantCulture); float num6 = float.Parse(array2[3], CultureInfo.InvariantCulture); list2.Add(new Vector3(num4, num5, num6)); } } else if (text.StartsWith("vt ")) { string[] array3 = text.Split(new char[1] { ' ' }, StringSplitOptions.RemoveEmptyEntries); if (array3.Length >= 3) { float num7 = float.Parse(array3[1], CultureInfo.InvariantCulture); float num8 = float.Parse(array3[2], CultureInfo.InvariantCulture); list3.Add(new Vector2(num7, num8)); } } else { if (!text.StartsWith("f ")) { continue; } string[] array4 = text.Split(new char[1] { ' ' }, StringSplitOptions.RemoveEmptyEntries); if (array4.Length < 4) { continue; } int[] array5 = new int[array4.Length - 1]; int[] array6 = new int[array4.Length - 1]; int[] array7 = new int[array4.Length - 1]; for (int i = 1; i < array4.Length; i++) { string[] array8 = array4[i].Split(new char[1] { '/' }); int num9 = int.Parse(array8[0]) - 1; array5[i - 1] = num9; if (array8.Length > 1 && !string.IsNullOrEmpty(array8[1])) { int num10 = int.Parse(array8[1]) - 1; array6[i - 1] = num10; } if (array8.Length > 2 && !string.IsNullOrEmpty(array8[2])) { int num11 = int.Parse(array8[2]) - 1; array7[i - 1] = num11; } } for (int j = 1; j < array5.Length - 1; j++) { list4.Add(array5[0]); list4.Add(array5[j]); list4.Add(array5[j + 1]); if (array6[0] != -1 && array6[j] != -1 && array6[j + 1] != -1) { list5.Add(array6[0]); list5.Add(array6[j]); list5.Add(array6[j + 1]); } if (array7[0] != -1 && array7[j] != -1 && array7[j + 1] != -1) { list6.Add(array7[0]); list6.Add(array7[j]); list6.Add(array7[j + 1]); } } } } } Mesh val = new Mesh { vertices = list.ToArray(), triangles = list4.ToArray() }; if (list2.Count > 0 && list6.Count == list4.Count) { Vector3[] array9 = (Vector3[])(object)new Vector3[list.Count]; for (int k = 0; k < list4.Count; k++) { array9[list4[k]] = list2[list6[k]]; } val.normals = array9; } else { val.RecalculateNormals(); } if (list3.Count > 0 && list5.Count == list4.Count) { Vector2[] array10 = (Vector2[])(object)new Vector2[list.Count]; for (int l = 0; l < list4.Count; l++) { array10[list4[l]] = list3[list5[l]]; } val.uv = array10; } val.RecalculateBounds(); return val; } }