Decompiled source of BlackLabel Core v1.2.0
BlackLabelCore.dll
Decompiled 2 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Reflection.Emit; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BlackLabelCore; using BlackLabelCore.Levels; using DunGen; using DunGen.Graph; using HarmonyLib; using Microsoft.CodeAnalysis; using TMPro; using Unity.AI.Navigation; using Unity.Netcode; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("BlackLabelCore")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyDescription("Core plugin for the Black Label modpack.")] [assembly: AssemblyFileVersion("1.2.0.0")] [assembly: AssemblyInformationalVersion("1.2.0+74c8af672a0ec3067a4a4829ed295f7eff567ace")] [assembly: AssemblyProduct("BlackLabelCore")] [assembly: AssemblyTitle("BlackLabelCore")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.2.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.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; } } } [HarmonyPatch(typeof(CaveDwellerAI))] internal class CaveDwellerPatch { [HarmonyPatch("HitEnemy")] [HarmonyTranspiler] private static IEnumerable<CodeInstruction> ManeaterDamagePatch(IEnumerable<CodeInstruction> instructions) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Expected O, but got Unknown //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Expected O, but got Unknown if (Compatibility.ManeaterDamagePatch) { Plugin.LogWarning("Maneater Damage Patch detected loading, preventing BLC patch!"); return instructions; } return new CodeMatcher(instructions, (ILGenerator)null).MatchForward(false, (CodeMatch[])(object)new CodeMatch[1] { new CodeMatch((OpCode?)OpCodes.Ldc_I4_1, (object)null, (string)null) }).SetInstruction(new CodeInstruction(OpCodes.Ldarg_1, (object)null)).InstructionEnumeration(); } } namespace BlackLabelCore { internal class BlackLabelCoreConfig { internal static ConfigEntry<bool> changeMenu; public static void Bind(ConfigFile config) { changeMenu = config.Bind<bool>("Black Label", "Title Change", true, "Toggles the Black Label menu pic.\n\nWill change upon the main menu being reloaded."); } } [BepInPlugin("terraformer9x.BlackLabelCore", "Black Label Core", "1.2.0")] public class Plugin : BaseUnityPlugin { private const string pluginGUID = "terraformer9x.BlackLabelCore"; private const string pluginName = "Black Label Core"; private const string pluginVersion = "1.2.0"; public const int pluginVersionNum = 1; private readonly Harmony harmony = new Harmony("terraformer9x.BlackLabelCore"); public static Plugin Instance; private void Awake() { if (Instance == null) { Instance = this; } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin Black Label Core 1.2.0 is loaded!"); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Loading Black Label Assets"); try { Assets.LoadAssets(); } catch (Exception ex) { ((BaseUnityPlugin)this).Logger.LogError((object)(ex.Message + " - Failed to load Black Label assets!")); } BlackLabelCoreConfig.Bind(((BaseUnityPlugin)this).Config); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Applying Black Label Patches"); harmony.PatchAll(); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Black Label Patches Applied"); } public static void Log(string msg) { ((BaseUnityPlugin)Instance).Logger.LogInfo((object)msg); } public static void LogError(string msg) { ((BaseUnityPlugin)Instance).Logger.LogError((object)msg); } public static void LogWarning(string msg) { ((BaseUnityPlugin)Instance).Logger.LogWarning((object)msg); } public static void LogDebug(string msg) { ((BaseUnityPlugin)Instance).Logger.LogDebug((object)msg); } } internal static class Assets { internal static AssetBundle assetBundle; internal static Sprite blackLabelLogo; internal static Item[] blackLabelItems; internal static Mesh waterTileCollision; internal static Mesh dineNewSurfaceMesh; internal static Mesh dineMetalWallMesh; internal static GameObject dineTreeNearFire; internal static GameObject dineLeavesNearFire; internal static void LoadAssets() { try { assetBundle = AssetBundle.LoadFromFile(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "blacklabelassets")); blackLabelLogo = assetBundle.LoadAsset<Sprite>("LogoTextBL"); blackLabelItems = assetBundle.LoadAllAssets<Item>(); waterTileCollision = assetBundle.LoadAsset<Mesh>("WaterTileCollision"); dineNewSurfaceMesh = assetBundle.LoadAsset<Mesh>("DineHybridTerrain"); dineMetalWallMesh = assetBundle.LoadAsset<Mesh>("DineMetalWall"); dineTreeNearFire = assetBundle.LoadAsset<GameObject>("DineNearFireTree"); dineLeavesNearFire = assetBundle.LoadAsset<GameObject>("DineNearFireLeaves"); assetBundle.Unload(false); } catch (Exception ex) { Plugin.LogError(ex.Message + " - Failed to load mod assets!"); } } } internal static class Compatibility { internal static bool LethalLevelLoader = Chainloader.PluginInfos.ContainsKey("imabatby.lethallevelloader"); internal static bool Chameleon = Chainloader.PluginInfos.ContainsKey("butterystancakes.lethalcompany.chameleon"); internal static bool TonightWeDine = Chainloader.PluginInfos.ContainsKey("TonightWeDine"); internal static bool ManeaterDamagePatch = Chainloader.PluginInfos.ContainsKey("com.github.WhiteSpike.ManeaterDamagePatch"); internal static bool JesterDoorSlam = Chainloader.PluginInfos.ContainsKey("JesterDoorSlam"); } public static class PluginInfo { public const string PLUGIN_GUID = "BlackLabelCore"; public const string PLUGIN_NAME = "BlackLabelCore"; public const string PLUGIN_VERSION = "1.2.0"; } } namespace BlackLabelCore.Patches { [HarmonyPatch(typeof(RedLocustBees))] internal class CircuitBeesPatch { [HarmonyPatch("Start")] [HarmonyPostfix] private static void Postfix(RedLocustBees __instance) { ((EnemyAI)__instance).openDoorSpeedMultiplier = 0f; } } [HarmonyPatch(typeof(ButlerBeesEnemyAI))] internal class ButlerBeesPatch { [HarmonyPatch("Start")] [HarmonyPostfix] private static void Postfix(ButlerBeesEnemyAI __instance) { ((EnemyAI)__instance).openDoorSpeedMultiplier = 0f; } [HarmonyPatch("DoAIInterval")] [HarmonyTranspiler] private static IEnumerable<CodeInstruction> SpeedPatch(IEnumerable<CodeInstruction> instructions) { //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Expected O, but got Unknown List<CodeInstruction> list = instructions.ToList(); for (int i = 0; i < list.Count - 1; i++) { if (list[i].opcode == OpCodes.Ldc_R4 && (float)list[i].operand == 4.25f) { list[i] = new CodeInstruction(OpCodes.Ldc_R4, (object)5.4f); break; } } return list; } } [HarmonyPatch(typeof(ButlerEnemyAI))] internal class ButlerPatch { [HarmonyPatch("Start")] [HarmonyPostfix] private static void ChangeButlerHealth(ButlerEnemyAI __instance) { if (StartOfRound.Instance.connectedPlayersAmount > 0) { ((EnemyAI)__instance).enemyHP = 4; } } } [HarmonyPatch(typeof(RoundManager))] internal static class DineOverridePatch { internal static class DineOverride { internal static bool executed; internal static bool sceneManagerDelegated; internal static void DineSceneOverride() { //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_013a: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_01e7: Unknown result type (might be due to invalid IL or missing references) //IL_0206: Unknown result type (might be due to invalid IL or missing references) //IL_0220: Unknown result type (might be due to invalid IL or missing references) //IL_0243: Unknown result type (might be due to invalid IL or missing references) //IL_0262: Unknown result type (might be due to invalid IL or missing references) //IL_0285: Unknown result type (might be due to invalid IL or missing references) //IL_02a4: Unknown result type (might be due to invalid IL or missing references) //IL_02be: Unknown result type (might be due to invalid IL or missing references) //IL_0305: Unknown result type (might be due to invalid IL or missing references) //IL_0325: Unknown result type (might be due to invalid IL or missing references) //IL_0362: Unknown result type (might be due to invalid IL or missing references) //IL_037d: Unknown result type (might be due to invalid IL or missing references) //IL_03ba: Unknown result type (might be due to invalid IL or missing references) //IL_03d5: Unknown result type (might be due to invalid IL or missing references) //IL_0412: Unknown result type (might be due to invalid IL or missing references) //IL_0432: Unknown result type (might be due to invalid IL or missing references) //IL_046f: Unknown result type (might be due to invalid IL or missing references) //IL_048f: Unknown result type (might be due to invalid IL or missing references) //IL_04cc: Unknown result type (might be due to invalid IL or missing references) //IL_04ec: Unknown result type (might be due to invalid IL or missing references) //IL_0529: Unknown result type (might be due to invalid IL or missing references) //IL_0549: Unknown result type (might be due to invalid IL or missing references) //IL_0586: Unknown result type (might be due to invalid IL or missing references) //IL_05a6: Unknown result type (might be due to invalid IL or missing references) //IL_05e3: Unknown result type (might be due to invalid IL or missing references) //IL_0603: Unknown result type (might be due to invalid IL or missing references) //IL_061e: Unknown result type (might be due to invalid IL or missing references) if (!sceneManagerDelegated) { SceneManager.sceneUnloaded += delegate { executed = false; }; sceneManagerDelegated = true; } GameObject obj = GameObject.Find("/Environment/NeonLightsSingle"); if (obj != null) { obj.SetActive(false); } GameObject obj2 = GameObject.Find("/Environment/Map/CementFacility1/Cube.002"); Transform val = ((obj2 != null) ? obj2.transform : null); GameObject obj3 = GameObject.Find("/Environment/FireExitDoorContainer/FireExitDoor"); Transform val2 = ((obj3 != null) ? obj3.transform : null); GameObject obj4 = GameObject.Find("/Environment/Teleports/EntranceTeleportB"); Transform val3 = ((obj4 != null) ? obj4.transform : null); GameObject val4 = GameObject.Find("/Environment/NewDineTerrainCutdown"); if ((Object)(object)val4 != (Object)null) { val4.GetComponent<MeshFilter>().mesh = Assets.dineNewSurfaceMesh; val4.GetComponent<MeshCollider>().sharedMesh = Assets.dineNewSurfaceMesh; } GameObject obj5 = GameObject.Find("/Environment/ReverbTriggers (1)/WindTriggers"); Transform val5 = ((obj5 != null) ? obj5.transform : null); GameObject val6 = GameObject.Find("/Environment/ReverbTriggers (1)/WindTriggers/shipWindTrigger2"); if ((Object)(object)val6 != (Object)null && (Object)(object)val5 != (Object)null) { GameObject obj6 = Object.Instantiate<GameObject>(val6, val5); obj6.transform.localPosition = new Vector3(-193.03427f, 7.074562f, -83.64745f); obj6.transform.localRotation = new Quaternion(0f, 0f, 0f, 1f); obj6.transform.localScale = new Vector3(12.9657545f, 6.9007154f, 11.519966f); } if ((Object)(object)RoundManager.Instance.mapPropsContainer == (Object)null) { RoundManager.Instance.mapPropsContainer = GameObject.FindGameObjectWithTag("MapPropsContainer"); } if ((Object)(object)RoundManager.Instance.mapPropsContainer != (Object)null) { Object.Instantiate<GameObject>(Assets.dineTreeNearFire, RoundManager.Instance.mapPropsContainer.transform); Object.Instantiate<GameObject>(Assets.dineLeavesNearFire, RoundManager.Instance.mapPropsContainer.transform); } if ((Object)(object)val != (Object)null) { val.localPosition = new Vector3(-15.267663f, 5.13949f, 29.441992f); val.localRotation = new Quaternion(-0.2334155f, -0.66771203f, -0.66668123f, 0.23497672f); val.localScale = new Vector3(0.5241794f, 0.64612794f, 0.4780146f); } if ((Object)(object)val2 != (Object)null) { val2.localPosition = new Vector3(-218.79054f, 32.197186f, -177.6566f); val2.localRotation = new Quaternion(0f, 0.5992887f, 0f, -0.800533f); } if ((Object)(object)val3 != (Object)null) { val3.localPosition = new Vector3(-28.067f, 1.4099998f, -70.185f); val3.localRotation = new Quaternion(0f, 0.94372284f, 0f, -0.33073732f); val3.localScale = new Vector3(1.9334757f, 3.462273f, 0.5321793f); } GameObject val7 = GameObject.Find("/Environment/Map/Cube.001 (16)"); if ((Object)(object)val7 != (Object)null) { val7.GetComponent<MeshFilter>().mesh = Assets.dineMetalWallMesh; val7.transform.localPosition = new Vector3(179.3406f, -20.249994f, -22.0728f); val7.transform.localScale = new Vector3(1f, 1.4000261f, 1.1451999f); } GameObject obj7 = GameObject.Find("/Environment/Map/Cube.001 (8)"); BoxCollider val8 = ((obj7 != null) ? obj7.GetComponent<BoxCollider>() : null); if ((Object)(object)val8 != (Object)null) { val8.center = new Vector3(-0.14010677f, -2.7291498f, -0.26022604f); val8.size = new Vector3(0.53314275f, 6.8050165f, 4.480085f); } GameObject obj8 = GameObject.Find("/Environment/Map/Cube.001 (4)"); BoxCollider val9 = ((obj8 != null) ? obj8.GetComponent<BoxCollider>() : null); if ((Object)(object)val9 != (Object)null) { val9.center = new Vector3(-0.14010829f, -1.0517684f, -0.26022604f); val9.size = new Vector3(0.53314275f, 10.159763f, 4.480085f); } GameObject obj9 = GameObject.Find("/Environment/Plane"); Transform val10 = ((obj9 != null) ? obj9.transform : null); if ((Object)(object)val10 != (Object)null) { val10.localPosition = new Vector3(178.84203f, -20.405f, -16.50813f); val10.localRotation = new Quaternion(0.5249201f, -0.4737709f, -0.4737702f, -0.52492076f); } GameObject obj10 = GameObject.Find("/Environment/SteelDoorFake"); Transform val11 = ((obj10 != null) ? obj10.transform : null); if ((Object)(object)val11 != (Object)null) { val11.localPosition = new Vector3(178.729f, -20.34f, -15.17f); val11.localRotation = new Quaternion(0.038197827f, -0.7060744f, -0.70607436f, -0.03819688f); } GameObject obj11 = GameObject.Find("/Environment/SteelDoorFake (1)"); Transform val12 = ((obj11 != null) ? obj11.transform : null); if ((Object)(object)val12 != (Object)null) { val12.localPosition = new Vector3(179.06046f, -20.340002f, -18.119337f); val12.localRotation = new Quaternion(0.03954247f, -0.7060007f, -0.706f, -0.039542507f); } GameObject obj12 = GameObject.Find("/Environment/DoorFrame (1)"); Transform val13 = ((obj12 != null) ? obj12.transform : null); if ((Object)(object)val13 != (Object)null) { val13.localPosition = new Vector3(178.902f, -23.807f, -16.656f); val13.localRotation = new Quaternion(0.03933583f, -0.7060121f, -0.70601153f, -0.03933586f); } GameObject obj13 = GameObject.Find("/Environment/Teleports/EntranceTeleportA"); Transform val14 = ((obj13 != null) ? obj13.transform : null); if ((Object)(object)val14 != (Object)null) { val14.localPosition = new Vector3(178.67831f, -21.2327f, -16.662853f); val14.localRotation = new Quaternion(0f, 0.99843365f, 0f, 0.055948973f); } GameObject obj14 = GameObject.Find("/Environment/ScanNodes/ScanNode"); Transform val15 = ((obj14 != null) ? obj14.transform : null); if ((Object)(object)val15 != (Object)null) { val15.localPosition = new Vector3(175.7f, -24.01f, -19.5f); val15.localRotation = new Quaternion(0.7071068f, -0.7071068f, -2.43634E-06f, 2.43634E-06f); val15.localScale = new Vector3(9.139909f, 138.73448f, 4.0328393f); } GameObject val16 = GameObject.Find("/Environment"); if ((Object)(object)val16 != (Object)null) { val16.GetComponent<NavMeshSurface>().RemoveData(); val16.GetComponent<NavMeshSurface>().BuildNavMesh(); } } internal static void FancyDoorOverride() { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) GameObject obj = GameObject.Find("/Environment/MapPropsContainer/WideDoorFrame(Clone)"); Transform val = ((obj != null) ? obj.transform : null); if ((Object)(object)val != (Object)null) { Plugin.LogDebug("Found Chameleon's fancy door, moving them"); ((Component)val).transform.position = new Vector3(-156.553f, -15.126f, 12.155f); ((Component)val).transform.rotation = new Quaternion(-0.70618117f, -0.036169115f, -0.036169115f, 0.70618117f); } } internal static void DineFixes() { //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) GameObject obj = GameObject.Find("/Environment/Map/KillTrigger (1)"); Transform val = ((obj != null) ? obj.transform : null); if ((Object)(object)val != (Object)null) { val.localScale = new Vector3(349.60406f, 0.69064f, 181.3727f); } GameObject obj2 = GameObject.Find("/Environment/Map/KillTrigger (4)"); Transform val2 = ((obj2 != null) ? obj2.transform : null); if ((Object)(object)val2 != (Object)null) { val2.localScale = new Vector3(42.223473f, 0.69064f, 81.23343f); } } } [HarmonyPatch("FinishGeneratingNewLevelClientRpc")] [HarmonyPriority(300)] [HarmonyPostfix] private static void DineOverridePostfix() { if (!Compatibility.TonightWeDine && ((Object)StartOfRound.Instance.currentLevel).name == "DineLevel" && !DineOverride.executed) { DineOverride.executed = true; Plugin.LogDebug("Changing Dine's layout"); DineOverride.DineSceneOverride(); if (Compatibility.Chameleon) { DineOverride.FancyDoorOverride(); } Plugin.LogDebug("Fixing Dine's pits"); DineOverride.DineFixes(); } } } [HarmonyPatch] internal class DungeonPatch { private class Functions { internal static GameObject CreateItemSpawn(Transform transform, Vector3 localPosition, string spawn, int range, bool copy) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Expected O, but got Unknown GameObject val = new GameObject { name = "AddedItemSpawn_" + spawn }; val.transform.SetParent(transform); val.transform.localPosition = localPosition; RandomScrapSpawn obj = val.AddComponent<RandomScrapSpawn>(); obj.spawnableItems = GlobalInfo.itemGroups[spawn]; obj.itemSpawnRange = range; obj.spawnedItemsCopyPosition = copy; return val; } internal static GameObject ConvertToRandomSpawn(Transform transform, float mainWeight, float branchWeight) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Expected O, but got Unknown //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Expected O, but got Unknown GameObject val = new GameObject(); ((Object)val).name = "AddedRandomSpawn_" + ((Object)transform).name; val.transform.SetParent(transform.parent); transform.SetParent(val.transform); LocalPropSet obj = val.AddComponent<LocalPropSet>(); GameObjectChance val2 = new GameObjectChance(); val2.Value = ((Component)transform).gameObject; val2.MainPathWeight = mainWeight; val2.BranchPathWeight = branchWeight; obj.Props.Weights.Add(val2); obj.PropCount.Min = 0; obj.PropCount.Max = 1; return val; } } [HarmonyPatch(typeof(Dungeon), "PreGenerateDungeon")] [HarmonyPostfix] private static void PreGenerateDungeonPostfix(Dungeon __instance) { //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Expected O, but got Unknown if (!Compatibility.LethalLevelLoader) { int num = 1; if (((Object)RoundManager.Instance.currentLevel).name == "MarchLevel") { num = 3; } __instance.DungeonFlow.GlobalProps.Find((GlobalPropSettings x) => x.ID == 1231).Count = new IntRange(num, num); } } [HarmonyPatch(typeof(Dungeon), "PostGenerateDungeon")] [HarmonyPostfix] private static void PostGenerateDungeonPostfix(Dungeon __instance) { string name = ((Object)__instance.DungeonFlow).name; if (!(name == "Level2Flow")) { if (name == "Level3Flow") { Level3Patch(); } } else { Level2Patch(); } void Level2Patch() { Plugin.LogDebug(((Object)__instance.DungeonFlow).name + " detected, forcing ground level entrance."); Tile val = __instance.AllTiles?.First((Tile x) => ((Object)x).name == "ManorStartRoom(Clone)"); if ((Object)(object)val != (Object)null) { Transform obj = ((Component)val).transform.Find("MainEntrancePropSet"); LocalPropSet val2 = ((obj != null) ? ((Component)obj).GetComponent<LocalPropSet>() : null); if ((Object)(object)val2 != (Object)null) { val2.Props.Weights.ForEach(delegate(GameObjectChance x) { if (((Object)x.Value).name != "MainEntranceSpawnPositionA") { x.MainPathWeight = 0f; } x.BranchPathWeight = 0f; }); } } } void Level3Patch() { //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) foreach (Tile item in __instance.AllTiles.Where((Tile x) => ((Object)x).name == "CaveSmallIntersectTile(Clone)" || ((Object)x).name == "CaveCrampedIntersectTile(Clone)")) { Transform obj2 = ((Component)item).transform.Find("GeneralScrapSpawn"); Transform val3 = ((obj2 != null) ? ((Component)obj2).transform : null); if ((Object)(object)val3 != (Object)null) { Plugin.LogDebug("Converting to random spawn at " + val3.position.x + ", " + val3.position.y + ", " + val3.position.z); Functions.ConvertToRandomSpawn(val3, 0.3f, 0.5f); } } } } [HarmonyPatch(typeof(DungeonGenerator), "ProcessGlobalProps")] [HarmonyPostfix] private static void ProcessGlobalPropsPostfix(DungeonGenerator __instance) { if (((Object)__instance.DungeonFlow).name == "Level3Flow") { Level3Patch(); } void Level3Patch() { //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: Unknown result type (might be due to invalid IL or missing references) //IL_033b: Unknown result type (might be due to invalid IL or missing references) //IL_0340: Unknown result type (might be due to invalid IL or missing references) //IL_0360: Unknown result type (might be due to invalid IL or missing references) //IL_0365: Unknown result type (might be due to invalid IL or missing references) //IL_0385: Unknown result type (might be due to invalid IL or missing references) //IL_038a: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Unknown result type (might be due to invalid IL or missing references) //IL_01f9: Unknown result type (might be due to invalid IL or missing references) //IL_0214: Unknown result type (might be due to invalid IL or missing references) //IL_0219: Unknown result type (might be due to invalid IL or missing references) //IL_0234: Unknown result type (might be due to invalid IL or missing references) //IL_0239: Unknown result type (might be due to invalid IL or missing references) //IL_0263: Unknown result type (might be due to invalid IL or missing references) //IL_044b: Unknown result type (might be due to invalid IL or missing references) //IL_0450: Unknown result type (might be due to invalid IL or missing references) //IL_0470: Unknown result type (might be due to invalid IL or missing references) //IL_0475: Unknown result type (might be due to invalid IL or missing references) //IL_0495: Unknown result type (might be due to invalid IL or missing references) //IL_049a: Unknown result type (might be due to invalid IL or missing references) //IL_050a: Unknown result type (might be due to invalid IL or missing references) //IL_050f: Unknown result type (might be due to invalid IL or missing references) //IL_052f: Unknown result type (might be due to invalid IL or missing references) //IL_0534: Unknown result type (might be due to invalid IL or missing references) //IL_0554: Unknown result type (might be due to invalid IL or missing references) //IL_0559: Unknown result type (might be due to invalid IL or missing references) foreach (Tile item in __instance.CurrentDungeon.AllTiles.Where((Tile x) => ((Object)x).name == "TunnelSplit(Clone)" || ((Object)x).name == "TunnelSplitEndTile(Clone)")) { Transform obj = ((Component)item).transform.Find("SouthWallProps/Shelf1 (14)"); Transform val = ((obj != null) ? ((Component)obj).transform : null); if ((Object)(object)val != (Object)null) { Plugin.LogDebug("Found a shelf at " + val.position.x + ", " + val.position.y + ", " + val.position.z); Functions.CreateItemSpawn(val, new Vector3(-7.68f, -6.6f, 1.79f), "SmallItems", 15, copy: true); } Transform obj2 = ((Component)item).transform.Find("Props/PropSet2/WoodPalletPile2x"); Transform val2 = ((obj2 != null) ? ((Component)obj2).transform : null); if ((Object)(object)val2 != (Object)null) { Plugin.LogDebug("Found a pallet at " + val2.position.x + ", " + val2.position.y + ", " + val2.position.z); Functions.CreateItemSpawn(val2, new Vector3(0.3f, 0.04f, 2.54f), "TabletopItems", 3, copy: false); } Transform obj3 = ((Component)item).transform.Find("Props/PropSet2/Minecart (1)"); Transform val3 = ((obj3 != null) ? ((Component)obj3).transform : null); if ((Object)(object)val3 != (Object)null) { Plugin.LogDebug("Found a minecart at " + val3.position.x + ", " + val3.position.y + ", " + val3.position.z); GameObject obj4 = Functions.CreateItemSpawn(val3, new Vector3(-0.74f, 1.22f, 4.11f), "SmallItems", 1, copy: false); Transform val4 = ((obj4 != null) ? obj4.transform : null); if ((Object)(object)val4 != (Object)null) { Functions.ConvertToRandomSpawn(val4, 0.25f, 0.8f); } } } foreach (Tile item2 in __instance.CurrentDungeon.AllTiles.Where((Tile x) => ((Object)x).name == "CaveCrampedIntersectTile(Clone)")) { Transform obj5 = ((Component)item2).transform.Find("TablePropSpawn"); GameObject val5 = ((obj5 != null) ? ((Component)obj5).gameObject : null); if ((Object)(object)val5 != (Object)null) { Plugin.LogDebug("Destroying table prop spawn at " + val5.transform.position.x + ", " + val5.transform.position.y + ", " + val5.transform.position.z); Object.Destroy((Object)(object)val5); } } foreach (Tile item3 in __instance.CurrentDungeon.AllTiles.Where((Tile x) => ((Object)x).name == "CaveWaterTile(Clone)")) { Transform obj6 = ((Component)item3).transform.Find("MapHazardSpawnType1"); GameObject val6 = ((obj6 != null) ? ((Component)obj6).gameObject : null); if ((Object)(object)val6 != (Object)null) { Plugin.LogDebug("Destroying hazard spawn at " + val6.transform.position.x + ", " + val6.transform.position.y + ", " + val6.transform.position.z); Object.Destroy((Object)(object)val6); } Transform obj7 = ((Component)item3).transform.Find("WaterTileMesh"); object obj8; if (obj7 == null) { obj8 = null; } else { MeshCollider component = ((Component)obj7).gameObject.GetComponent<MeshCollider>(); obj8 = ((component != null) ? component.sharedMesh : null); } if ((Object)obj8 != (Object)null) { Plugin.LogDebug("Changing collision on water tile at " + ((Component)item3).transform.position.x + ", " + ((Component)item3).transform.position.y + ", " + ((Component)item3).transform.position.z); _ = Assets.waterTileCollision; } } } } } [HarmonyPatch(typeof(GameNetworkManager))] internal class GameNetworkManagerPatch { private static bool executed; [HarmonyPatch("Start")] [HarmonyPostfix] private static void GameNetworkManagerPostfix(ref GameNetworkManager __instance) { if (!executed) { Item[] blackLabelItems = Assets.blackLabelItems; foreach (Item val in blackLabelItems) { ((Component)__instance).GetComponent<NetworkManager>().AddNetworkPrefab(val.spawnPrefab); } executed = true; } } } [HarmonyPatch(typeof(JesterAI))] internal class JesterPatch { [HarmonyPatch("SetJesterInitialValues")] [HarmonyPostfix] private static void ChangeJesterTimer(ref JesterAI __instance) { __instance.beginCrankingTimer = Random.Range(25f, 42f); } [HarmonyPatch("Update")] [HarmonyPostfix] private static void SlamOpenDoors(ref JesterAI __instance) { if (Compatibility.JesterDoorSlam) { Plugin.LogWarning("JesterDoorSlam detected! Preventing BLC postfix..."); } else if (((EnemyAI)__instance).currentBehaviourStateIndex == 2 && ((EnemyAI)__instance).agent.speed >= 10f) { ((EnemyAI)__instance).useSecondaryAudiosOnAnimatedObjects = true; } else { ((EnemyAI)__instance).useSecondaryAudiosOnAnimatedObjects = false; } } } [HarmonyPatch(typeof(MenuManager))] internal class MenuManagerPatch { [HarmonyPatch("Awake")] [HarmonyPriority(500)] [HarmonyPostfix] private static void ChangeLogo(MenuManager __instance) { //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) if (BlackLabelCoreConfig.changeMenu.Value) { GameObject obj = GameObject.Find("MenuContainer/MainButtons/HeaderImage"); Image val = ((obj != null) ? obj.GetComponent<Image>() : null); if ((Object)(object)val != (Object)null) { val.sprite = Assets.blackLabelLogo; } GameObject obj2 = GameObject.Find("MenuContainer"); object obj3; if (obj2 == null) { obj3 = null; } else { Transform obj4 = obj2.transform.Find("LoadingScreen/Image"); obj3 = ((obj4 != null) ? ((Component)obj4).GetComponent<Image>() : null); } Image val2 = (Image)obj3; if ((Object)(object)val2 != (Object)null) { val2.sprite = Assets.blackLabelLogo; } } if ((Object)(object)__instance.launchedInLanModeText != (Object)null) { ((TMP_Text)__instance.launchedInLanModeText).rectTransform.anchoredPosition3D = new Vector3(96f, ((TMP_Text)__instance.launchedInLanModeText).rectTransform.anchoredPosition3D.y, ((TMP_Text)__instance.launchedInLanModeText).rectTransform.anchoredPosition3D.z); } if ((Object)(object)__instance.versionNumberText != (Object)null) { ((TMP_Text)__instance.versionNumberText).text = ((TMP_Text)__instance.versionNumberText).text + "-BL" + 1; ((TMP_Text)__instance.versionNumberText).margin = new Vector4(0f, 0f, -300f, 0f); } } } [HarmonyPatch(typeof(MouthDogAI))] internal class MouthDogPatch { [HarmonyPatch("Start")] [HarmonyPostfix] private static void ChangeDogHealth(MouthDogAI __instance) { ((EnemyAI)__instance).enemyHP = 10; } } [HarmonyPatch(typeof(NutcrackerEnemyAI))] internal class NutcrackerPatch { [HarmonyPatch(/*Could not decode attribute arguments.*/)] [HarmonyTranspiler] private static IEnumerable<CodeInstruction> AimGunPatch(IEnumerable<CodeInstruction> instructions) { //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Expected O, but got Unknown //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Expected O, but got Unknown //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Expected O, but got Unknown //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_015f: Expected O, but got Unknown //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Expected O, but got Unknown //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Expected O, but got Unknown //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Expected O, but got Unknown bool flag = false; List<CodeInstruction> list = instructions.ToList(); for (int i = 0; i < list.Count - 1; i++) { if (list[i + 1].opcode == OpCodes.Ldc_R4 && (float)list[i + 1].operand == 1.3f && !flag) { list.Insert(i + 1, new CodeInstruction(OpCodes.Ldloc_1, (object)null)); list.Insert(i + 2, new CodeInstruction(OpCodes.Ldloc_1, (object)null)); list.Insert(i + 4, new CodeInstruction(OpCodes.Ldc_R4, (object)1f)); list.Insert(i + 5, new CodeInstruction(OpCodes.Call, (object)AccessTools.Method(typeof(NutcrackerPatch), "ChangeAimTime", (Type[])null, (Type[])null))); flag = true; } if (list[i + 1].opcode == OpCodes.Ldc_R4 && (float)list[i + 1].operand == 1.75f) { list.Insert(i + 1, new CodeInstruction(OpCodes.Ldloc_1, (object)null)); list.Insert(i + 2, new CodeInstruction(OpCodes.Ldloc_1, (object)null)); list.Insert(i + 4, new CodeInstruction(OpCodes.Ldc_R4, (object)1.3f)); list.Insert(i + 5, new CodeInstruction(OpCodes.Call, (object)AccessTools.Method(typeof(NutcrackerPatch), "ChangeAimTime", (Type[])null, (Type[])null))); break; } } return list; } public float ChangeAimTime(NutcrackerEnemyAI ai, float aimTime, float changeTime) { if (((EnemyAI)ai).enemyHP > 3) { return aimTime; } return changeTime; } } [HarmonyPatch(typeof(RoundManager))] internal class RoundManagerPatch { [HarmonyPatch("SpawnScrapInLevel")] [HarmonyTranspiler] private static IEnumerable<CodeInstruction> ChangeMineshaftAmount(IEnumerable<CodeInstruction> instructions) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Expected O, but got Unknown //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Expected O, but got Unknown //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Expected O, but got Unknown return new CodeMatcher(instructions, (ILGenerator)null).MatchForward(true, (CodeMatch[])(object)new CodeMatch[1] { new CodeMatch((OpCode?)OpCodes.Ldfld, (object)AccessTools.Field(typeof(RoundManager), "currentDungeonType"), (string)null) }).MatchForward(false, (CodeMatch[])(object)new CodeMatch[1] { new CodeMatch((OpCode?)OpCodes.Ldc_I4_6, (object)null, (string)null) }).SetInstruction(new CodeInstruction(OpCodes.Ldc_I4_0, (object)null)) .InstructionEnumeration(); } [HarmonyPatch("RefreshEnemiesList")] [HarmonyPostfix] private static void NerfAnomaliesPatch(RoundManager __instance) { if ((int)typeof(RoundManager).GetField("enemyRushIndex", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(__instance) >= 0 && !StartOfRound.Instance.isChallengeFile) { typeof(RoundManager).GetField("enemyRushIndex", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(__instance, -1); __instance.currentMaxInsidePower = __instance.currentLevel.maxEnemyPowerCount; Plugin.LogDebug("Prevented an enemy rush, enemy power is reset back to " + __instance.currentMaxInsidePower); } Random random = new Random(StartOfRound.Instance.randomMapSeed + 5781); ((Component)__instance.indoorFog).gameObject.SetActive(random.Next(0, 150) < 3); __instance.indoorFog.parameters.meanFreePath = 10f; } } [HarmonyPatch(typeof(StartOfRound))] internal class StartOfRoundPatch { private static bool executed; public static RoundManager RoundManager { get; internal set; } public static StartOfRound StartOfRound { get; internal set; } public static SoundManager SoundManager { get; internal set; } [HarmonyPatch("Awake")] [HarmonyPrefix] private static void Execute() { if (!executed) { RoundManager = Object.FindFirstObjectByType<RoundManager>(); StartOfRound = Object.FindFirstObjectByType<StartOfRound>(); SoundManager = Object.FindFirstObjectByType<SoundManager>(); SetupGlobalInfo(); SetupItems(); SetupDungeonFlows(); SetupLevels(); executed = true; } } private static void SetupGlobalInfo() { SelectableLevel[] array = Resources.FindObjectsOfTypeAll<SelectableLevel>(); foreach (SelectableLevel val in array) { if ((Object)(object)val != (Object)null && !GlobalInfo.levels.ContainsKey(((Object)val).name) && !GlobalInfo.levels.ContainsValue(val)) { GlobalInfo.levels.Add(((Object)val).name, val); } } Item[] array2 = Resources.FindObjectsOfTypeAll<Item>(); foreach (Item val2 in array2) { if ((Object)(object)val2.spawnPrefab != (Object)null && !GlobalInfo.items.ContainsKey(((Object)val2).name) && !GlobalInfo.items.ContainsValue(val2)) { GlobalInfo.items.Add(((Object)val2).name, val2); } } ItemGroup[] array3 = Resources.FindObjectsOfTypeAll<ItemGroup>(); foreach (ItemGroup val3 in array3) { if ((Object)(object)val3 != (Object)null && !GlobalInfo.itemGroups.ContainsKey(((Object)val3).name) && !GlobalInfo.itemGroups.ContainsValue(val3)) { GlobalInfo.itemGroups.Add(((Object)val3).name, val3); } } EnemyType[] array4 = Resources.FindObjectsOfTypeAll<EnemyType>(); foreach (EnemyType val4 in array4) { if ((Object)(object)val4.enemyPrefab != (Object)null && !GlobalInfo.enemies.ContainsKey(((Object)val4).name) && !GlobalInfo.enemies.ContainsValue(val4)) { GlobalInfo.enemies.Add(((Object)val4).name, val4); } } array = Resources.FindObjectsOfTypeAll<SelectableLevel>(); for (int i = 0; i < array.Length; i++) { SpawnableMapObject[] spawnableMapObjects = array[i].spawnableMapObjects; foreach (SpawnableMapObject val5 in spawnableMapObjects) { if ((Object)(object)val5.prefabToSpawn != (Object)null && !GlobalInfo.traps.ContainsKey(((Object)val5.prefabToSpawn).name) && !GlobalInfo.traps.ContainsValue(val5.prefabToSpawn)) { GlobalInfo.traps.Add(((Object)val5.prefabToSpawn).name, val5.prefabToSpawn); } } } DungeonFlow[] array5 = Resources.FindObjectsOfTypeAll<DungeonFlow>(); foreach (DungeonFlow val6 in array5) { if ((Object)(object)val6 != (Object)null && !GlobalInfo.dungeonFlows.ContainsKey(((Object)val6).name) && !GlobalInfo.dungeonFlows.ContainsValue(val6)) { GlobalInfo.dungeonFlows.Add(((Object)val6).name, val6); } } IndoorMapType[] dungeonFlowTypes = RoundManager.dungeonFlowTypes; for (int k = 0; k < dungeonFlowTypes.Length; k++) { if (dungeonFlowTypes[k] != null) { GlobalInfo.dungeonIDs.Add(((Object)dungeonFlowTypes[k].dungeonFlow).name, k); Plugin.LogDebug(((Object)dungeonFlowTypes[k].dungeonFlow).name + " = " + k); } } LevelAmbienceLibrary[] array6 = Resources.FindObjectsOfTypeAll<LevelAmbienceLibrary>(); foreach (LevelAmbienceLibrary val7 in array6) { if ((Object)(object)val7 != (Object)null && !GlobalInfo.ambienceLibraries.ContainsKey(((Object)val7).name) && !GlobalInfo.ambienceLibraries.ContainsValue(val7)) { GlobalInfo.ambienceLibraries.Add(((Object)val7).name, val7); } } } private static void SetupItems() { Item[] blackLabelItems = Assets.blackLabelItems; foreach (Item val in blackLabelItems) { if ((Object)(object)val != (Object)null && !StartOfRound.allItemsList.itemsList.Contains(val)) { StartOfRound.allItemsList.itemsList.Add(val); } } GlobalInfo.items["TrafficCone"].spawnPositionTypes.Add(GlobalInfo.itemGroups["GeneralItemClass"]); GlobalInfo.items["Tuba"].spawnPositionTypes.Add(GlobalInfo.itemGroups["GeneralItemClass"]); GlobalInfo.items["WineBottle"].spawnPositionTypes.Add(GlobalInfo.itemGroups["TabletopItems"]); GlobalInfo.items["Fan"].spawnPositionTypes.Add(GlobalInfo.itemGroups["GeneralItemClass"]); GlobalInfo.items["Fan"].spawnPositionTypes.Add(GlobalInfo.itemGroups["TabletopItems"]); GlobalInfo.items["Shovel"].weight = 1.08f; GlobalInfo.items["StopSign"].weight = 1.2f; GlobalInfo.items["Jetpack"].creditsWorth = 700; } private static void SetupDungeonFlows() { DungeonFlow obj = GlobalInfo.dungeonFlows["Level3Flow"]; obj.Length.Min = 10; obj.Length.Max = 12; obj.Lines[0].Length = 0.35f; obj.Lines[1].Position = 0.35f; obj.Lines[1].Length = 0.3f; obj.Lines[2].Position = 0.65f; obj.Lines[2].Length = 0.35f; } private static void SetupLevels() { GlobalInfo.blackLabelLevels.AddRange(new <>z__ReadOnlyArray<BlackLabelLevel>(new BlackLabelLevel[11] { new ExperimentationBlackLabelLevel(), new AssuranceBlackLabelLevel(), new VowBlackLabelLevel(), new MarchBlackLabelLevel(), new OffenseBlackLabelLevel(), new AdamanceBlackLabelLevel(), new RendBlackLabelLevel(), new DineBlackLabelLevel(), new TitanBlackLabelLevel(), new ArtificeBlackLabelLevel(), new EmbrionBlackLabelLevel() })); } } [HarmonyPatch(typeof(StormyWeather))] internal class StormyPatch { [HarmonyPatch("Update")] [HarmonyTranspiler] private static IEnumerable<CodeInstruction> UpdatePatch(IEnumerable<CodeInstruction> instructions) { //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Expected O, but got Unknown //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Expected O, but got Unknown //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Expected O, but got Unknown //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_014e: Expected O, but got Unknown List<CodeInstruction> list = instructions.ToList(); for (int i = 0; i < list.Count - 1; i++) { if (list[i].opcode == OpCodes.Ldc_R4 && (float)list[i].operand == 1f && list[i + 1].opcode == OpCodes.Ldc_R4 && (float)list[i + 1].operand == 28f) { list[i + 1] = new CodeInstruction(OpCodes.Ldc_R4, (object)35f); list[i + 4] = new CodeInstruction(OpCodes.Ldc_R4, (object)25f); } if (list[i].opcode == OpCodes.Ldc_R4 && (float)list[i].operand == 4f && list[i + 1].opcode == OpCodes.Ldc_R4 && (float)list[i + 1].operand == 20f) { list[i] = new CodeInstruction(OpCodes.Ldc_R4, (object)8f); list[i + 1] = new CodeInstruction(OpCodes.Ldc_R4, (object)25f); break; } } return list; } } } namespace BlackLabelCore.Levels { public class AdamanceBlackLabelLevel : BlackLabelLevel { public AdamanceBlackLabelLevel() : base("AdamanceLevel") { } public override void SetupLevel() { //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Expected O, but got Unknown //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Expected O, but got Unknown //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Expected O, but got Unknown //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Expected O, but got Unknown //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Expected O, but got Unknown //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Expected O, but got Unknown //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Expected O, but got Unknown //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_0156: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Expected O, but got Unknown BlackLabelLevel.level.spawnableScrap.Remove(BlackLabelLevel.level.spawnableScrap.Find((SpawnableItemWithRarity x) => ((Object)x.spawnableItem).name == "EasterEgg")); BlackLabelLevel.level.spawnableScrap.AddRange(new <>z__ReadOnlyArray<SpawnableItemWithRarity>((SpawnableItemWithRarity[])(object)new SpawnableItemWithRarity[8] { new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Hairdryer"], rarity = 10 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["ComedyMask"], rarity = 6 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["TragedyMask"], rarity = 5 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Bucket"], rarity = 27 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Fan"], rarity = 22 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Spatula"], rarity = 40 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Toaster"], rarity = 30 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Boot"], rarity = 1 } })); } } public class ArtificeBlackLabelLevel : BlackLabelLevel { public ArtificeBlackLabelLevel() : base("ArtificeLevel") { } public override void SetupLevel() { //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Expected O, but got Unknown //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Expected O, but got Unknown //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Expected O, but got Unknown //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Expected O, but got Unknown //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Expected O, but got Unknown //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Expected O, but got Unknown //IL_0156: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Expected O, but got Unknown //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_0180: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_019e: Expected O, but got Unknown //IL_01a0: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: Unknown result type (might be due to invalid IL or missing references) //IL_01c3: Expected O, but got Unknown //IL_01c6: Unknown result type (might be due to invalid IL or missing references) //IL_01cb: Unknown result type (might be due to invalid IL or missing references) //IL_01e0: Unknown result type (might be due to invalid IL or missing references) //IL_01e8: Expected O, but got Unknown //IL_0201: Unknown result type (might be due to invalid IL or missing references) //IL_0257: Unknown result type (might be due to invalid IL or missing references) //IL_0258: Unknown result type (might be due to invalid IL or missing references) //IL_0261: Unknown result type (might be due to invalid IL or missing references) //IL_02b7: Unknown result type (might be due to invalid IL or missing references) //IL_02b8: Unknown result type (might be due to invalid IL or missing references) //IL_02c1: Unknown result type (might be due to invalid IL or missing references) //IL_0317: Unknown result type (might be due to invalid IL or missing references) //IL_0318: Unknown result type (might be due to invalid IL or missing references) //IL_0321: Unknown result type (might be due to invalid IL or missing references) //IL_0377: Unknown result type (might be due to invalid IL or missing references) //IL_0378: Unknown result type (might be due to invalid IL or missing references) //IL_037d: Unknown result type (might be due to invalid IL or missing references) //IL_0382: Unknown result type (might be due to invalid IL or missing references) //IL_0389: Unknown result type (might be due to invalid IL or missing references) //IL_0395: Expected O, but got Unknown BlackLabelLevel.level.minScrap = 31; BlackLabelLevel.level.maxScrap = 37; BlackLabelLevel.level.factorySizeMultiplier = 2f; BlackLabelLevel.level.spawnableScrap.Remove(BlackLabelLevel.level.spawnableScrap.Find((SpawnableItemWithRarity x) => ((Object)x.spawnableItem).name == "EasterEgg")); BlackLabelLevel.level.spawnableScrap.AddRange(new <>z__ReadOnlyArray<SpawnableItemWithRarity>((SpawnableItemWithRarity[])(object)new SpawnableItemWithRarity[10] { new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Wallet"], rarity = 25 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Briefcase"], rarity = 17 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Fan"], rarity = 13 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Bucket"], rarity = 35 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["WineBottle"], rarity = 40 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Toaster"], rarity = 27 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Tophat"], rarity = 22 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Tuba"], rarity = 19 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["TrafficCone"], rarity = 9 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Boot"], rarity = 1 } })); SelectableLevel obj = BlackLabelLevel.level; Keyframe[] array = new Keyframe[4]; Keyframe val = default(Keyframe); ((Keyframe)(ref val)).time = 0f; ((Keyframe)(ref val)).value = -3f; ((Keyframe)(ref val)).inTangent = 59.199333f; ((Keyframe)(ref val)).outTangent = 59.199333f; ((Keyframe)(ref val)).weightedMode = (WeightedMode)3; ((Keyframe)(ref val)).inWeight = 0f; ((Keyframe)(ref val)).outWeight = 0.18829483f; array[0] = val; val = default(Keyframe); ((Keyframe)(ref val)).time = 0.16255526f; ((Keyframe)(ref val)).value = 1.1420287f; ((Keyframe)(ref val)).inTangent = 9.178675f; ((Keyframe)(ref val)).outTangent = 9.178675f; ((Keyframe)(ref val)).weightedMode = (WeightedMode)3; ((Keyframe)(ref val)).inWeight = 0.65918964f; ((Keyframe)(ref val)).outWeight = 0.43745992f; array[1] = val; val = default(Keyframe); ((Keyframe)(ref val)).time = 0.7631003f; ((Keyframe)(ref val)).value = 11.275558f; ((Keyframe)(ref val)).inTangent = 25.289257f; ((Keyframe)(ref val)).outTangent = 25.289257f; ((Keyframe)(ref val)).weightedMode = (WeightedMode)3; ((Keyframe)(ref val)).inWeight = 0.41667995f; ((Keyframe)(ref val)).outWeight = 0.5360636f; array[2] = val; val = default(Keyframe); ((Keyframe)(ref val)).time = 1f; ((Keyframe)(ref val)).value = 15f; ((Keyframe)(ref val)).inTangent = 35.604027f; ((Keyframe)(ref val)).outTangent = 35.604027f; ((Keyframe)(ref val)).weightedMode = (WeightedMode)1; ((Keyframe)(ref val)).inWeight = 0.04912584f; ((Keyframe)(ref val)).outWeight = 0f; array[3] = val; obj.enemySpawnChanceThroughoutDay = new AnimationCurve((Keyframe[])(object)array) { preWrapMode = (WrapMode)2, postWrapMode = (WrapMode)2 }; BlackLabelLevel.level.Enemies.Find((SpawnableEnemyWithRarity x) => ((Object)x.enemyType).name == "CaveDweller").rarity = 25; BlackLabelLevel.level.dungeonFlowTypes.First((IntWithRarity x) => x.id == GlobalInfo.dungeonIDs["Level2Flow"]).rarity = 300; BlackLabelLevel.level.dungeonFlowTypes.First((IntWithRarity x) => x.id == GlobalInfo.dungeonIDs["Level1Flow"]).rarity = 50; BlackLabelLevel.level.dungeonFlowTypes.First((IntWithRarity x) => x.id == GlobalInfo.dungeonIDs["Level3Flow"]).rarity = 50; } } public class AssuranceBlackLabelLevel : BlackLabelLevel { public AssuranceBlackLabelLevel() : base("AssuranceLevel") { } public override void SetupLevel() { //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Expected O, but got Unknown //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Expected O, but got Unknown //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Expected O, but got Unknown //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Expected O, but got Unknown //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Expected O, but got Unknown //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_0160: Expected O, but got Unknown BlackLabelLevel.level.spawnableScrap.Remove(BlackLabelLevel.level.spawnableScrap.Find((SpawnableItemWithRarity x) => ((Object)x.spawnableItem).name == "EasterEgg")); BlackLabelLevel.level.spawnableScrap.Find((SpawnableItemWithRarity x) => ((Object)x.spawnableItem).name == "EggBeater").rarity = 23; BlackLabelLevel.level.spawnableScrap.AddRange(new <>z__ReadOnlyArray<SpawnableItemWithRarity>((SpawnableItemWithRarity[])(object)new SpawnableItemWithRarity[6] { new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Spatula"], rarity = 21 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Fan"], rarity = 18 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Stapler"], rarity = 15 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Bucket"], rarity = 42 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Toaster"], rarity = 21 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Boot"], rarity = 1 } })); BlackLabelLevel.level.Enemies.Remove(BlackLabelLevel.level.Enemies.Find((SpawnableEnemyWithRarity x) => ((Object)x.enemyType).name == "CaveDweller")); } } public class DineBlackLabelLevel : BlackLabelLevel { public DineBlackLabelLevel() : base("DineLevel") { } public override void SetupLevel() { //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Expected O, but got Unknown //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Expected O, but got Unknown //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Expected O, but got Unknown //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Expected O, but got Unknown //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Expected O, but got Unknown //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_0148: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Expected O, but got Unknown //IL_0167: Unknown result type (might be due to invalid IL or missing references) //IL_016c: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Expected O, but got Unknown //IL_018c: Unknown result type (might be due to invalid IL or missing references) //IL_0191: Unknown result type (might be due to invalid IL or missing references) //IL_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Expected O, but got Unknown //IL_01b1: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01cb: Unknown result type (might be due to invalid IL or missing references) //IL_01d3: Expected O, but got Unknown //IL_025f: Unknown result type (might be due to invalid IL or missing references) //IL_02b5: Unknown result type (might be due to invalid IL or missing references) //IL_02b6: Unknown result type (might be due to invalid IL or missing references) //IL_02bf: Unknown result type (might be due to invalid IL or missing references) //IL_0315: Unknown result type (might be due to invalid IL or missing references) //IL_0316: Unknown result type (might be due to invalid IL or missing references) //IL_031f: Unknown result type (might be due to invalid IL or missing references) //IL_0375: Unknown result type (might be due to invalid IL or missing references) //IL_0376: Unknown result type (might be due to invalid IL or missing references) //IL_037b: Unknown result type (might be due to invalid IL or missing references) //IL_0380: Unknown result type (might be due to invalid IL or missing references) //IL_0387: Unknown result type (might be due to invalid IL or missing references) //IL_0393: Expected O, but got Unknown //IL_03cb: Unknown result type (might be due to invalid IL or missing references) //IL_0421: Unknown result type (might be due to invalid IL or missing references) //IL_0422: Unknown result type (might be due to invalid IL or missing references) //IL_042b: Unknown result type (might be due to invalid IL or missing references) //IL_0481: Unknown result type (might be due to invalid IL or missing references) //IL_0482: Unknown result type (might be due to invalid IL or missing references) //IL_048b: Unknown result type (might be due to invalid IL or missing references) //IL_04e1: Unknown result type (might be due to invalid IL or missing references) //IL_04e2: Unknown result type (might be due to invalid IL or missing references) //IL_04eb: Unknown result type (might be due to invalid IL or missing references) //IL_0541: Unknown result type (might be due to invalid IL or missing references) //IL_0542: Unknown result type (might be due to invalid IL or missing references) //IL_0547: Unknown result type (might be due to invalid IL or missing references) //IL_054c: Unknown result type (might be due to invalid IL or missing references) //IL_0553: Unknown result type (might be due to invalid IL or missing references) //IL_055f: Expected O, but got Unknown //IL_0597: Unknown result type (might be due to invalid IL or missing references) //IL_05ed: Unknown result type (might be due to invalid IL or missing references) //IL_05ee: Unknown result type (might be due to invalid IL or missing references) //IL_05f7: Unknown result type (might be due to invalid IL or missing references) //IL_064d: Unknown result type (might be due to invalid IL or missing references) //IL_064e: Unknown result type (might be due to invalid IL or missing references) //IL_0657: Unknown result type (might be due to invalid IL or missing references) //IL_06ad: Unknown result type (might be due to invalid IL or missing references) //IL_06ae: Unknown result type (might be due to invalid IL or missing references) //IL_06b7: Unknown result type (might be due to invalid IL or missing references) //IL_070d: Unknown result type (might be due to invalid IL or missing references) //IL_070e: Unknown result type (might be due to invalid IL or missing references) //IL_0713: Unknown result type (might be due to invalid IL or missing references) //IL_0718: Unknown result type (might be due to invalid IL or missing references) //IL_071f: Unknown result type (might be due to invalid IL or missing references) //IL_072b: Expected O, but got Unknown BlackLabelLevel.level.maxScrap = 27; BlackLabelLevel.level.spawnableScrap.Remove(BlackLabelLevel.level.spawnableScrap.Find((SpawnableItemWithRarity x) => ((Object)x.spawnableItem).name == "EasterEgg")); BlackLabelLevel.level.spawnableScrap.ForEach(delegate(SpawnableItemWithRarity x) { string name2 = ((Object)x.spawnableItem).name; if (name2 != null) { switch (name2.Length) { case 4: switch (name2[0]) { case 'B': if (name2 == "Bell") { x.rarity = 48; } break; case 'C': if (name2 == "Cog1") { x.rarity = 6; } break; case 'R': if (name2 == "Ring") { x.rarity = 19; } break; } break; case 5: switch (name2[0]) { case 'B': if (name2 == "Brush") { x.rarity = 20; } break; case 'C': if (name2 == "Candy") { x.rarity = 16; } break; case 'P': if (name2 == "Phone") { x.rarity = 17; } break; } break; case 12: switch (name2[0]) { case 'C': if (name2 == "CashRegister") { x.rarity = 13; } break; case 'D': if (name2 == "DiyFlashbang") { x.rarity = 10; } break; case 'F': if (name2 == "FishTestProp") { x.rarity = 16; } break; case 'E': break; } break; case 10: switch (name2[0]) { case 'C': if (name2 == "ComedyMask") { x.rarity = 29; } break; case 'G': if (name2 == "GarbageLid") { x.rarity = 9; } break; case 'P': if (name2 == "PillBottle") { x.rarity = 4; } break; case 'R': if (name2 == "RubberDuck") { x.rarity = 16; } break; case 'S': if (name2 == "SodaCanRed") { x.rarity = 26; } break; case 'T': if (name2 == "Toothpaste") { x.rarity = 24; } break; } break; case 8: switch (name2[0]) { case 'D': if (name2 == "Dentures") { x.rarity = 31; } break; case 'R': if (name2 == "RobotToy") { x.rarity = 46; } break; } break; case 11: switch (name2[0]) { case 'E': if (name2 == "EnginePart1") { x.rarity = 3; } break; case 'T': if (name2 == "TragedyMask") { x.rarity = 37; } break; } break; case 9: switch (name2[0]) { case 'F': if (name2 == "FancyLamp") { x.rarity = 49; } break; case 'H': if (name2 == "Hairdryer") { x.rarity = 43; } break; case 'P': if (name2 == "PickleJar") { x.rarity = 9; } break; case 'T': if (name2 == "TeaKettle") { x.rarity = 25; } break; } break; case 13: switch (name2[0]) { case 'F': if (name2 == "FancyPainting") { x.rarity = 50; } break; case 'P': if (name2 == "PerfumeBottle") { x.rarity = 28; } break; } break; case 7: if (name2 == "GiftBox") { x.rarity = 21; } break; case 15: if (name2 == "MagnifyingGlass") { x.rarity = 35; } break; case 16: if (name2 == "ToiletPaperRolls") { x.rarity = 8; } break; case 14: if (name2 == "WhoopieCushion") { x.rarity = 18; } break; case 6: break; } } }); BlackLabelLevel.level.spawnableScrap.AddRange(new <>z__ReadOnlyArray<SpawnableItemWithRarity>((SpawnableItemWithRarity[])(object)new SpawnableItemWithRarity[9] { new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Fan"], rarity = 13 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Toaster"], rarity = 16 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Briefcase"], rarity = 30 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["WineBottle"], rarity = 34 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Tophat"], rarity = 7 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Bucket"], rarity = 3 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Tuba"], rarity = 12 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Wallet"], rarity = 13 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Boot"], rarity = 1 } })); BlackLabelLevel.level.maxEnemyPowerCount = 15; BlackLabelLevel.level.maxOutsideEnemyPowerCount = 8; BlackLabelLevel.level.Enemies.ForEach(delegate(SpawnableEnemyWithRarity x) { string name = ((Object)x.enemyType).name; if (name != null) { switch (name.Length) { case 9: switch (name[0]) { case 'C': if (name == "Centipede") { x.rarity = 52; } break; case 'D': if (name == "DressGirl") { x.rarity = 18; } break; case 'F': if (name == "Flowerman") { x.rarity = 25; } break; case 'S': if (name == "SpringMan") { x.rarity = 53; } break; } break; case 10: switch (name[0]) { case 'H': if (name == "HoarderBug") { x.rarity = 48; } break; case 'N': if (name == "Nutcracker") { x.rarity = 60; } break; case 'S': if (name == "SandSpider") { x.rarity = 64; } break; } break; case 6: switch (name[0]) { case 'J': if (name == "Jester") { x.rarity = 66; } break; case 'P': if (name == "Puffer") { x.rarity = 16; } break; case 'B': if (name == "Butler") { x.rarity = 100; } break; } break; case 11: switch (name[1]) { case 'l': if (name == "ClaySurgeon") { x.rarity = 34; } break; case 'a': if (name == "CaveDweller") { x.rarity = 6; } break; } break; case 4: if (name == "Blob") { x.rarity = 39; } break; case 7: if (name == "Crawler") { x.rarity = 48; } break; case 5: case 8: break; } } }); BlackLabelLevel.level.OutsideEnemies.ForEach(delegate(SpawnableEnemyWithRarity x) { switch (((Object)x.enemyType).name) { case "ForestGiant": x.rarity = 31; break; case "MouthDog": x.rarity = 68; break; case "RadMech": x.rarity = 11; break; case "SandWorm": x.rarity = 50; break; } }); SelectableLevel obj = BlackLabelLevel.level; Keyframe[] array = new Keyframe[3]; Keyframe val = default(Keyframe); ((Keyframe)(ref val)).time = -7.7369623E-07f; ((Keyframe)(ref val)).value = -2.8875f; ((Keyframe)(ref val)).inTangent = float.PositiveInfinity; ((Keyframe)(ref val)).outTangent = -1.0600616f; ((Keyframe)(ref val)).weightedMode = (WeightedMode)3; ((Keyframe)(ref val)).inWeight = 0f; ((Keyframe)(ref val)).outWeight = 0.14093608f; array[0] = val; val = default(Keyframe); ((Keyframe)(ref val)).time = 0.5432813f; ((Keyframe)(ref val)).value = 0.055187404f; ((Keyframe)(ref val)).inTangent = 9.172262f; ((Keyframe)(ref val)).outTangent = 9.172262f; ((Keyframe)(ref val)).weightedMode = (WeightedMode)3; ((Keyframe)(ref val)).inWeight = 1f / 3f; ((Keyframe)(ref val)).outWeight = 0.71965504f; array[1] = val; val = default(Keyframe); ((Keyframe)(ref val)).time = 1f; ((Keyframe)(ref val)).value = 0.055187404f; ((Keyframe)(ref val)).inTangent = 5.3594007f; ((Keyframe)(ref val)).outTangent = 16.256857f; ((Keyframe)(ref val)).weightedMode = (WeightedMode)3; ((Keyframe)(ref val)).inWeight = 0.25347674f; ((Keyframe)(ref val)).outWeight = 0.48315445f; array[2] = val; obj.outsideEnemySpawnChanceThroughDay = new AnimationCurve((Keyframe[])(object)array) { preWrapMode = (WrapMode)2, postWrapMode = (WrapMode)2 }; SpawnableMapObject obj2 = BlackLabelLevel.level.spawnableMapObjects.First((SpawnableMapObject x) => ((Object)x.prefabToSpawn).name == "Landmine"); Keyframe[] array2 = new Keyframe[4]; val = default(Keyframe); ((Keyframe)(ref val)).time = 0f; ((Keyframe)(ref val)).value = 0f; ((Keyframe)(ref val)).inTangent = 0.35461718f; ((Keyframe)(ref val)).outTangent = 0.35461718f; ((Keyframe)(ref val)).weightedMode = (WeightedMode)2; ((Keyframe)(ref val)).inWeight = 0f; ((Keyframe)(ref val)).outWeight = 0.31411442f; array2[0] = val; val = default(Keyframe); ((Keyframe)(ref val)).time = 0.33f; ((Keyframe)(ref val)).value = 1.6f; ((Keyframe)(ref val)).inTangent = 9.622354f; ((Keyframe)(ref val)).outTangent = 9.622354f; ((Keyframe)(ref val)).weightedMode = (WeightedMode)3; ((Keyframe)(ref val)).inWeight = 0.3329991f; ((Keyframe)(ref val)).outWeight = 0.37682974f; array2[1] = val; val = default(Keyframe); ((Keyframe)(ref val)).time = 0.75f; ((Keyframe)(ref val)).value = 15.25f; ((Keyframe)(ref val)).inTangent = 17.336048f; ((Keyframe)(ref val)).outTangent = 17.336048f; ((Keyframe)(ref val)).weightedMode = (WeightedMode)3; ((Keyframe)(ref val)).inWeight = 0.3517064f; ((Keyframe)(ref val)).outWeight = 0.70731705f; array2[2] = val; val = default(Keyframe); ((Keyframe)(ref val)).time = 1f; ((Keyframe)(ref val)).value = 35f; ((Keyframe)(ref val)).inTangent = 2.1870255f; ((Keyframe)(ref val)).outTangent = 2.1870255f; ((Keyframe)(ref val)).weightedMode = (WeightedMode)3; ((Keyframe)(ref val)).inWeight = 0.47984266f; ((Keyframe)(ref val)).outWeight = 0f; array2[3] = val; obj2.numberToSpawn = new AnimationCurve((Keyframe[])(object)array2) { preWrapMode = (WrapMode)2, postWrapMode = (WrapMode)2 }; SpawnableMapObject obj3 = BlackLabelLevel.level.spawnableMapObjects.First((SpawnableMapObject x) => ((Object)x.prefabToSpawn).name == "TurretContainer"); Keyframe[] array3 = new Keyframe[4]; val = default(Keyframe); ((Keyframe)(ref val)).time = 0f; ((Keyframe)(ref val)).value = 0.25f; ((Keyframe)(ref val)).inTangent = -0.082629666f; ((Keyframe)(ref val)).outTangent = -0.082629666f; ((Keyframe)(ref val)).weightedMode = (WeightedMode)3; ((Keyframe)(ref val)).inWeight = 0f; ((Keyframe)(ref val)).outWeight = 0.08271725f; array3[0] = val; val = default(Keyframe); ((Keyframe)(ref val)).time = 0.35f; ((Keyframe)(ref val)).value = 1.65f; ((Keyframe)(ref val)).inTangent = 0.84200466f; ((Keyframe)(ref val)).outTangent = 0.84200466f; ((Keyframe)(ref val)).weightedMode = (WeightedMode)3; ((Keyframe)(ref val)).inWeight = 0.1623793f; ((Keyframe)(ref val)).outWeight = 0.11892447f; array3[1] = val; val = default(Keyframe); ((Keyframe)(ref val)).time = 0.8f; ((Keyframe)(ref val)).value = 11.25f; ((Keyframe)(ref val)).inTangent = 5.785181f; ((Keyframe)(ref val)).outTangent = 5.785181f; ((Keyframe)(ref val)).weightedMode = (WeightedMode)3; ((Keyframe)(ref val)).inWeight = 0.10231435f; ((Keyframe)(ref val)).outWeight = 1f / 3f; array3[2] = val; val = default(Keyframe); ((Keyframe)(ref val)).time = 1f; ((Keyframe)(ref val)).value = 18f; ((Keyframe)(ref val)).inTangent = 4.8281865f; ((Keyframe)(ref val)).outTangent = 4.8281865f; ((Keyframe)(ref val)).weightedMode = (WeightedMode)3; ((Keyframe)(ref val)).inWeight = 0.42531443f; ((Keyframe)(ref val)).outWeight = 0f; array3[3] = val; obj3.numberToSpawn = new AnimationCurve((Keyframe[])(object)array3) { preWrapMode = (WrapMode)2, postWrapMode = (WrapMode)2 }; BlackLabelLevel.level.dungeonFlowTypes.First((IntWithRarity x) => x.id == GlobalInfo.dungeonIDs["Level3Flow"]).rarity = 27; } } public class EmbrionBlackLabelLevel : BlackLabelLevel { public EmbrionBlackLabelLevel() : base("EmbrionLevel") { } public override void SetupLevel() { //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Expected O, but got Unknown //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Expected O, but got Unknown //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Expected O, but got Unknown //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Expected O, but got Unknown //IL_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Expected O, but got Unknown //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Expected O, but got Unknown //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Expected O, but got Unknown //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_0180: Expected O, but got Unknown //IL_0182: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: Expected O, but got Unknown //IL_01a8: Unknown result type (might be due to invalid IL or missing references) //IL_01ad: Unknown result type (might be due to invalid IL or missing references) //IL_01c2: Unknown result type (might be due to invalid IL or missing references) //IL_01cb: Expected O, but got Unknown //IL_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_01d3: Unknown result type (might be due to invalid IL or missing references) //IL_01e8: Unknown result type (might be due to invalid IL or missing references) //IL_01f1: Expected O, but got Unknown //IL_01f4: Unknown result type (might be due to invalid IL or missing references) //IL_01f9: Unknown result type (might be due to invalid IL or missing references) //IL_020e: Unknown result type (might be due to invalid IL or missing references) //IL_0217: Expected O, but got Unknown //IL_021a: Unknown result type (might be due to invalid IL or missing references) //IL_021f: Unknown result type (might be due to invalid IL or missing references) //IL_0234: Unknown result type (might be due to invalid IL or missing references) //IL_023d: Expected O, but got Unknown //IL_0240: Unknown result type (might be due to invalid IL or missing references) //IL_0245: Unknown result type (might be due to invalid IL or missing references) //IL_025a: Unknown result type (might be due to invalid IL or missing references) //IL_0263: Expected O, but got Unknown //IL_0266: Unknown result type (might be due to invalid IL or missing references) //IL_026b: Unknown result type (might be due to invalid IL or missing references) //IL_0280: Unknown result type (might be due to invalid IL or missing references) //IL_0289: Expected O, but got Unknown //IL_028c: Unknown result type (might be due to invalid IL or missing references) //IL_0291: Unknown result type (might be due to invalid IL or missing references) //IL_02a6: Unknown result type (might be due to invalid IL or missing references) //IL_02af: Expected O, but got Unknown //IL_02b2: Unknown result type (might be due to invalid IL or missing references) //IL_02b7: Unknown result type (might be due to invalid IL or missing references) //IL_02cc: Unknown result type (might be due to invalid IL or missing references) //IL_02d5: Expected O, but got Unknown //IL_02d8: Unknown result type (might be due to invalid IL or missing references) //IL_02dd: Unknown result type (might be due to invalid IL or missing references) //IL_02f2: Unknown result type (might be due to invalid IL or missing references) //IL_02fa: Expected O, but got Unknown //IL_02fd: Unknown result type (might be due to invalid IL or missing references) //IL_0302: Unknown result type (might be due to invalid IL or missing references) //IL_0317: Unknown result type (might be due to invalid IL or missing references) //IL_031f: Expected O, but got Unknown BlackLabelLevel.level.maxScrap = 24; BlackLabelLevel.level.spawnableScrap.Remove(BlackLabelLevel.level.spawnableScrap.Find((SpawnableItemWithRarity x) => ((Object)x.spawnableItem).name == "EasterEgg")); BlackLabelLevel.level.spawnableScrap.AddRange(new <>z__ReadOnlyArray<SpawnableItemWithRarity>((SpawnableItemWithRarity[])(object)new SpawnableItemWithRarity[19] { new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Bell"], rarity = 21 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Clock"], rarity = 12 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Flask"], rarity = 7 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["DustPan"], rarity = 12 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["SodaCanRed"], rarity = 5 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Mug"], rarity = 35 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["ToyTrain"], rarity = 2 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["SteeringWheel"], rarity = 38 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["GarbageLid"], rarity = 29 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Hairdryer"], rarity = 11 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["EggBeater"], rarity = 23 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["PlasticCup"], rarity = 42 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Fan"], rarity = 39 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Wallet"], rarity = 40 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Bucket"], rarity = 54 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Spatula"], rarity = 35 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["TrafficCone"], rarity = 51 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["GoldenBolt"], rarity = 5 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Boot"], rarity = 2 } })); } } public class ExperimentationBlackLabelLevel : BlackLabelLevel { public ExperimentationBlackLabelLevel() : base("ExperimentationLevel") { } public override void SetupLevel() { //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Expected O, but got Unknown //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Expected O, but got Unknown //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Expected O, but got Unknown //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Expected O, but got Unknown //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Expected O, but got Unknown BlackLabelLevel.level.spawnableScrap.Remove(BlackLabelLevel.level.spawnableScrap.Find((SpawnableItemWithRarity x) => ((Object)x.spawnableItem).name == "EasterEgg")); BlackLabelLevel.level.spawnableScrap.AddRange(new <>z__ReadOnlyArray<SpawnableItemWithRarity>((SpawnableItemWithRarity[])(object)new SpawnableItemWithRarity[5] { new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["TrafficCone"], rarity = 8 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Stapler"], rarity = 39 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Wallet"], rarity = 4 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Bucket"], rarity = 19 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Boot"], rarity = 1 } })); } } internal class GlobalInfo { internal static Dictionary<string, SelectableLevel> levels = new Dictionary<string, SelectableLevel>(); internal static Dictionary<string, Item> items = new Dictionary<string, Item>(); internal static Dictionary<string, ItemGroup> itemGroups = new Dictionary<string, ItemGroup>(); internal static Dictionary<string, EnemyType> enemies = new Dictionary<string, EnemyType>(); internal static Dictionary<string, GameObject> traps = new Dictionary<string, GameObject>(); internal static Dictionary<string, DungeonFlow> dungeonFlows = new Dictionary<string, DungeonFlow>(); internal static Dictionary<string, int> dungeonIDs = new Dictionary<string, int>(); internal static Dictionary<string, LevelAmbienceLibrary> ambienceLibraries = new Dictionary<string, LevelAmbienceLibrary>(); internal static List<BlackLabelLevel> blackLabelLevels = new List<BlackLabelLevel>(); } public class BlackLabelLevel { public static SelectableLevel level; public BlackLabelLevel(string levelName) { level = GlobalInfo.levels[levelName]; SetupLevel(); } public virtual void SetupLevel() { } } public class MarchBlackLabelLevel : BlackLabelLevel { public MarchBlackLabelLevel() : base("MarchLevel") { } public override void SetupLevel() { //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Expected O, but got Unknown //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Expected O, but got Unknown //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Expected O, but got Unknown //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Expected O, but got Unknown //IL_00fc: Unknown result type (might be due to invalid IL or missing references) //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Expected O, but got Unknown //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Expected O, but got Unknown //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0160: Unknown result type (might be due to invalid IL or missing references) //IL_0169: Expected O, but got Unknown //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0185: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Expected O, but got Unknown //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_01aa: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Expected O, but got Unknown //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_01d0: Unknown result type (might be due to invalid IL or missing references) //IL_01d9: Expected O, but got Unknown //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01e1: Unknown result type (might be due to invalid IL or missing references) //IL_01f6: Unknown result type (might be due to invalid IL or missing references) //IL_01ff: Expected O, but got Unknown //IL_0202: Unknown result type (might be due to invalid IL or missing references) //IL_0207: Unknown result type (might be due to invalid IL or missing references) //IL_021c: Unknown result type (might be due to invalid IL or missing references) //IL_0224: Expected O, but got Unknown //IL_0239: Unknown result type (might be due to invalid IL or missing references) //IL_023e: Unknown result type (might be due to invalid IL or missing references) //IL_0253: Unknown result type (might be due to invalid IL or missing references) //IL_0263: Expected O, but got Unknown //IL_0264: Unknown result type (might be due to invalid IL or missing references) //IL_0269: Unknown result type (might be due to invalid IL or missing references) //IL_027e: Unknown result type (might be due to invalid IL or missing references) //IL_028a: Expected O, but got Unknown //IL_028b: Unknown result type (might be due to invalid IL or missing references) //IL_0290: Unknown result type (might be due to invalid IL or missing references) //IL_02a5: Unknown result type (might be due to invalid IL or missing references) //IL_02ad: Unknown result type (might be due to invalid IL or missing references) //IL_02c7: Expected O, but got Unknown BlackLabelLevel.level.minScrap = 14; BlackLabelLevel.level.maxScrap = 17; BlackLabelLevel.level.spawnableScrap.Remove(BlackLabelLevel.level.spawnableScrap.Find((SpawnableItemWithRarity x) => ((Object)x.spawnableItem).name == "EasterEgg")); BlackLabelLevel.level.spawnableScrap.AddRange(new <>z__ReadOnlyArray<SpawnableItemWithRarity>((SpawnableItemWithRarity[])(object)new SpawnableItemWithRarity[12] { new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Bell"], rarity = 31 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Phone"], rarity = 6 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Brush"], rarity = 35 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["DiyFlashbang"], rarity = 12 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["RubberDuck"], rarity = 24 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["ChemicalJug"], rarity = 37 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["EggBeater"], rarity = 49 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["PickleJar"], rarity = 22 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Toaster"], rarity = 37 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Fan"], rarity = 19 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Bucket"], rarity = 48 }, new SpawnableItemWithRarity { spawnableItem = GlobalInfo.items["Boot"], rarity = 1 } })); BlackLabelLevel.level.dungeonFlowTypes = new List<IntWithRarity> { new IntWithRarity { id = GlobalInfo.dungeonIDs["Level1Flow3Exits"], rarity = 300 }, new IntWithRarity { id = GlobalInfo.dungeonIDs["Level2Flow"], rarity = 4 }, new IntWithRarity { id = GlobalInfo.dungeonIDs["Level3Flow"], rarity = 15, overrideLevelAmbience = GlobalInfo.ambienceLibraries["Level1TypeAmbienceMineshaft"] } }.ToArray(); } } public class OffenseBlackLabelLevel : BlackLabelLevel { public OffenseBlackLabelLevel() : base("OffenseLevel") { } public override void SetupLevel() { //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Expected O, but got Unknown //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Expected O, but got Unknown //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Expected O, but got Unknown //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Expected O, but got Unknown //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Expected O, but got Unknown //IL_014e: Unknown result type (might be due to invalid IL or mis