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