Decompiled source of WolfoArtifacts v3.1.0
ArtifactDissimilarity.dll
Decompiled 3 weeks ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; using System.Reflection; using System.Resources; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using ArtifactDissimilarity.Properties; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using EntityStates; using EntityStates.InfiniteTowerSafeWard; using EntityStates.ScavMonster; using HG; using On.EntityStates.InfiniteTowerSafeWard; using On.EntityStates.ScavMonster; using On.RoR2; using On.RoR2.Projectile; using On.RoR2.UI; using On.RoR2.UI.LogBook; using R2API; using R2API.ScriptableObjects; using R2API.Utils; using RoR2; using RoR2.Artifacts; using RoR2.Navigation; using RoR2.Projectile; using RoR2.UI; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Networking; using UnityEngine.UI; [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 = "")] [assembly: AssemblyCompany("ArtifactDissimilarity")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("ArtifactDissimilarity")] [assembly: AssemblyTitle("ArtifactDissimilarity")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace ArtifactDissimilarity { 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(); } } public class Brigade { public class BrigadeMessage : ChatMessageBase { public string eliteNameToken; public override string ConstructChatString() { string @string = Language.GetString("ANNOUNCE_BRIGADE_ELITE"); string arg = string.Format(Language.GetString(eliteNameToken), ""); return string.Format(@string, arg); } public override void Serialize(NetworkWriter writer) { ((ChatMessageBase)this).Serialize(writer); writer.Write(eliteNameToken); } public override void Deserialize(NetworkReader reader) { ((ChatMessageBase)this).Deserialize(reader); eliteNameToken = reader.ReadString(); } } private static List<EliteDef> EliteDefsTier1 = new List<EliteDef>(); private static List<EliteDef> EliteDefsTier2 = new List<EliteDef>(); public static List<EliteDef> ForUsageEliteDefList = new List<EliteDef>(); public static EliteDef TempForUsageEliteDef; public static bool DidBrigadeHappen; public static EliteTierDef[] normalelitetierdefs; private static bool DumbEliteKinThing = false; private static int DumbT2EliteKinInt = 1; public static void SetupBrigade() { //IL_001f: Unknown result type (might be due to invalid IL or missing references) if (!DumbEliteKinThing) { for (int i = 0; i < EliteCatalog.eliteList.Count; i++) { EliteDef eliteDef = EliteCatalog.GetEliteDef(EliteCatalog.eliteList[i]); string name = ((Object)eliteDef).name; if (!name.EndsWith("Gold") && !name.EndsWith("Honor") && !name.EndsWith("SecretSpeed") && !name.EndsWith("Echo") && !name.Contains("Lunar")) { if ((eliteDef.healthBoostCoefficient > 10f && !EliteDefsTier2.Contains(eliteDef)) || name.EndsWith("Void")) { EliteDefsTier2.Add(eliteDef); } else if (!EliteDefsTier1.Contains(eliteDef)) { EliteDefsTier1.Add(eliteDef); } } } if (Chainloader.PluginInfos.ContainsKey("com.arimah.PerfectedLoop")) { EliteDefsTier2.Add(Elites.Lunar); } DumbEliteKinThing = true; } DumbT2EliteKinInt = 1; ForUsageEliteDefList.Clear(); ForUsageEliteDefList.AddRange(EliteDefsTier1); } public static void EliteKinAsMethod() { //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_01a1: Unknown result type (might be due to invalid IL or missing references) //IL_01a7: Expected I4, but got Unknown //IL_0231: Unknown result type (might be due to invalid IL or missing references) //IL_0238: Expected O, but got Unknown //IL_0285: Unknown result type (might be due to invalid IL or missing references) //IL_028c: Expected O, but got Unknown //IL_02d9: Unknown result type (might be due to invalid IL or missing references) //IL_02e0: Expected O, but got Unknown if (!NetworkServer.active) { return; } if (DumbT2EliteKinInt <= Run.instance.NetworkstageClearCount / 5) { DumbT2EliteKinInt++; Debug.Log((object)"Add Tier 2 to Brigade"); ForUsageEliteDefList.AddRange(EliteDefsTier2); ForUsageEliteDefList.AddRange(EliteDefsTier2); } if (SceneInfo.instance.sceneDef.baseSceneName == "moon2" || SceneInfo.instance.sceneDef.baseSceneName == "limbo") { TempForUsageEliteDef = Elites.Lunar; } else if (SceneInfo.instance.sceneDef.baseSceneName == "voidstage" || SceneInfo.instance.sceneDef.baseSceneName == "voidraid") { TempForUsageEliteDef = Elites.Void; } else { TempForUsageEliteDef = ForUsageEliteDefList[Main.random.Next(ForUsageEliteDefList.Count)]; } int itemCountGlobal = Util.GetItemCountGlobal(Items.RandomlyLunar.itemIndex, false, false); if (itemCountGlobal > 0) { itemCountGlobal++; if (Run.instance.spawnRng.nextNormalizedFloat < 0.05f * (float)itemCountGlobal) { TempForUsageEliteDef = Elites.Lunar; } } if (((Object)Run.instance).name.StartsWith("WeeklyRun")) { EquipmentIndex[] array = Array.Empty<EquipmentIndex>(); array = array.Add((EquipmentIndex)(int)TempForUsageEliteDef.eliteEquipmentDef.equipmentIndex); Reflection.SetFieldValue<EquipmentIndex[]>((object)Run.instance, "bossAffixes", array); } Debug.Log((object)("Artifact of Brigade: This stages only Elite " + ((Object)TempForUsageEliteDef).name)); if (!DidBrigadeHappen) { DidBrigadeHappen = true; normalelitetierdefs = CombatDirector.eliteTiers; } EliteDef tempForUsageEliteDef = TempForUsageEliteDef; float num = 6f; if (TempForUsageEliteDef.healthBoostCoefficient > 10f) { num = 30f; } EliteTierDef[] array2 = (EliteTierDef[])(object)new EliteTierDef[3]; EliteTierDef val = new EliteTierDef(); val.costMultiplier = 1f; val.eliteTypes = (EliteDef[])(object)new EliteDef[1]; val.isAvailable = (EliteRules rules) => CombatDirector.NotEliteOnlyArtifactActive(); val.canSelectWithoutAvailableEliteDef = true; array2[0] = val; val = new EliteTierDef(); val.costMultiplier = num; val.eliteTypes = (EliteDef[])(object)new EliteDef[1] { tempForUsageEliteDef }; val.isAvailable = (EliteRules rules) => CombatDirector.NotEliteOnlyArtifactActive(); val.canSelectWithoutAvailableEliteDef = false; array2[1] = val; val = new EliteTierDef(); val.costMultiplier = num * 1.25f; val.eliteTypes = (EliteDef[])(object)new EliteDef[1] { tempForUsageEliteDef }; val.isAvailable = (EliteRules rules) => CombatDirector.IsEliteOnlyArtifactActive(); val.canSelectWithoutAvailableEliteDef = false; array2[2] = val; CombatDirector.eliteTiers = array2; } } public class Filters { internal static void NewTrimmer1(ref DirectorCard[] cards, int requiredCount, ref ClassicStageInfo self) { if (cards.Length > requiredCount) { DirectorCard[] array = ArrayUtils.Clone<DirectorCard>(cards); Util.ShuffleArray<DirectorCard>(array); if (array.Length > requiredCount) { Array.Resize(ref array, requiredCount); } cards = array; } } internal static void NewTrimmer2(string categoryName, int requiredCount, ref ClassicStageInfo self) { Category[] categories = self.interactableCategories.categories; for (int i = 0; i < categories.Length; i++) { if (string.CompareOrdinal(categoryName, categories[i].name) == 0) { NewTrimmer1(ref categories[i].cards, requiredCount, ref self); } } } public static void MixInteractableTrimmer3(DirectorCardCategorySelection interactableCategories) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Expected O, but got Unknown //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Expected O, but got Unknown ulong nextUlong = Run.instance.stageRng.nextUlong; Xoroshiro128Plus val = new Xoroshiro128Plus(nextUlong); ClassicStageInfo self = new ClassicStageInfo(); self.interactableCategories = interactableCategories; self.interactableCategories.CopyFrom(Dissimilarity.TrimmedmixInteractablesCards); NewTrimmer2("Chests", 6, ref self); if (((Object)Run.instance).name.Equals("InfiniteTowerRun(Clone)")) { NewTrimmer2("Barrels", 0, ref self); NewTrimmer2("Shrines", 2, ref self); NewTrimmer2("Drones", 0, ref self); Dissimilarity.TrimmedmixInteractablesCards.categories[1].selectionWeight = 0f; Dissimilarity.TrimmedmixInteractablesCards.categories[2].selectionWeight = Dissimilarity.random.Next(1, 6); Dissimilarity.TrimmedmixInteractablesCards.categories[3].selectionWeight = 0f; } else { NewTrimmer2("Barrels", 2, ref self); NewTrimmer2("Shrines", 3, ref self); NewTrimmer2("Drones", 3, ref self); } NewTrimmer2("Rare", 2, ref self); if (RunArtifactManager.instance.IsArtifactEnabled(Main.Remodeling_Def)) { interactableCategories.categories[6].selectionWeight /= 2f; NewTrimmer2("Duplicator", 2, ref self); } else { NewTrimmer2("Duplicator", 4, ref self); } } public static void SingleInteractableTrimmer3(DirectorCardCategorySelection interactableCategories) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Expected O, but got Unknown //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Expected O, but got Unknown ulong nextUlong = Run.instance.stageRng.nextUlong; Xoroshiro128Plus val = new Xoroshiro128Plus(nextUlong); ClassicStageInfo self = new ClassicStageInfo(); self.interactableCategories = interactableCategories; self.interactableCategories.CopyFrom(Kith.TrimmedSingleInteractableType); NewTrimmer2("Chests", 1, ref self); if (((Object)Run.instance).name.Equals("InfiniteTowerRun(Clone)")) { NewTrimmer2("Barrels", 0, ref self); NewTrimmer2("Drones", 0, ref self); NewTrimmer2("Misc", 0, ref self); } else { NewTrimmer2("Barrels", 1, ref self); NewTrimmer2("Drones", 1, ref self); NewTrimmer2("Misc", 1, ref self); } NewTrimmer2("Shrines", 1, ref self); NewTrimmer2("Rare", 1, ref self); NewTrimmer2("Duplicator", 1, ref self); NewTrimmer2("Void Stuff", 1, ref self); } public static bool NoMoreRadioTower(DirectorCard card) { GameObject prefab = card.spawnCard.prefab; if (Object.op_Implicit((Object)(object)prefab.GetComponent<RadiotowerTerminal>()) || card.selectionWeight == 0) { return false; } card.selectionWeight = 1; return true; } public static bool CommandArtifactTrimmer(DirectorCard card) { GameObject prefab = card.spawnCard.prefab; return !(Object.op_Implicit((Object)(object)prefab.GetComponent<ShopTerminalBehavior>()) | Object.op_Implicit((Object)(object)prefab.GetComponent<MultiShopController>()) | Object.op_Implicit((Object)(object)prefab.GetComponent<ScrapperController>()) | Object.op_Implicit((Object)(object)prefab.GetComponent<RouletteChestController>())); } public static bool SacrificeArtifactTrimmer(DirectorCard card) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Expected O, but got Unknown InteractableSpawnCard val = (InteractableSpawnCard)card.spawnCard; return !val.skipSpawnWhenSacrificeArtifactEnabled; } public static bool SimulacrumTrimmer(DirectorCard card) { GameObject prefab = card.spawnCard.prefab; return !(Object.op_Implicit((Object)(object)prefab.GetComponent<ShrineCombatBehavior>()) | Object.op_Implicit((Object)(object)prefab.GetComponent<OutsideInteractableLocker>()) | Object.op_Implicit((Object)(object)prefab.GetComponent<ShrineBossBehavior>()) | Object.op_Implicit((Object)(object)prefab.GetComponent<SeerStationController>()) | Object.op_Implicit((Object)(object)prefab.GetComponent<PortalStatueBehavior>())); } public static bool TestingPrintCardResults(DirectorCard card) { Debug.Log((object)card.spawnCard); return true; } public static bool RemoveMinimumStageCompletionTrimmer(DirectorCard card) { if (card.minimumStageCompletions <= 3) { card.minimumStageCompletions = 0; } else if (card.minimumStageCompletions >= 4) { card.minimumStageCompletions = 1; } return true; } public static bool KithNoRepeatPredicate(DirectorCard card) { if (((Object)Kith.KithNoRepeat).name.StartsWith("iscLunarChest")) { return !((Object)card.spawnCard).name.StartsWith("iscLunarChest"); } if (((Object)Kith.KithNoRepeat).name.StartsWith("iscCategory")) { string name = ((Object)Kith.KithNoRepeat).name; return !((Object)card.spawnCard).name.Contains(name); } if (((Object)Kith.KithNoRepeat).name.StartsWith("iscEquipment") || ((Object)Kith.KithNoRepeat).name.EndsWith("Equipment")) { return !((Object)card.spawnCard).name.StartsWith("iscEquipment") || ((Object)card.spawnCard).name.EndsWith("Equipment"); } return !(((Object)card.spawnCard).name.StartsWith("iscEquipment") | ((Object)card.spawnCard).name.EndsWith("Equipment") | ((Object)card.spawnCard).name.Contains("iscLunarChest")); } public static bool NoMoreScrapper(DirectorCard card) { GameObject prefab = card.spawnCard.prefab; return !Object.op_Implicit((Object)(object)prefab.GetComponent<ScrapperController>()); } public static bool RemodelingPredicate(DirectorCard card) { GameObject prefab = card.spawnCard.prefab; return !((Object)prefab).name.Contains("Duplicator"); } public static bool ArtifactWorldPredicate(DirectorCard card) { GameObject prefab = card.spawnCard.prefab; return !(((Object)prefab).name.Contains("DuplicatorWild") | Object.op_Implicit((Object)(object)prefab.GetComponent<OutsideInteractableLocker>()) | Object.op_Implicit((Object)(object)prefab.GetComponent<ShrineBossBehavior>()) | Object.op_Implicit((Object)(object)prefab.GetComponent<ShrineCombatBehavior>()) | Object.op_Implicit((Object)(object)prefab.GetComponent<PortalStatueBehavior>()) | Object.op_Implicit((Object)(object)prefab.GetComponent<ScrapperController>()) | Object.op_Implicit((Object)(object)prefab.GetComponent<SeerStationController>())); } public static bool VoidStagePredicate(DirectorCard card) { GameObject prefab = card.spawnCard.prefab; return !(Object.op_Implicit((Object)(object)prefab.GetComponent<ShrineBossBehavior>()) | Object.op_Implicit((Object)(object)prefab.GetComponent<PortalStatueBehavior>()) | Object.op_Implicit((Object)(object)prefab.GetComponent<SeerStationController>())); } public static bool SimulacrumPredicate(DirectorCard card) { GameObject prefab = card.spawnCard.prefab; return false; } public static void ApplyCardRemovingFilters(DirectorCardCategorySelection DCCSInput) { if (RunArtifactManager.instance.IsArtifactEnabled(Artifacts.commandArtifactDef)) { DCCSInput.RemoveCardsThatFailFilter((Predicate<DirectorCard>)CommandArtifactTrimmer); } else { if (RunArtifactManager.instance.IsArtifactEnabled(Main.RiskyConformity)) { DCCSInput.categories[6].selectionWeight = 0f; } if (RunArtifactManager.instance.IsArtifactEnabled(Main.Remodeling_Def)) { DCCSInput.RemoveCardsThatFailFilter((Predicate<DirectorCard>)RemodelingPredicate); } } if (RunArtifactManager.instance.IsArtifactEnabled(Artifacts.Sacrifice)) { DCCSInput.RemoveCardsThatFailFilter((Predicate<DirectorCard>)SacrificeArtifactTrimmer); } if (((Object)Run.instance).name.StartsWith("InfiniteTowerRun")) { DCCSInput.RemoveCardsThatFailFilter((Predicate<DirectorCard>)SimulacrumTrimmer); } else if (SceneInfo.instance.sceneDef.baseSceneName == "artifactworld") { DCCSInput.RemoveCardsThatFailFilter((Predicate<DirectorCard>)ArtifactWorldPredicate); } else if (SceneInfo.instance.sceneDef.baseSceneName == "voidstage") { DCCSInput.RemoveCardsThatFailFilter((Predicate<DirectorCard>)VoidStagePredicate); } } public static void ApplySandSnow(DirectorCardCategorySelection DCCSInput) { //IL_0395: Unknown result type (might be due to invalid IL or missing references) //IL_039a: Unknown result type (might be due to invalid IL or missing references) //IL_0376: Unknown result type (might be due to invalid IL or missing references) //IL_037b: Unknown result type (might be due to invalid IL or missing references) //IL_03cd: Unknown result type (might be due to invalid IL or missing references) //IL_03d2: Unknown result type (might be due to invalid IL or missing references) //IL_03b1: Unknown result type (might be due to invalid IL or missing references) //IL_03b6: Unknown result type (might be due to invalid IL or missing references) //IL_0405: Unknown result type (might be due to invalid IL or missing references) //IL_040a: Unknown result type (might be due to invalid IL or missing references) //IL_03e9: Unknown result type (might be due to invalid IL or missing references) //IL_03ee: Unknown result type (might be due to invalid IL or missing references) //IL_0b97: Unknown result type (might be due to invalid IL or missing references) //IL_0b9c: Unknown result type (might be due to invalid IL or missing references) //IL_0b77: Unknown result type (might be due to invalid IL or missing references) //IL_0b7c: Unknown result type (might be due to invalid IL or missing references) //IL_0bd1: Unknown result type (might be due to invalid IL or missing references) //IL_0bd6: Unknown result type (might be due to invalid IL or missing references) //IL_0bb4: Unknown result type (might be due to invalid IL or missing references) //IL_0bb9: Unknown result type (might be due to invalid IL or missing references) //IL_0c0b: Unknown result type (might be due to invalid IL or missing references) //IL_0c10: Unknown result type (might be due to invalid IL or missing references) //IL_07b2: Unknown result type (might be due to invalid IL or missing references) //IL_07b7: Unknown result type (might be due to invalid IL or missing references) //IL_0792: Unknown result type (might be due to invalid IL or missing references) //IL_0797: Unknown result type (might be due to invalid IL or missing references) //IL_07ec: Unknown result type (might be due to invalid IL or missing references) //IL_07f1: Unknown result type (might be due to invalid IL or missing references) //IL_07cf: Unknown result type (might be due to invalid IL or missing references) //IL_07d4: Unknown result type (might be due to invalid IL or missing references) //IL_0826: Unknown result type (might be due to invalid IL or missing references) //IL_082b: Unknown result type (might be due to invalid IL or missing references) //IL_0bee: Unknown result type (might be due to invalid IL or missing references) //IL_0bf3: Unknown result type (might be due to invalid IL or missing references) //IL_0809: Unknown result type (might be due to invalid IL or missing references) //IL_080e: Unknown result type (might be due to invalid IL or missing references) if (SceneInfo.instance.sceneDef.baseSceneName == "snowyforest" || SceneInfo.instance.sceneDef.baseSceneName == "frozenwall" || SceneInfo.instance.sceneDef.baseSceneName == "itfrozenwall") { DirectorCard[] cards = DCCSInput.categories[2].cards; foreach (DirectorCard val in cards) { switch (((Object)val.spawnCard).name) { case "iscShrineBlood": case "iscShrineBloodSnowy": case "iscShrineBloodSandy": val.spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Base/ShrineBlood/iscShrineBloodSnowy.asset").WaitForCompletion(); break; case "iscShrineBoss": case "iscShrineBossSnowy": case "iscShrineBossSandy": val.spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Base/ShrineBoss/iscShrineBossSnowy.asset").WaitForCompletion(); break; case "iscShrineChance": case "iscShrineChanceSnowy": case "iscShrineChanceSandy": val.spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Base/ShrineChance/iscShrineChanceSnowy.asset").WaitForCompletion(); break; case "iscShrineCleanse": case "iscShrineCleanseSnowy": case "iscShrineCleanseSandy": val.spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Base/ShrineCleanse/iscShrineCleanseSnowy.asset").WaitForCompletion(); break; case "iscShrineCombat": case "iscShrineCombatSnowy": case "iscShrineCombatSandy": val.spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Base/ShrineCombat/iscShrineCombatSnowy.asset").WaitForCompletion(); break; case "iscShrineRestack": case "iscShrineRestackSnowy": case "iscShrineRestackSandy": val.spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Base/ShrineRestack/iscShrineRestackSnowy.asset").WaitForCompletion(); break; } } return; } if (SceneInfo.instance.sceneDef.baseSceneName == "goolake" || SceneInfo.instance.sceneDef.baseSceneName == "itgoolake") { DirectorCard[] cards2 = DCCSInput.categories[2].cards; foreach (DirectorCard val2 in cards2) { switch (((Object)val2.spawnCard).name) { case "iscShrineBlood": case "iscShrineBloodSnowy": case "iscShrineBloodSandy": val2.spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Base/ShrineBlood/iscShrineBloodSandy.asset").WaitForCompletion(); break; case "iscShrineBoss": case "iscShrineBossSnowy": case "iscShrineBossSandy": val2.spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Base/ShrineBoss/iscShrineBossSandy.asset").WaitForCompletion(); break; case "iscShrineChance": case "iscShrineChanceSnowy": case "iscShrineChanceSandy": val2.spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Base/ShrineChance/iscShrineChanceSandy.asset").WaitForCompletion(); break; case "iscShrineCleanse": case "iscShrineCleanseSnowy": case "iscShrineCleanseSandy": val2.spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Base/ShrineCleanse/iscShrineCleanseSandy.asset").WaitForCompletion(); break; case "iscShrineCombat": case "iscShrineCombatSnowy": case "iscShrineCombatSandy": val2.spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Base/ShrineCombat/iscShrineCombatSandy.asset").WaitForCompletion(); break; case "iscShrineRestack": case "iscShrineRestackSnowy": case "iscShrineRestackSandy": val2.spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Base/ShrineRestack/iscShrineRestackSandy.asset").WaitForCompletion(); break; } } return; } DirectorCard[] cards3 = DCCSInput.categories[2].cards; foreach (DirectorCard val3 in cards3) { switch (((Object)val3.spawnCard).name) { case "iscShrineBlood": case "iscShrineBloodSnowy": case "iscShrineBloodSandy": val3.spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Base/ShrineBlood/iscShrineBlood.asset").WaitForCompletion(); break; case "iscShrineBoss": case "iscShrineBossSnowy": case "iscShrineBossSandy": val3.spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Base/ShrineBoss/iscShrineBoss.asset").WaitForCompletion(); break; case "iscShrineChance": case "iscShrineChanceSnowy": case "iscShrineChanceSandy": val3.spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Base/ShrineChance/iscShrineChance.asset").WaitForCompletion(); break; case "iscShrineCleanse": case "iscShrineCleanseSnowy": case "iscShrineCleanseSandy": val3.spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Base/ShrineCleanse/iscShrineCleanse.asset").WaitForCompletion(); break; case "iscShrineCombat": case "iscShrineCombatSnowy": case "iscShrineCombatSandy": val3.spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Base/ShrineCombat/iscShrineCombat.asset").WaitForCompletion(); break; case "iscShrineRestack": case "iscShrineRestackSnowy": case "iscShrineRestackSandy": val3.spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Base/ShrineRestack/iscShrineRestack.asset").WaitForCompletion(); break; } } } } public class Dissimilarity { [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static hook_OnTargetSceneChanged <>9__6_0; public static hook_SetRunNextStageToTarget <>9__6_1; internal void <DCCSmaker>b__6_0(orig_OnTargetSceneChanged orig, SeerStationController self, SceneDef sceneDef) { orig.Invoke(self, sceneDef); if ((Object)(object)sceneDef != (Object)null) { string @string = Language.GetString(SceneCatalog.GetSceneDef((SceneIndex)self.NetworktargetSceneDefIndex).nameToken); @string = @string.Replace("Hidden Realm: ", ""); ((Component)self).gameObject.GetComponent<PurchaseInteraction>().contextToken = Language.GetString("BAZAAR_SEER_CONTEXT") + " of " + @string; ((Component)self).gameObject.GetComponent<PurchaseInteraction>().displayNameToken = Language.GetString("BAZAAR_SEER_NAME") + " (" + @string + ")"; } } internal void <DCCSmaker>b__6_1(orig_SetRunNextStageToTarget orig, SeerStationController self) { //IL_0033: 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_0048: Expected O, but got Unknown //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Expected O, but got Unknown orig.Invoke(self); if (Object.op_Implicit((Object)(object)self.explicitTargetSceneExitController) && ((Object)self.explicitTargetSceneExitController).name.StartsWith("LunarTeleporter")) { Chat.SendBroadcastChat((ChatMessageBase)new SimpleChatMessage { baseToken = "LUNAR_TELEPORTER_ALIGN_DREAM" }); if (!Main.DreamPrimordialBool) { Main.DreamPrimordialBool = true; Language.GetString_string += new hook_GetString_string(Main.DreamPrimordial); } } } } public static readonly Random random = new Random(); public static bool DissimAdded = false; public static DirectorCardCategorySelection mixInteractablesCards = ScriptableObject.CreateInstance<DirectorCardCategorySelection>(); public static DirectorCardCategorySelection TrimmedmixInteractablesCards = ScriptableObject.CreateInstance<DirectorCardCategorySelection>(); public static void Start() { ((Object)mixInteractablesCards).name = "dccsMixInteractableMaster"; ((Object)TrimmedmixInteractablesCards).name = "dccsMixInteractableTrimmed"; DCCSmaker(); } public static void ModSupport() { //IL_0264: Unknown result type (might be due to invalid IL or missing references) //IL_0269: Unknown result type (might be due to invalid IL or missing references) //IL_0279: Unknown result type (might be due to invalid IL or missing references) //IL_0282: Expected O, but got Unknown //IL_0282: Unknown result type (might be due to invalid IL or missing references) //IL_0287: Unknown result type (might be due to invalid IL or missing references) //IL_0297: Unknown result type (might be due to invalid IL or missing references) //IL_02a3: Expected O, but got Unknown //IL_0202: Unknown result type (might be due to invalid IL or missing references) //IL_0207: Unknown result type (might be due to invalid IL or missing references) //IL_0210: Unknown result type (might be due to invalid IL or missing references) //IL_0219: Expected O, but got Unknown //IL_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01b8: Unknown result type (might be due to invalid IL or missing references) //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01ca: Expected O, but got Unknown //IL_0229: Unknown result type (might be due to invalid IL or missing references) //IL_022e: Unknown result type (might be due to invalid IL or missing references) //IL_0237: Unknown result type (might be due to invalid IL or missing references) //IL_0240: Expected O, but got Unknown //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Expected O, but got Unknown //IL_0188: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Unknown result type (might be due to invalid IL or missing references) //IL_0196: Unknown result type (might be due to invalid IL or missing references) //IL_01a0: Expected O, but got Unknown //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_014e: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Expected O, but got Unknown //IL_01da: Unknown result type (might be due to invalid IL or missing references) //IL_01df: Unknown result type (might be due to invalid IL or missing references) //IL_01e8: Unknown result type (might be due to invalid IL or missing references) //IL_01f2: Expected O, but got Unknown InteractableSpawnCard[] array = Object.FindObjectsOfType(typeof(InteractableSpawnCard)) as InteractableSpawnCard[]; for (int i = 0; i < array.Length; i++) { switch (((Object)array[i]).name) { case "MysticsItems_iscShrineLegendary": { DirectorCard val7 = new DirectorCard { spawnCard = (SpawnCard)(object)array[i], selectionWeight = 50 }; break; } case "iscTripleShopRed": { DirectorCard val6 = new DirectorCard { spawnCard = (SpawnCard)(object)array[i], selectionWeight = 11 }; mixInteractablesCards.AddCard(5, val6); break; } case "midcDroneTable": { DirectorCard val5 = new DirectorCard { spawnCard = (SpawnCard)(object)array[i], selectionWeight = 100 }; mixInteractablesCards.AddCard(6, val5); break; } case "msidcCloneDrone": { DirectorCard val4 = new DirectorCard { spawnCard = (SpawnCard)(object)array[i], selectionWeight = 7 }; mixInteractablesCards.AddCard(3, val4); break; } case "msidcShockDrone": { DirectorCard val3 = new DirectorCard { spawnCard = (SpawnCard)(object)array[i], selectionWeight = 14 }; mixInteractablesCards.AddCard(3, val3); break; } case "iscCloakedShrine": { DirectorCard val2 = new DirectorCard { spawnCard = (SpawnCard)(object)array[i], selectionWeight = 8 }; mixInteractablesCards.AddCard(5, val2); break; } case "iscAegisShrine": { DirectorCard val = new DirectorCard { spawnCard = (SpawnCard)(object)array[i], selectionWeight = 8 }; mixInteractablesCards.AddCard(5, val); break; } } } DirectorCard val8 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscScrapper"), selectionWeight = 120 }; DirectorCard val9 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscScrapper"), selectionWeight = 180 }; Kith.HelperSingleMixInteractable.CopyFrom(mixInteractablesCards); mixInteractablesCards.AddCard(6, val8); Kith.HelperSingleMixInteractable.AddCard(1, val9); } public static void DCCSmaker() { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0056: 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_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: 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_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_0118: 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_0134: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_017a: Expected O, but got Unknown //IL_018f: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_019a: Expected O, but got Unknown //IL_01ec: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Unknown result type (might be due to invalid IL or missing references) //IL_01fc: Unknown result type (might be due to invalid IL or missing references) //IL_0204: Unknown result type (might be due to invalid IL or missing references) //IL_021c: Unknown result type (might be due to invalid IL or missing references) //IL_0239: Unknown result type (might be due to invalid IL or missing references) //IL_023e: Unknown result type (might be due to invalid IL or missing references) //IL_024e: Unknown result type (might be due to invalid IL or missing references) //IL_025b: Expected O, but got Unknown //IL_025b: Unknown result type (might be due to invalid IL or missing references) //IL_0260: Unknown result type (might be due to invalid IL or missing references) //IL_0270: Unknown result type (might be due to invalid IL or missing references) //IL_027a: Expected O, but got Unknown //IL_027a: Unknown result type (might be due to invalid IL or missing references) //IL_027f: Unknown result type (might be due to invalid IL or missing references) //IL_028f: Unknown result type (might be due to invalid IL or missing references) //IL_0299: Expected O, but got Unknown //IL_0299: Unknown result type (might be due to invalid IL or missing references) //IL_029e: Unknown result type (might be due to invalid IL or missing references) //IL_02ae: Unknown result type (might be due to invalid IL or missing references) //IL_02b8: Expected O, but got Unknown //IL_02b8: Unknown result type (might be due to invalid IL or missing references) //IL_02bd: Unknown result type (might be due to invalid IL or missing references) //IL_02cd: Unknown result type (might be due to invalid IL or missing references) //IL_02d7: Expected O, but got Unknown //IL_02d7: Unknown result type (might be due to invalid IL or missing references) //IL_02dc: Unknown result type (might be due to invalid IL or missing references) //IL_02ec: Unknown result type (might be due to invalid IL or missing references) //IL_02f6: Expected O, but got Unknown //IL_02f6: Unknown result type (might be due to invalid IL or missing references) //IL_02fb: Unknown result type (might be due to invalid IL or missing references) //IL_030b: Unknown result type (might be due to invalid IL or missing references) //IL_0315: Expected O, but got Unknown //IL_0315: Unknown result type (might be due to invalid IL or missing references) //IL_031a: 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_0334: Expected O, but got Unknown //IL_0334: Unknown result type (might be due to invalid IL or missing references) //IL_0339: Unknown result type (might be due to invalid IL or missing references) //IL_0349: Unknown result type (might be due to invalid IL or missing references) //IL_0353: Expected O, but got Unknown //IL_0353: Unknown result type (might be due to invalid IL or missing references) //IL_0358: Unknown result type (might be due to invalid IL or missing references) //IL_0368: Unknown result type (might be due to invalid IL or missing references) //IL_0372: Expected O, but got Unknown //IL_0372: Unknown result type (might be due to invalid IL or missing references) //IL_0377: Unknown result type (might be due to invalid IL or missing references) //IL_0387: Unknown result type (might be due to invalid IL or missing references) //IL_0391: 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_03b9: Expected O, but got Unknown //IL_03b9: Unknown result type (might be due to invalid IL or missing references) //IL_03be: Unknown result type (might be due to invalid IL or missing references) //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_03d7: Unknown result type (might be due to invalid IL or missing references) //IL_03e1: Expected O, but got Unknown //IL_03e1: Unknown result type (might be due to invalid IL or missing references) //IL_03e6: Unknown result type (might be due to invalid IL or missing references) //IL_03ec: Unknown result type (might be due to invalid IL or missing references) //IL_03f1: Unknown result type (might be due to invalid IL or missing references) //IL_03ff: Unknown result type (might be due to invalid IL or missing references) //IL_0409: Expected O, but got Unknown //IL_0409: Unknown result type (might be due to invalid IL or missing references) //IL_040e: Unknown result type (might be due to invalid IL or missing references) //IL_0414: Unknown result type (might be due to invalid IL or missing references) //IL_0419: Unknown result type (might be due to invalid IL or missing references) //IL_0427: Unknown result type (might be due to invalid IL or missing references) //IL_0431: Expected O, but got Unknown //IL_0431: Unknown result type (might be due to invalid IL or missing references) //IL_0436: Unknown result type (might be due to invalid IL or missing references) //IL_043c: Unknown result type (might be due to invalid IL or missing references) //IL_0441: Unknown result type (might be due to invalid IL or missing references) //IL_044f: Unknown result type (might be due to invalid IL or missing references) //IL_0459: Expected O, but got Unknown //IL_0459: Unknown result type (might be due to invalid IL or missing references) //IL_045e: Unknown result type (might be due to invalid IL or missing references) //IL_046e: Unknown result type (might be due to invalid IL or missing references) //IL_0478: Expected O, but got Unknown //IL_047d: Unknown result type (might be due to invalid IL or missing references) //IL_0482: Unknown result type (might be due to invalid IL or missing references) //IL_04a7: Unknown result type (might be due to invalid IL or missing references) //IL_04ac: Unknown result type (might be due to invalid IL or missing references) //IL_04b4: Unknown result type (might be due to invalid IL or missing references) //IL_04be: Expected O, but got Unknown //IL_04c7: Unknown result type (might be due to invalid IL or missing references) //IL_04cc: Unknown result type (might be due to invalid IL or missing references) //IL_04dc: Unknown result type (might be due to invalid IL or missing references) //IL_04e6: Expected O, but got Unknown //IL_04e6: Unknown result type (might be due to invalid IL or missing references) //IL_04eb: Unknown result type (might be due to invalid IL or missing references) //IL_04f1: Unknown result type (might be due to invalid IL or missing references) //IL_04f6: Unknown result type (might be due to invalid IL or missing references) //IL_0504: Unknown result type (might be due to invalid IL or missing references) //IL_050e: Expected O, but got Unknown //IL_050e: Unknown result type (might be due to invalid IL or missing references) //IL_0513: Unknown result type (might be due to invalid IL or missing references) //IL_0523: Unknown result type (might be due to invalid IL or missing references) //IL_052c: Expected O, but got Unknown //IL_052c: Unknown result type (might be due to invalid IL or missing references) //IL_0531: Unknown result type (might be due to invalid IL or missing references) //IL_0541: Unknown result type (might be due to invalid IL or missing references) //IL_054e: Expected O, but got Unknown //IL_054e: Unknown result type (might be due to invalid IL or missing references) //IL_0553: Unknown result type (might be due to invalid IL or missing references) //IL_0563: Unknown result type (might be due to invalid IL or missing references) //IL_0570: Expected O, but got Unknown //IL_0570: Unknown result type (might be due to invalid IL or missing references) //IL_0575: Unknown result type (might be due to invalid IL or missing references) //IL_0585: Unknown result type (might be due to invalid IL or missing references) //IL_0592: Expected O, but got Unknown //IL_0592: Unknown result type (might be due to invalid IL or missing references) //IL_0597: Unknown result type (might be due to invalid IL or missing references) //IL_05a7: Unknown result type (might be due to invalid IL or missing references) //IL_05b4: Expected O, but got Unknown //IL_05b4: Unknown result type (might be due to invalid IL or missing references) //IL_05b9: Unknown result type (might be due to invalid IL or missing references) //IL_05c9: Unknown result type (might be due to invalid IL or missing references) //IL_05d6: Expected O, but got Unknown //IL_05d6: Unknown result type (might be due to invalid IL or missing references) //IL_05db: Unknown result type (might be due to invalid IL or missing references) //IL_05eb: Unknown result type (might be due to invalid IL or missing references) //IL_05f5: Expected O, but got Unknown //IL_05f5: Unknown result type (might be due to invalid IL or missing references) //IL_05fa: Unknown result type (might be due to invalid IL or missing references) //IL_060a: Unknown result type (might be due to invalid IL or missing references) //IL_0614: Expected O, but got Unknown //IL_0614: Unknown result type (might be due to invalid IL or missing references) //IL_0619: Unknown result type (might be due to invalid IL or missing references) //IL_061f: Unknown result type (might be due to invalid IL or missing references) //IL_0624: Unknown result type (might be due to invalid IL or missing references) //IL_0632: Unknown result type (might be due to invalid IL or missing references) //IL_063c: Expected O, but got Unknown //IL_063c: Unknown result type (might be due to invalid IL or missing references) //IL_0641: Unknown result type (might be due to invalid IL or missing references) //IL_0651: Unknown result type (might be due to invalid IL or missing references) //IL_065b: Expected O, but got Unknown //IL_065b: Unknown result type (might be due to invalid IL or missing references) //IL_0660: Unknown result type (might be due to invalid IL or missing references) //IL_0670: Unknown result type (might be due to invalid IL or missing references) //IL_067a: Expected O, but got Unknown //IL_067a: Unknown result type (might be due to invalid IL or missing references) //IL_067f: Unknown result type (might be due to invalid IL or missing references) //IL_068f: Unknown result type (might be due to invalid IL or missing references) //IL_0699: Expected O, but got Unknown //IL_0699: Unknown result type (might be due to invalid IL or missing references) //IL_069e: Unknown result type (might be due to invalid IL or missing references) //IL_06ae: Unknown result type (might be due to invalid IL or missing references) //IL_06b8: Expected O, but got Unknown //IL_06b8: Unknown result type (might be due to invalid IL or missing references) //IL_06bd: 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_06d7: Expected O, but got Unknown //IL_06d7: Unknown result type (might be due to invalid IL or missing references) //IL_06dc: Unknown result type (might be due to invalid IL or missing references) //IL_06ec: Unknown result type (might be due to invalid IL or missing references) //IL_06f5: Expected O, but got Unknown //IL_06f5: Unknown result type (might be due to invalid IL or missing references) //IL_06fa: Unknown result type (might be due to invalid IL or missing references) //IL_070a: Unknown result type (might be due to invalid IL or missing references) //IL_0714: Expected O, but got Unknown //IL_0714: Unknown result type (might be due to invalid IL or missing references) //IL_0719: Unknown result type (might be due to invalid IL or missing references) //IL_0729: Unknown result type (might be due to invalid IL or missing references) //IL_0733: Expected O, but got Unknown //IL_0733: Unknown result type (might be due to invalid IL or missing references) //IL_0738: Unknown result type (might be due to invalid IL or missing references) //IL_0748: Unknown result type (might be due to invalid IL or missing references) //IL_0751: Expected O, but got Unknown //IL_0751: Unknown result type (might be due to invalid IL or missing references) //IL_0756: Unknown result type (might be due to invalid IL or missing references) //IL_0766: Unknown result type (might be due to invalid IL or missing references) //IL_076f: Expected O, but got Unknown //IL_076f: Unknown result type (might be due to invalid IL or missing references) //IL_0774: Unknown result type (might be due to invalid IL or missing references) //IL_077c: Unknown result type (might be due to invalid IL or missing references) //IL_0786: Expected O, but got Unknown //IL_0786: Unknown result type (might be due to invalid IL or missing references) //IL_078b: Unknown result type (might be due to invalid IL or missing references) //IL_079b: Unknown result type (might be due to invalid IL or missing references) //IL_07a5: Expected O, but got Unknown //IL_07a5: Unknown result type (might be due to invalid IL or missing references) //IL_07aa: Unknown result type (might be due to invalid IL or missing references) //IL_07b0: Unknown result type (might be due to invalid IL or missing references) //IL_07b5: Unknown result type (might be due to invalid IL or missing references) //IL_07c3: Unknown result type (might be due to invalid IL or missing references) //IL_07cd: Expected O, but got Unknown //IL_07cd: Unknown result type (might be due to invalid IL or missing references) //IL_07d2: Unknown result type (might be due to invalid IL or missing references) //IL_07d8: Unknown result type (might be due to invalid IL or missing references) //IL_07dd: Unknown result type (might be due to invalid IL or missing references) //IL_07eb: Unknown result type (might be due to invalid IL or missing references) //IL_07f3: Unknown result type (might be due to invalid IL or missing references) //IL_07fc: Expected O, but got Unknown //IL_07fc: Unknown result type (might be due to invalid IL or missing references) //IL_0801: Unknown result type (might be due to invalid IL or missing references) //IL_0811: Unknown result type (might be due to invalid IL or missing references) //IL_081e: Expected O, but got Unknown //IL_081e: Unknown result type (might be due to invalid IL or missing references) //IL_0823: Unknown result type (might be due to invalid IL or missing references) //IL_0833: Unknown result type (might be due to invalid IL or missing references) //IL_083d: Expected O, but got Unknown //IL_083d: Unknown result type (might be due to invalid IL or missing references) //IL_0842: Unknown result type (might be due to invalid IL or missing references) //IL_0852: Unknown result type (might be due to invalid IL or missing references) //IL_085c: Expected O, but got Unknown //IL_085c: Unknown result type (might be due to invalid IL or missing references) //IL_0861: Unknown result type (might be due to invalid IL or missing references) //IL_0871: Unknown result type (might be due to invalid IL or missing references) //IL_087b: Expected O, but got Unknown //IL_087b: Unknown result type (might be due to invalid IL or missing references) //IL_0880: Unknown result type (might be due to invalid IL or missing references) //IL_0890: Unknown result type (might be due to invalid IL or missing references) //IL_089a: Expected O, but got Unknown //IL_089a: Unknown result type (might be due to invalid IL or missing references) //IL_089f: Unknown result type (might be due to invalid IL or missing references) //IL_08a6: Unknown result type (might be due to invalid IL or missing references) //IL_08b0: Expected O, but got Unknown //IL_08b0: Unknown result type (might be due to invalid IL or missing references) //IL_08b5: Unknown result type (might be due to invalid IL or missing references) //IL_08bc: Unknown result type (might be due to invalid IL or missing references) //IL_08c6: Expected O, but got Unknown //IL_08c6: Unknown result type (might be due to invalid IL or missing references) //IL_08cb: Unknown result type (might be due to invalid IL or missing references) //IL_08d2: Unknown result type (might be due to invalid IL or missing references) //IL_08dc: Expected O, but got Unknown //IL_01b4: Unknown result type (might be due to invalid IL or missing references) //IL_01b9: Unknown result type (might be due to invalid IL or missing references) //IL_01bf: Expected O, but got Unknown InteractableSpawnCard val = ScriptableObject.CreateInstance<InteractableSpawnCard>(); ((Object)val).name = "iscSoupWhiteGreen"; ((SpawnCard)val).prefab = LegacyResourcesAPI.Load<GameObject>("Prefabs/networkedobjects/LunarCauldron, WhiteToGreen"); ((SpawnCard)val).sendOverNetwork = true; ((SpawnCard)val).hullSize = (HullClassification)1; ((SpawnCard)val).nodeGraphType = (GraphType)0; ((SpawnCard)val).requiredFlags = (NodeFlags)0; ((SpawnCard)val).forbiddenFlags = (NodeFlags)8; ((SpawnCard)val).directorCreditCost = 3; ((SpawnCard)val).occupyPosition = true; ((SpawnCard)val).eliteRules = (EliteRules)0; val.orientToFloor = true; val.slightlyRandomizeOrientation = false; val.skipSpawnWhenSacrificeArtifactEnabled = false; InteractableSpawnCard val2 = ScriptableObject.CreateInstance<InteractableSpawnCard>(); ((Object)val2).name = "iscSoupGreenRed"; ((SpawnCard)val2).prefab = LegacyResourcesAPI.Load<GameObject>("Prefabs/networkedobjects/LunarCauldron, GreenToRed Variant"); ((SpawnCard)val2).sendOverNetwork = true; ((SpawnCard)val2).hullSize = (HullClassification)1; ((SpawnCard)val2).nodeGraphType = (GraphType)0; ((SpawnCard)val2).requiredFlags = (NodeFlags)0; ((SpawnCard)val2).forbiddenFlags = (NodeFlags)8; ((SpawnCard)val2).directorCreditCost = 2; ((SpawnCard)val2).occupyPosition = true; ((SpawnCard)val2).eliteRules = (EliteRules)0; val2.orientToFloor = true; val2.slightlyRandomizeOrientation = false; val2.skipSpawnWhenSacrificeArtifactEnabled = false; InteractableSpawnCard val3 = ScriptableObject.CreateInstance<InteractableSpawnCard>(); ((Object)val3).name = "iscSoupRedWhite"; ((SpawnCard)val3).prefab = LegacyResourcesAPI.Load<GameObject>("Prefabs/networkedobjects/LunarCauldron, RedToWhite Variant"); ((SpawnCard)val3).sendOverNetwork = true; ((SpawnCard)val3).hullSize = (HullClassification)1; ((SpawnCard)val3).nodeGraphType = (GraphType)0; ((SpawnCard)val3).requiredFlags = (NodeFlags)0; ((SpawnCard)val3).forbiddenFlags = (NodeFlags)8; ((SpawnCard)val3).directorCreditCost = 1; ((SpawnCard)val3).occupyPosition = true; ((SpawnCard)val3).eliteRules = (EliteRules)0; val3.orientToFloor = true; val3.slightlyRandomizeOrientation = false; val3.skipSpawnWhenSacrificeArtifactEnabled = false; GameObject val4 = LegacyResourcesAPI.Load<GameObject>("Prefabs/networkedobjects/SeerStation"); SeerStationController component = val4.GetComponent<SeerStationController>(); component.fallBackToFirstActiveExitController = true; SeerStationController.OnStartClient += new hook_OnStartClient(Wander.SeerDestinationRandomizerDissimWander); object obj = <>c.<>9__6_0; if (obj == null) { hook_OnTargetSceneChanged val5 = delegate(orig_OnTargetSceneChanged orig, SeerStationController self, SceneDef sceneDef) { orig.Invoke(self, sceneDef); if ((Object)(object)sceneDef != (Object)null) { string @string = Language.GetString(SceneCatalog.GetSceneDef((SceneIndex)self.NetworktargetSceneDefIndex).nameToken); @string = @string.Replace("Hidden Realm: ", ""); ((Component)self).gameObject.GetComponent<PurchaseInteraction>().contextToken = Language.GetString("BAZAAR_SEER_CONTEXT") + " of " + @string; ((Component)self).gameObject.GetComponent<PurchaseInteraction>().displayNameToken = Language.GetString("BAZAAR_SEER_NAME") + " (" + @string + ")"; } }; <>c.<>9__6_0 = val5; obj = (object)val5; } SeerStationController.OnTargetSceneChanged += (hook_OnTargetSceneChanged)obj; object obj2 = <>c.<>9__6_1; if (obj2 == null) { hook_SetRunNextStageToTarget val6 = delegate(orig_SetRunNextStageToTarget orig, SeerStationController self) { //IL_0033: 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_0048: Expected O, but got Unknown //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Expected O, but got Unknown orig.Invoke(self); if (Object.op_Implicit((Object)(object)self.explicitTargetSceneExitController) && ((Object)self.explicitTargetSceneExitController).name.StartsWith("LunarTeleporter")) { Chat.SendBroadcastChat((ChatMessageBase)new SimpleChatMessage { baseToken = "LUNAR_TELEPORTER_ALIGN_DREAM" }); if (!Main.DreamPrimordialBool) { Main.DreamPrimordialBool = true; Language.GetString_string += new hook_GetString_string(Main.DreamPrimordial); } } }; <>c.<>9__6_1 = val6; obj2 = (object)val6; } SeerStationController.SetRunNextStageToTarget += (hook_SetRunNextStageToTarget)obj2; InteractableSpawnCard val7 = ScriptableObject.CreateInstance<InteractableSpawnCard>(); ((Object)val7).name = "iscLunarSeer"; ((SpawnCard)val7).prefab = val4; ((SpawnCard)val7).sendOverNetwork = true; ((SpawnCard)val7).hullSize = (HullClassification)0; ((SpawnCard)val7).nodeGraphType = (GraphType)0; ((SpawnCard)val7).requiredFlags = (NodeFlags)0; ((SpawnCard)val7).forbiddenFlags = (NodeFlags)8; ((SpawnCard)val7).directorCreditCost = 1; ((SpawnCard)val7).occupyPosition = true; ((SpawnCard)val7).eliteRules = (EliteRules)0; val7.orientToFloor = true; val7.slightlyRandomizeOrientation = false; val7.skipSpawnWhenSacrificeArtifactEnabled = false; DirectorCard val8 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscChest1"), selectionWeight = 240 }; DirectorCard val9 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscChest2"), selectionWeight = 40 }; DirectorCard val10 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscEquipmentBarrel"), selectionWeight = 20 }; DirectorCard val11 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscTripleShop"), selectionWeight = 40 }; DirectorCard val12 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscLunarChest"), selectionWeight = 15 }; DirectorCard val13 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscCategoryChestDamage"), selectionWeight = 25 }; DirectorCard val14 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscCategoryChestHealing"), selectionWeight = 25 }; DirectorCard val15 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscCategoryChestUtility"), selectionWeight = 25 }; DirectorCard val16 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscTripleShopLarge"), selectionWeight = 40 }; DirectorCard val17 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscCasinoChest"), selectionWeight = 40 }; DirectorCard val18 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscTripleShopEquipment"), selectionWeight = 20 }; DirectorCard val19 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC1/CategoryChest2/iscCategoryChest2Damage.asset").WaitForCompletion(), selectionWeight = 20 }; DirectorCard val20 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC1/CategoryChest2/iscCategoryChest2Healing.asset").WaitForCompletion(), selectionWeight = 20 }; DirectorCard val21 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC1/CategoryChest2/iscCategoryChest2Utility.asset").WaitForCompletion(), selectionWeight = 20 }; DirectorCard val22 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC1/VoidChest/iscVoidChest.asset").WaitForCompletion(), selectionWeight = 40 }; DirectorCard val23 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC1/VoidTriple/iscVoidTriple.asset").WaitForCompletion(), selectionWeight = 20 }; DirectorCard val24 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBarrel1"), selectionWeight = 100 }; InteractableSpawnCard val25 = Object.Instantiate<InteractableSpawnCard>(Addressables.LoadAssetAsync<InteractableSpawnCard>((object)"RoR2/DLC1/VoidCoinBarrel/iscVoidCoinBarrel.asset").WaitForCompletion()); ((Object)val25).name = "iscVoidCoinBarrelLowPrice"; ((SpawnCard)val25).directorCreditCost = 2; DirectorCard val26 = new DirectorCard { spawnCard = (SpawnCard)(object)val25, selectionWeight = 50 }; val26.spawnCard = (SpawnCard)(object)val25; DirectorCard val27 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscScrapper"), selectionWeight = 10 }; DirectorCard val28 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC1/VoidCamp/iscVoidCamp.asset").WaitForCompletion(), selectionWeight = 15 }; DirectorCard val29 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBarrel1"), selectionWeight = 1 }; DirectorCard val30 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscShrineCombat"), selectionWeight = 250 }; DirectorCard val31 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscShrineBoss"), selectionWeight = 250 }; DirectorCard val32 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscShrineChance"), selectionWeight = 400 }; DirectorCard val33 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscShrineBlood"), selectionWeight = 200 }; DirectorCard val34 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscShrineHealing"), selectionWeight = 200 }; DirectorCard val35 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscShrineRestack"), selectionWeight = 50 }; DirectorCard val36 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscShrineCleanse"), selectionWeight = 100 }; DirectorCard val37 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC2/iscShrineColossusAccess.asset").WaitForCompletion(), selectionWeight = 50 }; DirectorCard val38 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBrokenDrone1"), selectionWeight = 21 }; DirectorCard val39 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBrokenDrone2"), selectionWeight = 21 }; DirectorCard val40 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBrokenEmergencyDrone"), selectionWeight = 14 }; DirectorCard val41 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBrokenEquipmentDrone"), selectionWeight = 14 }; DirectorCard val42 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBrokenFlameDrone"), selectionWeight = 14 }; DirectorCard val43 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBrokenMegaDrone"), selectionWeight = 3 }; DirectorCard val44 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBrokenMissileDrone"), selectionWeight = 14 }; DirectorCard val45 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBrokenTurret1"), selectionWeight = 14 }; DirectorCard val46 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscGoldChest"), selectionWeight = 5 }; DirectorCard val47 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscShrineGoldshoresAccess"), selectionWeight = 5 }; DirectorCard val48 = new DirectorCard { spawnCard = (SpawnCard)(object)val7, selectionWeight = 17 }; DirectorCard val49 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscChest1Stealthed"), selectionWeight = 13 }; DirectorCard val50 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC1/VoidSuppressor/iscVoidSuppressor.asset").WaitForCompletion(), selectionWeight = 20 }; DirectorCard val51 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC2/iscShrineHalcyonite.asset").WaitForCompletion(), selectionWeight = 20, minimumStageCompletions = 1 }; DirectorCard val52 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscDuplicator"), selectionWeight = 300 }; DirectorCard val53 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscDuplicatorLarge"), selectionWeight = 80 }; DirectorCard val54 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscDuplicatorMilitary"), selectionWeight = 30 }; DirectorCard val55 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscDuplicatorWild"), selectionWeight = 30 }; DirectorCard val56 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscScrapper"), selectionWeight = 120 }; DirectorCard val57 = new DirectorCard { spawnCard = (SpawnCard)(object)val, selectionWeight = 75 }; DirectorCard val58 = new DirectorCard { spawnCard = (SpawnCard)(object)val2, selectionWeight = 45 }; DirectorCard val59 = new DirectorCard { spawnCard = (SpawnCard)(object)val3, selectionWeight = 25 }; mixInteractablesCards.AddCategory("Chests", 45f); mixInteractablesCards.AddCategory("Barrels", 10f); mixInteractablesCards.AddCategory("Shrines", 10f); mixInteractablesCards.AddCategory("Drones", 14f); mixInteractablesCards.AddCategory("Misc", 2f); mixInteractablesCards.AddCategory("Rare", 0.4f); mixInteractablesCards.AddCategory("Duplicator", 8f); mixInteractablesCards.AddCategory("Void Stuff", 1f); mixInteractablesCards.AddCategory("Storm Stuff", 1f); mixInteractablesCards.AddCard(0, val8); mixInteractablesCards.AddCard(0, val9); mixInteractablesCards.AddCard(0, val13); mixInteractablesCards.AddCard(0, val14); mixInteractablesCards.AddCard(0, val15); mixInteractablesCards.AddCard(0, val10); mixInteractablesCards.AddCard(0, val12); mixInteractablesCards.AddCard(0, val11); mixInteractablesCards.AddCard(0, val16); mixInteractablesCards.AddCard(0, val18); mixInteractablesCards.AddCard(0, val17); mixInteractablesCards.AddCard(0, val19); mixInteractablesCards.AddCard(0, val20); mixInteractablesCards.AddCard(0, val21); mixInteractablesCards.AddCard(0, val22); mixInteractablesCards.AddCard(0, val23); mixInteractablesCards.AddCard(1, val24); mixInteractablesCards.AddCard(1, val26); mixInteractablesCards.AddCard(1, val27); mixInteractablesCards.AddCard(1, val28); mixInteractablesCards.AddCard(2, val33); mixInteractablesCards.AddCard(2, val31); mixInteractablesCards.AddCard(2, val31); mixInteractablesCards.AddCard(2, val32); mixInteractablesCards.AddCard(2, val36); mixInteractablesCards.AddCard(2, val30); mixInteractablesCards.AddCard(2, val34); mixInteractablesCards.AddCard(2, val35); mixInteractablesCards.AddCard(2, val37); mixInteractablesCards.AddCard(3, val38); mixInteractablesCards.AddCard(3, val39); mixInteractablesCards.AddCard(3, val40); mixInteractablesCards.AddCard(3, val41); mixInteractablesCards.AddCard(3, val42); mixInteractablesCards.AddCard(3, val43); mixInteractablesCards.AddCard(3, val44); mixInteractablesCards.AddCard(3, val45); mixInteractablesCards.AddCard(5, val49); mixInteractablesCards.AddCard(5, val46); mixInteractablesCards.AddCard(5, val47); mixInteractablesCards.AddCard(5, val50); mixInteractablesCards.AddCard(5, val48); mixInteractablesCards.AddCard(5, val51); mixInteractablesCards.AddCard(6, val56); mixInteractablesCards.AddCard(6, val52); mixInteractablesCards.AddCard(6, val53); mixInteractablesCards.AddCard(6, val54); mixInteractablesCards.AddCard(6, val55); mixInteractablesCards.AddCard(6, val57); mixInteractablesCards.AddCard(6, val58); mixInteractablesCards.AddCard(6, val59); } public static WeightedSelection<DirectorCard> MixInteractableApplier(orig_GenerateInteractableCardSelection orig, SceneDirector self) { //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Expected O, but got Unknown if (self.interactableCredit != 0) { self.interactableCredit += 4; } WeightedSelection<DirectorCard> val = new WeightedSelection<DirectorCard>(8); TrimmedmixInteractablesCards.Clear(); TrimmedmixInteractablesCards.CopyFrom(mixInteractablesCards); TrimmedmixInteractablesCards.categories[2].selectionWeight = random.Next(7, 13); TrimmedmixInteractablesCards.categories[3].selectionWeight = random.Next(3, 15); if (Object.op_Implicit((Object)(object)RunArtifactManager.instance) && RunArtifactManager.instance.IsArtifactEnabled(Main.Dissimilarity_Def)) { Filters.ApplyCardRemovingFilters(TrimmedmixInteractablesCards); Filters.MixInteractableTrimmer3(TrimmedmixInteractablesCards); Filters.ApplySandSnow(TrimmedmixInteractablesCards); if (Object.op_Implicit((Object)(object)Run.instance) && Run.instance.stageClearCount == 0) { DirectorCard val2 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC2/iscShrineHalcyoniteTier1.asset").WaitForCompletion(), selectionWeight = 200 }; TrimmedmixInteractablesCards.AddCard(2, val2); } val = TrimmedmixInteractablesCards.GenerateDirectorCardWeightedSelection(); Debug.Log((object)"Artifact of Dissimilarity: Generated Trimmed mixInteractables selection"); if (WConfig.DebugPrint.Value) { Debug.Log((object)"__________________________________________________"); Debug.Log((object)"Artifact of Dissimilarity: Trimmed Interactable List"); Debug.Log((object)""); TrimmedmixInteractablesCards.RemoveCardsThatFailFilter((Predicate<DirectorCard>)Filters.TestingPrintCardResults); Debug.Log((object)"__________________________________________________"); } return val; } Debug.LogWarning((object)"Artifact of Dissimilarity: Failed to generate normal Interactable Categories, using fallback"); return orig.Invoke(self); } } public class Kith { public static readonly Random random = new Random(); public static bool KithAdded = false; public static SpawnCard KithNoRepeat; public static DirectorCardCategorySelection TrimmedSingleInteractableType = ScriptableObject.CreateInstance<DirectorCardCategorySelection>(); public static DirectorCardCategorySelection HelperSingleMixInteractable = ScriptableObject.CreateInstance<DirectorCardCategorySelection>(); public static void Start() { ((Object)HelperSingleMixInteractable).name = "dcccHelperSingleMixInteractable"; ((Object)TrimmedSingleInteractableType).name = "dccsSingleInteractable"; } public static WeightedSelection<DirectorCard> SingleInteractableApplier(orig_GenerateInteractableCardSelection orig, SceneDirector self) { //IL_02c2: Unknown result type (might be due to invalid IL or missing references) //IL_02c7: Unknown result type (might be due to invalid IL or missing references) //IL_02d7: Unknown result type (might be due to invalid IL or missing references) //IL_02e0: Expected O, but got Unknown if (self.interactableCredit != 0) { self.interactableCredit += 16; } WeightedSelection<DirectorCard> val = new WeightedSelection<DirectorCard>(8); if ((Object)(object)ClassicStageInfo.instance != (Object)null) { if (!RunArtifactManager.instance.IsArtifactEnabled(Main.Kith_Def)) { Debug.LogWarning((object)"Artifact of Kith: Failed to generate normal Interactable Categories, using fallback"); return orig.Invoke(self); } if (RunArtifactManager.instance.IsArtifactEnabled(Main.Dissimilarity_Def)) { TrimmedSingleInteractableType.Clear(); TrimmedSingleInteractableType.CopyFrom(HelperSingleMixInteractable); if (((Object)Run.instance).name.Equals("InfiniteTowerRun(Clone)")) { TrimmedSingleInteractableType.categories[1].selectionWeight = 0f; TrimmedSingleInteractableType.categories[2].selectionWeight = random.Next(1, 5); TrimmedSingleInteractableType.categories[3].selectionWeight = 0f; } else { TrimmedSingleInteractableType.categories[1].selectionWeight = random.Next(9, 11); TrimmedSingleInteractableType.categories[2].selectionWeight = random.Next(8, 13); TrimmedSingleInteractableType.categories[3].selectionWeight = random.Next(11, 15); TrimmedSingleInteractableType.categories[6].selectionWeight = random.Next(6, 10); } Filters.ApplyCardRemovingFilters(TrimmedSingleInteractableType); Filters.ApplySandSnow(TrimmedSingleInteractableType); Debug.Log((object)"Artifact of Kith: SingleInteractable using mixInteractables"); } else { TrimmedSingleInteractableType.Clear(); TrimmedSingleInteractableType.CopyFrom(ClassicStageInfo.instance.interactableCategories); TrimmedSingleInteractableType.RemoveCardsThatFailFilter((Predicate<DirectorCard>)Filters.NoMoreRadioTower); Filters.ApplyCardRemovingFilters(TrimmedSingleInteractableType); if (WConfig.KithNoMinimumStageCompletion.Value) { TrimmedSingleInteractableType.RemoveCardsThatFailFilter((Predicate<DirectorCard>)Filters.RemoveMinimumStageCompletionTrimmer); } } if ((Object)(object)KithNoRepeat == (Object)null) { KithNoRepeat = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscSquidTurret"); } if (((Object)KithNoRepeat).name.StartsWith("iscEquipment") || ((Object)KithNoRepeat).name.StartsWith("iscLunarChest") || ((Object)KithNoRepeat).name.StartsWith("iscCategory") || ((Object)KithNoRepeat).name.Equals("iscSquidTurret")) { TrimmedSingleInteractableType.RemoveCardsThatFailFilter((Predicate<DirectorCard>)Filters.KithNoRepeatPredicate); } Filters.SingleInteractableTrimmer3(TrimmedSingleInteractableType); DirectorCard val2 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBarrel1"), selectionWeight = 1 }; if (TrimmedSingleInteractableType.categories.Length > 5) { TrimmedSingleInteractableType.categories[4].selectionWeight *= 1.5f; TrimmedSingleInteractableType.AddCard(6, val2); } else { TrimmedSingleInteractableType.AddCard(0, val2); } val = TrimmedSingleInteractableType.GenerateDirectorCardWeightedSelection(); Debug.Log((object)"Artifact of Kith: Generated Trimmed SingleInteractable selection"); KithNoRepeat = val.choices[0].value.spawnCard; if (WConfig.DebugPrint.Value) { Debug.Log((object)"__________________________________________________"); Debug.Log((object)"Artifact of Kith: Trimmed Interactable List"); Debug.Log((object)""); TrimmedSingleInteractableType.RemoveCardsThatFailFilter((Predicate<DirectorCard>)Filters.TestingPrintCardResults); Debug.Log((object)"__________________________________________________"); } } return val; } } public class Obscurity { public static Sprite questionMark_White; public static Sprite questionMark_Red; public static Sprite questionMark_Orange; public static Sprite questionMark_Yellow; public static Sprite questionMark_Green; public static Sprite questionMark_Blue; public static Sprite questionMark_Pink; public static void Setup() { //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 //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Expected O, but got Unknown //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Expected O, but got Unknown //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Expected O, but got Unknown ShopTerminalBehavior.PreStartClient += new hook_PreStartClient(ShopTerminalBehavior_PreStartClient); PickupDisplay.SetPickupIndex += new hook_SetPickupIndex(PickupDisplay_SetPickupIndex); ItemInventoryDisplay.UpdateDisplay += new hook_UpdateDisplay(RemoveItemDisplay); ItemInventoryDisplay.AllocateIcons += new hook_AllocateIcons(ItemInventoryDisplay_AllocateIcons); ItemIcon.SetItemIndex += new hook_SetItemIndex(ItemIcon_SetItemIndex); ItemDisplay.SetVisibilityLevel += new hook_SetVisibilityLevel(ItemDisplay_SetVisibilityLevel); PickupPickerPanel.OnCreateButton += new hook_OnCreateButton(PickupPickerPanel_OnCreateButton); } private static void ItemDisplay_SetVisibilityLevel(orig_SetVisibilityLevel orig, ItemDisplay self, VisibilityLevel newVisibilityLevel) { orig.Invoke(self, (VisibilityLevel)0); } private static void PickupPickerPanel_OnCreateButton(orig_OnCreateButton orig, PickupPickerPanel self, int index, MPButton button) { throw new NotImplementedException(); } private static void ItemIcon_SetItemIndex(orig_SetItemIndex orig, ItemIcon self, ItemIndex newItemIndex, int newItemCount) { //IL_0003: 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_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0018: 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) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Expected I4, but got Unknown orig.Invoke(self, newItemIndex, newItemCount); ItemDef itemDef = ItemCatalog.GetItemDef(newItemIndex); ItemTier tier = itemDef.tier; ItemTier val = tier; switch ((int)val) { case 0: break; case 1: break; case 2: break; case 4: break; case 3: break; case 6: case 7: case 8: case 9: break; case 5: break; } } private static void ItemInventoryDisplay_AllocateIcons(orig_AllocateIcons orig, ItemInventoryDisplay self, int desiredItemCount) { orig.Invoke(self, 0); } private static void RemoveItemDisplay(orig_UpdateDisplay orig, ItemInventoryDisplay self) { orig.Invoke(self); } private static void PickupDisplay_SetPickupIndex(orig_SetPickupIndex orig, PickupDisplay self, PickupIndex newPickupIndex, bool newHidden) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self, newPickupIndex, true); } private static void ShopTerminalBehavior_PreStartClient(orig_PreStartClient orig, ShopTerminalBehavior self) { orig.Invoke(self); self.hidden = true; self.Networkhidden = true; } } public class Remodeling { public static readonly Random random = new Random(); public static BasicPickupDropTable dtMonsterTeamTier2Item = Addressables.LoadAssetAsync<BasicPickupDropTable>((object)"RoR2/Base/MonsterTeamGainsItems/dtMonsterTeamTier2Item.asset").WaitForCompletion(); public static List<EquipmentIndex> EliteEquipmentList = new List<EquipmentIndex>(); private static List<EquipmentIndex> BlacklistedEquipment = new List<EquipmentIndex>(); public static void RandomizeMain(orig_Start orig, SceneDirector self) { orig.Invoke(self); if (NetworkServer.active) { if (Object.op_Implicit((Object)(object)RunArtifactManager.instance) && RunArtifactManager.instance.IsArtifactEnabled(Main.Unison_Def)) { Run.instance.BuildDropTable(); } RandomizeItems(); RandomizeEquipment(); if (WConfig.RemodelRerollEquipmentDrones.Value) { RandomizeEquipmentDrone(); } if (WConfig.RemodelRerollMonsterItems.Value) { RandomizeItemsMonster(); } } GC.Collect(); } public static void RandomizeEquipment() { //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Invalid comparison between Unknown and I4 //IL_00b8: 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_0159: 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_01e7: 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_0172: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_0230: Unknown result type (might be due to invalid IL or missing references) //IL_0235: Unknown result type (might be due to invalid IL or missing references) //IL_0239: Unknown result type (might be due to invalid IL or missing references) //IL_023e: Unknown result type (might be due to invalid IL or missing references) //IL_0245: Unknown result type (might be due to invalid IL or missing references) //IL_01bf: Unknown result type (might be due to invalid IL or missing references) //IL_01c4: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01cd: Unknown result type (might be due to invalid IL or missing references) //IL_01d4: Unknown result type (might be due to invalid IL or missing references) foreach (PlayerCharacterMasterController instance in PlayerCharacterMasterController.instances) { Inventory inventory = instance.master.inventory; if ((Object)(object)inventory == (Object)null) { break; } List<PickupIndex> list = new List<PickupIndex>(); List<PickupIndex> list2 = new List<PickupIndex>(); List<EquipmentIndex> list3 = new List<EquipmentIndex>(); list.AddRange(Run.instance.availableEquipmentDropList); list2.AddRange(Run.instance.availableLunarEquipmentDropList); list3.AddRange(EliteEquipmentList); for (byte b = 0; b < inventory.GetEquipmentSlotCount(); b++) { instance.master.inventory.SetActiveEquipmentSlot(b); if ((int)inventory.GetEquipmentIndex() != -1) { int num = 0; if (BlacklistedEquipment.Contains(inventory.currentEquipmentIndex)) { num = 1; } if (num == 0) { PickupIndex val; if (EliteEquipmentList.Contains(inventory.currentEquipmentIndex)) { list3.Remove(inventory.currentEquipmentIndex); if (list3.Count == 0) { list3.AddRange(EliteEquipmentList); } int index = random.Next(0, list3.Count); inventory.SetEquipment(new EquipmentState(list3[index], FixedTimeStamp.negativeInfinity, (byte)0, false), (uint)b); } else if (EquipmentCatalog.GetEquipmentDef(inventory.currentEquipmentIndex).isLunar) { list2.Remove(PickupCatalog.FindPickupIndex(inventory.currentEquipmentIndex)); if (list2.Count == 0) { list2.AddRange(Run.instance.availableLunarEquipmentDropList); } int index2 = random.Next(0, list2.Count); val = list2[index2]; inventory.SetEquipment(new EquipmentState(((PickupIndex)(ref val)).equipmentIndex, FixedTimeStamp.negativeInfinity, (byte)0, false), (uint)b); } else { list.Remove(PickupCatalog.FindPickupIndex(inventory.currentEquipmentIndex)); if (list.Count == 0) { list.AddRange(Run.instance.availableEquipmentDropList); } int index3 = random.Next(0, list.Count); val = list[index3]; inventory.SetEquipment(new EquipmentState(((PickupIndex)(ref val)).equipmentIndex, FixedTimeStamp.negativeInfinity, (byte)0, false), (uint)b); } } Debug.Log((object)("Rerolled " + instance.GetDisplayName() + "'s equipment")); } } } } public static void RandomizeEquipmentDrone() { //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Invalid comparison between Unknown and I4 //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Unknown result type (might be due to invalid IL or missing references) //IL_01df: Unknown result type (might be due to invalid IL or missing references) //IL_01e4: Unknown result type (might be due to invalid IL or missing references) //IL_01e8: Unknown result type (might be due to invalid IL or missing references) //IL_01ed: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Unknown result type (might be due to invalid IL or missing references) //IL_019e: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0134: 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) CharacterMaster[] array = Object.FindObjectsOfType(typeof(CharacterMaster)) as CharacterMaster[]; foreach (CharacterMaster val in array) { if (!((Object)val).name.Contains("Drone") && !((Object)val).name.Contains("Turret")) { continue; } Inventory component = ((Component)val).GetComponent<Inventory>(); if ((int)component.GetEquipmentIndex() == -1) { continue; } int num = 0; if (BlacklistedEquipment.Contains(component.currentEquipmentIndex)) { num = 1; } if (num != 0) { continue; } string name = ((Object)EquipmentCatalog.GetEquipmentDef(component.currentEquipmentIndex)).name; PickupIndex val2; if (EliteEquipmentList.Contains(component.currentEquipmentIndex)) { if (!name.Contains("Gold") && !name.Contains("Echo") && !name.Contains("Yellow") && !name.Contains("SecretSpeed")) { int index = random.Next(0, EliteEquipmentList.Count); component.SetEquipment(new EquipmentState(EliteEquipmentList[index], FixedTimeStamp.negativeInfinity, (byte)0, false), 0u); } } else if (EquipmentCatalog.GetEquipmentDef(component.currentEquipmentIndex).isLunar) { int index2 = random.Next(0, Run.instance.availableLunarEquipmentDropList.Count); val2 = Run.instance.availableLunarEquipmentDropList[index2]; component.SetEquipment(new EquipmentState(((PickupIndex)(ref val2)).equipmentIndex, FixedTimeStamp.negativeInfinity, (byte)0, false), 0u); } else { int index3 = random.Next(0, Run.instance.availableEquipmentDropList.Count); val2 = Run.instance.availableEquipmentDropList[index3]; component.SetEquipment(new EquipmentState(((PickupIndex)(ref val2)).equipmentIndex, FixedTimeStamp.negativeInfinity, (byte)0, false), 0u); } Debug.Log((object)("Rerolled " + ((Object)val).name + "'s equipment")); } } public static void RandomizeItems() { //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_0102: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_0130: 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_0147: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0175: 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_0495: Unknown result type (might be due to invalid IL or missing references) //IL_049a: Unknown result type (might be due to invalid IL or missing references) //IL_049e: Unknown result type (might be due to invalid IL or missing references) //IL_04b8: Unknown result type (might be due to invalid IL or missing references) //IL_0544: Unknown result type (might be due to invalid IL or missing references) //IL_0549: Unknown result type (might be due to invalid IL or missing references) //IL_054d: Unknown result type (might be due to invalid IL or missing references) //IL_0567: Unknown result type (might be due to invalid IL or missing references) //IL_02ab: 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_02b2: Unknown result type (might be due to invalid IL or missing references) //IL_02b4: Unknown result type (might be due to invalid IL or missing references) //IL_02b6: Unknown result type (might be due to invalid IL or missing references) //IL_02e5: Expected I4, but got Unknown //IL_05f3: Unknown result type (might be due to invalid IL or missing references) //IL_05f8: Unknown result type (might be due to invalid IL or missing references) //IL_05fc: Unknown result type (might be due to invalid IL or missing references) //IL_0616: Unknown result type (might be due to invalid IL or missing references) //IL_06a2: Unknown result type (might be due to invalid IL or missing references) //IL_06a7: Unknown result type (might be due to invalid IL or missing references) //IL_06ab: Unknown result type (might be due to invalid IL or missing references) //IL_06c5: Unknown result type (might be due to invalid IL or missing references) //IL_0751: Unknown result type (might be due to invalid IL or missing references) //IL_0756: Unknown result type (might be due to invalid IL or missing references) //IL_075a: Unknown result type (might be due to invalid IL or missing references) //IL_0774: Unknown result type (might be due to invalid IL or missing references) //IL_0800: Unknown result type (might be due to invalid IL or missing references) //IL_0805: Unknown result type (might be due to invalid IL or missing references) //IL_0809: Unknown result type (might be due to invalid IL or missing references) //IL_0823: Unknown result type (might be due to invalid IL or missing references) //IL_08af: Unknown result type (might be due to invalid IL or missing references) //IL_08b4: Unknown result type (might be due to invalid IL or missing references) //IL_08b8: Unknown result type (might be due to invalid IL or missing references) //IL_08d2: Unknown result type (might be due to invalid IL or missing references) //IL_095e: Unknown result type (might be due to invalid IL or missing references) //IL_0963: Unknown result type (might be due to invalid IL or missing references) //IL_0967: Unknown result type (might be due to invalid IL or missing references) //IL_0981: Unknown result type (might be due to invalid IL or missing references) //IL_0a0d: Unknown result type (might be due to invalid IL or missing references) //IL_0a12: Unknown result type (might be due to invalid IL or missing references) //IL_0a16: Unknown result type (might be due to invalid IL or missing references) //IL_0a30: Unknown result type (might be due to invalid IL or missing references) foreach (PlayerCharacterMasterController instance in PlayerCharacterMasterController.instances) { Inventory inventory = instance.master.inventory; int[] array = new int[inventory.itemStacks.Length]; inventory.itemStacks.CopyTo(array, 0); int num = 0; int num2 = 0; int num3 = 0; int num4 = 0; int num5 = 0; int num6 = 0; int num7 = 0; int num8 = 0; int num9 = 0; List<PickupIndex> list = new List<PickupIndex>(); List<PickupIndex> list2 = new List<PickupIndex>(); List<PickupIndex> list3 = new List<PickupIndex>(); List<PickupIndex> list4 = new List<PickupIndex>(); List<PickupIndex> list5 = new List<PickupIndex>(); List<PickupIndex> list6 = new List<PickupIndex>(); List<PickupIndex> list7 = new List<PickupIndex>(); List<PickupIndex> list8 = new List<PickupIndex>(); List<PickupIndex> list9 = new List<PickupIndex>(); list.AddRange(Run.instance.availableTier1DropList); list2.AddRange(Run.instance.availableTier2DropList); list3.AddRange(Run.instance.availableTier3DropList); list4.AddRange(Run.instance.availableBossDropList); list4.Add(PickupCatalog.FindPickupIndex(Items.Pearl.itemIndex)); list4.Add(PickupCatalog.FindPickupIndex(Items.ShinyPearl.itemIndex)); list5.AddRange(Run.instance.availableLunarItemDropList); list5.Remove(PickupCatalog.FindPickupIndex(Items.LunarPrimaryReplacement.itemIndex)); list5.Remove(PickupCatalog.FindPickupIndex(Items.LunarSecondaryReplacement.itemIndex)); list5.Remove(PickupCatalog.FindPickupIndex(Items.LunarUtilityReplacement.itemIndex)); list5.Remove(PickupCatalog.FindPickupIndex(Items.LunarSpecialReplacement.itemIndex)); list5.Remove(PickupCatalog.FindPickupIndex(Items.LunarTrinket.itemIndex)); list6.AddRange(Run.instance.availableVoidTier1DropList); list7.AddRange(Run.instance.availableVoidTier2DropList); list8.AddRange(Run.instance.availableVoidTier3DropList); list9.AddRange(Run.instance.availableVoidBossDropList); List<int> list10 = new List<int>(); List<int> list11 = new List<int>(); List<int> list12 = new List<int>(); List<int> list13 = new List<int>(); List<int> list14 = new List<int>(); List<int> list15 = new List<int>(); List<int> list16 = new List<int>(); List<int> list17 = new List<int>(); List<int> list18 = new List<int>(); for (int i = 0; i < array.Length; i++) { if (array[i] <= 0) { continue; } ItemDef itemDef = ItemCatalog.GetItemDef((ItemIndex)i); if (!((Object)itemDef).name.Equals("LunarTrinket") && !((Object)itemDef).name.EndsWith("Replacement") && (itemDef.ContainsTag((ItemTag)10) || ((Object)itemDef).name.EndsWith("Pearl") || itemDef.DoesNotContainTag((ItemTag)9))) { ItemTier tier = itemDef.tier; ItemTier val = tier; switch ((int)val) { case 0: num++; inventory.RemoveItem((ItemIndex)i, array[i]); list10.Add(array[i]); break; case 1: num2++; inventory.RemoveItem((ItemIndex)i, array[i]); list11.Add(array[i]); break; case 2: num3++; inventory.RemoveItem((ItemIndex)i, array[i]); list12.Add(array[i]); break; case 4: num4++; inventory.RemoveItem((ItemIndex)i, array[i]); list13.Add(array[i]); break; case 3: num5++; inventory.RemoveItem((ItemIndex)i, array[i]); list14.Add(array[i]); break; case 6: num6++; inventory.RemoveItem((ItemIndex)i, array[i]); list15.Add(array[i]); break; case 7: num7++; inventory.RemoveItem((ItemIndex)i, array[i]); list16.Add(array[i]); break; case 8: num8++; inventory.RemoveItem((ItemIndex)i, array[i]); list17.Add(array[i]); break; case 9: num9++; inventory.RemoveItem((ItemIndex)i, array[i]); list18.Add(array[i]); break; } } } PickupIndex val2; for (int j = 0; j < num6; j++) { int index = random.Next(0, list6.Count); int index2 = random.Next(0, list15.Count); if (list6.Count == 0) { list6.AddRange(Run.instance.availableVoidTier1DropList); } val2 = list6[index]; inventory.GiveItem(((PickupIndex)(ref val2)).itemIndex, list15[index2]); list6.Remove(list6[index]); list15.Remove(list15[index2]); } for (int k = 0; k < num7; k++) { int index3 = random.Next(0, list7.Count); int index4 = random.Next(0, list16.Count); if (list7.Count == 0) { list7.AddRange(Run.instance.availableVoidTier2DropList); } val2 = list7[index3]; inventory.GiveItem(((PickupIndex)(ref val2)).itemIndex, list16[index4]); list7.Remove(list7[index3]); list16.Remove(list16[index4]); } for (int l = 0; l < num8; l++) { int index5 = random.Next(0, list8.Count); int index6 = random.Next(0, list17.Count); if (list8.Count == 0) { list8.AddRange(Run.instance.availableVoidTier3DropList); } val2 = list8[index5]; inventory.GiveItem(((PickupIndex)(ref val2)).itemIndex, list17[index6]); list8.Remove(list8[index5]); list17.Remove(list17[index6]); } for (int m = 0; m < num9; m++) { int index7 = random.Nex