Decompiled source of WolfoArtifacts v3.2.0
ArtifactDissimilarity.dll
Decompiled a week ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.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 BepInEx; using BepInEx.Configuration; using EntityStates.InfiniteTowerSafeWard; using HG; using IL.RoR2.UI; using Mono.Cecil.Cil; using MonoMod.Cil; using On.EntityStates.InfiniteTowerSafeWard; 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 = ".NET Standard 2.1")] [assembly: AssemblyCompany("ArtifactDissimilarity")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+9f3a459bd4008723b9d6ec65668ad7f4a18dd557")] [assembly: AssemblyProduct("ArtifactDissimilarity")] [assembly: AssemblyTitle("ArtifactDissimilarity")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace ArtifactDissimilarity { public class Filters { internal static void Trimmer_DesiredLength(ref DirectorCard[] cards, int requiredCount) { 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 Trimmer_WithCategoryName(string categoryName, int requiredCount, ref DirectorCardCategorySelection dccs) { for (int i = 0; i < dccs.categories.Length; i++) { if (string.CompareOrdinal(categoryName, dccs.categories[i].name) == 0) { Trimmer_DesiredLength(ref dccs.categories[i].cards, requiredCount); } } } public static void MixInteractables_Trimmer_Direct(DirectorCardCategorySelection interactableCategories) { Trimmer_DesiredLength(ref interactableCategories.categories[0].cards, 6); if (Run.instance is InfiniteTowerRun) { Trimmer_DesiredLength(ref interactableCategories.categories[1].cards, 0); Trimmer_DesiredLength(ref interactableCategories.categories[2].cards, 2); Trimmer_DesiredLength(ref interactableCategories.categories[3].cards, 0); Dissimilarity.TrimmedmixInteractablesCards.categories[1].selectionWeight = 0f; Dissimilarity.TrimmedmixInteractablesCards.categories[2].selectionWeight = Dissimilarity.random.Next(1, 6); Dissimilarity.TrimmedmixInteractablesCards.categories[3].selectionWeight = 0f; } else { Trimmer_DesiredLength(ref interactableCategories.categories[1].cards, 2); Trimmer_DesiredLength(ref interactableCategories.categories[2].cards, 3); Trimmer_DesiredLength(ref interactableCategories.categories[3].cards, 3); } Trimmer_DesiredLength(ref interactableCategories.categories[5].cards, 3); if (RunArtifactManager.instance.IsArtifactEnabled(Main.Remodeling_Def)) { interactableCategories.categories[6].selectionWeight /= 2f; Trimmer_DesiredLength(ref interactableCategories.categories[6].cards, 2); } else { Trimmer_DesiredLength(ref interactableCategories.categories[6].cards, 4); } Debug.Log((object)"Artifact of Dissimilarity: Generated Trimmed mixInteractables selection"); if (!WConfig.DebugPrint.Value) { return; } string text = "-----------------\n"; text += "Artifact of Dissimilarity: Trimmed Interactable List\n"; for (int i = 0; i < interactableCategories.categories.Length; i++) { ref Category reference = ref interactableCategories.categories[i]; for (int num = reference.cards.Length - 1; num >= 0; num--) { text += ((Object)reference.cards[num].spawnCard.prefab).name; text += "\n"; } } text += "-----------------"; Debug.Log((object)text); } public static void MixInteractableTrimmerWithNames(DirectorCardCategorySelection interactableCategories) { Trimmer_WithCategoryName("Chests", 6, ref interactableCategories); if (((Object)Run.instance).name.Equals("InfiniteTowerRun(Clone)")) { Trimmer_WithCategoryName("Barrels", 0, ref interactableCategories); Trimmer_WithCategoryName("Shrines", 2, ref interactableCategories); Trimmer_WithCategoryName("Drones", 0, ref interactableCategories); Dissimilarity.TrimmedmixInteractablesCards.categories[1].selectionWeight = 0f; Dissimilarity.TrimmedmixInteractablesCards.categories[2].selectionWeight = Dissimilarity.random.Next(1, 6); Dissimilarity.TrimmedmixInteractablesCards.categories[3].selectionWeight = 0f; } else { Trimmer_WithCategoryName("Barrels", 2, ref interactableCategories); Trimmer_WithCategoryName("Shrines", 3, ref interactableCategories); Trimmer_WithCategoryName("Drones", 3, ref interactableCategories); } Trimmer_WithCategoryName("Rare", 2, ref interactableCategories); if (RunArtifactManager.instance.IsArtifactEnabled(Main.Remodeling_Def)) { interactableCategories.categories[6].selectionWeight /= 2f; Trimmer_WithCategoryName("Duplicator", 2, ref interactableCategories); } else { Trimmer_WithCategoryName("Duplicator", 4, ref interactableCategories); } } public static void SingleInteractable_Trimmer(DirectorCardCategorySelection interactableCategories) { Category[] categories = interactableCategories.categories; for (int i = 0; i < categories.Length; i++) { Trimmer_DesiredLength(ref categories[i].cards, 1); } Debug.Log((object)"Artifact of Kith: Generated Trimmed SingleInteractable selection"); if (!WConfig.DebugPrint.Value) { return; } string text = "-----------------\n"; text += "Artifact of Kith: Trimmed Interactable List\n"; for (int j = 0; j < interactableCategories.categories.Length - 1; j++) { ref Category reference = ref interactableCategories.categories[j]; for (int num = reference.cards.Length - 1; num >= 0; num--) { text += ((Object)reference.cards[num].spawnCard.prefab).name; text += "\n"; } } text += "-----------------"; Debug.Log((object)text); } 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 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>())); } 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 Kith_DoNotRepeatLunarEquipmentOnly(DirectorCard card) { return !Kith.blacklistedForRepeat.Contains(card.spawnCard); } public static bool NoMoreScrapper(DirectorCard card) { GameObject prefab = card.spawnCard.prefab; return !Object.op_Implicit((Object)(object)prefab.GetComponent<ScrapperController>()); } public static bool NoMorePrinters(DirectorCard card) { GameObject prefab = card.spawnCard.prefab; return !((Object)prefab).name.StartsWith("Duplicator"); } public static bool ArtifactWorldPredicate(DirectorCard card) { GameObject prefab = card.spawnCard.prefab; return !(((Object)prefab).name.Equals("DuplicatorWild") | Object.op_Implicit((Object)(object)prefab.GetComponent<OutsideInteractableLocker>()) | Object.op_Implicit((Object)(object)prefab.GetComponent<ShrineCombatBehavior>()) | Object.op_Implicit((Object)(object)prefab.GetComponent<ScrapperController>())); } public static bool RemoveInteractablesThatNeedTeleporter(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 void Mix_ApplyCardRemovingFilters(DirectorCardCategorySelection DCCSInput) { if (Object.op_Implicit((Object)(object)Run.instance) && ((Object)Run.instance).name.StartsWith("InfiniteTowerRun")) { DCCSInput.RemoveCardsThatFailFilter((Predicate<DirectorCard>)RemoveInteractablesThatNeedTeleporter); DCCSInput.RemoveCardsThatFailFilter((Predicate<DirectorCard>)SimulacrumTrimmer); } else if (Object.op_Implicit((Object)(object)SceneInfo.instance)) { if (SceneInfo.instance.sceneDef.baseSceneName == "artifactworld") { DCCSInput.RemoveCardsThatFailFilter((Predicate<DirectorCard>)RemoveInteractablesThatNeedTeleporter); DCCSInput.RemoveCardsThatFailFilter((Predicate<DirectorCard>)ArtifactWorldPredicate); } else if (SceneInfo.instance.sceneDef.baseSceneName == "voidstage") { DCCSInput.RemoveCardsThatFailFilter((Predicate<DirectorCard>)RemoveInteractablesThatNeedTeleporter); } } } 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 WanderDissim_LunarSeer { [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static hook_SetRunNextStageToTarget <>9__3_0; internal void <Start>b__3_0(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 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" }); } } } public static List<SceneDef> scenesSeerDestinations; public unsafe static void PopulateSeerList() { //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)Run.instance) || scenesSeerDestinations.Count > 13) { return; } for (int i = 0; i < scenesSeerDestinations.Count; i++) { if (Run.instance.CanPickStage(scenesSeerDestinations[i])) { scenesSeerDestinations.Remove(scenesSeerDestinations[i]); } } for (int j = 0; j < SceneCatalog.allStageSceneDefs.Length; j++) { if (ValidStageForSeer((SceneDef)Unsafe.Read<object>((void*)SceneCatalog.allStageSceneDefs[j]))) { scenesSeerDestinations.Add((SceneDef)Unsafe.Read<object>((void*)SceneCatalog.allStageSceneDefs[j])); } } } public static bool ValidStageForSeer(SceneDef sceneDef) { if (!Run.instance.CanPickStage(sceneDef)) { return false; } return sceneDef.hasAnyDestinations && sceneDef.validForRandomSelection; } public static void Start() { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Expected O, but got Unknown //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Expected O, but got Unknown //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Expected O, but got Unknown MakeSeerMaterials(); SeerStationController.OnStartClient += new hook_OnStartClient(SeerDestinationRandomizerDissimWander); SeerStationController.OnTargetSceneChanged += new hook_OnTargetSceneChanged(SeerStation_DestinationInName); object obj = <>c.<>9__3_0; if (obj == null) { hook_SetRunNextStageToTarget val = 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 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" }); } }; <>c.<>9__3_0 = val; obj = (object)val; } SeerStationController.SetRunNextStageToTarget += (hook_SetRunNextStageToTarget)obj; } private static void SeerStation_DestinationInName(orig_OnTargetSceneChanged orig, SeerStationController self, SceneDef targetScene) { orig.Invoke(self, targetScene); if ((Object)(object)targetScene != (Object)null) { string nameToken = targetScene.nameToken; nameToken = nameToken.Replace("Hidden Realm: ", ""); ((Component)self).gameObject.GetComponent<PurchaseInteraction>().contextToken = Language.GetString("BAZAAR_SEER_CONTEXT") + " of " + nameToken; ((Component)self).gameObject.GetComponent<PurchaseInteraction>().displayNameToken = Language.GetString("BAZAAR_SEER_NAME") + " (" + nameToken + ")"; } } public static void MakeSeerMaterials() { //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: 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_010c: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Unknown result type (might be due to invalid IL or missing references) //IL_0160: 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_0185: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_019a: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: Unknown result type (might be due to invalid IL or missing references) //IL_0304: Unknown result type (might be due to invalid IL or missing references) //IL_0467: Unknown result type (might be due to invalid IL or missing references) //IL_048e: Unknown result type (might be due to invalid IL or missing references) //IL_04b2: Unknown result type (might be due to invalid IL or missing references) //IL_04ea: Unknown result type (might be due to invalid IL or missing references) //IL_0525: Unknown result type (might be due to invalid IL or missing references) //IL_0560: Unknown result type (might be due to invalid IL or missing references) //IL_059b: Unknown result type (might be due to invalid IL or missing references) SceneDef val = LegacyResourcesAPI.Load<SceneDef>("scenedefs/golemplains"); SceneDef val2 = LegacyResourcesAPI.Load<SceneDef>("scenedefs/goolake"); SceneDef val3 = LegacyResourcesAPI.Load<SceneDef>("scenedefs/frozenwall"); SceneDef val4 = LegacyResourcesAPI.Load<SceneDef>("scenedefs/dampcavesimple"); SceneDef val5 = LegacyResourcesAPI.Load<SceneDef>("scenedefs/skymeadow"); SceneDef val6 = LegacyResourcesAPI.Load<SceneDef>("scenedefs/moon2"); SceneDef item = LegacyResourcesAPI.Load<SceneDef>("scenedefs/goldshores"); SceneDef val7 = LegacyResourcesAPI.Load<SceneDef>("scenedefs/arena"); SceneDef val8 = LegacyResourcesAPI.Load<SceneDef>("scenedefs/artifactworld"); SceneDef val9 = LegacyResourcesAPI.Load<SceneDef>("scenedefs/bazaar"); SceneDef val10 = LegacyResourcesAPI.Load<SceneDef>("scenedefs/limbo"); SceneDef val11 = LegacyResourcesAPI.Load<SceneDef>("scenedefs/mysteryspace"); SceneDef val12 = LegacyResourcesAPI.Load<SceneDef>("scenedefs/lobby"); SceneDef val13 = Addressables.LoadAssetAsync<SceneDef>((object)"RoR2/DLC1/itgolemplains/itgolemplains.asset").WaitForCompletion(); SceneDef val14 = Addressables.LoadAssetAsync<SceneDef>((object)"RoR2/DLC1/itgoolake/itgoolake.asset").WaitForCompletion(); SceneDef val15 = Addressables.LoadAssetAsync<SceneDef>((object)"RoR2/DLC1/itancientloft/itancientloft.asset").WaitForCompletion(); SceneDef val16 = Addressables.LoadAssetAsync<SceneDef>((object)"RoR2/DLC1/itfrozenwall/itfrozenwall.asset").WaitForCompletion(); SceneDef val17 = Addressables.LoadAssetAsync<SceneDef>((object)"RoR2/DLC1/itdampcave/itdampcave.asset").WaitForCompletion(); SceneDef val18 = Addressables.LoadAssetAsync<SceneDef>((object)"RoR2/DLC1/itskymeadow/itskymeadow.asset").WaitForCompletion(); SceneDef val19 = Addressables.LoadAssetAsync<SceneDef>((object)"RoR2/DLC1/itmoon/itmoon.asset").WaitForCompletion(); SceneDef val20 = Addressables.LoadAssetAsync<SceneDef>((object)"RoR2/DLC1/ancientloft/ancientloft.asset").WaitForCompletion(); SceneDef item2 = Addressables.LoadAssetAsync<SceneDef>((object)"RoR2/DLC1/voidstage/voidstage.asset").WaitForCompletion(); SceneDef val21 = Addressables.LoadAssetAsync<SceneDef>((object)"RoR2/DLC1/voidraid/voidraid.asset").WaitForCompletion(); SceneDef val22 = Addressables.LoadAssetAsync<SceneDef>((object)"RoR2/DLC2/meridian/meridian.asset").WaitForCompletion(); SceneDef val23 = Addressables.LoadAssetAsync<SceneDef>((object)"RoR2/DLC2/artifactworld01/artifactworld01.asset").WaitForCompletion(); SceneDef val24 = Addressables.LoadAssetAsync<SceneDef>((object)"RoR2/DLC2/artifactworld02/artifactworld02.asset").WaitForCompletion(); SceneDef val25 = Addressables.LoadAssetAsync<SceneDef>((object)"RoR2/DLC2/artifactworld03/artifactworld03.asset").WaitForCompletion(); scenesSeerDestinations = new List<SceneDef> { val23, val24, val25, val6, item, val7, val11, val8, item2, val22 }; Material val26 = Object.Instantiate<Material>(val.portalMaterial); Material val27 = Object.Instantiate<Material>(val.portalMaterial); Material val28 = Object.Instantiate<Material>(val.portalMaterial); Material val29 = Object.Instantiate<Material>(val.portalMaterial); Material val30 = Object.Instantiate<Material>(val.portalMaterial); Material val31 = Object.Instantiate<Material>(val.portalMaterial); Material val32 = Object.Instantiate<Material>(val.portalMaterial); Material val33 = Object.Instantiate<Material>(val.portalMaterial); Material val34 = Object.Instantiate<Material>(val2.portalMaterial); Material val35 = Object.Instantiate<Material>(val20.portalMaterial); Material val36 = Object.Instantiate<Material>(val3.portalMaterial); Material val37 = Object.Instantiate<Material>(val4.portalMaterial); Material val38 = Object.Instantiate<Material>(val5.portalMaterial); Material val39 = Object.Instantiate<Material>(val6.portalMaterial); val6.portalMaterial.SetFloat("_Boost", 1f); val6.portalMaterial.mainTextureScale = new Vector2(1f, 0.5f); val22.portalMaterial.SetFloat("_Boost", 1f); val26.mainTexture = val7.previewTexture; val7.portalMaterial = val26; val7.portalSelectionMessageString = "BAZAAR_SEER_ARENA"; val27.mainTexture = val8.previewTexture; val8.portalMaterial = val27; val23.portalSelectionMessageString = "BAZAAR_SEER_ARTIFACTWORLD"; val24.portalSelectionMessageString = "BAZAAR_SEER_ARTIFACTWORLD"; val25.portalSelectionMessageString = "BAZAAR_SEER_ARTIFACTWORLD"; val28.mainTexture = val9.previewTexture; val9.portalMaterial = val28; val9.portalSelectionMessageString = "BAZAAR_SEER_SHOP"; val29.mainTexture = val10.previewTexture; val10.portalMaterial = val29; val10.portalSelectionMessageString = "BAZAAR_SEER_LIMBO"; val30.mainTexture = val11.previewTexture; val11.portalMaterial = val30; val11.portalSelectionMessageString = "BAZAAR_SEER_MS"; val32.mainTexture = val21.previewTexture; val21.portalMaterial = val32; val21.portalSelectionMessageString = "BAZAAR_SEER_VOIDLING"; Color val40 = default(Color); ((Color)(ref val40))..ctor(0.15f, 0.15f, 1f, 1f); Color val41 = default(Color); ((Color)(ref val41))..ctor(0.5f, 0.5f, 1f, 1f); val33.SetColor("_TintColor", new Color(0.8f, 0.2f, 1f, 1f)); val13.portalMaterial = val33; val13.portalSelectionMessageString = "BAZAAR_SEER_GOLEMPLAINS"; val34.SetColor("_TintColor", val40); val14.portalMaterial = val34; val14.portalSelectionMessageString = "BAZAAR_SEER_GOOLAKE"; val35.SetColor("_TintColor", val40); val15.portalMaterial = val35; val15.portalSelectionMessageString = "BAZAAR_SEER_ANCIENTLOFT"; val36.SetColor("_TintColor", new Color(0.5f, 0.5f, 1f, 1f)); val16.portalMaterial = val36; val16.portalSelectionMessageString = "BAZAAR_SEER_FROZENWALL"; val37.SetColor("_TintColor", new Color(0f, 1.5f, 1.5f, 1f)); val17.portalMaterial = val37; val17.portalSelectionMessageString = "BAZAAR_SEER_DAMPCAVESIMPLE"; val38.SetColor("_TintColor", new Color(0.6f, 0.6f, 0.1f, 1f)); val18.portalMaterial = val38; val18.portalSelectionMessageString = "BAZAAR_SEER_SKYMEADOW"; val39.SetColor("_TintColor", new Color(0.5f, 0.2f, 0.7f, 1f)); val19.portalMaterial = val39; val19.portalSelectionMessageString = "BAZAAR_SEER_MOON"; } public static void SeerDestinationRandomizerDissimWander(orig_OnStartClient orig, SeerStationController self) { orig.Invoke(self); if (!RunArtifactManager.instance.IsArtifactEnabled(Main.Wander_Def) && (!RunArtifactManager.instance.IsArtifactEnabled(Main.Dissimilarity_Def) || !(SceneInfo.instance.sceneDef.baseSceneName != "bazaar"))) { return; } if (Object.op_Implicit((Object)(object)TeleporterInteraction.instance)) { self.explicitTargetSceneExitController = TeleporterInteraction.instance.sceneExitController; } if (Object.op_Implicit((Object)(object)((Component)Run.instance).GetComponent<InfiniteTowerRun>())) { int num = Run.instance.nextStageRng.RangeInt(0, Wander.InfiniteTowerSceneDefs.Length); self.SetTargetScene(Wander.InfiniteTowerSceneDefs[num]); } else { int index = Run.instance.nextStageRng.RangeInt(0, scenesSeerDestinations.Count); self.SetTargetScene(scenesSeerDestinations[index]); if (WConfig.DebugPrint.Value) { Debug.Log((object)("Lunar Seer going to " + ((object)scenesSeerDestinations[index])?.ToString() + " spawned")); } } ((Component)self).gameObject.GetComponent<PurchaseInteraction>().SetAvailable(true); } public static void WanderNoRepeatStages(orig_PickNextStageScene orig, Run self, WeightedSelection<SceneDef> choices) { orig.Invoke(self, choices); Debug.Log((object)"Wander : Pick next Stage"); if (Object.op_Implicit((Object)(object)Stage.instance) && (Object)(object)self.nextStageScene == (Object)(object)Stage.instance.sceneDef) { Debug.Log((object)"Wander : Preventing same stage twice in a row"); do { orig.Invoke(self, choices); } while ((Object)(object)self.nextStageScene == (Object)(object)Stage.instance.sceneDef); } if (Object.op_Implicit((Object)(object)self.nextStageScene.requiredExpansion) && !self.IsExpansionEnabled(self.nextStageScene.requiredExpansion)) { Debug.Log((object)"Wander : Preventing dlc stage without required dlc"); do { orig.Invoke(self, choices); } while (self.IsExpansionEnabled(self.nextStageScene.requiredExpansion)); } } } 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> Tier1EliteDefs = new List<EliteDef>(); private static List<EliteDef> Tier2EliteDefs = new List<EliteDef>(); public static List<EliteDef> forRandomization = new List<EliteDef>(); public static EliteDef chosenEliteDef; public static EliteTierDef[] backupNormalEliteTiers; private static int howManyTimesAddedTier2 = 1; public static void OnArtifactEnable() { SetupBrigade(); backupNormalEliteTiers = CombatDirector.eliteTiers; if (forRandomization.Count > 0 && Object.op_Implicit((Object)(object)SceneInfo.instance) && Object.op_Implicit((Object)(object)Run.instance)) { EliteKinAsMethod(); } Debug.Log((object)"Added Brigade"); SceneDirector.onPrePopulateSceneServer += SceneDirector_onPrePopulateSceneServer; } public static void OnArtifactDisable() { CombatDirector.eliteTiers = backupNormalEliteTiers; SceneDirector.onPrePopulateSceneServer -= SceneDirector_onPrePopulateSceneServer; Debug.Log((object)"UnBrigading"); Tier1EliteDefs.Clear(); Tier2EliteDefs.Clear(); forRandomization.Clear(); } private static void SceneDirector_onPrePopulateSceneServer(SceneDirector obj) { EliteKinAsMethod(); } public static void SetupBrigade() { Tier1EliteDefs = new List<EliteDef>(); Tier2EliteDefs = new List<EliteDef>(); forRandomization = new List<EliteDef>(); EliteTierDef[] eliteTiers = CombatDirector.eliteTiers; foreach (EliteTierDef val in eliteTiers) { if ((Object)(object)val.eliteTypes[0] == (Object)null || ((Object)val.eliteTypes[0]).name.EndsWith("Honor")) { continue; } EliteDef[] eliteTypes = val.eliteTypes; foreach (EliteDef val2 in eliteTypes) { if (!val2.IsAvailable()) { continue; } if (val2.healthBoostCoefficient > 8f) { if (!Tier2EliteDefs.Contains(val2)) { Tier2EliteDefs.Add(val2); } } else if (!Tier1EliteDefs.Contains(val2)) { Tier1EliteDefs.Add(val2); } } } Tier1EliteDefs.Remove(Elites.Lunar); if (Elites.Void.IsAvailable()) { Tier2EliteDefs.Add(Elites.Void); } howManyTimesAddedTier2 = 1; forRandomization.AddRange(Tier1EliteDefs); } public static void EliteKinAsMethod() { //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Unknown result type (might be due to invalid IL or missing references) //IL_017f: Expected I4, but got Unknown //IL_01eb: Unknown result type (might be due to invalid IL or missing references) //IL_01f2: Expected O, but got Unknown //IL_023f: Unknown result type (might be due to invalid IL or missing references) //IL_0246: Expected O, but got Unknown //IL_0294: Unknown result type (might be due to invalid IL or missing references) //IL_029b: Expected O, but got Unknown if (!NetworkServer.active) { return; } if (howManyTimesAddedTier2 <= Run.instance.NetworkstageClearCount / 5) { howManyTimesAddedTier2++; Debug.Log((object)"Add Tier 2 to Brigade"); forRandomization.AddRange(Tier2EliteDefs); forRandomization.AddRange(Tier2EliteDefs); } string baseSceneName = SceneInfo.instance.sceneDef.baseSceneName; if (baseSceneName == "moon2" || baseSceneName == "limbo") { chosenEliteDef = Elites.Lunar; } else if (baseSceneName == "voidstage" || baseSceneName == "voidraid") { chosenEliteDef = Elites.Void; } else { chosenEliteDef = forRandomization[Main.random.Next(forRandomization.Count)]; } int itemCountGlobal = Util.GetItemCountGlobal(Items.RandomlyLunar.itemIndex, false, false); if (itemCountGlobal > 0) { itemCountGlobal++; if (Run.instance.spawnRng.nextNormalizedFloat < 0.05f * (float)itemCountGlobal) { chosenEliteDef = Elites.Lunar; } } if (((Object)Run.instance).name.StartsWith("WeeklyRun")) { EquipmentIndex[] array = Array.Empty<EquipmentIndex>(); array = array.Add((EquipmentIndex)(int)chosenEliteDef.eliteEquipmentDef.equipmentIndex); Reflection.SetFieldValue<EquipmentIndex[]>((object)Run.instance, "bossAffixes", array); } Debug.Log((object)("Artifact of Brigade: This stages only Elite " + ((Object)chosenEliteDef).name)); EliteDef val = chosenEliteDef; float num = 5f; if (chosenEliteDef.healthBoostCoefficient > 10f) { num = 30f; } EliteTierDef[] array2 = (EliteTierDef[])(object)new EliteTierDef[3]; EliteTierDef val2 = new EliteTierDef(); val2.costMultiplier = 1f; val2.eliteTypes = (EliteDef[])(object)new EliteDef[1]; val2.canSelectWithoutAvailableEliteDef = true; val2.isAvailable = (EliteRules rules) => !CombatDirector.IsEliteOnlyArtifactActive(); array2[0] = val2; val2 = new EliteTierDef(); val2.costMultiplier = num; val2.eliteTypes = (EliteDef[])(object)new EliteDef[1] { val }; val2.isAvailable = (EliteRules rules) => !CombatDirector.IsEliteOnlyArtifactActive(); val2.canSelectWithoutAvailableEliteDef = false; array2[1] = val2; val2 = new EliteTierDef(); val2.costMultiplier = num * 1.25f; val2.eliteTypes = (EliteDef[])(object)new EliteDef[1] { val }; val2.isAvailable = (EliteRules rules) => CombatDirector.IsEliteOnlyArtifactActive(); val2.canSelectWithoutAvailableEliteDef = false; array2[2] = val2; CombatDirector.eliteTiers = array2; if (Object.op_Implicit((Object)(object)SceneInfo.instance) && Object.op_Implicit((Object)(object)ClassicStageInfo.instance)) { ((MonoBehaviour)SceneInfo.instance).StartCoroutine(DelayedBrigadeMessage(chosenEliteDef.modifierToken, 1.5f)); return; } Chat.SendBroadcastChat((ChatMessageBase)(object)new BrigadeMessage { eliteNameToken = chosenEliteDef.modifierToken }); } public static IEnumerator DelayedBrigadeMessage(string elite, float delay) { yield return (object)new WaitForSeconds(delay); Chat.SendBroadcastChat((ChatMessageBase)(object)new BrigadeMessage { eliteNameToken = elite }); } } public class Dissimilarity { public static readonly Random random = new Random(); 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 OnArtifactDisable() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown ClassicStageInfo.RebuildCards -= new hook_RebuildCards(ForceMixInteractables_ClassicStageInfo_RebuildCards); SceneDirector.onPrePopulateSceneServer -= LunarTeleporterEvery5Stages; } public static void OnArtifactEnable() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown ClassicStageInfo.RebuildCards += new hook_RebuildCards(ForceMixInteractables_ClassicStageInfo_RebuildCards); SceneDirector.onPrePopulateSceneServer += LunarTeleporterEvery5Stages; WanderDissim_LunarSeer.PopulateSeerList(); } private static void LunarTeleporterEvery5Stages(SceneDirector obj) { if (Run.instance.NetworkstageClearCount % Run.stagesPerLoop == Run.stagesPerLoop - 1) { obj.teleporterSpawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscLunarTeleporter"); } } private static void ForceMixInteractables_ClassicStageInfo_RebuildCards(orig_RebuildCards orig, ClassicStageInfo self, DirectorCardCategorySelection forcedMonsterCategory, DirectorCardCategorySelection forcedInteractableCategory) { MakeTrimmerMixInteractablesDCCS(); orig.Invoke(self, forcedInteractableCategory, TrimmedmixInteractablesCards); } public static void ModSupport() { //IL_01ff: 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_020d: Unknown result type (might be due to invalid IL or missing references) //IL_0216: Expected O, but got Unknown //IL_01b0: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Unknown result type (might be due to invalid IL or missing references) //IL_01be: Unknown result type (might be due to invalid IL or missing references) //IL_01c7: Expected O, but got Unknown //IL_0226: Unknown result type (might be due to invalid IL or missing references) //IL_022b: Unknown result type (might be due to invalid IL or missing references) //IL_0234: Unknown result type (might be due to invalid IL or missing references) //IL_023d: Expected O, but got Unknown //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Expected O, but got Unknown //IL_0185: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_019d: 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_0157: Expected O, but got Unknown //IL_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: Unknown result type (might be due to invalid IL or missing references) //IL_01ef: 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; } } } } 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_0190: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_01a0: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Unknown result type (might be due to invalid IL or missing references) //IL_01dd: Unknown result type (might be due to invalid IL or missing references) //IL_01e2: Unknown result type (might be due to invalid IL or missing references) //IL_01f2: Unknown result type (might be due to invalid IL or missing references) //IL_01ff: Expected O, but got Unknown //IL_01ff: 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_0214: Unknown result type (might be due to invalid IL or missing references) //IL_021e: Expected O, but got Unknown //IL_021e: Unknown result type (might be due to invalid IL or missing references) //IL_0223: Unknown result type (might be due to invalid IL or missing references) //IL_0233: Unknown result type (might be due to invalid IL or missing references) //IL_023d: Expected O, but got Unknown //IL_023d: Unknown result type (might be due to invalid IL or missing references) //IL_0242: Unknown result type (might be due to invalid IL or missing references) //IL_0252: Unknown result type (might be due to invalid IL or missing references) //IL_025c: Expected O, but got Unknown //IL_025c: Unknown result type (might be due to invalid IL or missing references) //IL_0261: Unknown result type (might be due to invalid IL or missing references) //IL_0271: Unknown result type (might be due to invalid IL or missing references) //IL_027b: Expected O, but got Unknown //IL_027b: Unknown result type (might be due to invalid IL or missing references) //IL_0280: Unknown result type (might be due to invalid IL or missing references) //IL_0290: Unknown result type (might be due to invalid IL or missing references) //IL_029a: Expected O, but got Unknown //IL_029a: Unknown result type (might be due to invalid IL or missing references) //IL_029f: Unknown result type (might be due to invalid IL or missing references) //IL_02af: Unknown result type (might be due to invalid IL or missing references) //IL_02b9: Expected O, but got Unknown //IL_02b9: Unknown result type (might be due to invalid IL or missing references) //IL_02be: Unknown result type (might be due to invalid IL or missing references) //IL_02ce: Unknown result type (might be due to invalid IL or missing references) //IL_02d8: Expected O, but got Unknown //IL_02d8: Unknown result type (might be due to invalid IL or missing references) //IL_02dd: Unknown result type (might be due to invalid IL or missing references) //IL_02ed: Unknown result type (might be due to invalid IL or missing references) //IL_02f7: Expected O, but got Unknown //IL_02f7: Unknown result type (might be due to invalid IL or missing references) //IL_02fc: Unknown result type (might be due to invalid IL or missing references) //IL_030c: Unknown result type (might be due to invalid IL or missing references) //IL_0316: Expected O, but got Unknown //IL_0316: Unknown result type (might be due to invalid IL or missing references) //IL_031b: Unknown result type (might be due to invalid IL or missing references) //IL_032b: Unknown result type (might be due to invalid IL or missing references) //IL_0335: Expected O, but got Unknown //IL_0335: Unknown result type (might be due to invalid IL or missing references) //IL_033a: Unknown result type (might be due to invalid IL or missing references) //IL_0340: Unknown result type (might be due to invalid IL or missing references) //IL_0345: Unknown result type (might be due to invalid IL or missing references) //IL_0353: Unknown result type (might be due to invalid IL or missing references) //IL_035d: Expected O, but got Unknown //IL_035d: Unknown result type (might be due to invalid IL or missing references) //IL_0362: Unknown result type (might be due to invalid IL or missing references) //IL_0368: Unknown result type (might be due to invalid IL or missing references) //IL_036d: 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_0385: Expected O, but got Unknown //IL_0385: Unknown result type (might be due to invalid IL or missing references) //IL_038a: Unknown result type (might be due to invalid IL or missing references) //IL_0390: Unknown result type (might be due to invalid IL or missing references) //IL_0395: Unknown result type (might be due to invalid IL or missing references) //IL_03a3: Unknown result type (might be due to invalid IL or missing references) //IL_03ad: Expected O, but got Unknown //IL_03ad: Unknown result type (might be due to invalid IL or missing references) //IL_03b2: Unknown result type (might be due to invalid IL or missing references) //IL_03b8: Unknown result type (might be due to invalid IL or missing references) //IL_03bd: Unknown result type (might be due to invalid IL or missing references) //IL_03cb: Unknown result type (might be due to invalid IL or missing references) //IL_03d5: Expected O, but got Unknown //IL_03d5: Unknown result type (might be due to invalid IL or missing references) //IL_03da: Unknown result type (might be due to invalid IL or missing references) //IL_03e0: Unknown result type (might be due to invalid IL or missing references) //IL_03e5: Unknown result type (might be due to invalid IL or missing references) //IL_03f3: Unknown result type (might be due to invalid IL or missing references) //IL_03fd: Expected O, but got Unknown //IL_03fd: Unknown result type (might be due to invalid IL or missing references) //IL_0402: Unknown result type (might be due to invalid IL or missing references) //IL_0412: Unknown result type (might be due to invalid IL or missing references) //IL_041c: Expected O, but got Unknown //IL_0421: Unknown result type (might be due to invalid IL or missing references) //IL_0426: Unknown result type (might be due to invalid IL or missing references) //IL_044b: Unknown result type (might be due to invalid IL or missing references) //IL_0450: Unknown result type (might be due to invalid IL or missing references) //IL_0458: Unknown result type (might be due to invalid IL or missing references) //IL_0462: Expected O, but got Unknown //IL_046b: Unknown result type (might be due to invalid IL or missing references) //IL_0470: Unknown result type (might be due to invalid IL or missing references) //IL_0480: Unknown result type (might be due to invalid IL or missing references) //IL_048a: Expected O, but got Unknown //IL_048a: Unknown result type (might be due to invalid IL or missing references) //IL_048f: Unknown result type (might be due to invalid IL or missing references) //IL_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_04a8: Unknown result type (might be due to invalid IL or missing references) //IL_04b2: Expected O, but got Unknown //IL_04b2: Unknown result type (might be due to invalid IL or missing references) //IL_04b7: Unknown result type (might be due to invalid IL or missing references) //IL_04c7: Unknown result type (might be due to invalid IL or missing references) //IL_04d0: Expected O, but got Unknown //IL_04d0: Unknown result type (might be due to invalid IL or missing references) //IL_04d5: Unknown result type (might be due to invalid IL or missing references) //IL_04e5: Unknown result type (might be due to invalid IL or missing references) //IL_04f2: Expected O, but got Unknown //IL_04f2: Unknown result type (might be due to invalid IL or missing references) //IL_04f7: Unknown result type (might be due to invalid IL or missing references) //IL_0507: Unknown result type (might be due to invalid IL or missing references) //IL_0514: Expected O, but got Unknown //IL_0514: Unknown result type (might be due to invalid IL or missing references) //IL_0519: Unknown result type (might be due to invalid IL or missing references) //IL_0529: Unknown result type (might be due to invalid IL or missing references) //IL_0536: Expected O, but got Unknown //IL_0536: Unknown result type (might be due to invalid IL or missing references) //IL_053b: Unknown result type (might be due to invalid IL or missing references) //IL_054b: Unknown result type (might be due to invalid IL or missing references) //IL_0558: Expected O, but got Unknown //IL_0558: Unknown result type (might be due to invalid IL or missing references) //IL_055d: Unknown result type (might be due to invalid IL or missing references) //IL_056d: Unknown result type (might be due to invalid IL or missing references) //IL_057a: Expected O, but got Unknown //IL_057a: Unknown result type (might be due to invalid IL or missing references) //IL_057f: Unknown result type (might be due to invalid IL or missing references) //IL_058f: Unknown result type (might be due to invalid IL or missing references) //IL_0599: Expected O, but got Unknown //IL_0599: Unknown result type (might be due to invalid IL or missing references) //IL_059e: Unknown result type (might be due to invalid IL or missing references) //IL_05ae: Unknown result type (might be due to invalid IL or missing references) //IL_05b8: Expected O, but got Unknown //IL_05b8: Unknown result type (might be due to invalid IL or missing references) //IL_05bd: Unknown result type (might be due to invalid IL or missing references) //IL_05c3: Unknown result type (might be due to invalid IL or missing references) //IL_05c8: Unknown result type (might be due to invalid IL or missing references) //IL_05d6: Unknown result type (might be due to invalid IL or missing references) //IL_05e0: Expected O, but got Unknown //IL_05e0: Unknown result type (might be due to invalid IL or missing references) //IL_05e5: Unknown result type (might be due to invalid IL or missing references) //IL_05f5: Unknown result type (might be due to invalid IL or missing references) //IL_05ff: Expected O, but got Unknown //IL_05ff: Unknown result type (might be due to invalid IL or missing references) //IL_0604: Unknown result type (might be due to invalid IL or missing references) //IL_0614: Unknown result type (might be due to invalid IL or missing references) //IL_061e: Expected O, but got Unknown //IL_061e: Unknown result type (might be due to invalid IL or missing references) //IL_0623: Unknown result type (might be due to invalid IL or missing references) //IL_0633: Unknown result type (might be due to invalid IL or missing references) //IL_063d: Expected O, but got Unknown //IL_063d: Unknown result type (might be due to invalid IL or missing references) //IL_0642: Unknown result type (might be due to invalid IL or missing references) //IL_0652: Unknown result type (might be due to invalid IL or missing references) //IL_065c: Expected O, but got Unknown //IL_065c: Unknown result type (might be due to invalid IL or missing references) //IL_0661: Unknown result type (might be due to invalid IL or missing references) //IL_0671: Unknown result type (might be due to invalid IL or missing references) //IL_067b: Expected O, but got Unknown //IL_067b: Unknown result type (might be due to invalid IL or missing references) //IL_0680: Unknown result type (might be due to invalid IL or missing references) //IL_0690: 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_0713: Expected O, but got Unknown //IL_0713: Unknown result type (might be due to invalid IL or missing references) //IL_0718: Unknown result type (might be due to invalid IL or missing references) //IL_0720: Unknown result type (might be due to invalid IL or missing references) //IL_072a: Expected O, but got Unknown //IL_072a: Unknown result type (might be due to invalid IL or missing references) //IL_072f: Unknown result type (might be due to invalid IL or missing references) //IL_073f: Unknown result type (might be due to invalid IL or missing references) //IL_0749: Expected O, but got Unknown //IL_0749: Unknown result type (might be due to invalid IL or missing references) //IL_074e: Unknown result type (might be due to invalid IL or missing references) //IL_0754: Unknown result type (might be due to invalid IL or missing references) //IL_0759: Unknown result type (might be due to invalid IL or missing references) //IL_0767: Unknown result type (might be due to invalid IL or missing references) //IL_0771: Expected O, but got Unknown //IL_0771: Unknown result type (might be due to invalid IL or missing references) //IL_0776: 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_0781: Unknown result type (might be due to invalid IL or missing references) //IL_078f: 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_07a0: Expected O, but got Unknown //IL_07a0: Unknown result type (might be due to invalid IL or missing references) //IL_07a5: 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_07c2: Expected O, but got Unknown //IL_07c2: Unknown result type (might be due to invalid IL or missing references) //IL_07c7: Unknown result type (might be due to invalid IL or missing references) //IL_07d7: Unknown result type (might be due to invalid IL or missing references) //IL_07e1: Expected O, but got Unknown //IL_07e1: Unknown result type (might be due to invalid IL or missing references) //IL_07e6: Unknown result type (might be due to invalid IL or missing references) //IL_07f6: Unknown result type (might be due to invalid IL or missing references) //IL_0800: Expected O, but got Unknown //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_0815: Unknown result type (might be due to invalid IL or missing references) //IL_081f: Expected O, but got Unknown //IL_081f: Unknown result type (might be due to invalid IL or missing references) //IL_0824: Unknown result type (might be due to invalid IL or missing references) //IL_0834: Unknown result type (might be due to invalid IL or missing references) //IL_083e: Expected O, but got Unknown //IL_083e: Unknown result type (might be due to invalid IL or missing references) //IL_0843: Unknown result type (might be due to invalid IL or missing references) //IL_084a: Unknown result type (might be due to invalid IL or missing references) //IL_0854: Expected O, but got Unknown //IL_0854: Unknown result type (might be due to invalid IL or missing references) //IL_0859: Unknown result type (might be due to invalid IL or missing references) //IL_0860: Unknown result type (might be due to invalid IL or missing references) //IL_086a: Expected O, but got Unknown //IL_086a: Unknown result type (might be due to invalid IL or missing references) //IL_086f: Unknown result type (might be due to invalid IL or missing references) //IL_0876: Unknown result type (might be due to invalid IL or missing references) //IL_0880: 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; InteractableSpawnCard val5 = ScriptableObject.CreateInstance<InteractableSpawnCard>(); ((Object)val5).name = "iscLunarSeer"; ((SpawnCard)val5).prefab = val4; ((SpawnCard)val5).sendOverNetwork = true; ((SpawnCard)val5).hullSize = (HullClassification)0; ((SpawnCard)val5).nodeGraphType = (GraphType)0; ((SpawnCard)val5).requiredFlags = (NodeFlags)0; ((SpawnCard)val5).forbiddenFlags = (NodeFlags)8; ((SpawnCard)val5).directorCreditCost = 1; ((SpawnCard)val5).occupyPosition = true; ((SpawnCard)val5).eliteRules = (EliteRules)0; val5.orientToFloor = true; val5.slightlyRandomizeOrientation = false; val5.skipSpawnWhenSacrificeArtifactEnabled = false; DirectorCard val6 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscChest1"), selectionWeight = 240 }; DirectorCard val7 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscChest2"), selectionWeight = 40 }; DirectorCard val8 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscEquipmentBarrel"), selectionWeight = 20 }; DirectorCard val9 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscTripleShop"), selectionWeight = 40 }; DirectorCard val10 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscLunarChest"), selectionWeight = 15 }; DirectorCard val11 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscCategoryChestDamage"), selectionWeight = 25 }; DirectorCard val12 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscCategoryChestHealing"), selectionWeight = 25 }; DirectorCard val13 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscCategoryChestUtility"), selectionWeight = 25 }; DirectorCard val14 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscTripleShopLarge"), selectionWeight = 40 }; DirectorCard val15 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscCasinoChest"), selectionWeight = 40 }; DirectorCard val16 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscTripleShopEquipment"), selectionWeight = 20 }; DirectorCard val17 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC1/CategoryChest2/iscCategoryChest2Damage.asset").WaitForCompletion(), selectionWeight = 20 }; DirectorCard val18 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC1/CategoryChest2/iscCategoryChest2Healing.asset").WaitForCompletion(), selectionWeight = 20 }; DirectorCard val19 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC1/CategoryChest2/iscCategoryChest2Utility.asset").WaitForCompletion(), selectionWeight = 20 }; DirectorCard val20 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC1/VoidChest/iscVoidChest.asset").WaitForCompletion(), selectionWeight = 40 }; DirectorCard val21 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC1/VoidTriple/iscVoidTriple.asset").WaitForCompletion(), selectionWeight = 20 }; DirectorCard val22 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBarrel1"), selectionWeight = 100 }; InteractableSpawnCard val23 = Object.Instantiate<InteractableSpawnCard>(Addressables.LoadAssetAsync<InteractableSpawnCard>((object)"RoR2/DLC1/VoidCoinBarrel/iscVoidCoinBarrel.asset").WaitForCompletion()); ((Object)val23).name = "iscVoidCoinBarrelLowPrice"; ((SpawnCard)val23).directorCreditCost = 2; DirectorCard val24 = new DirectorCard { spawnCard = (SpawnCard)(object)val23, selectionWeight = 50 }; val24.spawnCard = (SpawnCard)(object)val23; DirectorCard val25 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscScrapper"), selectionWeight = 15 }; DirectorCard val26 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC1/VoidCamp/iscVoidCamp.asset").WaitForCompletion(), selectionWeight = 25 }; DirectorCard val27 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBarrel1"), selectionWeight = 1 }; DirectorCard val28 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscShrineCombat"), selectionWeight = 250 }; DirectorCard val29 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscShrineBoss"), selectionWeight = 250 }; DirectorCard val30 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscShrineChance"), selectionWeight = 400 }; DirectorCard val31 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscShrineBlood"), selectionWeight = 200 }; DirectorCard val32 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscShrineHealing"), selectionWeight = 200 }; DirectorCard val33 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscShrineRestack"), selectionWeight = 50 }; DirectorCard val34 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscShrineCleanse"), selectionWeight = 100 }; DirectorCard val35 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC2/iscShrineColossusAccess.asset").WaitForCompletion(), selectionWeight = 50 }; DirectorCard val36 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBrokenDrone1"), selectionWeight = 21 }; DirectorCard val37 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBrokenDrone2"), selectionWeight = 21 }; DirectorCard val38 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBrokenEmergencyDrone"), selectionWeight = 14 }; DirectorCard val39 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBrokenEquipmentDrone"), selectionWeight = 14 }; DirectorCard val40 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBrokenFlameDrone"), selectionWeight = 14 }; DirectorCard val41 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBrokenMegaDrone"), selectionWeight = 3 }; DirectorCard val42 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBrokenMissileDrone"), selectionWeight = 14 }; DirectorCard val43 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBrokenTurret1"), selectionWeight = 14 }; DirectorCard val44 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscGoldChest"), selectionWeight = 6 }; DirectorCard val45 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscShrineGoldshoresAccess"), selectionWeight = 5 }; DirectorCard val46 = new DirectorCard { spawnCard = (SpawnCard)(object)val5, selectionWeight = 17 }; DirectorCard val47 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscChest1Stealthed"), selectionWeight = 13 }; DirectorCard val48 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC1/VoidSuppressor/iscVoidSuppressor.asset").WaitForCompletion(), selectionWeight = 23 }; DirectorCard val49 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC2/iscShrineHalcyonite.asset").WaitForCompletion(), selectionWeight = 23, minimumStageCompletions = 1 }; DirectorCard val50 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscDuplicator"), selectionWeight = 300 }; DirectorCard val51 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscDuplicatorLarge"), selectionWeight = 80 }; DirectorCard val52 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscDuplicatorMilitary"), selectionWeight = 30 }; DirectorCard val53 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscDuplicatorWild"), selectionWeight = 30 }; DirectorCard val54 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscScrapper"), selectionWeight = 120 }; DirectorCard val55 = new DirectorCard { spawnCard = (SpawnCard)(object)val, selectionWeight = 75 }; DirectorCard val56 = new DirectorCard { spawnCard = (SpawnCard)(object)val2, selectionWeight = 45 }; DirectorCard val57 = 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, val6); mixInteractablesCards.AddCard(0, val7); mixInteractablesCards.AddCard(0, val11); mixInteractablesCards.AddCard(0, val12); mixInteractablesCards.AddCard(0, val13); mixInteractablesCards.AddCard(0, val8); mixInteractablesCards.AddCard(0, val10); mixInteractablesCards.AddCard(0, val9); mixInteractablesCards.AddCard(0, val14); mixInteractablesCards.AddCard(0, val16); mixInteractablesCards.AddCard(0, val15); mixInteractablesCards.AddCard(0, val17); mixInteractablesCards.AddCard(0, val18); mixInteractablesCards.AddCard(0, val19); mixInteractablesCards.AddCard(0, val20); mixInteractablesCards.AddCard(0, val21); mixInteractablesCards.AddCard(1, val22); mixInteractablesCards.AddCard(1, val24); mixInteractablesCards.AddCard(1, val25); mixInteractablesCards.AddCard(1, val26); mixInteractablesCards.AddCard(2, val31); mixInteractablesCards.AddCard(2, val29); mixInteractablesCards.AddCard(2, val29); mixInteractablesCards.AddCard(2, val30); mixInteractablesCards.AddCard(2, val34); mixInteractablesCards.AddCard(2, val28); mixInteractablesCards.AddCard(2, val32); mixInteractablesCards.AddCard(2, val33); mixInteractablesCards.AddCard(2, val35); mixInteractablesCards.AddCard(3, val36); mixInteractablesCards.AddCard(3, 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(5, val47); mixInteractablesCards.AddCard(5, val44); mixInteractablesCards.AddCard(5, val45); mixInteractablesCards.AddCard(5, val48); mixInteractablesCards.AddCard(5, val46); mixInteractablesCards.AddCard(5, val49); mixInteractablesCards.AddCard(6, val54); mixInteractablesCards.AddCard(6, val50); mixInteractablesCards.AddCard(6, val51); mixInteractablesCards.AddCard(6, val52); mixInteractablesCards.AddCard(6, val53); mixInteractablesCards.AddCard(6, val55); mixInteractablesCards.AddCard(6, val56); mixInteractablesCards.AddCard(6, val57); } public static void MakeTrimmerMixInteractablesDCCS() { //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_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_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Expected O, but got Unknown if (Object.op_Implicit((Object)(object)Run.instance)) { if (ClassicStageInfo.instance.sceneDirectorInteractibleCredits != 0) { ClassicStageInfo instance = ClassicStageInfo.instance; instance.sceneDirectorInteractibleCredits += 4; } TrimmedmixInteractablesCards.Clear(); TrimmedmixInteractablesCards.CopyFrom(mixInteractablesCards); TrimmedmixInteractablesCards.categories[2].selectionWeight = random.Next(7, 13); TrimmedmixInteractablesCards.categories[3].selectionWeight = random.Next(3, 15); Filters.Mix_ApplyCardRemovingFilters(TrimmedmixInteractablesCards); Filters.MixInteractables_Trimmer_Direct(TrimmedmixInteractablesCards); Filters.ApplySandSnow(TrimmedmixInteractablesCards); if (Object.op_Implicit((Object)(object)Run.instance) && Run.instance.stageClearCount == 0) { DirectorCard val = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC2/iscShrineHalcyoniteTier1.asset").WaitForCompletion(), selectionWeight = 200 }; TrimmedmixInteractablesCards.AddCard(2, val); } } } } public class Kith { public static readonly Random random = new Random(); public static SpawnCard KithNoRepeat; public static DirectorCardCategorySelection tempSaftey; public static DirectorCardCategorySelection dccsSingleInteractable = ScriptableObject.CreateInstance<DirectorCardCategorySelection>(); public static List<SpawnCard> blacklistedForRepeat = new List<SpawnCard>(); public static void Start() { ((Object)dccsSingleInteractable).name = "dccsSingleInteractable"; } public static void OnArtifactEnable() { SceneDirector.onGenerateInteractableCardSelection += ModifyCards; if (blacklistedForRepeat.Count == 0) { blacklistedForRepeat.Add((SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscEquipmentBarrel")); blacklistedForRepeat.Add((SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscTripleShopEquipment")); blacklistedForRepeat.Add((SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscLunarChest")); } KithNoRepeat = null; } public static void OnArtifactDisable() { SceneDirector.onGenerateInteractableCardSelection -= ModifyCards; } private static void ModifyCards(SceneDirector self, DirectorCardCategorySelection dccs) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Expected O, but got Unknown DirectorCardCategorySelection.GenerateDirectorCardWeightedSelection += new hook_GenerateDirectorCardWeightedSelection(Handle_SingleInteractable); if (self.interactableCredit != 0) { self.interactableCredit += 15; } dccs.RemoveCardsThatFailFilter((Predicate<DirectorCard>)Filters.NoMoreRadioTower); if ((Object)(object)KithNoRepeat != (Object)null && blacklistedForRepeat.Contains(KithNoRepeat)) { dccs.RemoveCardsThatFailFilter((Predicate<DirectorCard>)Filters.Kith_DoNotRepeatLunarEquipmentOnly); } else if (Object.op_Implicit((Object)(object)Run.instance) && Run.instance.stageClearCount == 0) { dccs.RemoveCardsThatFailFilter((Predicate<DirectorCard>)Filters.Kith_DoNotRepeatLunarEquipmentOnly); } DirectorCard val = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBarrel1"), selectionWeight = 1 }; int num = dccs.AddCategory("SafeteyBarrel", 0.1f); dccs.AddCard(num, val); tempSaftey = dccs; dccsSingleInteractable.CopyFrom(dccs); if (dccsSingleInteractable.categories[0].cards.Length != 0) { KithNoRepeat = dccsSingleInteractable.categories[0].cards[0].spawnCard; } } private static WeightedSelection<DirectorCard> Handle_SingleInteractable(orig_GenerateDirectorCardWeightedSelection orig, DirectorCardCategorySelection self) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown DirectorCardCategorySelection.GenerateDirectorCardWeightedSelection -= new hook_GenerateDirectorCardWeightedSelection(Handle_SingleInteractable); if ((Object)(object)self == (Object)(object)tempSaftey) { Filters.SingleInteractable_Trimmer(self); if (WConfig.KithNoMinimumStageCompletion.Value) { self.RemoveCardsThatFailFilter((Predicate<DirectorCard>)Filters.RemoveMinimumStageCompletionTrimmer); } } return orig.Invoke(self); } } public class Obscurity { public static Sprite BlindT1; public static Sprite BlindT2; public static Sprite BlindT3; public static Sprite BlindBoss; public static Sprite BlindLunar; public static Sprite BlindVoid; public static Sprite BlindEquipment; public static Sprite BlindMod; public static void Start() { //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_0169: 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_01b4: Unknown result type (might be due to invalid IL or missing references) //IL_01f0: Unknown result type (might be due to invalid IL or missing references) //IL_01ff: Unknown result type (might be due to invalid IL or missing references) //IL_023b: Unknown result type (might be due to invalid IL or missing references) //IL_024a: Unknown result type (might be due to invalid IL or missing references) Texture2D val = Assets.Bundle.LoadAsset<Texture2D>("Assets/Artifacts/Blind/BlindT1.png"); ((Texture)val).wrapMode = (TextureWrapMode)1; BlindT1 = Sprite.Create(val, new Rect(0f, 0f, 128f, 128f), new Vector2(0.5f, 0.5f)); val = Assets.Bundle.LoadAsset<Texture2D>("Assets/Artifacts/Blind/BlindT2.png"); ((Texture)val).wrapMode = (TextureWrapMode)1; BlindT2 = Sprite.Create(val, new Rect(0f, 0f, 128f, 128f), new Vector2(0.5f, 0.5f)); val = Assets.Bundle.LoadAsset<Texture2D>("Assets/Artifacts/Blind/BlindT3.png"); ((Texture)val).wrapMode = (TextureWrapMode)1; BlindT3 = Sprite.Create(val, new Rect(0f, 0f, 128f, 128f), new Vector2(0.5f, 0.5f)); val = Assets.Bundle.LoadAsset<Texture2D>("Assets/Artifacts/Blind/BlindBoss.png"); ((Texture)val).wrapMode = (TextureWrapMode)1; BlindBoss = Sprite.Create(val, new Rect(0f, 0f, 128f, 128f), new Vector2(0.5f, 0.5f)); val = Assets.Bundle.LoadAsset<Texture2D>("Assets/Artifacts/Blind/BlindLunar.png"); ((Texture)val).wrapMode = (TextureWrapMode)1; BlindLunar = Sprite.Create(val, new Rect(0f, 0f, 128f, 128f), new Vector2(0.5f, 0.5f)); val = Assets.Bundle.LoadAsset<Texture2D>("Assets/Artifacts/Blind/BlindVoid.png"); ((Texture)val).wrapMode = (TextureWrapMode)1; BlindVoid = Sprite.Create(val, new Rect(0f, 0f, 128f, 128f), new Vector2(0.5f, 0.5f)); val = Assets.Bundle.LoadAsset<Texture2D>("Assets/Artifacts/Blind/BlindEq.png"); ((Texture)val).wrapMode = (TextureWrapMode)1; BlindEquipment = Sprite.Create(val, new Rect(0f, 0f, 128f, 128f), new Vector2(0.5f, 0.5f)); val = Assets.Bundle.LoadAsset<Texture2D>("Assets/Artifacts/Blind/BlindMod.png"); ((Texture)val).wrapMode = (TextureWrapMode)1; BlindMod = Sprite.Create(val, new Rect(0f, 0f, 128f, 128f), new Vector2(0.5f, 0.5f)); } public static void OnArtifactEnable() { //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 PickupDisplay.RebuildModel += new hook_RebuildModel(Hide_PickupOverworld); GenericPickupController.GetDisplayName += new hook_GetDisplayName(Hide_GetDisplayName); PlayerPickupChatMessage.ConstructChatString += new hook_ConstructChatString(Hide_PickupChatMessage); PingIndicator.RebuildPing += new Manipulator(Hide_PingChat); CharacterModel.UpdateItemDisplay += new hook_UpdateItemDisplay(Hide_PickupDisplays); ItemIcon.SetItemIndex += new hook_SetItemIndex(Hide_ItemIcon); EquipmentIcon.SetDisplayData += new hook_SetDisplayData(Hide_EquipmentIcon); } public static void OnArtifactDisable() { } private static void Hide_PickupDisplays(orig_UpdateItemDisplay orig, CharacterModel self, Inventory inventory) { } private static void Hide_PingChat(ILContext il) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown ILCursor val = new ILCursor(il); if (val.TryGotoNext((MoveType)0, new Func<Instruction, bool>[1] { (Instruction x) => ILPatternMatchingExt.MatchCallvirt(x, "RoR2.ShopTerminalBehavior", "get_pickupIndexIsHidden") })) { val.TryGotoNext((MoveType)2, new Func<Instruction, bool>[1] { (Instruction x) => ILPatternMatchingExt.MatchLdfld(x, "RoR2.PickupDef", "nameToken") }); val.EmitDelegate<Func<string, string>>((Func<string, string>)((string damageInfo) => "SHOP_ITEM_MYSTERY_TITLE")); } else { Debug.LogWarning((object)"IL Failed: Hide_PingChat"); } } private static string Hide_GetDisplayName(orig_GetDisplayName orig, GenericPickupController self) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) string @string = Language.GetString("SHOP_ITEM_MYSTERY_TITLE"); PickupDef pickupDef = PickupCatalog.GetPickupDef(self.pickupIndex); if (pickupDef != null) { string text = ColorUtility.ToHtmlStringRGB(pickupDef.baseColor); return "<color=#" + text + ">" + @string + "</color>"; } return @string; } private static string Hide_PickupChatMessage(orig_ConstructChatString orig, PlayerPickupChatMessage self) { self.pickupToken = "SHOP_ITEM_MYSTERY_TITLE"; return orig.Invoke(self); } private static void Hide_EquipmentIcon(orig_SetDisplayData orig, EquipmentIcon self, ValueType newDisplayData) { orig.Invoke(self, newDisplayData); if (Object.op_Implicit((Object)(object)self.iconImage) && (Object)(object)self.iconImage != (Object)null) { self.iconImage.texture = (Texture)(object)BlindEquipment.texture; if (Object.op_Implicit((Object)(object)self.tooltipProvider)) { self.tooltipProvider.titleToken = "SHOP_ITEM_MYSTERY_TITLE"; self.tooltipProvider.bodyToken = "INSPECT_INFO_MISSING_DESCRIPTION"; } } } private static void Hide_ItemIcon(orig_SetItemIndex orig, ItemIcon self, ItemIndex newItemIndex, int newItemCount) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_002b: 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_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Expected I4, but got Unknown orig.Invoke(self, newItemIndex, newItemCount); self.tooltipProvider.titleToken = "SHOP_ITEM_MYSTERY_TITLE"; self.tooltipProvider.bodyToken = "INSPECT_INFO_MISSING_DESCRIPTION"; ItemDef itemDef = ItemCatalog.GetItemDef(newItemIndex); ItemTier tier = itemDef.tier; ItemTier val = tier; switch ((int)val) { case 5: break; case 0: self.image.texture = (Texture)(object)BlindT1.texture; break; case 1: self.image.texture = (Texture)(object)BlindT2.texture; break; case 2: self.image.texture = (Texture)(object)BlindT3.texture; break; case 4: self.image.texture = (Texture)(object)BlindBoss.texture; break; case 3: self.image.texture = (Texture)(object)BlindLunar.texture; break; case 6: case 7: case 8: case 9: self.image.texture = (Texture)(object)BlindVoid.texture; break; default: self.image.texture = (Texture)(object)BlindMod.texture; break; } } private static void Hide_PickupOverworld(orig_RebuildModel orig, PickupDisplay self, GameObject modelObjectOverride) { self.hidden = true; orig.Invoke(self, modelObjectOverride); } } public class Remodeling { public static readonly Random random = new Random(); public static List<List<PickupIndex>> itemPickupLists; public static List<List<PickupIndex>> equipmentPickupLists; public static void OnArtifactEnable() { if (NetworkServer.active) { MakePickupIndexLists(); SceneDirector.onPrePopulateSceneServer += RandomizeOnStageStart; SceneDirector.onGenerateInteractableCardSelection += RemoveInteractables_Remodeling; } Debug.Log((object)"Added Remodeling"); } public static void OnArtifactDisable() { if (NetworkServer.active) { SceneDirector.onPrePopulateSceneServer -= RandomizeOnStageStart; SceneDirector.onGenerateInteractableCardSelection -= RemoveInteractables_Remodeling; } itemPickupLists = null; equipmentPickupLists = null; } private static void RemoveInteractables_Remodeling(SceneDirector sceneDirector, DirectorCardCategorySelection dccs) { dccs.RemoveCardsThatFailFilter((Predicate<DirectorCard>)Filters.NoMorePrinters); } public static void MakePickupIndexLists() { //IL_0191: 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_01b1: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01d1: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Unknown result type (might be due to invalid IL or missing references) //IL_01f1: Unknown result type (might be due to invalid IL or missing references) //IL_01f6: Unknown result type (might be due to invalid IL or missing references) //IL_0211: Unknown result type (might be due to invalid IL or missing references) //IL_0216: Unknown result type (might be due to invalid IL or missing references) //IL_0231: Unknown result type (might be due to invalid IL or missing references) //IL_0236: Unknown result type (might be due to invalid IL or missing references) //IL_0251: Unknown result type (might be due to invalid IL or missing references) //IL_0256: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)Run.instance)) { Run.instance.BuildDropTable(); int num = ItemTierCatalog.itemTierDefs.Length + 1; itemPickupLists = new List<List<PickupIndex>>(num); equipmentPickupLists = new List<List<PickupIndex>>(3); for (int i = 0; i < num; i++) { itemPickupLists.Add(new List<PickupIndex>()); } for (int j = 0; j < 3; j++) { equipmentPickupLists.Add(new List<PickupIndex>()); } itemPickupLists[0].AddRange(Run.instance.availableTier1DropList); itemPickupLists[1].AddRange(Run.instance.availableTier2DropList); itemPickupLists[2].AddRange(Run.instance.availableTier3DropList); itemPickupLists[3].AddRange(Run.instance.availableLunarItemDropList); itemPickupLists[4].AddRange(Run.instance.availableBossDropList); itemPickupLists[6].AddRange(Run.instance.availableVoidTier1DropList); itemPickupLists[7].AddRange(Run.instance.availableVoidTier2DropList); itemPickupLists[8].AddRange(Run.instance.availableVoidTier3DropList); itemPickupLists[9].AddRange(Run.instance.availableVoidBossDropList); itemPickupLists[3].Remove(PickupCatalog.FindPickupIndex(Items.LunarPrimaryReplacement.itemIndex)); itemPickupLists[3].Remove(PickupCatalog.FindPickupIndex(Items.LunarSecondaryReplacement.itemIndex)); itemPickupLists[3].Remove(PickupCatalog.FindPickupIndex(Items.LunarUtilityReplacement.itemIndex)); itemPickupLists[3].Remove(PickupCatalog.FindPickupIndex(Items.LunarSpecialReplacement.itemIndex)); itemPickupLists[3].Remove(PickupCatalog.FindPickupIndex(Items.LunarTrinket.itemIndex)); itemPickupLists[4].Add(PickupCatalog.FindPickupIndex(Items.Pearl.itemIndex)); itemPickupLists[4].Add(PickupCatalog.FindPickupIndex(Items.ShinyPearl.itemIndex)); equipmentPickupLists[0].AddRange(Run.instance.availableEquipmentDropList); equipmentPickupLists[1].AddRange(Run.instance.availableLunarEquipmentDropList); equipmentPickupLists[2].AddRange(PickupTransmutationManager.e