Some mods may be broken due to the recent Alloyed Collective update.
Decompiled source of MirrorAndTrueArtifacts v1.1.2
TrueArtifacts.dll
Decompiled a week ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using EntityStates.LunarExploderMonster; using EntityStates.VoidInfestor; using HG; using IL.RoR2; using JetBrains.Annotations; using Mono.Cecil.Cil; using MonoMod.Cil; using On.EntityStates.VoidInfestor; using On.RoR2; using On.RoR2.UI; using R2API; using R2API.Utils; using RoR2; using RoR2.Artifacts; using RoR2.ExpansionManagement; using RoR2.Projectile; using RoR2.UI; using TrueArtifacts.Aritfacts; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Networking; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("TrueArtifacts")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+6bdcc38ca642ee0d8c15c2029063442d420669c7")] [assembly: AssemblyProduct("TrueArtifacts")] [assembly: AssemblyTitle("TrueArtifacts")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace TrueArtifacts { internal static class Assets { public static AssetBundle Bundle; public static PluginInfo PluginInfo; public static string Folder = "TrueArtifacts\\"; internal static string assemblyDir => Path.GetDirectoryName(PluginInfo.Location); internal static void Init(PluginInfo info) { //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Expected O, but got Unknown PluginInfo = info; if (!Directory.Exists(GetPathToFile(Folder))) { Folder = ""; } if (Directory.Exists(GetPathToFile(Folder + "Languages"))) { Language.SetFolders += new hook_SetFolders(SetFolders); } else { Debug.LogWarning((object)"COULD NOT FIND LANGUAGES FOLDER"); } if (Directory.Exists(GetPathToFile(Folder + "AssetBundles"))) { Bundle = AssetBundle.LoadFromFile(GetPathToFile(Folder + "AssetBundles", "true_artifacts")); } else { Debug.LogWarning((object)"COULD NOT FIND ASSETBUNDLES FOLDER"); } } private static void SetFolders(orig_SetFolders orig, Language self, IEnumerable<string> newFolders) { IEnumerable<string> second = Directory.EnumerateDirectories(Path.Combine(GetPathToFile(Folder + "Languages")), self.name); orig.Invoke(self, newFolders.Union(second)); } internal static string GetPathToFile(string folderName) { return Path.Combine(assemblyDir, folderName); } internal static string GetPathToFile(string folderName, string fileName) { return Path.Combine(assemblyDir, folderName, fileName); } } public class WConfig { public static ConfigEntry<bool> EnableMirrorArtifacts; public static ConfigEntry<bool> EnableTrueArtifacts; public static ConfigEntry<bool> MirrorKinDisplay; public static ConfigEntry<bool> MirrirSwarmsInfestor; public static ConfigEntry<bool> TrueDissoEliteStuff; public static ConfigEntry<bool> TrueEvoExtraTags; public static ConfigEntry<float> MirrorEnigmaChance; public static ConfigEntry<bool> SortAtEnd; public static ConfigEntry<bool> DebugPrint; internal static void InitConfig() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown ConfigFile val = new ConfigFile(Paths.ConfigPath + "\\Wolfo.True_Artifacts.cfg", true); MirrorKinDisplay = val.Bind<bool>("Mirror", "Mirror Kin Enemy Display", true, "Regular Kin does so seemed fitting to do it here too."); MirrorEnigmaChance = val.Bind<float>("Mirror", "Mirror Enigma Chance", 10f, "Chance to replace items and equipment with a random one."); SortAtEnd = val.Bind<bool>("Main", "Sort Artifacts to end of list", true, "If you don't like or mind the color mish mash"); TrueEvoExtraTags = val.Bind<bool>("True", "True Evolution Extra Blacklist", false, "Blacklist OnKill items, which rarely come into play but may make minions and drones a detrimen. And BrotherBlacklist items such as Tougher Times and SaferSpaces"); DebugPrint = val.Bind<bool>("Other", "Enable Debug Info", false, "If you do not need this better to leave it off"); RiskConfig(); } public static void RiskConfig() { } } public static class ArrayUtil { public static T[] Add<T>(this T[] array, params T[] items) { return (array ?? Enumerable.Empty<T>()).Concat(items).ToArray(); } public static T[] Remove<T>(this T[] array, params T[] items) { return (array ?? Enumerable.Empty<T>()).Except(items).ToArray(); } } [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInPlugin("Wolfo.TrueArtifacts", "TrueArtifacts", "1.2.0")] [NetworkCompatibility(/*Could not decode attribute arguments.*/)] public class Main : BaseUnityPlugin { public static ArtifactDef Mirror_Kin = ScriptableObject.CreateInstance<ArtifactDef>(); public static ArtifactDef Mirror_Glass = ScriptableObject.CreateInstance<ArtifactDef>(); public static ArtifactDef Mirror_Sacrifice = ScriptableObject.CreateInstance<ArtifactDef>(); public static ArtifactDef Mirror_Honor = ScriptableObject.CreateInstance<ArtifactDef>(); public static ArtifactDef Mirror_Frailty = ScriptableObject.CreateInstance<ArtifactDef>(); public static ArtifactDef Mirror_Spite = ScriptableObject.CreateInstance<ArtifactDef>(); public static ArtifactDef True_Command = ScriptableObject.CreateInstance<ArtifactDef>(); public static ArtifactDef True_Dissonance = ScriptableObject.CreateInstance<ArtifactDef>(); public static ArtifactDef True_Swarms = ScriptableObject.CreateInstance<ArtifactDef>(); public static ArtifactDef True_Frailty = ScriptableObject.CreateInstance<ArtifactDef>(); public static ArtifactDef True_Evolution = ScriptableObject.CreateInstance<ArtifactDef>(); public void Awake() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Expected O, but got Unknown //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Expected O, but got Unknown Assets.Init(((BaseUnityPlugin)this).Info); WConfig.InitConfig(); CreateArtifacts(); RunArtifactManager.onArtifactEnabledGlobal += new ArtifactStateChangeDelegate(Artifact_Enabled); RunArtifactManager.onArtifactDisabledGlobal += new ArtifactStateChangeDelegate(Artifact_Disable); TrueCommand.Start(); TrueEvolution.Start(); MirrorSacrifice.Start(); ((ResourceAvailability)(ref ArtifactCatalog.availability)).CallWhenAvailable((Action)CallLate); } public static void CallLate() { MirrorKin.MakeDCCSPool(); Mirror_Kin.unlockableDef = Artifacts.Swarms.unlockableDef; Mirror_Kin.pickupModelPrefab = Artifacts.Swarms.pickupModelPrefab; Mirror_Glass.unlockableDef = Artifacts.Glass.unlockableDef; Mirror_Glass.pickupModelPrefab = Artifacts.Glass.pickupModelPrefab; Mirror_Sacrifice.unlockableDef = Artifacts.Sacrifice.unlockableDef; Mirror_Sacrifice.pickupModelPrefab = Artifacts.Sacrifice.pickupModelPrefab; Mirror_Honor.unlockableDef = Artifacts.EliteOnly.unlockableDef; Mirror_Honor.pickupModelPrefab = Artifacts.EliteOnly.pickupModelPrefab; Mirror_Frailty.unlockableDef = Artifacts.EliteOnly.unlockableDef; Mirror_Frailty.pickupModelPrefab = Artifacts.EliteOnly.pickupModelPrefab; True_Command.unlockableDef = Artifacts.Command.unlockableDef; True_Command.pickupModelPrefab = Artifacts.Command.pickupModelPrefab; True_Dissonance.unlockableDef = Artifacts.MixEnemy.unlockableDef; True_Dissonance.pickupModelPrefab = Artifacts.MixEnemy.pickupModelPrefab; True_Dissonance.unlockableDef = Artifacts.MixEnemy.unlockableDef; True_Dissonance.pickupModelPrefab = Artifacts.MixEnemy.pickupModelPrefab; True_Swarms.unlockableDef = Artifacts.Swarms.unlockableDef; True_Swarms.pickupModelPrefab = Artifacts.Swarms.pickupModelPrefab; True_Frailty.unlockableDef = Artifacts.WeakAssKnees.unlockableDef; True_Frailty.pickupModelPrefab = Artifacts.WeakAssKnees.pickupModelPrefab; True_Evolution.unlockableDef = Artifacts.MonsterTeamGainsItems.unlockableDef; True_Evolution.pickupModelPrefab = Artifacts.MonsterTeamGainsItems.pickupModelPrefab; } public static void CreateArtifacts() { //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: 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_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_0163: Unknown result type (might be due to invalid IL or missing references) //IL_0164: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Unknown result type (might be due to invalid IL or missing references) //IL_01ff: Unknown result type (might be due to invalid IL or missing references) //IL_0200: 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_0215: Unknown result type (might be due to invalid IL or missing references) //IL_029b: Unknown result type (might be due to invalid IL or missing references) //IL_029c: Unknown result type (might be due to invalid IL or missing references) //IL_02b0: Unknown result type (might be due to invalid IL or missing references) //IL_02b1: Unknown result type (might be due to invalid IL or missing references) //IL_032c: Unknown result type (might be due to invalid IL or missing references) //IL_032d: Unknown result type (might be due to invalid IL or missing references) //IL_0341: Unknown result type (might be due to invalid IL or missing references) //IL_0342: Unknown result type (might be due to invalid IL or missing references) //IL_03c8: Unknown result type (might be due to invalid IL or missing references) //IL_03c9: Unknown result type (might be due to invalid IL or missing references) //IL_03dc: Unknown result type (might be due to invalid IL or missing references) //IL_03dd: Unknown result type (might be due to invalid IL or missing references) //IL_0458: Unknown result type (might be due to invalid IL or missing references) //IL_0459: Unknown result type (might be due to invalid IL or missing references) //IL_046c: Unknown result type (might be due to invalid IL or missing references) //IL_046d: Unknown result type (might be due to invalid IL or missing references) //IL_04f3: Unknown result type (might be due to invalid IL or missing references) //IL_04f4: Unknown result type (might be due to invalid IL or missing references) //IL_0507: Unknown result type (might be due to invalid IL or missing references) //IL_0508: Unknown result type (might be due to invalid IL or missing references) //IL_058e: Unknown result type (might be due to invalid IL or missing references) //IL_058f: Unknown result type (might be due to invalid IL or missing references) //IL_05a2: Unknown result type (might be due to invalid IL or missing references) //IL_05a3: Unknown result type (might be due to invalid IL or missing references) //IL_0629: Unknown result type (might be due to invalid IL or missing references) //IL_062a: Unknown result type (might be due to invalid IL or missing references) //IL_063d: Unknown result type (might be due to invalid IL or missing references) //IL_063e: Unknown result type (might be due to invalid IL or missing references) //IL_06b9: Unknown result type (might be due to invalid IL or missing references) //IL_06ba: Unknown result type (might be due to invalid IL or missing references) //IL_06cd: Unknown result type (might be due to invalid IL or missing references) //IL_06ce: Unknown result type (might be due to invalid IL or missing references) string text = ""; string text2 = ""; string text3 = ""; if (WConfig.SortAtEnd.Value) { text3 = "ZZTM_"; text2 = "ZZT_"; text = "ZZM_"; } Rect val = default(Rect); ((Rect)(ref val))..ctor(0f, 0f, 64f, 64f); Vector2 val2 = default(Vector2); ((Vector2)(ref val2))..ctor(0f, 0f); Texture2D val3 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/Mirror_Kin_On.png"); Texture2D val4 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/Mirror_Kin_Off.png"); ((Texture)val3).filterMode = (FilterMode)2; ((Texture)val4).filterMode = (FilterMode)2; Mirror_Kin.cachedName = text + "SingleMonsterTypeMirrorKin"; Mirror_Kin.nameToken = "ARTIFACT_MIRROR_KIN_NAME"; Mirror_Kin.descriptionToken = "ARTIFACT_MIRROR_KIN_DESC"; Mirror_Kin.smallIconSelectedSprite = Sprite.Create(val3, val, val2); Mirror_Kin.smallIconDeselectedSprite = Sprite.Create(val4, val, val2); Texture2D val5 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/Mirror_Glass_On.png"); Texture2D val6 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/Mirror_Glass_Off.png"); ((Texture)val5).filterMode = (FilterMode)2; ((Texture)val6).filterMode = (FilterMode)2; Mirror_Glass.cachedName = text + "GlassMirrorGlass"; Mirror_Glass.nameToken = "ARTIFACT_MIRROR_GLASS_NAME"; Mirror_Glass.descriptionToken = "ARTIFACT_MIRROR_GLASS_DESC"; Mirror_Glass.smallIconSelectedSprite = Sprite.Create(val5, val, val2); Mirror_Glass.smallIconDeselectedSprite = Sprite.Create(val6, val, val2); ContentAddition.AddArtifactDef(Mirror_Glass); Texture2D val7 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/True_Command_On.png"); Texture2D val8 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/True_Command_Off.png"); ((Texture)val7).filterMode = (FilterMode)2; ((Texture)val8).filterMode = (FilterMode)2; True_Command.cachedName = text2 + "CommandTrueCommand"; True_Command.nameToken = "ARTIFACT_TRUE_COMMAND_NAME"; True_Command.descriptionToken = "ARTIFACT_TRUE_COMMAND_DESC"; True_Command.smallIconSelectedSprite = Sprite.Create(val7, val, val2); True_Command.smallIconDeselectedSprite = Sprite.Create(val8, val, val2); ContentAddition.AddArtifactDef(True_Command); Texture2D val9 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/True_Dissonance_On.png"); Texture2D val10 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/True_Dissonance_Off.png"); ((Texture)val9).filterMode = (FilterMode)2; ((Texture)val10).filterMode = (FilterMode)2; True_Dissonance.cachedName = text2 + "MixEnemyTrueDissonance"; True_Dissonance.nameToken = "ARTIFACT_TRUE_DISSONANCE_NAME"; True_Dissonance.descriptionToken = "ARTIFACT_TRUE_DISSONANCE_DESC"; True_Dissonance.smallIconSelectedSprite = Sprite.Create(val9, val, val2); True_Dissonance.smallIconDeselectedSprite = Sprite.Create(val10, val, val2); Texture2D val11 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/True_Swarms_On.png"); Texture2D val12 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/True_Swarms_Off.png"); ((Texture)val11).filterMode = (FilterMode)2; ((Texture)val12).filterMode = (FilterMode)2; True_Swarms.cachedName = text2 + "SwarmsTrueSwarms"; True_Swarms.nameToken = "ARTIFACT_TRUE_SWARMS_NAME"; True_Swarms.descriptionToken = "ARTIFACT_TRUE_SWARMS_DESC"; True_Swarms.smallIconSelectedSprite = Sprite.Create(val11, val, val2); True_Swarms.smallIconDeselectedSprite = Sprite.Create(val12, val, val2); ContentAddition.AddArtifactDef(True_Swarms); Texture2D val13 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/True_Frailty_On.png"); Texture2D val14 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/True_Frailty_Off.png"); ((Texture)val13).filterMode = (FilterMode)2; ((Texture)val14).filterMode = (FilterMode)2; True_Frailty.cachedName = text2 + "WeakAssKneesTrueFrailty"; True_Frailty.nameToken = "ARTIFACT_TRUE_FRAILTY_NAME"; True_Frailty.descriptionToken = "ARTIFACT_TRUE_FRAILTY_DESC"; True_Frailty.smallIconSelectedSprite = Sprite.Create(val13, val, val2); True_Frailty.smallIconDeselectedSprite = Sprite.Create(val14, val, val2); Texture2D val15 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/True_Evolution_On.png"); Texture2D val16 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/True_Evolution_Off.png"); ((Texture)val15).filterMode = (FilterMode)2; ((Texture)val16).filterMode = (FilterMode)2; True_Evolution.cachedName = text2 + "MonsterTeamGainsItemsTrueEvolution"; True_Evolution.nameToken = "ARTIFACT_TRUE_EVOLUTION_NAME"; True_Evolution.descriptionToken = "ARTIFACT_TRUE_EVOLUTION_DESC"; True_Evolution.smallIconSelectedSprite = Sprite.Create(val15, val, val2); True_Evolution.smallIconDeselectedSprite = Sprite.Create(val16, val, val2); ContentAddition.AddArtifactDef(True_Evolution); Texture2D val17 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/Mirror_Sacrifice_On.png"); Texture2D val18 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/Mirror_Sacrifice_Off.png"); ((Texture)val17).filterMode = (FilterMode)2; ((Texture)val18).filterMode = (FilterMode)2; Mirror_Sacrifice.cachedName = text + "SacrificeMirrorSacrifice"; Mirror_Sacrifice.nameToken = "ARTIFACT_MIRROR_SACRIFICE_NAME"; Mirror_Sacrifice.descriptionToken = "ARTIFACT_MIRROR_SACRIFICE_DESC"; Mirror_Sacrifice.smallIconSelectedSprite = Sprite.Create(val17, val, val2); Mirror_Sacrifice.smallIconDeselectedSprite = Sprite.Create(val18, val, val2); ContentAddition.AddArtifactDef(Mirror_Sacrifice); Texture2D val19 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/Mirror_Honor_On.png"); Texture2D val20 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/Mirror_Honor_Off.png"); ((Texture)val19).filterMode = (FilterMode)2; ((Texture)val20).filterMode = (FilterMode)2; Mirror_Honor.cachedName = text + "EliteOnlyMirrorHonor"; Mirror_Honor.nameToken = "ARTIFACT_MIRROR_HONOR_NAME"; Mirror_Honor.descriptionToken = "ARTIFACT_MIRROR_HONOR_DESC"; Mirror_Honor.smallIconSelectedSprite = Sprite.Create(val19, val, val2); Mirror_Honor.smallIconDeselectedSprite = Sprite.Create(val20, val, val2); ContentAddition.AddArtifactDef(Mirror_Honor); Texture2D val21 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/Mirror_Frailty_On.png"); Texture2D val22 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/Mirror_Frailty_Off.png"); ((Texture)val21).filterMode = (FilterMode)2; ((Texture)val22).filterMode = (FilterMode)2; Mirror_Frailty.cachedName = text + "WeakAssKneesMirrorFrailty"; Mirror_Frailty.nameToken = "ARTIFACT_MIRROR_FRAILTY_NAME"; Mirror_Frailty.descriptionToken = "ARTIFACT_MIRROR_FRAILTY_DESC"; Mirror_Frailty.smallIconSelectedSprite = Sprite.Create(val21, val, val2); Mirror_Frailty.smallIconDeselectedSprite = Sprite.Create(val22, val, val2); Texture2D val23 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/Mirror_Spite_On.png"); Texture2D val24 = Assets.Bundle.LoadAsset<Texture2D>("Assets/TrueArtifacts/Mirror_Spite_Off.png"); ((Texture)val23).filterMode = (FilterMode)2; ((Texture)val24).filterMode = (FilterMode)2; Mirror_Spite.cachedName = text + "BombMirrorSpite"; Mirror_Spite.nameToken = "ARTIFACT_MIRROR_SPITE_NAME"; Mirror_Spite.descriptionToken = "ARTIFACT_MIRROR_SPITE_DESC"; Mirror_Spite.smallIconSelectedSprite = Sprite.Create(val23, val, val2); Mirror_Spite.smallIconDeselectedSprite = Sprite.Create(val24, val, val2); } private void Artifact_Enabled([NotNull] RunArtifactManager runArtifactManager, [NotNull] ArtifactDef artifactDef) { if ((Object)(object)artifactDef == (Object)(object)True_Command) { TrueCommand.On_Artifact_Enable(); runArtifactManager.SetArtifactEnabled(Artifacts.Command, false); } else if ((Object)(object)artifactDef == (Object)(object)True_Swarms) { TrueSwarms.On_Artifact_Enable(); } else if ((Object)(object)artifactDef == (Object)(object)Mirror_Glass) { MirrorGlass.On_Artifact_Enable(); } else if ((Object)(object)artifactDef == (Object)(object)True_Evolution) { TrueEvolution.On_Artifact_Enable(); } else if ((Object)(object)artifactDef == (Object)(object)Mirror_Sacrifice) { MirrorSacrifice.On_Artifact_Enable(); } else if ((Object)(object)artifactDef == (Object)(object)Mirror_Honor) { MirrorHonor.On_Artifact_Enable(); } } private void Artifact_Disable([NotNull] RunArtifactManager runArtifactManager, [NotNull] ArtifactDef artifactDef) { if ((Object)(object)artifactDef == (Object)(object)True_Command) { TrueCommand.On_Artifact_Disable(); } else if ((Object)(object)artifactDef == (Object)(object)True_Swarms) { TrueSwarms.On_Artifact_Disable(); } else if ((Object)(object)artifactDef == (Object)(object)Mirror_Glass) { MirrorGlass.On_Artifact_Disable(); } else if ((Object)(object)artifactDef == (Object)(object)True_Evolution) { TrueEvolution.On_Artifact_Disable(); } else if ((Object)(object)artifactDef == (Object)(object)Mirror_Sacrifice) { MirrorSacrifice.On_Artifact_Disable(); } else if ((Object)(object)artifactDef == (Object)(object)Mirror_Honor) { MirrorHonor.On_Artifact_Disable(); } } } } namespace TrueArtifacts.Aritfacts { public class MirrorFrailty { public static void On_Artifact_Disable() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Expected O, but got Unknown //IL_0044: Unknown result type (might be due to invalid IL or missing references) JumpVolume.OnTriggerStay -= new hook_OnTriggerStay(JumpVolume_OnTriggerStay); SetGravity.OnEnable -= new hook_OnEnable(SetGravity_OnEnable); Run.baseGravity /= 2f; Physics.gravity = new Vector3(0f, Run.baseGravity, 0f); } public static void On_Artifact_Enable() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Expected O, but got Unknown //IL_0044: Unknown result type (might be due to invalid IL or missing references) JumpVolume.OnTriggerStay += new hook_OnTriggerStay(JumpVolume_OnTriggerStay); SetGravity.OnEnable += new hook_OnEnable(SetGravity_OnEnable); Run.baseGravity *= 2f; Physics.gravity = new Vector3(0f, Run.baseGravity, 0f); } private static void JumpVolume_OnTriggerStay(orig_OnTriggerStay orig, JumpVolume self, Collider other) { //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self, other); CharacterMotor component = ((Component)other).GetComponent<CharacterMotor>(); if (Object.op_Implicit((Object)(object)component) && component.hasEffectiveAuthority && !component.doNotTriggerJumpVolumes) { Debug.Log((object)component); component.velocity = self.jumpVelocity * 1.4f; } } private static void SetGravity_OnEnable(orig_OnEnable orig, SetGravity self) { self.newGravity *= 2f; orig.Invoke(self); } } public class MirrorGlass { public static void On_Artifact_Disable() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Expected O, but got Unknown //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected O, but got Unknown //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Expected O, but got Unknown RecalculateStatsAPI.GetStatCoefficients -= new StatHookEventHandler(R2API_Stats); CharacterBody.RecalculateStats -= new hook_RecalculateStats(CharacterBody_RecalculateStats); PickupDropletController.OnCollisionEnter -= new hook_OnCollisionEnter(DoubleItems); PurchaseInteraction.Start -= new hook_Start(DoubleItemPrices); } public static void On_Artifact_Enable() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Expected O, but got Unknown //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected O, but got Unknown //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Expected O, but got Unknown RecalculateStatsAPI.GetStatCoefficients += new StatHookEventHandler(R2API_Stats); CharacterBody.RecalculateStats += new hook_RecalculateStats(CharacterBody_RecalculateStats); PickupDropletController.OnCollisionEnter += new hook_OnCollisionEnter(DoubleItems); PurchaseInteraction.Start += new hook_Start(DoubleItemPrices); } private static void CharacterBody_RecalculateStats(orig_RecalculateStats orig, CharacterBody self) { orig.Invoke(self); if (self.isPlayerControlled) { self.isGlass = true; } } private static void R2API_Stats(CharacterBody sender, StatHookEventArgs args) { if (sender.isPlayerControlled) { args.baseCurseAdd += 1f; } } private static void DoubleItems(orig_OnCollisionEnter orig, PickupDropletController self, Collision collision) { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Invalid comparison between Unknown and I4 //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) if (!NetworkServer.active || !self.alive) { return; } PickupIndex pickupIndex = self.pickupIndex; ItemIndex itemIndex = ((PickupIndex)(ref pickupIndex)).pickupDef.itemIndex; if ((int)itemIndex != -1) { ItemDef itemDef = ItemCatalog.GetItemDef(itemIndex); if (((Object)itemDef).name.StartsWith("Scrap")) { orig.Invoke(self, collision); return; } } self.createPickupInfo.position = ((Component)self).transform.position; self.CreatePickup(); orig.Invoke(self, collision); } private static void DoubleItemPrices(orig_Start orig, PurchaseInteraction self) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Invalid comparison between Unknown and I4 //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Invalid comparison between Unknown and I4 //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Invalid comparison between Unknown and I4 //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Invalid comparison between Unknown and I4 orig.Invoke(self); if ((int)self.costType == 4 || (int)self.costType == 5 || (int)self.costType == 6 || (int)self.costType == 10) { self.cost *= 2; } } } public class MirrorHonor { public static float MaxLevel = 199f; public static void On_Artifact_Enable() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Expected O, but got Unknown Run.RecalculateDifficultyCoefficent += new hook_RecalculateDifficultyCoefficent(Run_RecalculateDifficultyCoefficent); InfiniteTowerRun.RecalculateDifficultyCoefficentInternal += new hook_RecalculateDifficultyCoefficentInternal(InfiniteTowerRun_RecalculateDifficultyCoefficentInternal); MaxLevel = Math.Max((Run.ambientLevelCap + 1) * 2, MaxLevel); if (MaxLevel < 1000f) { MaxLevel = 999f; } } private static void InfiniteTowerRun_RecalculateDifficultyCoefficentInternal(orig_RecalculateDifficultyCoefficentInternal orig, InfiniteTowerRun self) { orig.Invoke(self); ((Run)self).difficultyCoefficient = ((Run)self).difficultyCoefficient * 2f; ((Run)self).compensatedDifficultyCoefficient = ((Run)self).compensatedDifficultyCoefficient * 2f; ((Run)self).ambientLevel = Mathf.Min((((Run)self).difficultyCoefficient - 1f) / 0.33f + 1f, 10000f); ((Run)self).ambientLevelFloor = Mathf.FloorToInt(((Run)self).ambientLevel); } private static void Run_RecalculateDifficultyCoefficent(orig_RecalculateDifficultyCoefficent orig, Run self) { orig.Invoke(self); self.difficultyCoefficient *= 2f; self.compensatedDifficultyCoefficient *= 2f; float num = 0.7f + (float)self.participatingPlayerCount * 0.3f; self.ambientLevel = Mathf.Min((self.difficultyCoefficient - num) / 0.33f + 1f, MaxLevel); self.ambientLevelFloor = Mathf.FloorToInt(self.ambientLevel); } public static void On_Artifact_Disable() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Expected O, but got Unknown Run.RecalculateDifficultyCoefficent -= new hook_RecalculateDifficultyCoefficent(Run_RecalculateDifficultyCoefficent); InfiniteTowerRun.RecalculateDifficultyCoefficentInternal -= new hook_RecalculateDifficultyCoefficentInternal(InfiniteTowerRun_RecalculateDifficultyCoefficentInternal); } } public class MirrorKin { public static DccsPool dpAllFamilies; public static FamilyDirectorCardCategorySelection dccsFamilyTrueDisso; public static void MakeDCCSPool() { //IL_0011: 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_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_019b: Unknown result type (might be due to invalid IL or missing references) //IL_01a2: Expected O, but got Unknown //IL_01c5: Unknown result type (might be due to invalid IL or missing references) //IL_01ca: 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_01d5: Unknown result type (might be due to invalid IL or missing references) //IL_01e3: Unknown result type (might be due to invalid IL or missing references) //IL_01ef: Expected O, but got Unknown //IL_01f1: 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_01fc: Unknown result type (might be due to invalid IL or missing references) //IL_0201: Unknown result type (might be due to invalid IL or missing references) //IL_020f: Unknown result type (might be due to invalid IL or missing references) //IL_021b: Expected O, but got Unknown //IL_021d: Unknown result type (might be due to invalid IL or missing references) //IL_0222: Unknown result type (might be due to invalid IL or missing references) //IL_0228: Unknown result type (might be due to invalid IL or missing references) //IL_022d: Unknown result type (might be due to invalid IL or missing references) //IL_023b: Unknown result type (might be due to invalid IL or missing references) //IL_0247: Expected O, but got Unknown //IL_0249: Unknown result type (might be due to invalid IL or missing references) //IL_024e: Unknown result type (might be due to invalid IL or missing references) //IL_0254: Unknown result type (might be due to invalid IL or missing references) //IL_0259: Unknown result type (might be due to invalid IL or missing references) //IL_0267: Unknown result type (might be due to invalid IL or missing references) //IL_0273: Expected O, but got Unknown //IL_0275: Unknown result type (might be due to invalid IL or missing references) //IL_027a: 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_0285: Unknown result type (might be due to invalid IL or missing references) //IL_0293: Unknown result type (might be due to invalid IL or missing references) //IL_029f: Expected O, but got Unknown //IL_02a1: 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_02ac: Unknown result type (might be due to invalid IL or missing references) //IL_02b1: 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_02cb: Expected O, but got Unknown //IL_02cd: Unknown result type (might be due to invalid IL or missing references) //IL_02d2: Unknown result type (might be due to invalid IL or missing references) //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_02eb: Unknown result type (might be due to invalid IL or missing references) //IL_02f7: Expected O, but got Unknown //IL_02f9: Unknown result type (might be due to invalid IL or missing references) //IL_02fe: Unknown result type (might be due to invalid IL or missing references) //IL_0304: Unknown result type (might be due to invalid IL or missing references) //IL_0309: 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_0323: Expected O, but got Unknown //IL_0325: Unknown result type (might be due to invalid IL or missing references) //IL_032a: Unknown result type (might be due to invalid IL or missing references) //IL_0330: Unknown result type (might be due to invalid IL or missing references) //IL_0335: Unknown result type (might be due to invalid IL or missing references) //IL_0343: Unknown result type (might be due to invalid IL or missing references) //IL_034f: Expected O, but got Unknown //IL_035e: Unknown result type (might be due to invalid IL or missing references) //IL_0363: Unknown result type (might be due to invalid IL or missing references) //IL_0369: Unknown result type (might be due to invalid IL or missing references) //IL_036e: Unknown result type (might be due to invalid IL or missing references) //IL_037c: 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_038f: Expected O, but got Unknown //IL_0391: Unknown result type (might be due to invalid IL or missing references) //IL_0396: Unknown result type (might be due to invalid IL or missing references) //IL_039c: Unknown result type (might be due to invalid IL or missing references) //IL_03a1: Unknown result type (might be due to invalid IL or missing references) //IL_03af: 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_03c2: Expected O, but got Unknown //IL_03c4: Unknown result type (might be due to invalid IL or missing references) //IL_03c9: Unknown result type (might be due to invalid IL or missing references) //IL_03cf: Unknown result type (might be due to invalid IL or missing references) //IL_03d4: Unknown result type (might be due to invalid IL or missing references) //IL_03e2: Unknown result type (might be due to invalid IL or missing references) //IL_03ed: Unknown result type (might be due to invalid IL or missing references) //IL_03f5: Expected O, but got Unknown //IL_03f7: Unknown result type (might be due to invalid IL or missing references) //IL_03fc: Unknown result type (might be due to invalid IL or missing references) //IL_0402: Unknown result type (might be due to invalid IL or missing references) //IL_0407: Unknown result type (might be due to invalid IL or missing references) //IL_0415: Unknown result type (might be due to invalid IL or missing references) //IL_0420: Unknown result type (might be due to invalid IL or missing references) //IL_0428: Expected O, but got Unknown //IL_00d2: 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_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Expected O, but got Unknown //IL_04cc: Unknown result type (might be due to invalid IL or missing references) //IL_04d6: Expected O, but got Unknown //IL_0545: Unknown result type (might be due to invalid IL or missing references) //IL_054c: Expected O, but got Unknown //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: 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_010e: Expected O, but got Unknown //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Expected O, but got Unknown //IL_0136: 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_0142: Unknown result type (might be due to invalid IL or missing references) //IL_014d: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Expected O, but got Unknown Debug.Log((object)"ALL FAMILY"); ExpansionDef val = Addressables.LoadAssetAsync<ExpansionDef>((object)"RoR2/DLC1/Common/DLC1.asset").WaitForCompletion(); ExpansionDef val2 = Addressables.LoadAssetAsync<ExpansionDef>((object)"RoR2/DLC2/Common/DLC2.asset").WaitForCompletion(); ExpansionDef[] requiredExpansions = (ExpansionDef[])(object)new ExpansionDef[1] { val }; ExpansionDef[] requiredExpansions2 = (ExpansionDef[])(object)new ExpansionDef[1] { val2 }; PoolEntry val3 = null; PoolEntry val4 = null; ConditionalPoolEntry val5 = null; ConditionalPoolEntry val6 = null; FamilyDirectorCardCategorySelection[] array = Object.FindObjectsOfType(typeof(FamilyDirectorCardCategorySelection)) as FamilyDirectorCardCategorySelection[]; for (int i = 0; i < array.Length; i++) { Debug.Log((object)((Object)array[i]).name); switch (((Object)array[i]).name) { case "dccsClayFamily": val3 = new PoolEntry { dccs = (DirectorCardCategorySelection)(object)array[i], weight = 1f }; break; case "dccsRoboBallFamily": val4 = new PoolEntry { dccs = (DirectorCardCategorySelection)(object)array[i], weight = 1f }; break; case "dccsVerminFamily": val5 = new ConditionalPoolEntry { requiredExpansions = requiredExpansions, dccs = (DirectorCardCategorySelection)(object)array[i], weight = 1f }; break; case "dccsWormsFamily": val6 = new ConditionalPoolEntry { requiredExpansions = requiredExpansions2, dccs = (DirectorCardCategorySelection)(object)array[i], weight = 1f }; break; } } dpAllFamilies = ScriptableObject.CreateInstance<DccsPool>(); ((Object)dpAllFamilies).name = "dpAllFamilies"; DccsPool obj = dpAllFamilies; Category[] array2 = new Category[1]; Category val7 = new Category(); val7.name = "Families"; val7.categoryWeight = 1f; val7.alwaysIncluded = (PoolEntry[])(object)new PoolEntry[9] { new PoolEntry { dccs = (DirectorCardCategorySelection)(object)Addressables.LoadAssetAsync<FamilyDirectorCardCategorySelection>((object)"RoR2/Base/Common/dccsBeetleFamily.asset").WaitForCompletion(), weight = 1f }, new PoolEntry { dccs = (DirectorCardCategorySelection)(object)Addressables.LoadAssetAsync<FamilyDirectorCardCategorySelection>((object)"RoR2/Base/Common/dccsGolemFamily.asset").WaitForCompletion(), weight = 1f }, new PoolEntry { dccs = (DirectorCardCategorySelection)(object)Addressables.LoadAssetAsync<FamilyDirectorCardCategorySelection>((object)"RoR2/Base/Common/dccsJellyfishFamily.asset").WaitForCompletion(), weight = 1f }, new PoolEntry { dccs = (DirectorCardCategorySelection)(object)Addressables.LoadAssetAsync<FamilyDirectorCardCategorySelection>((object)"RoR2/Base/Common/dccsWispFamily.asset").WaitForCompletion(), weight = 1f }, new PoolEntry { dccs = (DirectorCardCategorySelection)(object)Addressables.LoadAssetAsync<FamilyDirectorCardCategorySelection>((object)"RoR2/Base/Common/dccsLemurianFamily.asset").WaitForCompletion(), weight = 1f }, new PoolEntry { dccs = (DirectorCardCategorySelection)(object)Addressables.LoadAssetAsync<FamilyDirectorCardCategorySelection>((object)"RoR2/Base/Common/dccsImpFamily.asset").WaitForCompletion(), weight = 1f }, new PoolEntry { dccs = (DirectorCardCategorySelection)(object)Addressables.LoadAssetAsync<FamilyDirectorCardCategorySelection>((object)"RoR2/Base/Common/dccsParentFamily.asset").WaitForCompletion(), weight = 1f }, new PoolEntry { dccs = (DirectorCardCategorySelection)(object)Addressables.LoadAssetAsync<FamilyDirectorCardCategorySelection>((object)"RoR2/Base/Common/dccsMushroomFamily.asset").WaitForCompletion(), weight = 1f }, new PoolEntry { dccs = (DirectorCardCategorySelection)(object)Addressables.LoadAssetAsync<FamilyDirectorCardCategorySelection>((object)"RoR2/Base/Common/dccsLunarFamily.asset").WaitForCompletion(), weight = 1f } }; val7.includedIfConditionsMet = (ConditionalPoolEntry[])(object)new ConditionalPoolEntry[4] { new ConditionalPoolEntry { dccs = (DirectorCardCategorySelection)(object)Addressables.LoadAssetAsync<FamilyDirectorCardCategorySelection>((object)"RoR2/Base/Common/dccsGupFamily.asset").WaitForCompletion(), weight = 1f, requiredExpansions = requiredExpansions }, new ConditionalPoolEntry { dccs = (DirectorCardCategorySelection)(object)Addressables.LoadAssetAsync<FamilyDirectorCardCategorySelection>((object)"RoR2/DLC1/Common/dccsConstructFamily.asset").WaitForCompletion(), weight = 1f, requiredExpansions = requiredExpansions }, new ConditionalPoolEntry { dccs = (DirectorCardCategorySelection)(object)Addressables.LoadAssetAsync<FamilyDirectorCardCategorySelection>((object)"RoR2/DLC1/Common/dccsAcidLarvaFamily.asset").WaitForCompletion(), weight = 1f, requiredExpansions = requiredExpansions }, new ConditionalPoolEntry { dccs = (DirectorCardCategorySelection)(object)Addressables.LoadAssetAsync<FamilyDirectorCardCategorySelection>((object)"RoR2/DLC1/Common/dccsVoidFamily.asset").WaitForCompletion(), weight = 1f, requiredExpansions = requiredExpansions } }; val7.includedIfNoConditionsMet = (PoolEntry[])(object)new PoolEntry[0]; array2[0] = val7; obj.poolCategories = (Category[])(object)array2; if (val3 != null) { PoolEntry[] alwaysIncluded = dpAllFamilies.poolCategories[0].alwaysIncluded; ConditionalPoolEntry[] includedIfConditionsMet = dpAllFamilies.poolCategories[0].includedIfConditionsMet; dpAllFamilies.poolCategories[0].alwaysIncluded = alwaysIncluded.Add(val3, val4); dpAllFamilies.poolCategories[0].includedIfConditionsMet = includedIfConditionsMet.Add(val5, val6); } ClassicStageInfo.HandleMixEnemyArtifact += new hook_HandleMixEnemyArtifact(RandomFamilyOnDissonance); dccsFamilyTrueDisso = ScriptableObject.CreateInstance<FamilyDirectorCardCategorySelection>(); ((Object)dccsFamilyTrueDisso).name = "dccsFamilyTrueDissonance"; ((DirectorCardCategorySelection)dccsFamilyTrueDisso).AddCategory("Champion", 3f); ((DirectorCardCategorySelection)dccsFamilyTrueDisso).AddCategory("Miniboss", 3f); ((DirectorCardCategorySelection)dccsFamilyTrueDisso).AddCategory("Basic Monsters", 4f); ((DirectorCardCategorySelection)dccsFamilyTrueDisso).AddCategory("UniqueBosses", 0.3f); DirectorCard val8 = new DirectorCard(); ((DirectorCardCategorySelection)dccsFamilyTrueDisso).AddCard(0, val8); ((DirectorCardCategorySelection)dccsFamilyTrueDisso).AddCard(1, val8); ((DirectorCardCategorySelection)dccsFamilyTrueDisso).AddCard(2, val8); ((DirectorCardCategorySelection)dccsFamilyTrueDisso).AddCard(3, val8); } private static void RandomFamilyOnDissonance(orig_HandleMixEnemyArtifact orig, DirectorCardCategorySelection monsterCategories, Xoroshiro128Plus rng) { if (Object.op_Implicit((Object)(object)RunArtifactManager.instance) && RunArtifactManager.instance.IsArtifactEnabled(Main.Mirror_Kin)) { DirectorCardCategorySelection val = FindFamily(Dissonance: true); if ((Object)(object)val == (Object)null) { } if (val is FamilyDirectorCardCategorySelection) { ((MonoBehaviour)ClassicStageInfo.instance).StartCoroutine(ClassicStageInfo.instance.BroadcastFamilySelection(((FamilyDirectorCardCategorySelection)((val is FamilyDirectorCardCategorySelection) ? val : null)).selectionChatString)); } monsterCategories.CopyFrom(val); } else { orig.Invoke(monsterCategories, rng); } } public static void On_Artifact_Enable() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Expected O, but got Unknown //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Expected O, but got Unknown FamilyDirectorCardCategorySelection.IsAvailable += new hook_IsAvailable(AllowFamilyEventsEarlier); ClassicStageInfo.RebuildCards += new hook_RebuildCards(Force_Family_Event); if (Object.op_Implicit((Object)(object)ClassicStageInfo.instance) && Object.op_Implicit((Object)(object)Run.instance)) { ClassicStageInfo.instance.RebuildCards((DirectorCardCategorySelection)null, (DirectorCardCategorySelection)null); } EnemyInfoPanel.SetDisplayDataForViewer += new hook_SetDisplayDataForViewer(AddMirrorKinDisplay); EnemyInfoPanel.MarkDirty(); } private static void AddMirrorKinDisplay(orig_SetDisplayDataForViewer orig, HUD hud, List<BodyIndex> bodyIndices, ItemIndex[] itemAcquisitionOrderBuffer, int itemAcquisitonOrderLength, int[] itemStacks) { //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Invalid comparison between Unknown and I4 //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Invalid comparison between Unknown and I4 //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Invalid comparison between Unknown and I4 //IL_0060: 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_0094: Invalid comparison between Unknown and I4 //IL_0081: 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) if (Object.op_Implicit((Object)(object)ClassicStageInfo.instance)) { MirrorKinTracker component = ((Component)ClassicStageInfo.instance).GetComponent<MirrorKinTracker>(); if (Object.op_Implicit((Object)(object)component)) { if ((int)component.Enemy1 != -1) { bodyIndices.Add(component.Enemy1); } if ((int)component.Enemy2 != -1) { bodyIndices.Add(component.Enemy2); } if ((int)component.Enemy3 != -1) { bodyIndices.Add(component.Enemy3); } if ((int)component.Enemy4 != -1) { bodyIndices.Add(component.Enemy4); } } } orig.Invoke(hud, bodyIndices, itemAcquisitionOrderBuffer, itemAcquisitonOrderLength, itemStacks); } private static bool AllowFamilyEventsEarlier(orig_IsAvailable orig, FamilyDirectorCardCategorySelection self) { if (Object.op_Implicit((Object)(object)Run.instance) && Run.instance.stageClearCount >= 3) { return true; } return Object.op_Implicit((Object)(object)Run.instance) && self.minimumStageCompletion <= Run.instance.stageClearCount; } public static void On_Artifact_Disable() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Expected O, but got Unknown //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Expected O, but got Unknown FamilyDirectorCardCategorySelection.IsAvailable -= new hook_IsAvailable(AllowFamilyEventsEarlier); ClassicStageInfo.RebuildCards -= new hook_RebuildCards(Force_Family_Event); if (Object.op_Implicit((Object)(object)ClassicStageInfo.instance) && Object.op_Implicit((Object)(object)Run.instance)) { ClassicStageInfo.instance.RebuildCards((DirectorCardCategorySelection)null, (DirectorCardCategorySelection)null); } EnemyInfoPanel.SetDisplayDataForViewer -= new hook_SetDisplayDataForViewer(AddMirrorKinDisplay); EnemyInfoPanel.MarkDirty(); } public static List<DirectorCard> GenerateCandiateList(DirectorCardCategorySelection dccs) { List<DirectorCard> list = new List<DirectorCard>(); for (int i = 0; i < dccs.categories.Length; i++) { DirectorCard[] cards = dccs.categories[i].cards; foreach (DirectorCard item in cards) { list.Add(item); } } return list; } public static List<DirectorCardCategorySelection> GenerateCandiateListDCCS(DccsPool dccsPool) { List<DirectorCardCategorySelection> list = new List<DirectorCardCategorySelection>(); PoolEntry[] alwaysIncluded = dccsPool.poolCategories[0].alwaysIncluded; foreach (PoolEntry val in alwaysIncluded) { list.Add(val.dccs); } ConditionalPoolEntry[] includedIfConditionsMet = dccsPool.poolCategories[0].includedIfConditionsMet; foreach (ConditionalPoolEntry val2 in includedIfConditionsMet) { if (val2.requiredExpansions.Length != 0 && Run.instance.IsExpansionEnabled(val2.requiredExpansions[0])) { list.Add(((PoolEntry)val2).dccs); } } return list; } public static DirectorCardCategorySelection FindFamily(bool Dissonance) { //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Expected O, but got Unknown //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) Debug.Log((object)"FindFamily"); ClassicStageInfo instance = ClassicStageInfo.instance; List<DirectorCard> list = null; Xoroshiro128Plus val = new Xoroshiro128Plus(instance.seedServer); if (Dissonance) { list = GenerateCandiateList(RoR2Content.mixEnemyMonsterCards); } else { if (!Object.op_Implicit((Object)(object)instance.monsterDccsPool)) { return null; } DirectorCardCategorySelection val2 = instance.monsterDccsPool.GenerateWeightedSelection().Evaluate(val.nextNormalizedFloat); if ((Object)(object)val2 != (Object)null) { list = GenerateCandiateList(val2); } } int num = Random.RandomRangeInt(0, 3); if (num == 2 && SceneCatalog.mostRecentSceneDef.cachedName == "voidstage") { return null; } DirectorCard val3 = list[val.RangeInt(0, list.Count)]; Debug.Log((object)("Family for " + (object)val3.spawnCard)); List<DirectorCardCategorySelection> list2 = GenerateCandiateListDCCS(dpAllFamilies); for (int i = 0; i < list2.Count; i++) { DirectorCardCategorySelection val4 = list2[i]; for (int j = 0; j < list2[i].categories.Length; j++) { Category val5 = val4.categories[j]; DirectorCard[] cards = val5.cards; foreach (DirectorCard val6 in cards) { if ((Object)(object)val6.spawnCard == (Object)(object)val3.spawnCard) { if (Dissonance || val4.IsAvailable()) { return val4; } Debug.Log((object)(((object)val4)?.ToString() + " is not available yet.")); return null; } } } } Debug.Log((object)("Could not find matching family for " + (object)val3.spawnCard)); if (Dissonance) { int index = val.RangeInt(0, list2.Count); return list2[index]; } return null; } public static DirectorCardCategorySelection MakeTrueDissoFamily() { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Expected O, but got Unknown Debug.Log((object)"Making TrueDisso Family"); if ((Object)(object)TrueDissonance.dccsMixEnemyTRUE == (Object)null) { TrueDissonance.MakeDCCS(); } Xoroshiro128Plus val = new Xoroshiro128Plus(ClassicStageInfo.instance.seedServer); int num = val.RangeInt(0, TrueDissonance.dccsMixEnemyTRUE.categories[0].cards.Length); int num2 = val.RangeInt(0, TrueDissonance.dccsMixEnemyTRUE.categories[1].cards.Length); int num3 = val.RangeInt(0, TrueDissonance.dccsMixEnemyTRUE.categories[2].cards.Length); ((DirectorCardCategorySelection)dccsFamilyTrueDisso).categories[0].cards[0] = TrueDissonance.dccsMixEnemyTRUE.categories[0].cards[num]; ((DirectorCardCategorySelection)dccsFamilyTrueDisso).categories[1].cards[0] = TrueDissonance.dccsMixEnemyTRUE.categories[1].cards[num2]; ((DirectorCardCategorySelection)dccsFamilyTrueDisso).categories[2].cards[0] = TrueDissonance.dccsMixEnemyTRUE.categories[2].cards[num3]; int num4 = TrueDissonance.dccsMixEnemyTRUE.FindCategoryIndexByName("UniqueBosses"); if (num4 > -1) { int num5 = val.RangeInt(0, TrueDissonance.dccsMixEnemyTRUE.categories[num4].cards.Length); ((DirectorCardCategorySelection)dccsFamilyTrueDisso).categories[3].cards[0] = TrueDissonance.dccsMixEnemyTRUE.categories[num4].cards[num5]; } int num6 = val.RangeInt(1, 20); int num7 = val.RangeInt(1, 21); dccsFamilyTrueDisso.selectionChatString = string.Format(Language.GetString("FAMILY_DISSONANT"), Language.GetString("FAMILY_DISSONANT_" + num6), Language.GetString("FAMILY_DISSONANT_0" + num7)); return (DirectorCardCategorySelection)(object)dccsFamilyTrueDisso; } private static void Force_Family_Event(orig_RebuildCards orig, ClassicStageInfo self, DirectorCardCategorySelection forcedMonsterCategory, DirectorCardCategorySelection forcedInteractableCategory) { //IL_0233: Unknown result type (might be due to invalid IL or missing references) //IL_023a: Expected I4, but got Unknown //IL_023e: Unknown result type (might be due to invalid IL or missing references) //IL_0245: Expected I4, but got Unknown //IL_0249: Unknown result type (might be due to invalid IL or missing references) //IL_0250: Expected I4, but got Unknown //IL_0254: Unknown result type (might be due to invalid IL or missing references) //IL_025b: Expected I4, but got Unknown //IL_01ae: Unknown result type (might be due to invalid IL or missing references) //IL_01f7: Unknown result type (might be due to invalid IL or missing references) //IL_01fc: Unknown result type (might be due to invalid IL or missing references) float num = -1f; if (Object.op_Implicit((Object)(object)RunArtifactManager.instance) && RunArtifactManager.instance.IsArtifactEnabled(Main.True_Dissonance)) { forcedMonsterCategory = MakeTrueDissoFamily(); } else if (!Object.op_Implicit((Object)(object)RunArtifactManager.instance) || !RunArtifactManager.instance.IsArtifactEnabled(Artifacts.MixEnemy)) { if ((Object)(object)forcedMonsterCategory == (Object)null) { try { forcedMonsterCategory = FindFamily(Dissonance: false); } catch (Exception ex) { Debug.LogException(ex); forcedMonsterCategory = null; } } if ((Object)(object)forcedMonsterCategory == (Object)null && Object.op_Implicit((Object)(object)self.monsterDccsPool) && self.monsterDccsPool.poolCategories.Length > 1) { num = self.monsterDccsPool.poolCategories[0].categoryWeight; self.monsterDccsPool.poolCategories[0].categoryWeight = 0f; } else { num = ClassicStageInfo.monsterFamilyChance; ClassicStageInfo.monsterFamilyChance = 10f; } } orig.Invoke(self, forcedMonsterCategory, forcedInteractableCategory); if (num > -1f) { if (Object.op_Implicit((Object)(object)self.monsterDccsPool) && self.monsterDccsPool.poolCategories.Length != 0) { self.monsterDccsPool.poolCategories[0].categoryWeight = num; } else { ClassicStageInfo.monsterFamilyChance = num; } } if (!WConfig.MirrorKinDisplay.Value || !Object.op_Implicit((Object)(object)RunArtifactManager.instance) || RunArtifactManager.instance.IsArtifactEnabled(Artifacts.singleMonsterTypeArtifactDef)) { return; } SendMirrorKinTracker sendMirrorKinTracker = new SendMirrorKinTracker(); for (int i = 0; i < 4; i++) { BodyIndex val = (BodyIndex)(-1); if (i < self.monsterSelection.Count) { try { val = self.monsterSelection.choices[i].value.spawnCard.prefab.GetComponent<CharacterMaster>().bodyPrefab.GetComponent<CharacterBody>().bodyIndex; } catch (Exception ex2) { Debug.LogException(ex2); } } switch (i) { case 0: sendMirrorKinTracker.Enemy1 = (int)val; break; case 1: sendMirrorKinTracker.Enemy2 = (int)val; break; case 2: sendMirrorKinTracker.Enemy3 = (int)val; break; case 3: sendMirrorKinTracker.Enemy4 = (int)val; break; } } Chat.SendBroadcastChat((ChatMessageBase)(object)sendMirrorKinTracker); } } public class MirrorKinTracker : MonoBehaviour { public BodyIndex Enemy1 = (BodyIndex)(-1); public BodyIndex Enemy2 = (BodyIndex)(-1); public BodyIndex Enemy3 = (BodyIndex)(-1); public BodyIndex Enemy4 = (BodyIndex)(-1); } public class SendMirrorKinTracker : ChatMessageBase { public int Enemy1 = -1; public int Enemy2 = -1; public int Enemy3 = -1; public int Enemy4 = -1; public override string ConstructChatString() { //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: 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_00ca: 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_00e2: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)ClassicStageInfo.instance)) { MirrorKinTracker mirrorKinTracker = ((Component)ClassicStageInfo.instance).gameObject.GetComponent<MirrorKinTracker>(); if ((Object)(object)mirrorKinTracker == (Object)null) { mirrorKinTracker = ((Component)ClassicStageInfo.instance).gameObject.AddComponent<MirrorKinTracker>(); } mirrorKinTracker.Enemy1 = (BodyIndex)Enemy1; mirrorKinTracker.Enemy2 = (BodyIndex)Enemy2; mirrorKinTracker.Enemy3 = (BodyIndex)Enemy3; mirrorKinTracker.Enemy4 = (BodyIndex)Enemy4; if (Object.op_Implicit((Object)(object)RunArtifactManager.instance) && RunArtifactManager.instance.IsArtifactEnabled(Main.True_Dissonance)) { if (Object.op_Implicit((Object)(object)Run.instance) && Run.instance.stageClearCount > 9) { mirrorKinTracker.Enemy2 = (BodyIndex)Enemy1; mirrorKinTracker.Enemy3 = (BodyIndex)Enemy2; mirrorKinTracker.Enemy4 = (BodyIndex)Enemy3; mirrorKinTracker.Enemy1 = (BodyIndex)Enemy4; } else { mirrorKinTracker.Enemy4 = (BodyIndex)(-1); } } } EnemyInfoPanel.MarkDirty(); return null; } public override void Serialize(NetworkWriter writer) { ((ChatMessageBase)this).Serialize(writer); writer.Write(Enemy1); writer.Write(Enemy2); writer.Write(Enemy3); writer.Write(Enemy4); } public override void Deserialize(NetworkReader reader) { ((ChatMessageBase)this).Deserialize(reader); Enemy1 = reader.ReadInt32(); Enemy2 = reader.ReadInt32(); Enemy3 = reader.ReadInt32(); Enemy4 = reader.ReadInt32(); } } public class MirrorSacrifice { public static void Start() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_007e: 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_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: 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_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: 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_010e: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Barrel1/Barrel1.prefab").WaitForCompletion().AddComponent<MirrorSacrificeAllowed>(); Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/ShrineBoss/ShrineBoss.prefab").WaitForCompletion().AddComponent<MirrorSacrificeAllowed>(); Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/ShrineBoss/ShrineBossSandy Variant.prefab").WaitForCompletion().AddComponent<MirrorSacrificeAllowed>(); Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/ShrineBoss/ShrineBossSnowy Variant.prefab").WaitForCompletion().AddComponent<MirrorSacrificeAllowed>(); Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/ShrineCleanse/ShrineCleanse.prefab").WaitForCompletion().AddComponent<MirrorSacrificeAllowed>(); Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/ShrineCleanse/ShrineCleanseSandy Variant.prefab").WaitForCompletion().AddComponent<MirrorSacrificeAllowed>(); Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/ShrineCleanse/ShrineCleanseSnowy Variant.prefab").WaitForCompletion().AddComponent<MirrorSacrificeAllowed>(); Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/ShrineGoldshoresAccess/ShrineGoldshoresAccess.prefab").WaitForCompletion().AddComponent<MirrorSacrificeAllowed>(); Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC2/ShrineHalcyonite.prefab").WaitForCompletion().AddComponent<MirrorSacrificeAllowed>(); Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC1/VoidCamp/VoidCamp.prefab").WaitForCompletion().AddComponent<MirrorSacrificeAllowed>(); Addressables.LoadAssetAsync<GameObject>((object)"RoR2/CU8/LemurianEgg/LemurianEgg.prefab").WaitForCompletion().AddComponent<MirrorSacrificeAllowed>(); Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/RadarTower/RadarTower.prefab").WaitForCompletion().AddComponent<MirrorSacrificeAllowed>(); } public static void On_Artifact_Enable() { if (NetworkServer.active) { SceneDirector.onGenerateInteractableCardSelection += OnGenerateInteractableCardSelection; } } public static void On_Artifact_Disable() { if (NetworkServer.active) { SceneDirector.onGenerateInteractableCardSelection -= OnGenerateInteractableCardSelection; } } private static void OnGenerateInteractableCardSelection(SceneDirector sceneDirector, DirectorCardCategorySelection dccs) { int num = dccs.FindCategoryIndexByName("Void Stuff"); if (num > -1 && dccs.categories[num].cards.Length >= 2) { dccs.categories[num].selectionWeight *= 2f; if (dccs.categories[num].cards[0].selectionWeight < 10) { DirectorCard obj = dccs.categories[num].cards[0]; obj.selectionWeight *= 3; } else if (dccs.categories[num].cards[1].selectionWeight < 10) { DirectorCard obj2 = dccs.categories[num].cards[1]; obj2.selectionWeight *= 3; } } dccs.RemoveCardsThatFailFilter((Predicate<DirectorCard>)Filter); } internal static bool Filter(DirectorCard card) { SpawnCard spawnCard = card.spawnCard; InteractableSpawnCard val = (InteractableSpawnCard)(object)((spawnCard is InteractableSpawnCard) ? spawnCard : null); if (Object.op_Implicit((Object)(object)val)) { if (val.skipSpawnWhenSacrificeArtifactEnabled) { return true; } if (val.skipSpawnWhenDevotionArtifactEnabled && RunArtifactManager.instance.IsArtifactEnabled(Artifacts.Devotion)) { return true; } GameObject prefab = card.spawnCard.prefab; return Object.op_Implicit((Object)(object)prefab.GetComponent<MirrorSacrificeAllowed>()); } return false; } } public class MirrorSacrificeAllowed : MonoBehaviour { } public class TrueCommand { public class RainbowItemThing : MonoBehaviour { public Color color = Color.white; public Color colorOne = Color.white; public Color colorTwo = Color.white; private int colorIndex = 0; private float progress = 1000f; public Light TargetLight; public Highlight TargetHighlight; public ParticleSystem particleSystem; public bool isForUi = false; public void Start() { //IL_00e8: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)RunArtifactManager.instance) && RunArtifactManager.instance.IsArtifactEnabled(Main.True_Command)) { if (isForUi) { return; } Transform child = ((Component)this).gameObject.transform.GetChild(0); for (int i = 1; i < child.childCount; i++) { ((Component)child.GetChild(i)).gameObject.SetActive(true); Light componentInChildren = ((Component)child.GetChild(i)).GetComponentInChildren<Light>(true); if (Object.op_Implicit((Object)(object)componentInChildren)) { ((Component)componentInChildren).gameObject.SetActive(false); } if (child.GetChild(i).childCount > 2) { ((Component)child.GetChild(i).GetChild(2)).gameObject.SetActive(false); } } TargetHighlight = ((Component)this).GetComponent<Highlight>(); TargetHighlight.highlightColor = (HighlightColor)3; colorIndex = Random.RandomRangeInt(0, 6); TargetLight = ((Component)child.GetChild(2)).GetComponentInChildren<Light>(true); if (Object.op_Implicit((Object)(object)TargetLight)) { ((Component)TargetLight).gameObject.SetActive(true); LightIntensityCurve component = ((Component)TargetLight).gameObject.GetComponent<LightIntensityCurve>(); component.maxIntensity *= 10f; } ((Component)child.GetChild(3).GetChild(2)).gameObject.SetActive(true); particleSystem = ((Component)child.GetChild(3).GetChild(2)).GetComponent<ParticleSystem>(); ((Component)this).GetComponent<GenericDisplayNameProvider>().SetDisplayToken("ARTIFACT_COMMAND_CUBE_RAINBOW"); } else { Object.Destroy((Object)(object)this); } } public void FixedUpdate() { //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_0176: 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_0187: Unknown result type (might be due to invalid IL or missing references) //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_01ad: Unknown result type (might be due to invalid IL or missing references) //IL_01b2: Unknown result type (might be due to invalid IL or missing references) //IL_01be: 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_0064: Unknown result type (might be due to invalid IL or missing references) //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_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_007f: Unknown result type (might be due to invalid IL or missing references) //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_0095: Unknown result type (might be due to invalid IL or missing references) //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_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: 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_00c5: 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_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: 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_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: 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_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0106: 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_0113: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_012c: 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_0138: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) progress += 0.01f; if (progress >= 1f) { progress = 0f; switch (colorIndex) { case 0: colorOne = Color32.op_Implicit(ColorCatalog.GetColor((ColorIndex)3)); colorTwo = Color32.op_Implicit(ColorCatalog.GetColor((ColorIndex)5)); break; case 1: colorOne = Color32.op_Implicit(ColorCatalog.GetColor((ColorIndex)5)); colorTwo = Color32.op_Implicit(ColorCatalog.GetColor((ColorIndex)13)); break; case 2: colorOne = Color32.op_Implicit(ColorCatalog.GetColor((ColorIndex)13)); colorTwo = Color32.op_Implicit(ColorCatalog.GetColor((ColorIndex)2)); break; case 3: colorOne = Color32.op_Implicit(ColorCatalog.GetColor((ColorIndex)2)); colorTwo = Color32.op_Implicit(ColorCatalog.GetColor((ColorIndex)4)); break; case 4: colorOne = Color32.op_Implicit(ColorCatalog.GetColor((ColorIndex)4)); colorTwo = Color32.op_Implicit(ColorCatalog.GetColor((ColorIndex)25)); break; case 5: colorOne = Color32.op_Implicit(ColorCatalog.GetColor((ColorIndex)25)); colorTwo = Color32.op_Implicit(ColorCatalog.GetColor((ColorIndex)3)); colorIndex = -1; break; default: colorIndex = -1; break; } colorIndex++; } color = colorOne * (1f - progress) + colorTwo * progress; if (Object.op_Implicit((Object)(object)particleSystem)) { TargetHighlight.CustomColor = color; TargetLight.color = color; particleSystem.startColor = color; } } } public static void Start() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown PickupTransmutationManager.RebuildPickupGroups += new hook_RebuildPickupGroups(AddEliteEquipmentsToCommand); LegacyResourcesAPI.Load<GameObject>("Prefabs/NetworkedObjects/CommandCube").AddComponent<RainbowItemThing>(); } private static void AddEliteEquipmentsToCommand(orig_RebuildPickupGroups orig) { for (int i = 0; i < EliteCatalog.eliteDefs.Length; i++) { EliteDef val = EliteCatalog.eliteDefs[i]; EquipmentDef eliteEquipmentDef = val.eliteEquipmentDef; if ((Object)(object)eliteEquipmentDef != (Object)null && !((Object)val).name.EndsWith("Gold") && eliteEquipmentDef.dropOnDeathChance > 0f) { eliteEquipmentDef.canDrop = true; eliteEquipmentDef.isBoss = true; eliteEquipmentDef.isLunar = false; } } orig.Invoke(); for (int j = 0; j < EliteCatalog.eliteDefs.Length; j++) { EliteDef val2 = EliteCatalog.eliteDefs[j]; EquipmentDef eliteEquipmentDef2 = val2.eliteEquipmentDef; if ((Object)(object)eliteEquipmentDef2 != (Object)null && eliteEquipmentDef2.dropOnDeathChance > 0f) { eliteEquipmentDef2.canDrop = false; } } } private static void PickupDropletController_CreatePickupDroplet_CreatePickupInfo_Vector3_Vector3(orig_CreatePickupDroplet_CreatePickupInfo_Vector3_Vector3 orig, CreatePickupInfo pickupInfo, Vector3 position, Vector3 velocity) { //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) if (RunArtifactManager.instance.IsArtifactEnabled(Main.True_Command)) { ref PickupArtifactFlag artifactFlag = ref pickupInfo.artifactFlag; artifactFlag = (PickupArtifactFlag)((uint)artifactFlag | 1u); } orig.Invoke(pickupInfo, position, velocity); } public static void On_Artifact_Enable() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Expected O, but got Unknown //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Expected O, but got Unknown //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Expected O, but got Unknown //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: 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) PickupDropletController.CreatePickupDroplet_CreatePickupInfo_Vector3_Vector3 += new hook_CreatePickupDroplet_CreatePickupInfo_Vector3_Vector3(PickupDropletController_CreatePickupDroplet_CreatePickupInfo_Vector3_Vector3); PickupPickerController.SetOptionsFromPickupForCommandArtifact_UniquePickup += new hook_SetOptionsFromPickupForCommandArtifact_UniquePickup(Override_Command_Options); SceneDirector.onGenerateInteractableCardSelection += CommandArtifactManager.OnGenerateInteractableCardSelection; Run.IsPickupAvailable += new hook_IsPickupAvailable(Run_IsPickupAvailable); Run.IsEquipmentAvailable += new hook_IsEquipmentAvailable(Run_IsEquipmentAvailable); FirstTimeOverrideJunk(); int value = PickupCatalog.FindPickupIndex(Items.SkullCounter.itemIndex).value; if (PickupTransmutationManager.pickupGroupMap[value] != null) { float num = 1f - (float)PickupTransmutationManager.pickupGroupMap[value].Length / 1000f; int maxColumnCount = PickupTransmutationManager.pickupGroupMap[value].Length / 12; GameObject val = LegacyResourcesAPI.Load<GameObject>("Prefabs/UI/CommandPickerPanel"); val.transform.localScale = Vector3.one * num; val.GetComponent<PickupPickerPanel>().maxColumnCount = maxColumnCount; } } private static bool Run_IsPickupAvailable(orig_IsPickupAvailable orig, Run self, PickupIndex pickupIndex) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Invalid comparison between Unknown and I4 //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_001a: 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_0035: Invalid comparison between Unknown and I4 //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Invalid comparison between Unknown and I4 PickupDef pickupDef = PickupCatalog.GetPickupDef(pickupIndex); if ((int)pickupDef.itemIndex != -1) { ItemDef itemDef = ItemCatalog.GetItemDef(pickupDef.itemIndex); if (Object.op_Implicit((Object)(object)itemDef) && ((int)itemDef.tier >= 10 || (int)itemDef.tier < 0)) { return true; } } return orig.Invoke(self, pickupIndex); } public static void On_Artifact_Disable() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Expected O, but got Unknown //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Expected O, but got Unknown //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Expected O, but got Unknown //IL_006a: 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) PickupDropletController.CreatePickupDroplet_CreatePickupInfo_Vector3_Vector3 -= new hook_CreatePickupDroplet_CreatePickupInfo_Vector3_Vector3(PickupDropletController_CreatePickupDroplet_CreatePickupInfo_Vector3_Vector3); PickupPickerController.SetOptionsFromPickupForCommandArtifact_UniquePickup -= new hook_SetOptionsFromPickupForCommandArtifact_UniquePickup(Override_Command_Options); SceneDirector.onGenerateInteractableCardSelection -= CommandArtifactManager.OnGenerateInteractableCardSelection; Run.IsItemAvailable -= new hook_IsItemAvailable(Run_IsItemAvailable); Run.IsEquipmentAvailable -= new hook_IsEquipmentAvailable(Run_IsEquipmentAvailable); LegacyResourcesAPI.Load<GameObject>("Prefabs/UI/CommandPickerPanel").transform.localScale = Vector3.one; if (Object.op_Implicit((Object)(object)Run.instance)) { Run.instance.availableEquipment.Remove(Equipment.QuestVolatileBattery.equipmentIndex); } } private static bool Run_IsEquipmentAvailable(orig_IsEquipmentAvailable orig, Run self, EquipmentIndex equipmentIndex) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) if (equipmentIndex == Equipment.QuestVolatileBattery.equipmentIndex) { return true; } return orig.Invoke(self, equipmentIndex); } private static bool Run_IsItemAvailable(orig_IsItemAvailable orig, Run self, ItemIndex itemIndex) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Expected I4, but got Unknown //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Invalid comparison between Unknown and I4 //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Invalid comparison between Unknown and I4 //IL_0045: Unknown result type (might be due to invalid IL or missing references) ItemDef itemDef = ItemCatalog.GetItemDef(itemIndex); Debug.Log((object)(int)itemDef.tier); if (Object.op_Implicit((Object)(object)itemDef) && ((int)itemDef.tier >= 10 || (int)itemDef.tier < 0)) { return true; } return orig.Invoke(self, itemIndex); } public static void FirstTimeOverrideJunk() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: 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_007f: 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_0088: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Invalid comparison between Unknown and I4 //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Invalid comparison between I4 and Unknown //IL_00ec: 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_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Expected I4, 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_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_019d: Unknown result type (might be due to invalid IL or missing references) int value = PickupCatalog.FindPickupIndex(Items.SkullCounter.itemIndex).value; if (PickupTransmutationManager.pickupGroupMap[value] != null && PickupTransmutationManager.pickupGroupMap[value].Length == 1) { return; } List<List<PickupIndex>> list = new List<List<PickupIndex>>(); List<List<PickupIndex>> list2 = new List<List<PickupIndex>>(); for (int i = 0; i < ItemTierCatalog.allItemTierDefs.Length + 2; i++) { list.Add(new List<PickupIndex>()); } Enumerator<ItemDef> enumerator = ItemCatalog.allItemDefs.GetEnumerator(); try { while (enumerator.MoveNext()) { ItemDef current = enumerator.Current; if ((int)current.tier != 5) { if (list.Count > (int)current.tier) { list[(int)current.tier].Add(PickupCatalog.FindPickupIndex(current.itemIndex)); } else { list[5].Add(PickupCatalog.FindPickupIndex(current.itemIndex)); } } } } finally { ((IDisposable)enumerator).Dispose(); } List<PickupIndex> value2 = list[3]; list[3] = list[4]; list[4] = value2; List<PickupIndex> list3 = new List<PickupIndex>(); for (int j = 0; j < list.Count; j++) { list3.AddRange(list[j]); } PickupIndex[] array = list3.ToArray(); array = array.Add(PickupTransmutationManager.equipmentNormalGroup); array = array.Add(PickupCatalog.FindPickupIndex(Equipment.QuestVolatileBattery.equipmentIndex)); array = array.Add(PickupTransmutationManager.equipmentLunarGroup); if (PickupTransmutationManager.equipmentBossGroup.Length != 0) { array = array.Add(PickupTransmutationManager.equipmentBossGroup); } PickupTransmutationManager.pickupGroupMap[value] = array; } private static void Override_Command_Options(orig_SetOptionsFromPickupForCommandArtifact_UniquePickup orig, PickupPickerController self, UniquePickup pickupIndex) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) pickupIndex.pickupIndex = PickupCatalog.FindPickupIndex(Items.SkullCounter.itemIndex); orig.Invoke(self, pickupIndex); } } public class TrueDissonance { public class DirectorCard2 : DirectorCard { public float selectionWeight; } private static EliteTierDef[] eliteTiersBackup; public static DirectorCardCategorySelection dccsMixEnemyTRUE; public static void On_Artifact_Enable() { //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Expected O, but got Unknown //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Expected O, but got Unknown if ((Object)(object)dccsMixEnemyTRUE == (Object)null) { MakeDCCS(); } ClassicStageInfo.RebuildCards += new hook_RebuildCards(ClassicStageInfo_RebuildCards); Infest.OnEnter += new hook_OnEnter(Infest_OnEnter); if (Object.op_Implicit((Object)(object)ClassicStageInfo.instance) && Object.op_Implicit((Object)(object)Run.instance)) { ClassicStageInfo.instance.RebuildCards((DirectorCardCategorySelection)null, (DirectorCardCategorySelection)null); } eliteTiersBackup = CombatDirector.eliteTiers; } public static void DoEliteShenanigans() { //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Expected O, but got Unknown //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Expected O, but got Unknown //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Expected O, but got Unknown EliteTierDef[] array = (EliteTierDef[])(object)new EliteTierDef[CombatDirector.eliteTiers.Length]; CombatDirector.eliteTiers.CopyTo(array, 0); EliteTierDef val = new EliteTierDef(); EliteTierDef val2 = new EliteTierDef(); EliteTierDef val3 = new EliteTierDef(); val.isAvailable = (EliteRules rules) => (int)rules == 2 && Run.instance.stageClearCount >= 6; val2.isAvailable = (EliteRules rules) => (int)rules == 2 && Run.instance.stageClearCount >= 6; val3.isAvailable = (EliteRules rules) => (int)rules == 0 && Run.instance.stageClearCount >= 5; val3.eliteTypes = (EliteDef[])(object)new EliteDef[2] { Elites.Lunar, Elites.Void }; EliteTierDef[] eliteTiers = CombatDirector.eliteTiers; foreach (EliteTierDef val4 in eliteTiers) { if (val4.eliteTypes.Length >= 5) { EliteDef[] eliteTypes = val4.eliteTypes; foreach (EliteDef val5 in eliteTypes) { if ((Object)(object)val5 == (Object)(object)Elites.Aurelionite) { val.eliteTypes = val4.eliteTypes; val.costMultiplier = val4.costMultiplier; val3.costMultiplier = val4.costMultiplier; } } } else if (val4.eliteTypes != null && (Object)(object)val4.eliteTypes[0] == (Object)(object)Elites.Poison) { val2.eliteTypes = val4.eliteTypes; val2.costMultiplier = val4.costMultiplier; } } CombatDirector.eliteTiers = array.Add(val, val2, val3); } private static void Infest_OnEnter(orig_OnEnter orig, Infest self) { //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Invalid comparison between Unknown and I4 //IL_0023: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); if ((int)self.attack.teamIndex == 2) { self.attack.teamIndex = (TeamIndex)4; } } public static void On_Artifact_Disable() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Expected O, but got Unknown ClassicStageInfo.RebuildCards -= new hook_RebuildCards(ClassicStageInfo_RebuildCards); Infest.OnEnter -= new hook_OnEnter(Infest_OnEnter); if (Object.op_Implicit((Object)(object)ClassicStageInfo.instance) && Object.op_Implicit((Object)(object)Run.instance)) { ClassicStageInfo.instance.RebuildCards((DirectorCardCategorySelection)null, (DirectorCardCategorySelection)null); } CombatDirector.eliteTiers = eliteTiersBackup; } public static void MakeDCCS() { //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_0060: 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_0068: Expected O, but got Unknown //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008d: 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_009b: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Expected O, but got Unknown //IL_00a3: 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_00ae: 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_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: 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_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Expected O, but got Unknown //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: 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_00ee: 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_0103: 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_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Expected O, but got Unknown //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_013f: 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_014d: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Unknown result type (might be due to invalid IL or missing references) //IL_0156: 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_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_0174: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_0182: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Expected O, but got Unknown //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_019d: Unknown result type (might be due to invalid IL or missing references) //IL_01a2: Unknown result type (might be due to invalid IL or missing references) //IL_01b0: Unknown result type (might be due to invalid IL or missing references) //IL_01b7: Unknown result type (might be due to invalid IL or missing references) //IL_01be: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Unknown result type (might be due to invalid IL or missing references) //IL_01c7: Expected O, but got Unknown //IL_01c7: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01d2: Unknown result type (might be due to invalid IL or missing references) //IL_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: Unknown result type (might be due to invalid IL or missing references) //IL_01ec: Unknown result type (might be due to invalid IL or missing references) //IL_01f3: Unknown result type (might be due to invalid IL or missing references) //IL_01f5: Unknown result type (might be due to invalid IL or missing references) //IL_01fc: Expected O, but got Unknown //IL_01fc: Unknown result type (might be due to invalid IL or missing references) //IL_0201: 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_020c: Unknown result type (might be due to invalid IL or missing references) //IL_021a: Unknown result type (might be due to invalid IL or missing references) //IL_0221: Unknown result type (might be due to invalid IL or missing references) //IL_0228: Unknown result type (might be due to invalid IL or missing references) //IL_022a: Unknown result type (might be due to invalid IL or missing references) //IL_0231: Expected O, but got Unknown //IL_031e: Unknown result type (might be due to invalid IL or missing references) Debug.Log((object)"dccsMixEnemyTRUE"); dccsMixEnemyTRUE = Object.Instantiate<DirectorCardCategorySelection>(RoR2Content.mixEnemyMonsterCards); ((Object)dccsMixEnemyTRUE).name = "dccsMixEnemyTRUE"; int minimumStageCompletions = 3; DirectorCard val = new DirectorCard { spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/Base/Brother/cscBrother.asset").WaitForCompletion(), selectionWeight = 1, preventOverhead = true, minimumStageCompletions = minimumStageCompletions, spawnDistance = (MonsterSpawnDistance)0 }; DirectorCard val2 = new DirectorCard { spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/DLC1/VoidRaidCrab/cscMiniVoidRaidCrabPhase1.asset").WaitForCompletion(), selectionWeight = 1, preventOverhead = true, minimumStageCompletions = minimumStageCompletions, spawnDistance = (MonsterSpawnDistance)0 }; DirectorCard val3 = new DirectorCard { spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/DLC2/FalseSonBoss/cscFalseSonBoss.asset").WaitForCompletion(), selectionWeight = 1, preventOverhead = true, minimumStageCompletions = minimumStageCompletions, spawnDistance = (MonsterSpawnDistance)0 }; DirectorCard val4 = new DirectorCard { spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/Base/ScavLunar/cscScavLunar.asset").WaitForCompletion(), selectionWeight = 4, preventOverhead = true, minimumStageCompletions = minimumStageCompletions, spawnDistance = (MonsterSpawnDistance)0 }; DirectorCard val5 = new DirectorCard { spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/Ba