Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of BlackLabel Core v1.2.0
BlackLabelCore.dll
Decompiled 2 years 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