Decompiled source of VanillaArtifactsPlus v3.2.0
FixedspawnDissonance.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 HG; using IL.RoR2; using IL.RoR2.Artifacts; using Microsoft.CodeAnalysis; using Mono.Cecil.Cil; using MonoMod.Cil; using On; using On.RoR2; using On.RoR2.Artifacts; using On.RoR2.CharacterAI; using On.RoR2.UI; using R2API; using R2API.Utils; using RiskOfOptions; using RiskOfOptions.OptionConfigs; using RiskOfOptions.Options; using RoR2; using RoR2.Artifacts; using RoR2.CharacterAI; using RoR2.Items; using RoR2.Navigation; using RoR2.Projectile; using RoR2.UI; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Networking; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("FixedspawnDissonance")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+0d90aed3a1c8094afc08355a6d7e95e89d254356")] [assembly: AssemblyProduct("FixedspawnDissonance")] [assembly: AssemblyTitle("FixedspawnDissonance")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace FixedspawnDissonance { public class Command { [CompilerGenerated] private static class <>O { public static hook_SetOptionsInternal <0>__AddVoidParticlesToCommand; public static hook_RebuildPickupGroups <1>__AddEliteEquipmentsToCommand; public static hook_IsEquipmentAvailable <2>__Make_EliteEquipmentAvailable; } public static void OnArtifactDisable() { } public static void OnArtifactEnable() { } public static void Start() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Expected O, but got Unknown //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown object obj = <>O.<0>__AddVoidParticlesToCommand; if (obj == null) { hook_SetOptionsInternal val = AddVoidParticlesToCommand; <>O.<0>__AddVoidParticlesToCommand = val; obj = (object)val; } PickupPickerController.SetOptionsInternal += (hook_SetOptionsInternal)obj; object obj2 = <>O.<1>__AddEliteEquipmentsToCommand; if (obj2 == null) { hook_RebuildPickupGroups val2 = AddEliteEquipmentsToCommand; <>O.<1>__AddEliteEquipmentsToCommand = val2; obj2 = (object)val2; } PickupTransmutationManager.RebuildPickupGroups += (hook_RebuildPickupGroups)obj2; object obj3 = <>O.<2>__Make_EliteEquipmentAvailable; if (obj3 == null) { hook_IsEquipmentAvailable val3 = Make_EliteEquipmentAvailable; <>O.<2>__Make_EliteEquipmentAvailable = val3; obj3 = (object)val3; } Run.IsEquipmentAvailable += (hook_IsEquipmentAvailable)obj3; } private static void AddVoidParticlesToCommand(orig_SetOptionsInternal orig, PickupPickerController self, Option[] newOptions) { //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Invalid comparison between Unknown and I4 //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Invalid comparison between Unknown and I4 //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) if (((Object)self).name.StartsWith("Command")) { PickupIndexNetworker component = ((Component)self).GetComponent<PickupIndexNetworker>(); if ((Object)(object)component != (Object)null && Object.op_Implicit((Object)(object)component.pickupDisplay)) { PickupDef pickupDef = ((PickupIndex)(ref component.pickupIndex)).pickupDef; if ((int)pickupDef.itemTier >= 6 && (int)pickupDef.itemTier <= 9) { ((Component)self).gameObject.GetComponent<GenericDisplayNameProvider>().displayToken = "ARTIFACT_COMMAND_CUBE_PINK_NAME"; if (!Object.op_Implicit((Object)(object)component.pickupDisplay.voidParticleEffect)) { GameObject val = Object.Instantiate<GameObject>(LegacyResourcesAPI.Load<GameObject>("Prefabs/NetworkedObjects/GenericPickup").GetComponent<GenericPickupController>().pickupDisplay.voidParticleEffect, ((Component)self).transform.GetChild(0)); val.SetActive(true); GameObject val2 = Object.Instantiate<GameObject>(((Component)component.pickupDisplay.tier2ParticleEffect.transform.GetChild(2)).gameObject, val.transform); val2.GetComponent<ParticleSystem>().startColor = Color32.op_Implicit(ColorCatalog.GetColor((ColorIndex)25)); component.pickupDisplay.voidParticleEffect = val; } } } } orig.Invoke(self, newOptions); } private static bool Make_EliteEquipmentAvailable(orig_IsEquipmentAvailable orig, Run self, EquipmentIndex equipmentIndex) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) EquipmentDef equipmentDef = EquipmentCatalog.GetEquipmentDef(equipmentIndex); if (Object.op_Implicit((Object)(object)equipmentDef) && Object.op_Implicit((Object)(object)equipmentDef.passiveBuffDef)) { return !self.IsEquipmentExpansionLocked(equipmentIndex); } return orig.Invoke(self, equipmentIndex); } private static void AddEliteEquipmentsToCommand(orig_RebuildPickupGroups orig) { for (int i = 0; i < EliteCatalog.eliteDefs.Length; i++) { EliteDef val = EliteCatalog.eliteDefs[i]; EquipmentDef eliteEquipmentDef = val.eliteEquipmentDef; if ((Object)(object)eliteEquipmentDef != (Object)null && !((Object)val).name.EndsWith("Gold") && eliteEquipmentDef.dropOnDeathChance > 0f) { eliteEquipmentDef.canDrop = true; eliteEquipmentDef.isBoss = true; eliteEquipmentDef.isLunar = false; } } orig.Invoke(); for (int j = 0; j < EliteCatalog.eliteDefs.Length; j++) { EliteDef val2 = EliteCatalog.eliteDefs[j]; EquipmentDef eliteEquipmentDef2 = val2.eliteEquipmentDef; if ((Object)(object)eliteEquipmentDef2 != (Object)null && eliteEquipmentDef2.dropOnDeathChance > 0f) { eliteEquipmentDef2.canDrop = false; } } } } public class Devotion { [CompilerGenerated] private static class <>O { public static hook_OnDevotionArtifactEnabled <0>__FixMissingEliteTypes; public static hook_OnDevotionArtifactDisabled <1>__Fix_EliteListBeingBlank; public static hook_CreateItemTakenOrb <2>__Fix_NullrefWhenOrb; public static hook_Rebuild <3>__AddLemurianInventory; public static hook_UpdateAllMinions <4>__FixEvoltionBeing1Behind; public static Manipulator <5>__FixOneBehindRemoveItemHere; public static hook_SetOptionsFromInteractor <6>__VoidForLemurians; public static hook_DropScrapOnDeath <7>__ScrapForVoids; public static hook_HealthComponentToTransform <8>__FixTwisteds_NotWorkingOnPlayers; public static hook_Start <9>__DevotedLemurianController_Start; } public static void Start() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Expected O, but got Unknown //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Expected O, but got Unknown //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: 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_00c1: Expected O, but got Unknown //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Expected O, but got Unknown //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Expected O, but got Unknown //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_016c: Expected O, but got Unknown //IL_0182: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Expected O, but got Unknown object obj = <>O.<0>__FixMissingEliteTypes; if (obj == null) { hook_OnDevotionArtifactEnabled val = FixMissingEliteTypes; <>O.<0>__FixMissingEliteTypes = val; obj = (object)val; } DevotionInventoryController.OnDevotionArtifactEnabled += (hook_OnDevotionArtifactEnabled)obj; object obj2 = <>O.<1>__Fix_EliteListBeingBlank; if (obj2 == null) { hook_OnDevotionArtifactDisabled val2 = Fix_EliteListBeingBlank; <>O.<1>__Fix_EliteListBeingBlank = val2; obj2 = (object)val2; } DevotionInventoryController.OnDevotionArtifactDisabled += (hook_OnDevotionArtifactDisabled)obj2; object obj3 = <>O.<2>__Fix_NullrefWhenOrb; if (obj3 == null) { hook_CreateItemTakenOrb val3 = Fix_NullrefWhenOrb; <>O.<2>__Fix_NullrefWhenOrb = val3; obj3 = (object)val3; } LemurianEggController.CreateItemTakenOrb += (hook_CreateItemTakenOrb)obj3; object obj4 = <>O.<3>__AddLemurianInventory; if (obj4 == null) { hook_Rebuild val4 = AddLemurianInventory; <>O.<3>__AddLemurianInventory = val4; obj4 = (object)val4; } ScoreboardController.Rebuild += (hook_Rebuild)obj4; object obj5 = <>O.<4>__FixEvoltionBeing1Behind; if (obj5 == null) { hook_UpdateAllMinions val5 = FixEvoltionBeing1Behind; <>O.<4>__FixEvoltionBeing1Behind = val5; obj5 = (object)val5; } DevotionInventoryController.UpdateAllMinions += (hook_UpdateAllMinions)obj5; object obj6 = <>O.<5>__FixOneBehindRemoveItemHere; if (obj6 == null) { Manipulator val6 = FixOneBehindRemoveItemHere; <>O.<5>__FixOneBehindRemoveItemHere = val6; obj6 = (object)val6; } DevotionInventoryController.UpdateMinionInventory += (Manipulator)obj6; object obj7 = <>O.<6>__VoidForLemurians; if (obj7 == null) { hook_SetOptionsFromInteractor val7 = VoidForLemurians; <>O.<6>__VoidForLemurians = val7; obj7 = (object)val7; } PickupPickerController.SetOptionsFromInteractor += (hook_SetOptionsFromInteractor)obj7; object obj8 = <>O.<7>__ScrapForVoids; if (obj8 == null) { hook_DropScrapOnDeath val8 = ScrapForVoids; <>O.<7>__ScrapForVoids = val8; obj8 = (object)val8; } DevotionInventoryController.DropScrapOnDeath += (hook_DropScrapOnDeath)obj8; GameObject val9 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Lemurian/Fireball.prefab").WaitForCompletion(); GameObject val10 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/LemurianBruiser/LemurianBigFireball.prefab").WaitForCompletion(); val9.GetComponent<ProjectileDamage>().damageType.damageSource = (DamageSource)1; val10.GetComponent<ProjectileDamage>().damageType.damageSource = (DamageSource)1; object obj9 = <>O.<8>__FixTwisteds_NotWorkingOnPlayers; if (obj9 == null) { hook_HealthComponentToTransform val11 = FixTwisteds_NotWorkingOnPlayers; <>O.<8>__FixTwisteds_NotWorkingOnPlayers = val11; obj9 = (object)val11; } Util.HealthComponentToTransform += (hook_HealthComponentToTransform)obj9; object obj10 = <>O.<9>__DevotedLemurianController_Start; if (obj10 == null) { hook_Start val12 = DevotedLemurianController_Start; <>O.<9>__DevotedLemurianController_Start = val12; obj10 = (object)val12; } DevotedLemurianController.Start += (hook_Start)obj10; } private static void FixOneBehindRemoveItemHere(ILContext il) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown //IL_0042: Unknown result type (might be due to invalid IL or missing references) ILCursor val = new ILCursor(il); if (val.TryGotoNext((MoveType)0, new Func<Instruction, bool>[1] { (Instruction x) => ILPatternMatchingExt.MatchCallvirt(x, "RoR2.Inventory", "GiveItem") })) { val.Prev.OpCode = OpCodes.Ldc_I4_0; } else { Debug.LogWarning((object)"IL Failed: FixOneBehindRemoveItemHerel"); } } private static void ScrapForVoids(orig_DropScrapOnDeath orig, DevotionInventoryController self, ItemIndex devotionItem, CharacterBody minionBody) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Expected I4, but got Unknown //IL_00ae: 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_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: 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_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self, devotionItem, minionBody); PickupIndex val = PickupIndex.none; ItemDef itemDef = ItemCatalog.GetItemDef(devotionItem); if ((Object)(object)itemDef != (Object)null) { ItemTier tier = itemDef.tier; ItemTier val2 = tier; switch (val2 - 3) { case 0: val = PickupCatalog.FindPickupIndex(MiscPickups.LunarCoin.miscPickupIndex); break; case 3: val = PickupCatalog.FindPickupIndex("ItemIndex.ScrapWhite"); break; case 4: val = PickupCatalog.FindPickupIndex("ItemIndex.ScrapGreen"); break; case 5: val = PickupCatalog.FindPickupIndex("ItemIndex.ScrapRed"); break; case 6: val = PickupCatalog.FindPickupIndex("ItemIndex.ScrapYellow"); break; } } if (val != PickupIndex.none) { PickupDropletController.CreatePickupDroplet(val, minionBody.corePosition, Vector3.down * 15f); } } private static void DevotedLemurianController_Start(orig_Start orig, DevotedLemurianController self) { orig.Invoke(self); self._leashDistSq = 12000f; } private static Transform FixTwisteds_NotWorkingOnPlayers(orig_HealthComponentToTransform orig, HealthComponent healthComponent) { if (Object.op_Implicit((Object)(object)healthComponent.body) && Object.op_Implicit((Object)(object)healthComponent.body.mainHurtBox)) { return ((Component)healthComponent.body.mainHurtBox).transform; } return orig.Invoke(healthComponent); } private static void FixBodyComponentsSometimesJustNotBeingThere(orig_UpdateMinionInventory orig, DevotionInventoryController self, DevotedLemurianController devotedLemurianController, bool shouldEvolve) { orig.Invoke(self, devotedLemurianController, shouldEvolve); if (Object.op_Implicit((Object)(object)devotedLemurianController.LemurianBody) && Object.op_Implicit((Object)(object)devotedLemurianController.LemurianBody.inventory)) { devotedLemurianController.LemurianBody.OnInventoryChanged(); } } private static void VoidForLemurians(orig_SetOptionsFromInteractor orig, PickupPickerController self, Interactor activator) { bool flag = Object.op_Implicit((Object)(object)((Component)self).GetComponent<LemurianEggController>()); if (flag) { if (WConfig.DevotionAllowVoids.Value) { ItemTierCatalog.GetItemTierDef((ItemTier)6).canScrap = true; ItemTierCatalog.GetItemTierDef((ItemTier)7).canScrap = true; ItemTierCatalog.GetItemTierDef((ItemTier)8).canScrap = true; } if (WConfig.DevotionAllowLunars.Value) { ItemTierCatalog.GetItemTierDef((ItemTier)3).canScrap = true; } } orig.Invoke(self, activator); if (flag) { if (WConfig.DevotionAllowVoids.Value) { ItemTierCatalog.GetItemTierDef((ItemTier)6).canScrap = false; ItemTierCatalog.GetItemTierDef((ItemTier)7).canScrap = false; ItemTierCatalog.GetItemTierDef((ItemTier)8).canScrap = false; } if (WConfig.DevotionAllowLunars.Value) { ItemTierCatalog.GetItemTierDef((ItemTier)3).canScrap = false; } } } private static void FixEvoltionBeing1Behind(orig_UpdateAllMinions orig, DevotionInventoryController self, bool shouldEvolve) { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) if (shouldEvolve && Object.op_Implicit((Object)(object)self._summonerMaster)) { MinionGroup val = MinionGroup.FindGroup(((NetworkBehaviour)self._summonerMaster).netId); if (val != null) { MinionOwnership[] members = val.members; DevotedLemurianController val3 = default(DevotedLemurianController); foreach (MinionOwnership val2 in members) { if (Object.op_Implicit((Object)(object)val2) && ((Component)((Component)val2).GetComponent<CharacterMaster>()).TryGetComponent<DevotedLemurianController>(ref val3)) { self._devotionMinionInventory.GiveItem(val3.DevotionItem, 1); } } } } orig.Invoke(self, shouldEvolve); ((MonoBehaviour)self).StartCoroutine(FixItemComponentsBeingDeleted(self)); } public static IEnumerator FixItemComponentsBeingDeleted(DevotionInventoryController self) { yield return (object)new WaitForSeconds(1f); if (!Object.op_Implicit((Object)(object)self._summonerMaster)) { yield break; } MinionGroup minionGroup = MinionGroup.FindGroup(((NetworkBehaviour)self._summonerMaster).netId); if (minionGroup == null) { yield break; } MinionOwnership[] members = minionGroup.members; DevotedLemurianController devotedLemurianController = default(DevotedLemurianController); foreach (MinionOwnership minionOwnership in members) { if (Object.op_Implicit((Object)(object)minionOwnership) && ((Component)((Component)minionOwnership).GetComponent<CharacterMaster>()).TryGetComponent<DevotedLemurianController>(ref devotedLemurianController) && Object.op_Implicit((Object)(object)devotedLemurianController.LemurianBody) && Object.op_Implicit((Object)(object)devotedLemurianController.LemurianBody.inventory)) { devotedLemurianController.LemurianBody.OnInventoryChanged(); } devotedLemurianController = null; } } private static void Fix_EliteListBeingBlank(orig_OnDevotionArtifactDisabled orig, RunArtifactManager runArtifactManager, ArtifactDef artifactDef) { if ((Object)(object)artifactDef == (Object)(object)Artifacts.Devotion) { List<EquipmentIndex> lowLevelEliteBuffs = new List<EquipmentIndex>(DevotionInventoryController.lowLevelEliteBuffs); List<EquipmentIndex> highLevelEliteBuffs = new List<EquipmentIndex>(DevotionInventoryController.highLevelEliteBuffs); orig.Invoke(runArtifactManager, artifactDef); DevotionInventoryController.lowLevelEliteBuffs = lowLevelEliteBuffs; DevotionInventoryController.highLevelEliteBuffs = highLevelEliteBuffs; } else { orig.Invoke(runArtifactManager, artifactDef); } } private static void Fix_NullrefWhenOrb(orig_CreateItemTakenOrb orig, LemurianEggController self, Vector3 effectOrigin, GameObject targetObject, ItemIndex itemIndex) { //IL_003b: 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) if (!Object.op_Implicit((Object)(object)DevotionInventoryController.s_effectPrefab)) { Items.BoostDamage.hidden = true; Items.BoostHp.hidden = true; DevotionInventoryController.s_effectPrefab = LegacyResourcesAPI.Load<GameObject>("Prefabs/Effects/OrbEffects/ItemTakenOrbEffect"); } orig.Invoke(self, effectOrigin, targetObject, itemIndex); } private static void AddLemurianInventory(orig_Rebuild orig, ScoreboardController self) { //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0148: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); if (!WConfig.DevotionInventory.Value || DevotionInventoryController.InstanceList.Count <= 0) { return; } List<CharacterMaster> list = new List<CharacterMaster>(); Inventory val3 = default(Inventory); foreach (PlayerCharacterMasterController instance in PlayerCharacterMasterController.instances) { list.Add(instance.master); if (!WConfig.DevotionShowAllInventory.Value) { continue; } CharacterMaster master = instance.master; MinionGroup val = MinionGroup.FindGroup(((NetworkBehaviour)master).netId); if (val == null) { continue; } MinionOwnership[] members = val.members; foreach (MinionOwnership val2 in members) { if (Object.op_Implicit((Object)(object)val2) && ((Component)val2).TryGetComponent<Inventory>(ref val3) && val3.GetItemCount(Items.LemurianHarness) > 0) { list.Add(((Component)val2).GetComponent<CharacterMaster>()); break; } } } if (!WConfig.DevotionShowAllInventory.Value) { CharacterMaster master2 = LocalUserManager.readOnlyLocalUsersList.First().cachedMasterController.master; MinionGroup val4 = MinionGroup.FindGroup(((NetworkBehaviour)master2).netId); if (val4 != null) { MinionOwnership[] members2 = val4.members; DevotedLemurianController val6 = default(DevotedLemurianController); foreach (MinionOwnership val5 in members2) { if (Object.op_Implicit((Object)(object)val5) && ((Component)((Component)val5).GetComponent<CharacterMaster>()).TryGetComponent<DevotedLemurianController>(ref val6)) { list.Add(((Component)val5).GetComponent<CharacterMaster>()); break; } } } } self.SetStripCount(list.Count); for (int k = 0; k < list.Count; k++) { self.stripAllocator.elements[k].SetMaster(list[k]); } } private static void FixMissingEliteTypes(orig_OnDevotionArtifactEnabled orig, RunArtifactManager runArtifactManager, ArtifactDef artifactDef) { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(runArtifactManager, artifactDef); if (!((Object)(object)artifactDef != (Object)(object)Artifacts.Devotion)) { Items.BoostDamage.hidden = true; Items.BoostHp.hidden = true; if (!DevotionInventoryController.lowLevelEliteBuffs.Contains(Elites.Aurelionite.eliteEquipmentDef.equipmentIndex) && Elites.Aurelionite.IsAvailable()) { DevotionInventoryController.lowLevelEliteBuffs.Add(Elites.Aurelionite.eliteEquipmentDef.equipmentIndex); DevotionInventoryController.highLevelEliteBuffs.Add(Elites.Aurelionite.eliteEquipmentDef.equipmentIndex); DevotionInventoryController.highLevelEliteBuffs.Add(Elites.Bead.eliteEquipmentDef.equipmentIndex); } } } } public class Dissonance { [CompilerGenerated] private static class <>O { public static hook_RebuildCards <0>__DissoanceLunerEliteAll; public static hook_HandleMixEnemyArtifact <1>__FindSkinForSkinnedEnemies; } public static DirectorCard DissoGolem; public static DirectorCard DissoTitan; public static DirectorCard DissoVermin; public static DirectorCard DissoVerminFlying; public static DirectorCard DissoBeetle; public static DirectorCard DissoBeetleGuard; public static DirectorCard DissoBeetleQueen; public static List<SpawnCard> LunarifiedList; public static void Start() { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Expected O, but got Unknown //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Expected O, but got Unknown Mixenemymaker(); object obj = <>O.<0>__DissoanceLunerEliteAll; if (obj == null) { hook_RebuildCards val = DissoanceLunerEliteAll; <>O.<0>__DissoanceLunerEliteAll = val; obj = (object)val; } ClassicStageInfo.RebuildCards += (hook_RebuildCards)obj; object obj2 = <>O.<1>__FindSkinForSkinnedEnemies; if (obj2 == null) { hook_HandleMixEnemyArtifact val2 = FindSkinForSkinnedEnemies; <>O.<1>__FindSkinForSkinnedEnemies = val2; obj2 = (object)val2; } ClassicStageInfo.HandleMixEnemyArtifact += (hook_HandleMixEnemyArtifact)obj2; } public static void DissoanceLunerEliteAll(orig_RebuildCards orig, ClassicStageInfo self, DirectorCardCategorySelection forcedMonsterCategory, DirectorCardCategorySelection forcedInteractableCategory) { //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0100: 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_0112: Invalid comparison between Unknown and I4 //IL_011e: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_0135: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self, forcedMonsterCategory, forcedInteractableCategory); if (!((Object)(object)self != (Object)null)) { return; } if (LunarifiedList != null) { Debug.Log((object)"Dissonance : Un-Lunar"); for (int i = 0; i < LunarifiedList.Count; i++) { LunarifiedList[i].eliteRules = (EliteRules)0; } LunarifiedList = null; } if (!Object.op_Implicit((Object)(object)RunArtifactManager.instance) || !RunArtifactManager.instance.IsArtifactEnabled(Artifacts.mixEnemyArtifactDef) || (!(SceneInfo.instance.sceneDef.baseSceneName == "moon2") && !(SceneInfo.instance.sceneDef.baseSceneName == "itmoon"))) { return; } Debug.Log((object)"Dissonance : Lunar"); WeightedSelection<DirectorCard> monsterSelection = ClassicStageInfo.instance.monsterSelection; LunarifiedList = new List<SpawnCard>(); for (int j = 0; j < monsterSelection.Count; j++) { ChoiceInfo<DirectorCard> choice = monsterSelection.GetChoice(j); if ((int)choice.value.spawnCard.eliteRules != 2) { choice.value.spawnCard.eliteRules = (EliteRules)2; LunarifiedList.Add(choice.value.spawnCard); } } } public static void Mixenemymaker() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0031: 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_003f: 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_0047: Expected O, but got Unknown //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Expected O, but got Unknown //IL_04b9: Unknown result type (might be due to invalid IL or missing references) //IL_04be: Unknown result type (might be due to invalid IL or missing references) //IL_04c4: Unknown result type (might be due to invalid IL or missing references) //IL_04c9: Unknown result type (might be due to invalid IL or missing references) //IL_04d7: Unknown result type (might be due to invalid IL or missing references) //IL_04de: 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_04ec: Unknown result type (might be due to invalid IL or missing references) //IL_04ee: Unknown result type (might be due to invalid IL or missing references) //IL_04f5: Expected O, but got Unknown //IL_04f5: Unknown result type (might be due to invalid IL or missing references) //IL_04fa: Unknown result type (might be due to invalid IL or missing references) //IL_0500: Unknown result type (might be due to invalid IL or missing references) //IL_0505: Unknown result type (might be due to invalid IL or missing references) //IL_0513: Unknown result type (might be due to invalid IL or missing references) //IL_051a: Unknown result type (might be due to invalid IL or missing references) //IL_0521: Unknown result type (might be due to invalid IL or missing references) //IL_0528: Unknown result type (might be due to invalid IL or missing references) //IL_052a: Unknown result type (might be due to invalid IL or missing references) //IL_0531: Expected O, but got Unknown //IL_0531: Unknown result type (might be due to invalid IL or missing references) //IL_0536: Unknown result type (might be due to invalid IL or missing references) //IL_053c: Unknown result type (might be due to invalid IL or missing references) //IL_0541: Unknown result type (might be due to invalid IL or missing references) //IL_054f: Unknown result type (might be due to invalid IL or missing references) //IL_0556: 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_0564: Unknown result type (might be due to invalid IL or missing references) //IL_0566: Unknown result type (might be due to invalid IL or missing references) //IL_056d: Expected O, but got Unknown DirectorCardCategorySelection val = Addressables.LoadAssetAsync<DirectorCardCategorySelection>((object)"RoR2/Base/MixEnemy/dccsMixEnemy.asset").WaitForCompletion(); DirectorCard val2 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<CharacterSpawnCard>("SpawnCards/CharacterSpawnCards/cscScav"), preventOverhead = false, selectionWeight = 1, minimumStageCompletions = 0, spawnDistance = (MonsterSpawnDistance)0 }; DirectorCard val3 = new DirectorCard { spawnCard = (SpawnCard)(object)LegacyResourcesAPI.Load<CharacterSpawnCard>("SpawnCards/CharacterSpawnCards/cscHermitCrab"), selectionWeight = 1, preventOverhead = false, minimumStageCompletions = 0, spawnDistance = (MonsterSpawnDistance)2 }; val.categories[0].selectionWeight = 3f; val.categories[1].selectionWeight = 3f; val.categories[2].selectionWeight = 4f; val.categories[3].cards = val.categories[3].cards.Remove(val.categories[3].cards[0]); val.AddCard(0, val2); bool flag = false; DirectorCard val4 = null; DirectorCard val5 = null; for (int i = 0; val.categories[2].cards.Length > i; i++) { if (((Object)val.categories[2].cards[i].spawnCard).name.EndsWith("Child")) { flag = true; } else if (((Object)val.categories[2].cards[i].spawnCard).name.EndsWith("lMini")) { val4 = val.categories[2].cards[i]; val.categories[2].cards[i] = val3; } else if (((Object)val.categories[2].cards[i].spawnCard).name.Equals("cscVermin")) { DissoVermin = val.categories[2].cards[i]; } else if (((Object)val.categories[2].cards[i].spawnCard).name.Equals("cscFlyingVermin")) { DissoVerminFlying = val.categories[2].cards[i]; } else if (((Object)val.categories[2].cards[i].spawnCard).name.Equals("cscBeetle")) { DissoBeetle = val.categories[2].cards[i]; } } for (int j = 0; val.categories[1].cards.Length > j; j++) { if (((Object)val.categories[1].cards[j].spawnCard).name.Equals("cscLunarWisp")) { val5 = val.categories[1].cards[j]; val.categories[1].cards[j] = val4; } else if (((Object)val.categories[1].cards[j].spawnCard).name.Equals("cscGolem")) { DissoGolem = val.categories[1].cards[j]; } else if (((Object)val.categories[1].cards[j].spawnCard).name.Equals("cscBeetleGuard")) { DissoBeetleGuard = val.categories[1].cards[j]; } } for (int k = 0; val.categories[0].cards.Length > k; k++) { if (((Object)val.categories[0].cards[k].spawnCard).name.Equals("cscTitanBlackBeach")) { DissoTitan = val.categories[0].cards[k]; } else if (((Object)val.categories[0].cards[k].spawnCard).name.Equals("cscBeetleQueen")) { DissoBeetleQueen = val.categories[0].cards[k]; } } val.AddCard(0, val5); if (!flag) { DirectorCard val6 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC2/Child/cscChild.asset").WaitForCompletion(), selectionWeight = 1, preventOverhead = false, minimumStageCompletions = 0, spawnDistance = (MonsterSpawnDistance)0 }; DirectorCard val7 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC2/Scorchling/cscScorchling.asset").WaitForCompletion(), selectionWeight = 1, preventOverhead = false, minimumStageCompletions = 0, spawnDistance = (MonsterSpawnDistance)0 }; DirectorCard val8 = new DirectorCard { spawnCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/DLC2/Halcyonite/cscHalcyonite.asset").WaitForCompletion(), selectionWeight = 1, preventOverhead = false, minimumStageCompletions = 0, spawnDistance = (MonsterSpawnDistance)0 }; val.AddCard(2, val6); val.AddCard(1, val7); val.AddCard(0, val8); } } public static void FindSkinForSkinnedEnemies(orig_HandleMixEnemyArtifact orig, DirectorCardCategorySelection monsterCategories, Xoroshiro128Plus rng) { //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_006f: 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_008e: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: 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_0126: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_0164: Unknown result type (might be due to invalid IL or missing references) //IL_0169: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01b8: Unknown result type (might be due to invalid IL or missing references) //IL_0221: Unknown result type (might be due to invalid IL or missing references) //IL_0226: Unknown result type (might be due to invalid IL or missing references) //IL_028f: Unknown result type (might be due to invalid IL or missing references) //IL_0294: Unknown result type (might be due to invalid IL or missing references) //IL_01d2: Unknown result type (might be due to invalid IL or missing references) //IL_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_02fd: Unknown result type (might be due to invalid IL or missing references) //IL_0302: Unknown result type (might be due to invalid IL or missing references) //IL_0240: Unknown result type (might be due to invalid IL or missing references) //IL_0245: Unknown result type (might be due to invalid IL or missing references) //IL_036b: Unknown result type (might be due to invalid IL or missing references) //IL_0370: Unknown result type (might be due to invalid IL or missing references) //IL_02ae: Unknown result type (might be due to invalid IL or missing references) //IL_02b3: Unknown result type (might be due to invalid IL or missing references) //IL_031c: Unknown result type (might be due to invalid IL or missing references) //IL_0321: Unknown result type (might be due to invalid IL or missing references) //IL_038a: Unknown result type (might be due to invalid IL or missing references) //IL_038f: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(monsterCategories, rng); if (DissoTitan != null) { switch (rng.RangeInt(1, 5)) { case 1: DissoTitan.spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/Base/Titan/cscTitanBlackBeach.asset").WaitForCompletion(); break; case 2: DissoTitan.spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/Base/Titan/cscTitanDampCave.asset").WaitForCompletion(); break; case 3: DissoTitan.spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/Base/Titan/cscTitanGolemPlains.asset").WaitForCompletion(); break; case 4: DissoTitan.spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/Base/Titan/cscTitanGooLake.asset").WaitForCompletion(); break; } } if (DissoGolem != null) { switch (rng.RangeInt(1, 5)) { case 1: DissoGolem.spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/Base/Golem/cscGolem.asset").WaitForCompletion(); break; case 2: DissoGolem.spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/Base/Golem/cscGolemNature.asset").WaitForCompletion(); break; case 3: DissoGolem.spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/Base/Golem/cscGolemSandy.asset").WaitForCompletion(); break; case 4: DissoGolem.spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/Base/Golem/cscGolemSnowy.asset").WaitForCompletion(); break; } } if (DissoVermin != null) { switch (rng.RangeInt(1, 3)) { case 1: DissoVermin.spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/DLC1/Vermin/cscVermin.asset").WaitForCompletion(); break; case 2: DissoVermin.spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/DLC1/Vermin/cscVerminSnowy.asset").WaitForCompletion(); break; } } if (DissoVerminFlying != null) { switch (rng.RangeInt(1, 3)) { case 1: DissoVerminFlying.spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/DLC1/FlyingVermin/cscFlyingVermin.asset").WaitForCompletion(); break; case 2: DissoVerminFlying.spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/DLC1/FlyingVermin/cscFlyingVerminSnowy.asset").WaitForCompletion(); break; } } if (DissoBeetle != null) { switch (rng.RangeInt(1, 3)) { case 1: DissoBeetle.spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/Base/Beetle/cscBeetle.asset").WaitForCompletion(); break; case 2: DissoBeetle.spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/Base/Beetle/cscBeetleSulfur.asset").WaitForCompletion(); break; } } if (DissoBeetleGuard != null) { switch (rng.RangeInt(1, 3)) { case 1: DissoBeetleGuard.spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/Base/Beetle/cscBeetleGuard.asset").WaitForCompletion(); break; case 2: DissoBeetleGuard.spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/Base/Beetle/cscBeetleGuardSulfur.asset").WaitForCompletion(); break; } } if (DissoBeetleQueen != null) { switch (rng.RangeInt(1, 3)) { case 1: DissoBeetleQueen.spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/Base/Beetle/cscBeetleQueen.asset").WaitForCompletion(); break; case 2: DissoBeetleQueen.spawnCard = (SpawnCard)(object)Addressables.LoadAssetAsync<CharacterSpawnCard>((object)"RoR2/Base/Beetle/cscBeetleQueenSulfur.asset").WaitForCompletion(); break; } } } } public class Enigma { [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static hook_CalculateEquipmentCooldownScale <>9__4_0; internal float <MakeEnigmaFragment>b__4_0(orig_CalculateEquipmentCooldownScale orig, Inventory self) { int itemCount = self.GetItemCount(EnigmaFragmentPurple); if (itemCount > 0) { float num = orig.Invoke(self); return num * Mathf.Pow(EnigmaFragmentCooldownReduction, (float)itemCount); } return orig.Invoke(self); } } public static ItemDef EnigmaFragmentPurple = null; public static float EnigmaFragmentCooldownReduction = 0.88f; public static Color CustomColor = Color32.op_Implicit(ColorCatalog.GetColor((ColorIndex)24)); public static void Start() { if (!WConfig.EnigmaInterrupt.Value) { LegacyResourcesAPI.Load<EquipmentDef>("equipmentdefs/BossHunter").enigmaCompatible = false; LegacyResourcesAPI.Load<EquipmentDef>("equipmentdefs/BossHunterConsumed").enigmaCompatible = false; LegacyResourcesAPI.Load<EquipmentDef>("equipmentdefs/Recycle").enigmaCompatible = false; } if (WConfig.EnigmaMovement.Value) { LegacyResourcesAPI.Load<EquipmentDef>("equipmentdefs/Jetpack").enigmaCompatible = true; LegacyResourcesAPI.Load<EquipmentDef>("equipmentdefs/FireBallDash").enigmaCompatible = true; } else { LegacyResourcesAPI.Load<EquipmentDef>("equipmentdefs/Jetpack").enigmaCompatible = false; LegacyResourcesAPI.Load<EquipmentDef>("equipmentdefs/FireBallDash").enigmaCompatible = false; } LegacyResourcesAPI.Load<EquipmentDef>("equipmentdefs/Tonic").enigmaCompatible = false; LegacyResourcesAPI.Load<EquipmentDef>("equipmentdefs/Meteor").enigmaCompatible = false; LegacyResourcesAPI.Load<EquipmentDef>("equipmentdefs/BurnNearby").enigmaCompatible = false; LegacyResourcesAPI.Load<EquipmentDef>("equipmentdefs/CrippleWard").enigmaCompatible = true; if (!WConfig.DisableNewContent.Value) { MakeEnigmaFragment(); } } public static void MakeEnigmaFragment() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Expected O, but got Unknown //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_00e8: Expected O, but got Unknown ArtifactDef val = LegacyResourcesAPI.Load<ArtifactDef>("artifactdefs/Enigma"); ItemDef val2 = ScriptableObject.CreateInstance<ItemDef>(); ((Object)val2).name = "EnigmaFragment_ArtifactHelper"; val2.deprecatedTier = (ItemTier)5; val2.pickupModelPrefab = val.pickupModelPrefab; val2.nameToken = "ITEM_ENIGMAEQUIPMENTBOOST_NAME"; val2.pickupToken = "ITEM_ENIGMAEQUIPMENTBOOST_PICKUP"; val2.descriptionToken = "ITEM_ENIGMAEQUIPMENTBOOST_DESC"; val2.loreToken = ""; val2.hidden = false; val2.canRemove = false; val2.tags = (ItemTag[])(object)new ItemTag[1] { (ItemTag)9 }; ItemDisplayRule[] array = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { default(ItemDisplayRule) }; CustomItem val3 = new CustomItem(val2, (ItemDisplayRule[])(object)new ItemDisplayRule[0]); ItemAPI.Add(val3); EnigmaFragmentPurple = val2; EnigmaFragmentCooldownReduction = 1f - WConfig.EnigmaCooldownReduction.Value / 100f; object obj = <>c.<>9__4_0; if (obj == null) { hook_CalculateEquipmentCooldownScale val4 = delegate(orig_CalculateEquipmentCooldownScale orig, Inventory self) { int itemCount = self.GetItemCount(EnigmaFragmentPurple); if (itemCount > 0) { float num = orig.Invoke(self); return num * Mathf.Pow(EnigmaFragmentCooldownReduction, (float)itemCount); } return orig.Invoke(self); }; <>c.<>9__4_0 = val4; obj = (object)val4; } Inventory.CalculateEquipmentCooldownScale += (hook_CalculateEquipmentCooldownScale)obj; } public static void EnigmaCallLate() { //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Unknown result type (might be due to invalid IL or missing references) if (!WConfig.DisableNewContent.Value) { Texture2D val = Assets.Bundle.LoadAsset<Texture2D>("Assets/ArtifactsVanilla/texItemEnigmaP.png"); ((Texture)val).wrapMode = (TextureWrapMode)1; Sprite val2 = Sprite.Create(val, new Rect(0f, 0f, 128f, 128f), new Vector2(0.5f, 0.5f)); EnigmaFragmentPurple.pickupIconSprite = val2; PickupDef pickupDef = PickupCatalog.GetPickupDef(PickupCatalog.FindPickupIndex("ItemIndex.EnigmaFragment_ArtifactHelper")); ColorUtility.TryParseHtmlString("#AE6BCB", ref CustomColor); pickupDef.baseColor = CustomColor; pickupDef.darkColor = CustomColor; pickupDef.displayPrefab = PickupCatalog.GetPickupDef(PickupCatalog.FindPickupIndex("ArtifactIndex.Enigma")).displayPrefab; pickupDef.dropletDisplayPrefab = PickupCatalog.GetPickupDef(PickupCatalog.FindPickupIndex("EquipmentIndex.Fruit")).dropletDisplayPrefab; pickupDef.iconSprite = val2; } EquipmentDef equipmentDef = EquipmentCatalog.GetEquipmentDef(EquipmentCatalog.FindEquipmentIndex("EQUIPMENT_IMPULSEFROSTSHIELD")); if ((Object)(object)equipmentDef != (Object)null) { equipmentDef.enigmaCompatible = false; EquipmentCatalog.enigmaEquipmentList.Remove(equipmentDef.equipmentIndex); } equipmentDef = EquipmentCatalog.GetEquipmentDef(EquipmentCatalog.FindEquipmentIndex("EQUIPMENT_REUSER")); if ((Object)(object)equipmentDef != (Object)null) { equipmentDef.enigmaCompatible = false; EquipmentCatalog.enigmaEquipmentList.Remove(equipmentDef.equipmentIndex); } equipmentDef = EquipmentCatalog.GetEquipmentDef(EquipmentCatalog.FindEquipmentIndex("EQUIPMENT_Reducer")); if ((Object)(object)equipmentDef != (Object)null) { equipmentDef.enigmaCompatible = false; EquipmentCatalog.enigmaEquipmentList.Remove(equipmentDef.equipmentIndex); } } public static GenericPickupController EnigmaFragmentMaker(orig_CreatePickup orig, ref CreatePickupInfo createPickupInfo) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Invalid comparison between Unknown and I4 //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) PickupDef pickupDef = PickupCatalog.GetPickupDef(((CreatePickupInfo)(ref createPickupInfo)).pickupIndex); if (pickupDef != null && (int)pickupDef.equipmentIndex != -1) { EquipmentDef equipmentDef = EquipmentCatalog.GetEquipmentDef(pickupDef.equipmentIndex); if (equipmentDef.enigmaCompatible) { ((CreatePickupInfo)(ref createPickupInfo)).pickupIndex = PickupCatalog.FindPickupIndex(EnigmaFragmentPurple.itemIndex); GenericPickupController val = orig.Invoke(ref createPickupInfo); if (Object.op_Implicit((Object)(object)((Component)val).gameObject) && Object.op_Implicit((Object)(object)val.pickupDisplay)) { Util.PlaySound("Play_item_proc_crit_cooldown", ((Component)val).gameObject); Util.PlaySound("Play_item_proc_crit_cooldown", ((Component)val).gameObject); val.pickupDisplay.tier1ParticleEffect.SetActive(true); val.pickupDisplay.equipmentParticleEffect.SetActive(true); } return val; } } return orig.Invoke(ref createPickupInfo); } public static void EnigmaEquipmentGranter(orig_AttemptGrant orig, GenericPickupController self, CharacterBody body) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Invalid comparison between Unknown and I4 //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0024: 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_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Invalid comparison between Unknown and I4 //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Invalid comparison between Unknown and I4 //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Expected O, but got Unknown //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Expected O, but got Unknown //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_01b2: Unknown result type (might be due to invalid IL or missing references) //IL_01b7: Unknown result type (might be due to invalid IL or missing references) //IL_01c4: Unknown result type (might be due to invalid IL or missing references) //IL_01c9: Unknown result type (might be due to invalid IL or missing references) //IL_01d5: Unknown result type (might be due to invalid IL or missing references) //IL_01da: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_0141: 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_0153: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_0164: 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) if ((int)body.inventory.currentEquipmentIndex == -1 && PickupCatalog.GetPickupDef(self.pickupIndex).itemIndex == EnigmaFragmentPurple.itemIndex) { self.pickupIndex = PickupCatalog.FindPickupIndex(EnigmaArtifactManager.GetRandomEquipment(EnigmaArtifactManager.serverInitialEquipmentRng, 0)); Util.PlaySound("Play_UI_insufficient_funds", ((Component)self).gameObject); Util.PlaySound("Play_UI_insufficient_funds", ((Component)self).gameObject); if (((NetworkBehaviour)body.master).hasAuthority) { CharacterMasterNotificationQueue notificationQueueForMaster = CharacterMasterNotificationQueue.GetNotificationQueueForMaster(body.master); TransformationInfo val = new TransformationInfo((TransformationType)0, (object)EnigmaFragmentPurple); NotificationInfo val2 = new NotificationInfo((object)EquipmentCatalog.GetEquipmentDef(((PickupIndex)(ref self.pickupIndex)).pickupDef.equipmentIndex), val); notificationQueueForMaster.PushNotification(val2, 6f); } } EquipmentIndex equipmentIndex = PickupCatalog.GetPickupDef(self.pickupIndex).equipmentIndex; bool flag = (int)body.inventory.currentEquipmentIndex != -1 && (int)equipmentIndex != -1; orig.Invoke(self, body); if (flag) { EquipmentDef equipmentDef = EquipmentCatalog.GetEquipmentDef(equipmentIndex); CreatePickupInfo val3; if (Object.op_Implicit((Object)(object)equipmentDef.passiveBuffDef) && equipmentDef.passiveBuffDef.isElite) { val3 = default(CreatePickupInfo); val3.position = ((Component)self).transform.position; val3.rotation = ((Component)self).transform.rotation; ((CreatePickupInfo)(ref val3)).pickupIndex = PickupCatalog.FindPickupIndex(Items.ShinyPearl.itemIndex); GenericPickupController.CreatePickup(ref val3); Util.PlaySound("Play_item_proc_crit_cooldown", ((Component)self).gameObject); Util.PlaySound("Play_item_proc_crit_cooldown", ((Component)self).gameObject); } else { val3 = default(CreatePickupInfo); val3.position = ((Component)self).transform.position; val3.rotation = ((Component)self).transform.rotation; ((CreatePickupInfo)(ref val3)).pickupIndex = PickupCatalog.FindPickupIndex(Equipment.Fruit.equipmentIndex); GenericPickupController.CreatePickup(ref val3); } Object.Destroy((Object)(object)((Component)self).gameObject); } } } public class Evolution { [CompilerGenerated] private static class <>O { public static Manipulator <0>__Evolution_MoreItems; public static hook_OnServerCardSpawnedGlobal <1>__Evo_VoidTeamCorrupted; } public static BasicPickupDropTable dtMonsterTeamLunarItem = ScriptableObject.CreateInstance<BasicPickupDropTable>(); public static void Start() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Expected O, but got Unknown //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) //IL_0102: Expected O, but got Unknown BasicPickupDropTable val = Addressables.LoadAssetAsync<BasicPickupDropTable>((object)"RoR2/Base/MonsterTeamGainsItems/dtMonsterTeamTier1Item.asset").WaitForCompletion(); BasicPickupDropTable val2 = Addressables.LoadAssetAsync<BasicPickupDropTable>((object)"RoR2/Base/MonsterTeamGainsItems/dtMonsterTeamTier2Item.asset").WaitForCompletion(); BasicPickupDropTable val3 = Addressables.LoadAssetAsync<BasicPickupDropTable>((object)"RoR2/Base/MonsterTeamGainsItems/dtMonsterTeamTier3Item.asset").WaitForCompletion(); ItemTag[] array = new ItemTag[7]; RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); ItemTag[] bannedItemTags = (val3.bannedItemTags = (val2.bannedItemTags = (val.bannedItemTags = (ItemTag[])(object)array))); dtMonsterTeamLunarItem.bannedItemTags = bannedItemTags; dtMonsterTeamLunarItem.tier1Weight = 0f; dtMonsterTeamLunarItem.tier2Weight = 0f; dtMonsterTeamLunarItem.tier3Weight = 0f; dtMonsterTeamLunarItem.lunarItemWeight = 1f; ((PickupDropTable)dtMonsterTeamLunarItem).canDropBeReplaced = false; ((Object)dtMonsterTeamLunarItem).name = "dtMonsterTeamLunarItem"; object obj = <>O.<0>__Evolution_MoreItems; if (obj == null) { Manipulator val4 = Evolution_MoreItems; <>O.<0>__Evolution_MoreItems = val4; obj = (object)val4; } MonsterTeamGainsItemsArtifactManager.GrantMonsterTeamItem += (Manipulator)obj; object obj2 = <>O.<1>__Evo_VoidTeamCorrupted; if (obj2 == null) { hook_OnServerCardSpawnedGlobal val5 = Evo_VoidTeamCorrupted; <>O.<1>__Evo_VoidTeamCorrupted = val5; obj2 = (object)val5; } MonsterTeamGainsItemsArtifactManager.OnServerCardSpawnedGlobal += (hook_OnServerCardSpawnedGlobal)obj2; } private static void Evo_VoidTeamCorrupted(orig_OnServerCardSpawnedGlobal orig, SpawnResult spawnResult) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Invalid comparison between Unknown and I4 //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(spawnResult); CharacterMaster val = (Object.op_Implicit((Object)(object)spawnResult.spawnedInstance) ? spawnResult.spawnedInstance.GetComponent<CharacterMaster>() : null); if (!Object.op_Implicit((Object)(object)val) || (int)val.teamIndex != 4) { return; } val.inventory.AddItemsFrom(MonsterTeamGainsItemsArtifactManager.monsterTeamInventory); Enumerator<TransformationInfo> enumerator = ContagiousItemManager.transformationInfos.GetEnumerator(); try { while (enumerator.MoveNext()) { TransformationInfo current = enumerator.Current; ContagiousItemManager.TryForceReplacement(val.inventory, current.originalItem); } } finally { ((IDisposable)enumerator).Dispose(); } } private static void Evolution_MoreItems(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.Inventory", "GiveItem") })) { int index = val.Index; val.Index = index - 1; val.EmitDelegate<Func<ItemIndex, ItemIndex>>((Func<ItemIndex, ItemIndex>)delegate(ItemIndex item) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Invalid comparison between Unknown and I4 //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) ItemDef itemDef = ItemCatalog.GetItemDef(item); if ((int)itemDef.tier == 3) { PickupIndex val2 = ((PickupDropTable)dtMonsterTeamLunarItem).GenerateDrop(MonsterTeamGainsItemsArtifactManager.treasureRng); if (val2 != PickupIndex.none) { PickupDef pickupDef = PickupCatalog.GetPickupDef(val2); if (pickupDef != null) { return pickupDef.itemIndex; } } } return item; }); index = val.Index; val.Index = index + 1; val.EmitDelegate<Func<int, int>>((Func<int, int>)delegate(int amount) { if (WConfig.EvoMoreItems.Value) { bool flag = false; if (WConfig.EvoMoreAfterLoop.Value && MonsterTeamGainsItemsArtifactManager.currentItemIterator > 5) { flag = true; } else if (!WConfig.EvoMoreAfterLoop.Value) { flag = true; } if (flag) { switch ((MonsterTeamGainsItemsArtifactManager.currentItemIterator - 1) % MonsterTeamGainsItemsArtifactManager.dropPattern.Length) { case 0: case 1: return WConfig.EvoMoreWhite.Value; case 2: case 3: return WConfig.EvoMoreGreen.Value; case 4: return WConfig.EvoMoreRed.Value; } } } return amount; }); } else { Debug.LogWarning((object)"IL Failed: Evolution_MoreItems"); } } public static void Tagchanger() { //IL_0424: Unknown result type (might be due to invalid IL or missing references) //IL_045c: Unknown result type (might be due to invalid IL or missing references) //IL_0494: Unknown result type (might be due to invalid IL or missing references) //IL_04cc: Unknown result type (might be due to invalid IL or missing references) Items.PrimarySkillShuriken.tags = Items.PrimarySkillShuriken.tags.Add((ItemTag)4); Items.MoveSpeedOnKill.tags = Items.MoveSpeedOnKill.tags.Add((ItemTag)6); Items.RegeneratingScrap.tags = Items.RegeneratingScrap.tags.Add((ItemTag)4); Items.LowerPricedChests.tags = Items.LowerPricedChests.tags.Add((ItemTag)4); Items.ExtraShrineItem.tags = Items.ExtraShrineItem.tags.Add((ItemTag)4); Items.IncreasePrimaryDamage.tags = Items.IncreasePrimaryDamage.tags.Add((ItemTag)4); Items.ExtraStatsOnLevelUp.tags = Items.ExtraStatsOnLevelUp.tags.Add((ItemTag)4); Items.BonusGoldPackOnKill.tags = Items.BonusGoldPackOnKill.tags.Add((ItemTag)4); Items.Infusion.tags = Items.Infusion.tags.Add((ItemTag)4); Items.NovaOnHeal.tags = Items.NovaOnHeal.tags.Add((ItemTag)4); Items.GoldOnStageStart.tags = Items.GoldOnStageStart.tags.Add((ItemTag)4); Items.BarrierOnOverHeal.tags = Items.BarrierOnOverHeal.tags.Add((ItemTag)24); Items.MoreMissile.tags = Items.MoreMissile.tags.Add((ItemTag)24); Items.TitanGoldDuringTP.tags = Items.TitanGoldDuringTP.tags.Add((ItemTag)17); Items.TitanGoldDuringTP.tags = Items.TitanGoldDuringTP.tags.Add((ItemTag)4); Items.SprintWisp.tags = Items.SprintWisp.tags.Add((ItemTag)4); Items.SiphonOnLowHealth.tags = Items.SiphonOnLowHealth.tags.Add((ItemTag)4); Items.MinorConstructOnKill.tags = Items.MinorConstructOnKill.tags.Add((ItemTag)4); Items.MonstersOnShrineUse.tags = Items.MonstersOnShrineUse.tags.Add((ItemTag)18); Items.GoldOnHit.tags = Items.GoldOnHit.tags.Add((ItemTag)4); Items.LunarTrinket.tags = Items.LunarTrinket.tags.Add((ItemTag)4); Items.FocusConvergence.tags = Items.FocusConvergence.tags.Add((ItemTag)4); Items.LunarSun.tags = Items.LunarSun.tags.Add((ItemTag)4); Items.RandomlyLunar.tags = Items.RandomlyLunar.tags.Add((ItemTag)4); Items.OnLevelUpFreeUnlock.tags = Items.OnLevelUpFreeUnlock.tags.Add((ItemTag)4); Items.ElementalRingVoid.tags = Items.ElementalRingVoid.tags.Add((ItemTag)4); Items.ExplodeOnDeathVoid.tags = Items.ExplodeOnDeathVoid.tags.Add((ItemTag)4); Items.MushroomVoid.tags = Items.MushroomVoid.tags.Add((ItemTag)8); Items.MushroomVoid.tags = Items.MushroomVoid.tags.Add((ItemTag)4); Items.TreasureCacheVoid.tags = Items.TreasureCacheVoid.tags.Add((ItemTag)4); ItemDef itemDef = ItemCatalog.GetItemDef(ItemCatalog.FindItemIndex("WatchMetronome")); if ((Object)(object)itemDef != (Object)null) { itemDef.tags = itemDef.tags.Add((ItemTag)8); } itemDef = ItemCatalog.GetItemDef(ItemCatalog.FindItemIndex("PortableReactor")); if ((Object)(object)itemDef != (Object)null) { itemDef.tags = itemDef.tags.Add((ItemTag)4); } itemDef = ItemCatalog.GetItemDef(ItemCatalog.FindItemIndex("HuntersSigil")); if ((Object)(object)itemDef != (Object)null) { itemDef.tags = itemDef.tags.Add((ItemTag)4); } itemDef = ItemCatalog.GetItemDef(ItemCatalog.FindItemIndex("VV_ITEM_EHANCE_VIALS_ITEM")); if ((Object)(object)itemDef != (Object)null) { itemDef.tags = itemDef.tags.Add((ItemTag)4); } Items.ParentEgg.tags[0] = (ItemTag)2; Items.ShieldOnly.tags[0] = (ItemTag)2; Items.LunarUtilityReplacement.tags[0] = (ItemTag)2; Items.RandomDamageZone.tags[0] = (ItemTag)1; Items.HalfSpeedDoubleHealth.tags[0] = (ItemTag)2; Items.LunarSun.tags[0] = (ItemTag)1; Items.MinorConstructOnKill.tags = Items.MinorConstructOnKill.tags.Add((ItemTag)3); Items.Knurl.tags = Items.Knurl.tags.Remove((ItemTag)3); Items.Pearl.tags = Items.Pearl.tags.Remove((ItemTag)3); Items.Pearl.tags = Items.Pearl.tags.Add((ItemTag)2); Items.Infusion.tags = Items.Infusion.tags.Remove((ItemTag)3); Items.GhostOnKill.tags = Items.GhostOnKill.tags.Remove((ItemTag)1); Items.HeadHunter.tags = Items.HeadHunter.tags.Remove((ItemTag)3); Items.BarrierOnKill.tags = Items.BarrierOnKill.tags.Remove((ItemTag)3); Items.BarrierOnOverHeal.tags = Items.BarrierOnOverHeal.tags.Remove((ItemTag)3); Items.FallBoots.tags = Items.FallBoots.tags.Remove((ItemTag)1); Items.NovaOnHeal.tags = Items.NovaOnHeal.tags.Remove((ItemTag)1); Items.NovaOnHeal.tags = Items.NovaOnHeal.tags.Add((ItemTag)2); Items.ImmuneToDebuff.tags = Items.ImmuneToDebuff.tags.Add((ItemTag)2); Items.ElementalRingVoid.tags = Items.ElementalRingVoid.tags.Remove((ItemTag)3); Items.KnockBackHitEnemies.tags = Items.KnockBackHitEnemies.tags.Remove((ItemTag)23); Items.IncreasePrimaryDamage.tags = Items.IncreasePrimaryDamage.tags.Remove((ItemTag)23); } } public class Glass { [CompilerGenerated] private static class <>O { public static Manipulator <0>__CharacterModel_UpdateOverlayStates; } public static void Start() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Expected O, but got Unknown object obj = <>O.<0>__CharacterModel_UpdateOverlayStates; if (obj == null) { Manipulator val = CharacterModel_UpdateOverlayStates; <>O.<0>__CharacterModel_UpdateOverlayStates = val; obj = (object)val; } CharacterModel.UpdateOverlays += (Manipulator)obj; object obj2 = <>O.<0>__CharacterModel_UpdateOverlayStates; if (obj2 == null) { Manipulator val2 = CharacterModel_UpdateOverlayStates; <>O.<0>__CharacterModel_UpdateOverlayStates = val2; obj2 = (object)val2; } CharacterModel.UpdateOverlayStates += (Manipulator)obj2; } private static void CharacterModel_UpdateOverlayStates(ILContext il) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown //IL_004c: Unknown result type (might be due to invalid IL or missing references) ILCursor val = new ILCursor(il); if (val.TryGotoNext((MoveType)0, new Func<Instruction, bool>[1] { (Instruction x) => ILPatternMatchingExt.MatchLdsfld(x, "RoR2.RoR2Content/Items", "LunarDagger") })) { val.Index += 4; val.Emit(OpCodes.Ldarg_0); val.EmitDelegate<Func<bool, CharacterModel, bool>>((Func<bool, CharacterModel, bool>)((bool yes, CharacterModel model) => model.body.isGlass || yes)); } else { Debug.LogWarning((object)"IL Failed: IL.CharacterModel_UpdateOverlays"); } } } public class Honor { [CompilerGenerated] private static class <>O { public static hook_BeginEncounter <0>__Honor_ForceSpecialEliteType; public static hook_Initialize <1>__Honor_SimuForceSpecialEliteType; public static hook_UpdateItemAvailability <2>__RemoveFireTrailFromWorm; public static hook_NotEliteOnlyArtifactActive <3>__AllowNormalTiersHonor; } public static List<EliteDef> minionEliteDefs = new List<EliteDef>(); public static void Start() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Expected O, but got Unknown //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown object obj = <>O.<0>__Honor_ForceSpecialEliteType; if (obj == null) { hook_BeginEncounter val = Honor_ForceSpecialEliteType; <>O.<0>__Honor_ForceSpecialEliteType = val; obj = (object)val; } ScriptedCombatEncounter.BeginEncounter += (hook_BeginEncounter)obj; object obj2 = <>O.<1>__Honor_SimuForceSpecialEliteType; if (obj2 == null) { hook_Initialize val2 = Honor_SimuForceSpecialEliteType; <>O.<1>__Honor_SimuForceSpecialEliteType = val2; obj2 = (object)val2; } InfiniteTowerExplicitSpawnWaveController.Initialize += (hook_Initialize)obj2; object obj3 = <>O.<2>__RemoveFireTrailFromWorm; if (obj3 == null) { hook_UpdateItemAvailability val3 = RemoveFireTrailFromWorm; <>O.<2>__RemoveFireTrailFromWorm = val3; obj3 = (object)val3; } CharacterBody.UpdateItemAvailability += (hook_UpdateItemAvailability)obj3; Addressables.LoadAssetAsync<EliteDef>((object)"RoR2/DLC1/EliteEarth/edEarthHonor.asset").WaitForCompletion().healthBoostCoefficient = 2f; } public static void Honor_EliteTiers(bool activate) { //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Expected O, but got Unknown //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Expected O, but got Unknown if (!WConfig.Honor_RedoneElites.Value) { return; } List<EliteDef> list = new List<EliteDef>(); float num = 2f; if (activate) { object obj = <>O.<3>__AllowNormalTiersHonor; if (obj == null) { hook_NotEliteOnlyArtifactActive val = AllowNormalTiersHonor; <>O.<3>__AllowNormalTiersHonor = val; obj = (object)val; } CombatDirector.NotEliteOnlyArtifactActive += (hook_NotEliteOnlyArtifactActive)obj; CombatDirector.eliteTiers[0].isAvailable = (EliteRules rules) => false; num = 0.5f; } else { object obj2 = <>O.<3>__AllowNormalTiersHonor; if (obj2 == null) { hook_NotEliteOnlyArtifactActive val2 = AllowNormalTiersHonor; <>O.<3>__AllowNormalTiersHonor = val2; obj2 = (object)val2; } CombatDirector.NotEliteOnlyArtifactActive -= (hook_NotEliteOnlyArtifactActive)obj2; CombatDirector.eliteTiers[0].isAvailable = (EliteRules rules) => true; } EliteDef[] eliteDefs = EliteCatalog.eliteDefs; foreach (EliteDef val3 in eliteDefs) { if (!((Object)val3).name.EndsWith("Honor")) { val3.healthBoostCoefficient = Mathf.LerpUnclamped(1f, val3.healthBoostCoefficient, num); val3.damageBoostCoefficient = Mathf.LerpUnclamped(1f, val3.damageBoostCoefficient, num); } else if (val3.IsAvailable()) { minionEliteDefs.Add(val3); } } for (int j = 1; j < CombatDirector.eliteTiers.Length; j++) { if ((Object)(object)CombatDirector.eliteTiers[j].eliteTypes[0] == (Object)(object)Elites.LightningHonor) { EliteTierDef val4 = CombatDirector.eliteTiers[0]; CombatDirector.eliteTiers[0] = CombatDirector.eliteTiers[j]; CombatDirector.eliteTiers[j] = val4; } else { CombatDirector.eliteTiers[j].costMultiplier = Mathf.LerpUnclamped(1f, CombatDirector.eliteTiers[j].costMultiplier, num); } } } private static bool AllowNormalTiersHonor(orig_NotEliteOnlyArtifactActive orig) { return true; } public static bool DisableHonorEliteTier(orig_IsEliteOnlyArtifactActive orig) { return false; } private static void Honor_SimuForceSpecialEliteType(orig_Initialize orig, InfiniteTowerExplicitSpawnWaveController self, int waveIndex, Inventory enemyInventory, GameObject spawnTargetObject) { if (RunArtifactManager.instance.IsArtifactEnabled(Artifacts.EliteOnly) && WConfig.Honor_PerfectMithrix.Value) { string name = ((Object)self.spawnList[0].spawnCard).name; if (name.StartsWith("cscBrother")) { self.spawnList[0].eliteDef = Elites.Lunar; } else if (name.StartsWith("cscScavLunar")) { self.spawnList[0].eliteDef = Elites.Lunar; } else if (name.StartsWith("cscMiniVoidR")) { self.spawnList[0].eliteDef = Elites.Void; } else if (name.StartsWith("cscITVoidMe")) { self.spawnList[0].eliteDef = Elites.Void; } else if (name.StartsWith("cscVoidInfestor")) { self.spawnList[0].eliteDef = Elites.Void; } else if (name.StartsWith("cscFalseSon")) { self.spawnList[0].eliteDef = Elites.Aurelionite; } else if (name.StartsWith("cscTitanGold") && Run.instance.IsExpansionEnabled(Elites.Aurelionite.eliteEquipmentDef.requiredExpansion)) { self.spawnList[0].eliteDef = Elites.Aurelionite; } } orig.Invoke(self, waveIndex, enemyInventory, spawnTargetObject); } private static void Honor_ForceSpecialEliteType(orig_BeginEncounter orig, ScriptedCombatEncounter self) { //IL_0117: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); if (!RunArtifactManager.instance.IsArtifactEnabled(Artifacts.EliteOnly) || !WConfig.Honor_PerfectMithrix.Value) { return; } string name = ((Object)self.spawns[0].spawnCard).name; bool flag = false; EquipmentDef val = null; if (name.StartsWith("cscBrother") || name.StartsWith("cscScavLunar")) { flag = true; val = Equipment.AffixLunar; } else if (name.StartsWith("cscMiniVoidR") || name.StartsWith("cscVoidInfe")) { flag = true; val = Equipment.EliteVoidEquipment; } else if (name.StartsWith("cscFalseSon") || name.StartsWith("cscTitanGold")) { val = Equipment.EliteAurelioniteEquipment; if (Run.instance.IsExpansionEnabled(val.requiredExpansion)) { flag = true; } } if (flag) { for (int i = 0; i < self.combatSquad.memberCount; i++) { self.combatSquad.membersList[i].inventory.SetEquipmentIndex(val.equipmentIndex); } } } private static void RemoveFireTrailFromWorm(orig_UpdateItemAvailability orig, CharacterBody self) { orig.Invoke(self); if (Object.op_Implicit((Object)(object)self) && Object.op_Implicit((Object)(object)((Component)self).GetComponent<WormBodyPositions2>())) { self.itemAvailability.hasFireTrail = false; } } public static void PreventPerfectedMithrixFromRegenningShield(orig_OnOutOfDangerChanged orig, CharacterBody self) { orig.Invoke(self); if (((Object)self).name.StartsWith("Bro")) { self.outOfDangerStopwatch = -1000f; } } public static void MinionsInheritHonor(orig_AddMinion orig, NetworkInstanceId ownerId, MinionOwnership minion) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Invalid comparison between Unknown and I4 //IL_007c: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(ownerId, minion); if (NetworkServer.active) { Inventory component = ((Component)minion).gameObject.GetComponent<Inventory>(); if (Object.op_Implicit((Object)(object)component) && (int)component.currentEquipmentIndex == -1 && minionEliteDefs.Count > 0) { int index = Main.Random.Next(minionEliteDefs.Count); component.SetEquipmentIndex(minionEliteDefs[index].eliteEquipmentDef.equipmentIndex); component.GiveItem(Items.BoostHp, (int)(minionEliteDefs[index].healthBoostCoefficient - 1f) * 10); component.GiveItem(Items.BoostDamage, (int)(minionEliteDefs[index].damageBoostCoefficient - 1f) * 10); } } } public static void Worm_EliteStuff(bool honorActive) { //IL_0024: 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_0073: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) if (WConfig.Honor_EliteWormsAlways.Value) { CharacterSpawnCard val = LegacyResourcesAPI.Load<CharacterSpawnCard>("SpawnCards/CharacterSpawnCards/cscMagmaWorm"); val.noElites = false; ((SpawnCard)val).eliteRules = (EliteRules)0; CharacterSpawnCard val2 = LegacyResourcesAPI.Load<CharacterSpawnCard>("SpawnCards/CharacterSpawnCards/cscElectricWorm"); val2.noElites = false; ((SpawnCard)val2).eliteRules = (EliteRules)0; } else if (WConfig.Honor_EliteWorms.Value) { if (honorActive) { CharacterSpawnCard val3 = LegacyResourcesAPI.Load<CharacterSpawnCard>("SpawnCards/CharacterSpawnCards/cscMagmaWorm"); val3.noElites = false; ((SpawnCard)val3).eliteRules = (EliteRules)0; CharacterSpawnCard val4 = LegacyResourcesAPI.Load<CharacterSpawnCard>("SpawnCards/CharacterSpawnCards/cscElectricWorm"); val4.noElites = false; ((SpawnCard)val4).eliteRules = (EliteRules)0; } else { CharacterSpawnCard val5 = LegacyResourcesAPI.Load<CharacterSpawnCard>("SpawnCards/CharacterSpawnCards/cscMagmaWorm"); val5.noElites = true; CharacterSpawnCard val6 = LegacyResourcesAPI.Load<CharacterSpawnCard>("SpawnCards/CharacterSpawnCards/cscElectricWorm"); val6.noElites = true; } } } } public class Kin { [CompilerGenerated] private static class <>O { public static Manipulator <0>__IL_ClassicStageInfo_HandleSingleMonsterTypeArtifact1; public static hook_HandleSingleMonsterTypeArtifact <1>__ClassicStageInfo_HandleSingleMonsterTypeArtifact; } public static DirectorCardCategorySelection KinBackup = ScriptableObject.CreateInstance<DirectorCardCategorySelection>(); public static SpawnCard KinNoRepeat; public static void Start() { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Expected O, but got Unknown //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Expected O, but got Unknown ((Object)KinBackup).name = "dcccBackupKinHelper"; object obj = <>O.<0>__IL_ClassicStageInfo_HandleSingleMonsterTypeArtifact1; if (obj == null) { Manipulator val = IL_ClassicStageInfo_HandleSingleMonsterTypeArtifact1; <>O.<0>__IL_ClassicStageInfo_HandleSingleMonsterTypeArtifact1 = val; obj = (object)val; } ClassicStageInfo.HandleSingleMonsterTypeArtifact += (Manipulator)obj; object obj2 = <>O.<1>__ClassicStageInfo_HandleSingleMonsterTypeArtifact; if (obj2 == null) { hook_HandleSingleMonsterTypeArtifact val2 = ClassicStageInfo_HandleSingleMonsterTypeArtifact; <>O.<1>__ClassicStageInfo_HandleSingleMonsterTypeArtifact = val2; obj2 = (object)val2; } ClassicStageInfo.HandleSingleMonsterTypeArtifact += (hook_HandleSingleMonsterTypeArtifact)obj2; } private static void IL_ClassicStageInfo_HandleSingleMonsterTypeArtifact1(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.MatchLdcR4(x, 40f) })) { val.Next.Operand = 50f; int index = val.Index; val.Index = index + 1; val.TryGotoNext((MoveType)0, new Func<Instruction, bool>[1] { (Instruction x) => ILPatternMatchingExt.MatchLdcR4(x, 50f) }); val.Next.Operand = 60f; } else { Debug.LogWarning((object)"IL Failed: IL.IL_ClassicStageInfo_HandleMixEnemyArtifact"); } } private static void IL_ClassicStageInfo_HandleMixEnemyArtifact(ILContext il) { } private static void ClassicStageInfo_HandleSingleMonsterTypeArtifact(orig_HandleSingleMonsterTypeArtifact orig, DirectorCardCategorySelection monsterCategories, Xoroshiro128Plus rng) { KinBackup.CopyFrom(monsterCategories); orig.Invoke(monsterCategories, rng); int num = 0; SpawnCard spawnCard = monsterCategories.categories[0].cards[0].spawnCard; if ((Object)(object)spawnCard == (Object)(object)KinNoRepeat) { do { num++; monsterCategories.CopyFrom(KinBackup); orig.Invoke(monsterCategories, rng); spawnCard = monsterCategories.categories[0].cards[0].spawnCard; } while (num < 15 && (Object)(object)spawnCard == (Object)(object)KinNoRepeat); } if ((Object)(object)spawnCard != (Object)(object)KinNoRepeat) { Debug.Log((object)(num + " Cycles until non repeat")); KinNoRepeat = spawnCard; } else if (num == 10) { Debug.Log((object)(num + " Cycles, stop looking for non repeat")); } KinBackup.Clear(); } } public class KinBossDropsForEnemies { public static CharacterMaster tempClayMan; public static string ol = Language.GetString("ELITE_MODIFIER_LIGHTNING"); public static void Start() { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0077: 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_008b: 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_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: 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_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_011e: 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_0139: 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_014d: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_017f: Unknown result type (might be due to invalid IL or missing references) //IL_01bf: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Unknown result type (might be due to invalid IL or missing references) //IL_01d8: Unknown result type (might be due to invalid IL or missing references) //IL_01d9: Unknown result type (might be due to invalid IL or missing references) //IL_01e3: Unknown result type (might be due to invalid IL or missing references) //IL_01e8: Unknown result type (might be due to invalid IL or missing references) //IL_01fa: Unknown result type (might be due to invalid IL or missing references) //IL_01fb: Unknown result type (might be due to invalid IL or missing references) //IL_0215: Unknown result type (might be due to invalid IL or missing references) //IL_0227: Unknown result type (might be due to invalid IL or missing references) //IL_0229: Unknown result type (might be due to invalid IL or missing references) //IL_0243: Unknown result type (might be due to invalid IL or missing references) //IL_0255: Unknown result type (might be due to invalid IL or missing references) //IL_0257: Unknown result type (might be due to invalid IL or missing references) //IL_0271: Unknown result type (might be due to invalid IL or missing references) //IL_0283: Unknown result type (might be due to invalid IL or missing references) //IL_0285: Unknown result type (might be due to invalid IL or missing references) //IL_029f: Unknown result type (might be due to invalid IL or missing references) //IL_02b1: Unknown result type (might be due to invalid IL or missing references) //IL_02b3: Unknown result type (might be due to invalid IL or missing references) //IL_02bd: Unknown result type (might be due to invalid IL or missing references) //IL_02c2: Unknown result type (might be due to invalid IL or missing references) //IL_02d6: Unknown result type (might be due to invalid IL or missing references) //IL_02e8: Unknown result type (might be due to invalid IL or missing references) //IL_02ea: Unknown result type (might be due to invalid IL or missing references) //IL_0302: Unknown result type (might be due to invalid IL or missing references) //IL_0303: 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_031c: Unknown result type (might be due to invalid IL or missing references) //IL_0334: Unknown result type (might be due to invalid IL or missing references) //IL_0336: Unknown result type (might be due to invalid IL or missing references) //IL_034e: Unknown result type (might be due to invalid IL or missing references) //IL_0350: 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_036a: Unknown result type (might be due to invalid IL or missing references) //IL_0382: Unknown result type (might be due to invalid IL or missing references) //IL_0384: Unknown result type (might be due to invalid IL or missing references) //IL_039c: Unknown result type (might be due to invalid IL or missing references) //IL_039e: 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_03ca: Unknown result type (might be due to invalid IL or missing references) //IL_03cc: Unknown result type (might be due to invalid IL or missing references) //IL_03e4: Unknown result type (might be due to invalid IL or missing references) //IL_03e6: Unknown result type (might be due to invalid IL or missing references) //IL_03fe: Unknown result type (might be due to invalid IL or missing references) //IL_0400: 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_040f: Unknown result type (might be due to invalid IL or missing references) //IL_0421: Unknown result type (might be due to invalid IL or missing references) //IL_0423: Unknown result type (might be due to invalid IL or missing references) //IL_042d: Unknown result type (might be due to invalid IL or missing references) //IL_0432: Unknown result type (might be due to invalid IL or missing references) //IL_0444: Unknown result type (might be due to invalid IL or missing references) //IL_0446: 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_0455: 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_0469: Unknown result type (might be due to invalid IL or missing references) //IL_0473: Unknown result type (might be due to invalid IL or missing references) //IL_0478: Unknown result type (might be due to invalid IL or missing references) //IL_048a: Unknown result type (might be due to invalid IL or missing references) //IL_048c: Unknown result type (might be due to invalid IL or missing references) //IL_0496: Unknown result type (might be due to invalid IL or missing references) //IL_049b: Unknown result type (might be due to invalid IL or missing references) //IL_04ad: Unknown result type (might be due to invalid IL or missing references) //IL_04af: Unknown result type (might be due to invalid IL or missing references) //IL_04b9: Unknown result type (might be due to invalid IL or missing references) //IL_04be: Unknown result type (might be due to invalid IL or missing references) //IL_04d0: Unknown result type (might be due to invalid IL or missing references) //IL_04d2: Unknown result type (might be due to invalid IL or missing references) //IL_04dc: Unknown result type (might be due to invalid IL or missing references) //IL_04e1: Unknown result type (might be due to invalid IL or missing references) //IL_04f5: 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_0509: Unknown result type (might be due to invalid IL or missing references) //IL_0513: Unknown result type (might be due to invalid IL or missing references) //IL_0518: Unknown result type (might be due to invalid IL or missing references) //IL_052c: Unknown result type (might be due to invalid IL or missing references) //IL_053e: Unknown result type (might be due to invalid IL or missing references) //IL_0540: Unknown result type (might be due to invalid IL or missing references) //IL_054a: Unknown result type (might be due to invalid IL or missing references) //IL_054f: Unknown result type (might be due to invalid IL or missing references) //IL_0563: Unknown result type (might be due to invalid IL or missing references) //IL_0575: Unknown result type (might be due to invalid IL or missing references) //IL_0577: 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_01a6: Unknown result type (might be due to invalid IL or missing references) SerializablePickupIndex val = default(SerializablePickupIndex); val.pickupName = "ItemIndex.SprintWisp"; SerializablePickupIndex bossPickup = val; val = default(SerializablePickupIndex); val.pickupName = "ItemIndex.BeetleGland"; SerializablePickupIndex bossPickup2 = val; val = default(SerializablePickupIndex); val.pickupName = "ItemIndex.RoboBallBuddy"; SerializablePickupIndex bossPickup3 = val; val = default(SerializablePickupIndex); val.pickupName = "ItemIndex.FireballsOnHit"; SerializablePickupIndex bossPickup4 = val; val = default(SerializablePickupIndex); val.pickupName = "ItemIndex.ShinyPearl"; SerializablePickupIndex bossPickup5 = val; val = default(SerializablePickupIndex); val.pickupName = "ItemIndex.VoidMegaCrabItem"; SerializablePickupIndex bossPickup6 = val; DeathRewards component = LegacyResourcesAPI.Load<GameObject>("prefabs/characterbodies/GolemBody").GetComponent<DeathRewards>(); component.bossPickup = new SerializablePickupIndex { pickupName = "ItemIndex.Knurl" }; component = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC2/Halcyonite/HalcyoniteBody.prefab").WaitForCompletion().GetComponent<DeathRewards>(); component.bossPickup = new SerializablePickupIndex { pickupName = "ItemIndex.Knurl"