Decompiled source of WolfoQualityOfLife v3.2.6
WolfoQualityOfLife.dll
Decompiled 2 days 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.Bootstrap; using BepInEx.Configuration; using EntityStates; using EntityStates.Bell.BellWeapon; using EntityStates.Croco; using EntityStates.GameOver; using EntityStates.GlobalSkills.LunarDetonator; using EntityStates.Headstompers; using EntityStates.Loader; using EntityStates.Merc; using EntityStates.Merc.Weapon; using EntityStates.MeridianEvent; using EntityStates.Missions.Arena.NullWard; using EntityStates.Missions.BrotherEncounter; using EntityStates.Missions.GeodeSecretMission; using EntityStates.ScavMonster; using EntityStates.ShrineHalcyonite; using EntityStates.Toolbot; using EntityStates.Treebot.TreebotFlower; using EntityStates.Treebot.Weapon; using EntityStates.VoidRaidCrab; using EntityStates.VoidSurvivor.Weapon; using HG; using IL.EntityStates.Bell.BellWeapon; using IL.EntityStates.Croco; using IL.EntityStates.Merc; using IL.EntityStates.Merc.Weapon; using IL.RoR2; using IL.RoR2.Orbs; using IL.RoR2.UI; using JetBrains.Annotations; using Microsoft.CodeAnalysis; using Mono.Cecil.Cil; using MonoMod.Cil; using On.EntityStates; using On.EntityStates.Croco; using On.EntityStates.GameOver; using On.EntityStates.GlobalSkills.LunarDetonator; using On.EntityStates.Headstompers; using On.EntityStates.Loader; using On.EntityStates.Merc; using On.EntityStates.Merc.Weapon; using On.EntityStates.Missions.Arena.NullWard; using On.EntityStates.Missions.BrotherEncounter; using On.EntityStates.Missions.GeodeSecretMission; using On.EntityStates.ScavMonster; using On.EntityStates.ShrineHalcyonite; using On.EntityStates.Toolbot; using On.EntityStates.Treebot.TreebotFlower; using On.EntityStates.Treebot.Weapon; using On.EntityStates.VoidRaidCrab; using On.EntityStates.VoidSurvivor.Weapon; using On.RoR2; using On.RoR2.Artifacts; using On.RoR2.Items; using On.RoR2.Orbs; using On.RoR2.UI; using On.RoR2.UI.LogBook; using On.RoR2.UI.MainMenu; using R2API; using R2API.Utils; using RiskOfOptions; using RiskOfOptions.OptionConfigs; using RiskOfOptions.Options; using RoR2; using RoR2.ExpansionManagement; using RoR2.Hologram; using RoR2.Items; using RoR2.Orbs; using RoR2.Projectile; using RoR2.Stats; using RoR2.UI; using RoR2.UI.LogBook; using RoR2.UI.MainMenu; using TMPro; using ThreeEyedGames; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Events; using UnityEngine.Networking; using UnityEngine.Rendering; using UnityEngine.SceneManagement; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("WolfoQualityOfLife")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+5f87b68d2b94023c05b38e0911627864803c6ac0")] [assembly: AssemblyProduct("WolfoQualityOfLife")] [assembly: AssemblyTitle("WolfoQualityOfLife")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [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] [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 WolfoQualityOfLife { internal static class Assets { [CompilerGenerated] private static class <>O { public static hook_SetFolders <0>__SetFolders; } public static AssetBundle Bundle; public static AssetBundle OldDuplicatorBundle; public static PluginInfo PluginInfo; public static string Folder = "QualityOfLife\\"; internal static string assemblyDir => Path.GetDirectoryName(PluginInfo.Location); internal static void Init(PluginInfo info) { //IL_0057: 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_0062: Expected O, but got Unknown PluginInfo = info; if (!Directory.Exists(GetPathToFile("QualityOfLife"))) { Folder = ""; } if (Directory.Exists(GetPathToFile(Folder + "Languages"))) { object obj = <>O.<0>__SetFolders; if (obj == null) { hook_SetFolders val = SetFolders; <>O.<0>__SetFolders = val; obj = (object)val; } Language.SetFolders += (hook_SetFolders)obj; } else { Debug.LogWarning((object)"COULD NOT FIND LANGUAGES FOLDER"); } if (Directory.Exists(GetPathToFile(Folder + "AssetBundles"))) { Bundle = AssetBundle.LoadFromFile(GetPathToFile(Folder + "AssetBundles", "wolfoqualityoflife")); OldDuplicatorBundle = AssetBundle.LoadFromFile(GetPathToFile(Folder + "AssetBundles", "oldduplicatorbundle")); } else { Debug.LogWarning((object)"COULD NOT FIND ASSETBUNDLES FOLDER"); } } private static void SetFolders(orig_SetFolders orig, Language self, IEnumerable<string> newFolders) { IEnumerable<string> second = Directory.EnumerateDirectories(Path.Combine(GetPathToFile(Folder + "Languages")), self.name); orig.Invoke(self, newFolders.Union(second)); } internal static string GetPathToFile(string folderName) { return Path.Combine(assemblyDir, folderName); } internal static string GetPathToFile(string folderName, string fileName) { return Path.Combine(assemblyDir, folderName, fileName); } } public static class ArrayUtil { public static T[] Add<T>(this T[] array, params T[] items) { return (array ?? Enumerable.Empty<T>()).Concat(items).ToArray(); } public static T[] Remove<T>(this T[] array, params T[] items) { return (array ?? Enumerable.Empty<T>()).Except(items).ToArray(); } } public class v { public static Rect recnothing = new Rect(0f, 0f, 0f, 0f); public static Rect recwide = new Rect(0f, 0f, 384f, 256f); public static Rect rechalftall = new Rect(0f, 0f, 256f, 320f); public static Rect rechalfwide = new Rect(0f, 0f, 320f, 256f); public static Rect rectall = new Rect(0f, 0f, 256f, 384f); public static Rect rec512 = new Rect(0f, 0f, 512f, 512f); public static Rect rec320 = new Rect(0f, 0f, 320f, 320f); public static Rect rec256 = new Rect(0f, 0f, 256f, 256f); public static Rect rec192 = new Rect(0f, 0f, 192f, 192f); public static Rect rec128 = new Rect(0f, 0f, 128f, 128f); public static Rect rec106 = new Rect(0f, 0f, 106f, 106f); public static Rect rec64 = new Rect(0f, 0f, 64f, 64f); public static Vector2 half = new Vector2(0.5f, 0.5f); public static Texture2D dummytex192 = new Texture2D(192, 192, (TextureFormat)12, false); public static Texture2D dummytex256 = new Texture2D(256, 256, (TextureFormat)12, false); public static Texture2D dummytexwide = new Texture2D(384, 256, (TextureFormat)12, false); public static Texture2D dummytex320 = new Texture2D(320, 320, (TextureFormat)12, false); public static Texture2D dummytex512 = new Texture2D(512, 512, (TextureFormat)12, false); public static Texture2D dummytexhalftall = new Texture2D(256, 320, (TextureFormat)12, false); } public class DuplicatorModel { public static GameObject FBXDuplicatorOld = Assets.OldDuplicatorBundle.LoadAsset<GameObject>("Assets/mdlDuplicatorOld/mdlDuplicatorOld.fbx"); public static GameObject FBXDuplicatorOld2 = Assets.OldDuplicatorBundle.LoadAsset<GameObject>("Assets/mdlDuplicatorOld2/mdlDuplicatorOld2.fbx"); public static GameObject FBXDuplicatorOldMili = Assets.OldDuplicatorBundle.LoadAsset<GameObject>("Assets/mdlDuplicatorMiliOld/mdlDuplicatorMiliOld.fbx"); public static GameObject FBXDuplicatorOldWild = Assets.OldDuplicatorBundle.LoadAsset<GameObject>("Assets/mdlDuplicatorWildOld/mdlDuplicatorWildOld.fbx"); public static RuntimeAnimatorController OldAnimControll = Assets.OldDuplicatorBundle.LoadAsset<RuntimeAnimatorController>("Assets/animationcontroller/animDuplicator.controller"); public static GameObject Duplicator = LegacyResourcesAPI.Load<GameObject>("Prefabs/networkedobjects/chest/Duplicator"); public static GameObject DuplicatorLarge = LegacyResourcesAPI.Load<GameObject>("Prefabs/networkedobjects/chest/DuplicatorLarge"); public static GameObject DuplicatorMili = LegacyResourcesAPI.Load<GameObject>("Prefabs/networkedobjects/chest/DuplicatorMilitary"); public static GameObject DuplicatorWild = LegacyResourcesAPI.Load<GameObject>("Prefabs/networkedobjects/chest/DuplicatorWild"); [Obsolete] public static void DuplicatorModelChanger() { //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_014a: 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_025a: Unknown result type (might be due to invalid IL or missing references) //IL_02a3: Unknown result type (might be due to invalid IL or missing references) //IL_02e0: Unknown result type (might be due to invalid IL or missing references) //IL_031d: Unknown result type (might be due to invalid IL or missing references) if (WConfig.OldModelDuplcators.Value) { ((Behaviour)((Component)DuplicatorLarge.transform.FindChild("mdlDuplicator")).GetComponent<RandomizeSplatBias>()).enabled = false; ((Component)((Component)DuplicatorLarge.transform.FindChild("mdlDuplicator")).transform.FindChild("DuplicatorMesh")).GetComponent<SkinnedMeshRenderer>().sharedMesh = ((Component)((Component)FBXDuplicatorOld2.transform.GetChild(0)).transform.GetChild(2)).GetComponent<SkinnedMeshRenderer>().sharedMesh; ((Component)DuplicatorLarge.transform.FindChild("mdlDuplicator")).transform.FindChild("PickupDisplay").localPosition = ((Component)FBXDuplicatorOld2.transform.GetChild(0)).transform.GetChild(4).localPosition; ((Component)DuplicatorLarge.transform.FindChild("mdlDuplicator")).transform.FindChild("DropPivot").localPosition = ((Component)FBXDuplicatorOld2.transform.GetChild(0)).transform.GetChild(0).localPosition; ((Component)DuplicatorLarge.transform.FindChild("mdlDuplicator")).transform.FindChild("HologramPivot").localScale = new Vector3(1.15f, 1.15f, 1.15f); ((Component)DuplicatorLarge.transform.FindChild("mdlDuplicator")).transform.FindChild("HologramPivot").localPosition = new Vector3(0f, 0.55f, 1.64f); ((Component)DuplicatorLarge.transform.FindChild("mdlDuplicator")).GetComponent<Animator>().runtimeAnimatorController = OldAnimControll; } if (WConfig.OldModelDuplcators.Value) { ((Component)((Component)DuplicatorMili.transform.FindChild("mdlDuplicator")).transform.FindChild("DuplicatorMesh")).GetComponent<SkinnedMeshRenderer>().sharedMesh = ((Component)((Component)FBXDuplicatorOldMili.transform.GetChild(0)).transform.GetChild(2)).GetComponent<SkinnedMeshRenderer>().sharedMesh; ((Component)DuplicatorMili.transform.FindChild("mdlDuplicator")).transform.FindChild("PickupDisplay").localPosition = ((Component)FBXDuplicatorOldMili.transform.GetChild(0)).transform.GetChild(4).localPosition; ((Component)DuplicatorMili.transform.FindChild("mdlDuplicator")).transform.FindChild("DropPivot").localPosition = ((Component)FBXDuplicatorOldMili.transform.GetChild(0)).transform.GetChild(0).localPosition; ((Component)DuplicatorMili.transform.FindChild("mdlDuplicator")).transform.FindChild("HologramPivot").localScale = new Vector3(1.15f, 1.15f, 1.15f); ((Component)DuplicatorMili.transform.FindChild("mdlDuplicator")).transform.FindChild("HologramPivot").localPosition = new Vector3(0f, 0.55f, 1.64f); ((Component)DuplicatorMili.transform.FindChild("mdlDuplicator")).GetComponent<Animator>().runtimeAnimatorController = OldAnimControll; } } } public class RandomMisc { public class InstantiateGameObjectAtLocation : MonoBehaviour { public GameObject objectToInstantiate; public void Start() { Object.Instantiate<GameObject>(objectToInstantiate, ((Component)this).transform); } } [CompilerGenerated] private static class <>O { public static Manipulator <0>__BiggerSaleStarRange; public static hook_AddShrineStack <1>__ChanceDollUniqueLine; public static hook_Awake <2>__AddFlowersToMiscHoldoutZone; } [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static hook_TryGrantItem <>9__2_0; public static hook_OnEnter <>9__2_1; public static hook_FixedUpdate <>9__2_2; public static hook_PreStartClient <>9__2_3; public static hook_DropPickup <>9__2_4; public static hook_OnEnter <>9__2_5; public static hook_OnEnter <>9__2_6; public static hook_PlayExtraLifeSFX <>9__2_7; public static hook_UpdatePickupDisplayAndAnimations <>9__2_8; public static Func<Instruction, bool> <>9__3_0; public static Func<Instruction, bool> <>9__3_8; public static Func<GameObject, InteractionDriver, GameObject> <>9__3_1; public static Func<Instruction, bool> <>9__3_2; public static Func<Instruction, bool> <>9__3_3; public static Func<Instruction, bool> <>9__3_4; public static Func<Instruction, bool> <>9__3_5; public static Func<Instruction, bool> <>9__3_6; public static Func<GameObject, GameObject> <>9__3_7; public static hook_Awake <>9__7_0; public static hook_Awake <>9__7_1; public static hook_Awake <>9__7_2; public static hook_OnStartClient <>9__8_0; public static hook_OnTargetSceneChanged <>9__8_1; public static hook_SetRunNextStageToTarget <>9__8_2; public static hook_Start <>9__9_0; internal void <Start>b__2_0(orig_TryGrantItem orig, CaptainDefenseMatrixController self) { orig.Invoke(self); CaptainSupplyDropController component = ((Component)self.characterBody).GetComponent<CaptainSupplyDropController>(); if (Object.op_Implicit((Object)(object)component)) { component.CallCmdSetSkillMask((byte)3); } } internal void <Start>b__2_1(orig_OnEnter orig, ReadyMegaBlaster self) { orig.Invoke(self); ((EntityState)self).characterBody.AddSpreadBloom(0.4f); } internal void <Start>b__2_2(orig_FixedUpdate orig, ReadyMegaBlaster self) { orig.Invoke(self); ((EntityState)self).characterBody.SetSpreadBloom(0.2f, true); } internal void <Start>b__2_3(orig_PreStartClient orig, ShopTerminalBehavior self) { orig.Invoke(self); if (((Object)self).name.StartsWith("LunarCauldron,") || ((Object)self).name.StartsWith("ShrineCleanse")) { Util.PlaySound("Play_ui_obj_lunarPool_idle_loop", ((Component)self).gameObject); Util.PlaySound("Play_ui_obj_lunarPool_idle_loop", ((Component)self).gameObject); Util.PlaySound("Play_ui_obj_lunarPool_idle_loop", ((Component)self).gameObject); } } internal void <Start>b__2_4(orig_DropPickup orig, ShopTerminalBehavior self) { orig.Invoke(self); if (((Object)self).name.StartsWith("LunarCauldron,") || ((Object)self).name.StartsWith("ShrineCleanse")) { Util.PlaySound("Play_ui_obj_lunarPool_activate", ((Component)self).gameObject); Util.PlaySound("Play_ui_obj_lunarPool_activate", ((Component)self).gameObject); Util.PlaySound("Play_ui_obj_lunarPool_activate", ((Component)self).gameObject); } } internal void <Start>b__2_5(orig_OnEnter orig, Sit self) { orig.Invoke(self); if (Object.op_Implicit((Object)(object)((Component)((EntityState)self).outer).gameObject)) { Util.PlaySound(Sit.soundString, ((Component)((EntityState)self).outer).gameObject); } } internal void <Start>b__2_6(orig_OnEnter orig, Detonate self) { orig.Invoke(self); Util.PlaySound("Play_item_lunar_specialReplace_apply", ((Component)((EntityState)self).outer).gameObject); } internal void <Start>b__2_7(orig_PlayExtraLifeSFX orig, CharacterMaster self) { orig.Invoke(self); GameObject bodyObject = self.GetBodyObject(); if (Object.op_Implicit((Object)(object)bodyObject)) { Util.PlaySound("Play_item_proc_extraLife", bodyObject); Util.PlaySound("Play_item_proc_extraLife", bodyObject); Util.PlaySound("Play_item_proc_extraLife", bodyObject); } } internal void <Start>b__2_8(orig_UpdatePickupDisplayAndAnimations orig, ShopTerminalBehavior self) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) if (self.pickupIndex == PickupIndex.none && ((Component)self).GetComponent<PurchaseInteraction>().available) { self.hasStarted = false; orig.Invoke(self); self.hasStarted = true; } else { orig.Invoke(self); } } internal bool <BiggerSaleStarRange>b__3_0(Instruction x) { return ILPatternMatchingExt.MatchLdsfld(x, "RoR2.DLC2Content/Items", "LowerPricedChests"); } internal bool <BiggerSaleStarRange>b__3_8(Instruction x) { return ILPatternMatchingExt.MatchLdfld(x, "RoR2.InteractionDriver", "currentInteractable"); } internal GameObject <BiggerSaleStarRange>b__3_1(GameObject target, InteractionDriver interactionDriver) { //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0067: 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_0074: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00da: 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_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0085: 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_0093: 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: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: 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_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: 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_0150: Unknown result type (might be due to invalid IL or missing references) if (interactionDriver.networkIdentity.hasAuthority) { if (interactionDriver.characterBody.inventory.GetItemCount(Items.LowerPricedChests) > 0) { if ((Object)(object)target == (Object)null) { float num = 0f; float num2 = interactionDriver.interactor.maxInteractionDistance * 2f; Vector3 val = interactionDriver.inputBank.aimOrigin; Vector3 val2 = interactionDriver.inputBank.aimDirection; if (interactionDriver.useAimOffset) { Vector3 val3 = val + val2 * num2; val = interactionDriver.inputBank.aimOrigin + interactionDriver.aimOffset; val2 = (val3 - val) / num2; } Ray val4 = default(Ray); ((Ray)(ref val4))..ctor(val, val2); Ray val5 = CameraRigController.ModifyAimRayIfApplicable(val4, ((Component)interactionDriver).gameObject, ref num); target = interactionDriver.interactor.FindBestInteractableObject(val5, num2 + num, ((Ray)(ref val4)).origin, num2); } if (Object.op_Implicit((Object)(object)target)) { PurchaseInteraction component = target.GetComponent<PurchaseInteraction>(); if ((Object)(object)component != (Object)null && component.saleStarCompatible && !Object.op_Implicit((Object)(object)interactionDriver.saleStarEffect)) { interactionDriver.saleStarEffect = Object.Instantiate<GameObject>(LegacyResourcesAPI.Load<GameObject>("Prefabs/Effects/LowerPricedChestsGlow"), target.transform.position, Quaternion.identity, target.transform); return null; } } else if (Object.op_Implicit((Object)(object)interactionDriver.saleStarEffect)) { Object.Destroy((Object)(object)interactionDriver.saleStarEffect); return null; } } else if (Object.op_Implicit((Object)(object)interactionDriver.saleStarEffect)) { Object.Destroy((Object)(object)interactionDriver.saleStarEffect); return null; } } return null; } internal bool <BiggerSaleStarRange>b__3_2(Instruction x) { return ILPatternMatchingExt.MatchLdfld(x, "RoR2.InteractionDriver", "saleStarEffect"); } internal bool <BiggerSaleStarRange>b__3_3(Instruction x) { return ILPatternMatchingExt.MatchCall(x, "UnityEngine.Object", "Destroy"); } internal bool <BiggerSaleStarRange>b__3_4(Instruction x) { return ILPatternMatchingExt.MatchLdfld(x, "RoR2.InteractionDriver", "saleStarEffect"); } internal bool <BiggerSaleStarRange>b__3_5(Instruction x) { return ILPatternMatchingExt.MatchCall(x, "UnityEngine.Object", "Destroy"); } internal bool <BiggerSaleStarRange>b__3_6(Instruction x) { return ILPatternMatchingExt.MatchLdfld(x, "RoR2.InteractionDriver", "saleStarEffect"); } internal GameObject <BiggerSaleStarRange>b__3_7(GameObject target) { return null; } internal void <PriceTransformStuff>b__7_0(orig_Awake orig, ChestBehavior self) { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Expected O, but got Unknown //IL_0056: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); if (((Object)((Component)self).gameObject).name.StartsWith("Lockbox")) { GameObject val = new GameObject("LockboxHoloPivot"); val.transform.SetParent(((Component)self).transform, false); val.transform.localPosition = new Vector3(0f, 2f, 0f); ((Component)self).GetComponent<HologramProjector>().hologramPivot = val.transform; } } internal void <PriceTransformStuff>b__7_1(orig_Awake orig, OptionChestBehavior self) { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Expected O, but got Unknown //IL_0056: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); if (((Object)((Component)self).gameObject).name.StartsWith("LockboxVoid")) { GameObject val = new GameObject("LockboxVoidHoloPivot"); val.transform.SetParent(((Component)self).transform, false); val.transform.localPosition = new Vector3(0f, 2f, 0f); ((Component)self).GetComponent<HologramProjector>().hologramPivot = val.transform; } } internal void <PriceTransformStuff>b__7_2(orig_Awake orig, VendingMachineBehavior self) { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Expected O, but got Unknown //IL_0056: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); if (((Object)((Component)self).gameObject).name.StartsWith("VendingMachine")) { GameObject val = new GameObject("VendingMachineHoloPivot"); val.transform.SetParent(((Component)self).transform, false); val.transform.localPosition = new Vector3(0f, 4.3f, 0f); ((Component)self).GetComponent<HologramProjector>().hologramPivot = val.transform; } } internal void <LunarSeerStuff>b__8_0(orig_OnStartClient orig, SeerStationController self) { orig.Invoke(self); if (self.NetworktargetSceneDefIndex != -1) { string @string = Language.GetString(SceneCatalog.GetSceneDef((SceneIndex)self.NetworktargetSceneDefIndex).nameToken); @string = @string.Replace("Hidden Realm: ", ""); ((Component)self).gameObject.GetComponent<PurchaseInteraction>().contextToken = Language.GetString("BAZAAR_SEER_CONTEXT") + " of " + @string; ((Component)self).gameObject.GetComponent<PurchaseInteraction>().displayNameToken = Language.GetString("BAZAAR_SEER_NAME") + " (" + @string + ")"; } } internal void <LunarSeerStuff>b__8_1(orig_OnTargetSceneChanged orig, SeerStationController self, SceneDef sceneDef) { orig.Invoke(self, sceneDef); if ((Object)(object)sceneDef != (Object)null) { string @string = Language.GetString(SceneCatalog.GetSceneDef((SceneIndex)self.NetworktargetSceneDefIndex).nameToken); @string = @string.Replace("Hidden Realm: ", ""); ((Component)self).gameObject.GetComponent<PurchaseInteraction>().contextToken = Language.GetString("BAZAAR_SEER_CONTEXT") + " of " + @string; ((Component)self).gameObject.GetComponent<PurchaseInteraction>().displayNameToken = Language.GetString("BAZAAR_SEER_NAME") + " (" + @string + ")"; } } internal void <LunarSeerStuff>b__8_2(orig_SetRunNextStageToTarget orig, SeerStationController self) { //IL_007c: 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_037d: 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_0315: Unknown result type (might be due to invalid IL or missing references) //IL_031a: Unknown result type (might be due to invalid IL or missing references) //IL_033f: Unknown result type (might be due to invalid IL or missing references) //IL_034f: Unknown result type (might be due to invalid IL or missing references) //IL_0354: Unknown result type (might be due to invalid IL or missing references) //IL_03c2: Unknown result type (might be due to invalid IL or missing references) //IL_03c7: Unknown result type (might be due to invalid IL or missing references) //IL_0394: Unknown result type (might be due to invalid IL or missing references) //IL_0399: Unknown result type (might be due to invalid IL or missing references) //IL_03ab: Unknown result type (might be due to invalid IL or missing references) //IL_03b0: Unknown result type (might be due to invalid IL or missing references) //IL_03f4: Unknown result type (might be due to invalid IL or missing references) //IL_03ff: Unknown result type (might be due to invalid IL or missing references) //IL_02fb: Unknown result type (might be due to invalid IL or missing references) //IL_0300: Unknown result type (might be due to invalid IL or missing references) //IL_0366: 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) bool flag = false; if (Object.op_Implicit((Object)(object)SceneInfo.instance) && SceneInfo.instance.sceneDef.baseSceneName == "bazaar") { flag = true; GameObject val = GameObject.Find("/PortalShop"); SceneDef sceneDef = SceneCatalog.GetSceneDef((SceneIndex)self.NetworktargetSceneDefIndex); if (Object.op_Implicit((Object)(object)sceneDef) && Object.op_Implicit((Object)(object)val)) { val.transform.localScale = new Vector3(0.7f, 1.26f, 0.7f); val.transform.position = new Vector3(12.88f, -5.53f, -7.34f); GameObject val2 = null; GenericObjectiveProvider val3 = null; GameObject val4 = null; switch (sceneDef.baseSceneName) { case "goldshores": val2 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/PortalGoldshores/PortalGoldshores.prefab").WaitForCompletion(); break; case "mysteryspace": case "limbo": val2 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/PortalMS/PortalMS.prefab").WaitForCompletion(); break; case "artifactworld": case "artifactworld01": case "artifactworld02": case "artifactworld03": val.transform.localPosition = new Vector3(12.88f, 0f, -7.34f); val2 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/PortalArtifactworld/PortalArtifactworld.prefab").WaitForCompletion(); break; case "arena": val2 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/PortalArena/PortalArena.prefab").WaitForCompletion(); break; case "voidstage": val2 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC1/PortalVoid/PortalVoid.prefab").WaitForCompletion(); break; case "voidraid": val2 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC1/DeepVoidPortal/DeepVoidPortal.prefab").WaitForCompletion(); break; case "lemuriantemple": case "habitat": case "habitatfall": case "meridian": val2 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC2/PortalColossus.prefab").WaitForCompletion(); break; default: val2 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/PortalShop/PortalShop.prefab").WaitForCompletion(); break; } if ((Object)(object)val2 != (Object)null) { val3 = val2.GetComponent<GenericObjectiveProvider>(); val4 = Object.Instantiate<GameObject>(val2, val.transform.position, val.transform.rotation); NetworkServer.Spawn(val4); val4.GetComponent<SceneExitController>().destinationScene = sceneDef; val4.GetComponent<SceneExitController>().useRunNextStageScene = false; ((Object)val4).name = ((Object)val).name; Object.Destroy((Object)(object)val); } } } orig.Invoke(self); if (flag) { SeerStationController[] array = Object.FindObjectsOfType(typeof(SeerStationController)) as SeerStationController[]; for (int i = 0; i < array.Length; i++) { ((Component)array[i]).gameObject.GetComponent<PurchaseInteraction>().SetAvailable(false); } } } internal void <FlowersForOtherHoldoutZones>b__9_0(orig_Start orig, HoldoutZoneController self) { //IL_001a: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); if (!self.applyHealingNova) { return; } if (Util.GetItemCountForTeam((TeamIndex)1, Items.TPHealingNova.itemIndex, false, true) > 0) { if (Object.op_Implicit((Object)(object)self.healingNovaItemEffect)) { self.healingNovaItemEffect.SetActive(true); self.healingNovaItemEffect = null; } } else if (Object.op_Implicit((Object)(object)self.healingNovaItemEffect)) { self.healingNovaItemEffect.SetActive(false); } } } public static GameObject LeptonDaisyTeleporterDecoration; public static GameObject GlowFlowerForPillar; public static void Start() { //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: 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_012d: 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_0188: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_01a7: Unknown result type (might be due to invalid IL or missing references) //IL_01b1: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01c4: Unknown result type (might be due to invalid IL or missing references) //IL_01c5: Unknown result type (might be due to invalid IL or missing references) //IL_01cf: Unknown result type (might be due to invalid IL or missing references) //IL_01d4: Unknown result type (might be due to invalid IL or missing references) //IL_01f2: Unknown result type (might be due to invalid IL or missing references) //IL_01f7: Unknown result type (might be due to invalid IL or missing references) //IL_0215: Unknown result type (might be due to invalid IL or missing references) //IL_021a: Unknown result type (might be due to invalid IL or missing references) //IL_0238: Unknown result type (might be due to invalid IL or missing references) //IL_023d: Unknown result type (might be due to invalid IL or missing references) //IL_025b: Unknown result type (might be due to invalid IL or missing references) //IL_0260: Unknown result type (might be due to invalid IL or missing references) //IL_027e: 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_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Expected O, but got Unknown //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Expected O, but got Unknown //IL_02fa: Unknown result type (might be due to invalid IL or missing references) //IL_02ff: Unknown result type (might be due to invalid IL or missing references) //IL_0355: Unknown result type (might be due to invalid IL or missing references) //IL_037c: Unknown result type (might be due to invalid IL or missing references) //IL_037e: Unknown result type (might be due to invalid IL or missing references) //IL_0388: 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_03ee: Unknown result type (might be due to invalid IL or missing references) //IL_03f3: Unknown result type (might be due to invalid IL or missing references) //IL_045e: Unknown result type (might be due to invalid IL or missing references) //IL_0499: Unknown result type (might be due to invalid IL or missing references) //IL_04a9: Unknown result type (might be due to invalid IL or missing references) //IL_04ae: Unknown result type (might be due to invalid IL or missing references) //IL_02c3: Unknown result type (might be due to invalid IL or missing references) //IL_02c8: Unknown result type (might be due to invalid IL or missing references) //IL_02ce: Expected O, but got Unknown //IL_04f1: Unknown result type (might be due to invalid IL or missing references) //IL_04f6: Unknown result type (might be due to invalid IL or missing references) //IL_04fc: Expected O, but got Unknown //IL_052c: Unknown result type (might be due to invalid IL or missing references) //IL_0531: Unknown result type (might be due to invalid IL or missing references) //IL_056a: Unknown result type (might be due to invalid IL or missing references) //IL_056f: Unknown result type (might be due to invalid IL or missing references) //IL_058d: Unknown result type (might be due to invalid IL or missing references) //IL_0592: Unknown result type (might be due to invalid IL or missing references) //IL_05ee: Unknown result type (might be due to invalid IL or missing references) //IL_05fe: Unknown result type (might be due to invalid IL or missing references) //IL_0603: Unknown result type (might be due to invalid IL or missing references) //IL_0626: Unknown result type (might be due to invalid IL or missing references) //IL_0636: Unknown result type (might be due to invalid IL or missing references) //IL_063b: Unknown result type (might be due to invalid IL or missing references) //IL_064e: Unknown result type (might be due to invalid IL or missing references) //IL_0653: Unknown result type (might be due to invalid IL or missing references) //IL_0516: Unknown result type (might be due to invalid IL or missing references) //IL_051b: Unknown result type (might be due to invalid IL or missing references) //IL_0521: Expected O, but got Unknown //IL_0675: Unknown result type (might be due to invalid IL or missing references) //IL_067a: Unknown result type (might be due to invalid IL or missing references) //IL_0680: Expected O, but got Unknown //IL_069a: Unknown result type (might be due to invalid IL or missing references) //IL_069f: Unknown result type (might be due to invalid IL or missing references) //IL_06a5: Expected O, but got Unknown //IL_06bf: Unknown result type (might be due to invalid IL or missing references) //IL_06c4: Unknown result type (might be due to invalid IL or missing references) //IL_06ca: Expected O, but got Unknown //IL_06fa: Unknown result type (might be due to invalid IL or missing references) //IL_06ff: Unknown result type (might be due to invalid IL or missing references) //IL_071c: Unknown result type (might be due to invalid IL or missing references) //IL_0721: Unknown result type (might be due to invalid IL or missing references) //IL_073e: Unknown result type (might be due to invalid IL or missing references) //IL_0743: Unknown result type (might be due to invalid IL or missing references) //IL_06e4: Unknown result type (might be due to invalid IL or missing references) //IL_06e9: Unknown result type (might be due to invalid IL or missing references) //IL_06ef: Expected O, but got Unknown //IL_076f: Unknown result type (might be due to invalid IL or missing references) //IL_0774: Unknown result type (might be due to invalid IL or missing references) //IL_077a: Expected O, but got Unknown //IL_0794: Unknown result type (might be due to invalid IL or missing references) //IL_0799: Unknown result type (might be due to invalid IL or missing references) //IL_079f: Expected O, but got Unknown RandomMiscWithConfig.Start(); FlowersForOtherHoldoutZones(); if (WConfig.cfgLunarSeerName.Value) { LunarSeerStuff(); } PriceTransformStuff(); Unused(); VoidAffix(); if (!Chainloader.PluginInfos.ContainsKey("0p41.Sots_Items_Reworked")) { object obj = <>O.<0>__BiggerSaleStarRange; if (obj == null) { Manipulator val = BiggerSaleStarRange; <>O.<0>__BiggerSaleStarRange = val; obj = (object)val; } InteractionDriver.MyFixedUpdate += (Manipulator)obj; } object obj2 = <>O.<1>__ChanceDollUniqueLine; if (obj2 == null) { hook_AddShrineStack val2 = ChanceDollUniqueLine; <>O.<1>__ChanceDollUniqueLine = val2; obj2 = (object)val2; } ShrineChanceBehavior.AddShrineStack += (hook_AddShrineStack)obj2; GameObject val3 = LegacyResourcesAPI.Load<GameObject>("Prefabs/Effects/LowerPricedChestsGlow"); val3.transform.GetChild(0).localPosition = new Vector3(0f, 0.6f, 0f); val3.transform.GetChild(1).localPosition = new Vector3(0f, 0.6f, 0f); val3.transform.GetChild(2).localPosition = new Vector3(0f, 0.4f, 0f); val3.transform.GetChild(3).localPosition = new Vector3(0f, 0.7f, 0f); val3.transform.GetChild(3).localScale = new Vector3(1f, 1.4f, 1f); Color colorShrineRewardJackpot = default(Color); ((Color)(ref colorShrineRewardJackpot))..ctor(0.3f, 1f, 0.1f, 1f); LegacyResourcesAPI.Load<GameObject>("Prefabs/networkedobjects/shrines/ShrineChance").GetComponent<ShrineChanceBehavior>().colorShrineRewardJackpot = colorShrineRewardJackpot; Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/ShrineChance/ShrineChanceSandy Variant.prefab").WaitForCompletion().GetComponent<ShrineChanceBehavior>() .colorShrineRewardJackpot = colorShrineRewardJackpot; Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/ShrineChance/ShrineChanceSnowy Variant.prefab").WaitForCompletion().GetComponent<ShrineChanceBehavior>() .colorShrineRewardJackpot = colorShrineRewardJackpot; Addressables.LoadAssetAsync<Material>((object)"RoR2/Base/bazaar/matBazaarSeerGolemplains.mat").WaitForCompletion().SetFloat("_Boost", 1.5f); Addressables.LoadAssetAsync<Material>((object)"RoR2/Base/bazaar/matBazaarSeerGoolake.mat").WaitForCompletion().SetFloat("_Boost", 1.5f); Addressables.LoadAssetAsync<Material>((object)"RoR2/DLC1/ancientloft/matBazaarSeerAncientloft.mat").WaitForCompletion().SetFloat("_Boost", 2f); Addressables.LoadAssetAsync<Material>((object)"RoR2/DLC2/lemuriantemple/matBazaarSeerLemurianTemple.mat").WaitForCompletion().SetFloat("_Boost", 2.5f); Addressables.LoadAssetAsync<Material>((object)"RoR2/DLC2/habitat/matBazaarSeerHabitat.mat").WaitForCompletion().SetFloat("_Boost", 2.5f); Material val4 = Addressables.LoadAssetAsync<Material>((object)"RoR2/DLC2/Child/matChild.mat").WaitForCompletion(); val4.SetFloat("_EliteBrightnessMax", 1.09f); val4.SetFloat("_EliteBrightnessMin", -0.7f); object obj3 = <>c.<>9__2_0; if (obj3 == null) { hook_TryGrantItem val5 = delegate(orig_TryGrantItem orig, CaptainDefenseMatrixController self) { orig.Invoke(self); CaptainSupplyDropController component3 = ((Component)self.characterBody).GetComponent<CaptainSupplyDropController>(); if (Object.op_Implicit((Object)(object)component3)) { component3.CallCmdSetSkillMask((byte)3); } }; <>c.<>9__2_0 = val5; obj3 = (object)val5; } CaptainDefenseMatrixController.TryGrantItem += (hook_TryGrantItem)obj3; LegacyResourcesAPI.Load<SceneDef>("SceneDefs/artifactworld").shouldIncludeInLogbook = true; LegacyResourcesAPI.Load<SceneDef>("SceneDefs/voidstage").stageOrder = 102; Addressables.LoadAssetAsync<SceneDef>((object)"RoR2/DLC1/voidraid/voidraid.asset").WaitForCompletion().stageOrder = 103; LegacyResourcesAPI.Load<SceneDef>("SceneDefs/arena").stageOrder = 104; LegacyResourcesAPI.Load<SceneDef>("SceneDefs/mysteryspace").stageOrder = 105; LegacyResourcesAPI.Load<SceneDef>("SceneDefs/limbo").stageOrder = 106; LegacyResourcesAPI.Load<SceneDef>("SceneDefs/bazaar").stageOrder = 107; ItemDefInfo val6 = default(ItemDefInfo); val6.itemDef = LegacyResourcesAPI.Load<ItemDef>("ItemDefs/LunarTrinket"); val6.count = 1; val6.dontExceedCount = true; ItemDefInfo val7 = val6; ItemDefInfo[] itemDefInfos = (ItemDefInfo[])(object)new ItemDefInfo[1] { val7 }; LegacyResourcesAPI.Load<GameObject>("Prefabs/charactermasters/ScavLunar1Master").AddComponent<GivePickupsOnStart>().itemDefInfos = itemDefInfos; LegacyResourcesAPI.Load<GameObject>("Prefabs/charactermasters/ScavLunar2Master").AddComponent<GivePickupsOnStart>().itemDefInfos = itemDefInfos; LegacyResourcesAPI.Load<GameObject>("Prefabs/charactermasters/ScavLunar3Master").AddComponent<GivePickupsOnStart>().itemDefInfos = itemDefInfos; LegacyResourcesAPI.Load<GameObject>("Prefabs/charactermasters/ScavLunar4Master").AddComponent<GivePickupsOnStart>().itemDefInfos = itemDefInfos; GameObject val8 = PrefabAPI.InstantiateClone(((Component)Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Captain/CaptainSupplyDrop, Hacking.prefab").WaitForCompletion().transform.GetChild(2).GetChild(0).GetChild(4)).gameObject, "ShockIndicator", false); Material val9 = Object.Instantiate<Material>(((Renderer)((Component)val8.transform.GetChild(0)).GetComponent<MeshRenderer>()).material); val9.SetColor("_TintColor", new Color(0f, 0.4f, 0.8f, 1f)); ((Renderer)((Component)val8.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = val9; val8.transform.localScale = new Vector3(6.67f, 6.67f, 6.67f); GameObject val10 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Captain/CaptainSupplyDrop, Shocking.prefab").WaitForCompletion(); ((Component)val10.transform.GetChild(2).GetChild(0)).gameObject.AddComponent<InstantiateGameObjectAtLocation>().objectToInstantiate = val8; object obj4 = <>c.<>9__2_1; if (obj4 == null) { hook_OnEnter val11 = delegate(orig_OnEnter orig, ReadyMegaBlaster self) { orig.Invoke(self); ((EntityState)self).characterBody.AddSpreadBloom(0.4f); }; <>c.<>9__2_1 = val11; obj4 = (object)val11; } ReadyMegaBlaster.OnEnter += (hook_OnEnter)obj4; object obj5 = <>c.<>9__2_2; if (obj5 == null) { hook_FixedUpdate val12 = delegate(orig_FixedUpdate orig, ReadyMegaBlaster self) { orig.Invoke(self); ((EntityState)self).characterBody.SetSpreadBloom(0.2f, true); }; <>c.<>9__2_2 = val12; obj5 = (object)val12; } ReadyMegaBlaster.FixedUpdate += (hook_FixedUpdate)obj5; GameObject val13 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC1/sulfurpools/SulfurpoolsDioramaDisplay.prefab").WaitForCompletion(); MeshRenderer component = ((Component)val13.transform.GetChild(2)).GetComponent<MeshRenderer>(); Material val14 = Object.Instantiate<Material>(((Renderer)component).material); val14.SetTexture("_SnowTex", (Texture)(object)Addressables.LoadAssetAsync<Texture2D>((object)"RoR2/DLC1/sulfurpools/texSPGroundDIFVein.tga").WaitForCompletion()); ((Renderer)component).material = val14; ModelPanelParameters component2 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC1/voidstage/VoidStageDiorama.prefab").WaitForCompletion().GetComponent<ModelPanelParameters>(); component2.minDistance = 20f; component2.minDistance = 240f; GameObject val15 = LegacyResourcesAPI.Load<GameObject>("Prefabs/networkedobjects/DamageZoneWard"); val15.transform.GetChild(1).GetChild(2).GetChild(1) .localScale = new Vector3(2f, 2f, 2f); Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Plant/InterstellarDeskPlant.prefab").WaitForCompletion().transform.GetChild(0).localScale = new Vector3(0.6f, 0.6f, 0.6f); Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/ElectricWorm/ElectricWormBody.prefab").WaitForCompletion().GetComponent<WormBodyPositions2>() .blastAttackEffect = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Junk/ElectricWorm/ElectricWormImpactExplosion.prefab").WaitForCompletion(); object obj6 = <>c.<>9__2_3; if (obj6 == null) { hook_PreStartClient val16 = delegate(orig_PreStartClient orig, ShopTerminalBehavior self) { orig.Invoke(self); if (((Object)self).name.StartsWith("LunarCauldron,") || ((Object)self).name.StartsWith("ShrineCleanse")) { Util.PlaySound("Play_ui_obj_lunarPool_idle_loop", ((Component)self).gameObject); Util.PlaySound("Play_ui_obj_lunarPool_idle_loop", ((Component)self).gameObject); Util.PlaySound("Play_ui_obj_lunarPool_idle_loop", ((Component)self).gameObject); } }; <>c.<>9__2_3 = val16; obj6 = (object)val16; } ShopTerminalBehavior.PreStartClient += (hook_PreStartClient)obj6; object obj7 = <>c.<>9__2_4; if (obj7 == null) { hook_DropPickup val17 = delegate(orig_DropPickup orig, ShopTerminalBehavior self) { orig.Invoke(self); if (((Object)self).name.StartsWith("LunarCauldron,") || ((Object)self).name.StartsWith("ShrineCleanse")) { Util.PlaySound("Play_ui_obj_lunarPool_activate", ((Component)self).gameObject); Util.PlaySound("Play_ui_obj_lunarPool_activate", ((Component)self).gameObject); Util.PlaySound("Play_ui_obj_lunarPool_activate", ((Component)self).gameObject); } }; <>c.<>9__2_4 = val17; obj7 = (object)val17; } ShopTerminalBehavior.DropPickup += (hook_DropPickup)obj7; object obj8 = <>c.<>9__2_5; if (obj8 == null) { hook_OnEnter val18 = delegate(orig_OnEnter orig, Sit self) { orig.Invoke(self); if (Object.op_Implicit((Object)(object)((Component)((EntityState)self).outer).gameObject)) { Util.PlaySound(Sit.soundString, ((Component)((EntityState)self).outer).gameObject); } }; <>c.<>9__2_5 = val18; obj8 = (object)val18; } Sit.OnEnter += (hook_OnEnter)obj8; object obj9 = <>c.<>9__2_6; if (obj9 == null) { hook_OnEnter val19 = delegate(orig_OnEnter orig, Detonate self) { orig.Invoke(self); Util.PlaySound("Play_item_lunar_specialReplace_apply", ((Component)((EntityState)self).outer).gameObject); }; <>c.<>9__2_6 = val19; obj9 = (object)val19; } Detonate.OnEnter += (hook_OnEnter)obj9; Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/RoboBallBoss/RoboBallMiniBody.prefab").WaitForCompletion().GetComponent<SfxLocator>() .aliveLoopStart = "Play_roboBall_attack2_mini_spawn"; Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/RoboBallBuddy/RoboBallRedBuddyBody.prefab").WaitForCompletion().GetComponent<SfxLocator>() .aliveLoopStart = "Play_roboBall_attack2_mini_spawn"; Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/RoboBallBuddy/RoboBallGreenBuddyBody.prefab").WaitForCompletion().GetComponent<SfxLocator>() .aliveLoopStart = "Play_roboBall_attack2_mini_spawn"; object obj10 = <>c.<>9__2_7; if (obj10 == null) { hook_PlayExtraLifeSFX val20 = delegate(orig_PlayExtraLifeSFX orig, CharacterMaster self) { orig.Invoke(self); GameObject bodyObject = self.GetBodyObject(); if (Object.op_Implicit((Object)(object)bodyObject)) { Util.PlaySound("Play_item_proc_extraLife", bodyObject); Util.PlaySound("Play_item_proc_extraLife", bodyObject); Util.PlaySound("Play_item_proc_extraLife", bodyObject); } }; <>c.<>9__2_7 = val20; obj10 = (object)val20; } CharacterMaster.PlayExtraLifeSFX += (hook_PlayExtraLifeSFX)obj10; object obj11 = <>c.<>9__2_8; if (obj11 == null) { hook_UpdatePickupDisplayAndAnimations val21 = delegate(orig_UpdatePickupDisplayAndAnimations orig, ShopTerminalBehavior self) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) if (self.pickupIndex == PickupIndex.none && ((Component)self).GetComponent<PurchaseInteraction>().available) { self.hasStarted = false; orig.Invoke(self); self.hasStarted = true; } else { orig.Invoke(self); } }; <>c.<>9__2_8 = val21; obj11 = (object)val21; } ShopTerminalBehavior.UpdatePickupDisplayAndAnimations += (hook_UpdatePickupDisplayAndAnimations)obj11; } private static void BiggerSaleStarRange(ILContext il) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown //IL_0070: Unknown result type (might be due to invalid IL or missing references) ILCursor val = new ILCursor(il); val.TryGotoNext((MoveType)2, new Func<Instruction, bool>[1] { (Instruction x) => ILPatternMatchingExt.MatchLdsfld(x, "RoR2.DLC2Content/Items", "LowerPricedChests") }); if (val.TryGotoPrev((MoveType)2, new Func<Instruction, bool>[1] { (Instruction x) => ILPatternMatchingExt.MatchLdfld(x, "RoR2.InteractionDriver", "currentInteractable") })) { val.Emit(OpCodes.Ldarg_0); val.EmitDelegate<Func<GameObject, InteractionDriver, GameObject>>((Func<GameObject, InteractionDriver, GameObject>)delegate(GameObject target, InteractionDriver interactionDriver) { //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0067: 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_0074: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00da: 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_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0085: 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_0093: 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: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: 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_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: 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_0150: Unknown result type (might be due to invalid IL or missing references) if (interactionDriver.networkIdentity.hasAuthority) { if (interactionDriver.characterBody.inventory.GetItemCount(Items.LowerPricedChests) > 0) { if ((Object)(object)target == (Object)null) { float num = 0f; float num2 = interactionDriver.interactor.maxInteractionDistance * 2f; Vector3 val2 = interactionDriver.inputBank.aimOrigin; Vector3 val3 = interactionDriver.inputBank.aimDirection; if (interactionDriver.useAimOffset) { Vector3 val4 = val2 + val3 * num2; val2 = interactionDriver.inputBank.aimOrigin + interactionDriver.aimOffset; val3 = (val4 - val2) / num2; } Ray val5 = default(Ray); ((Ray)(ref val5))..ctor(val2, val3); Ray val6 = CameraRigController.ModifyAimRayIfApplicable(val5, ((Component)interactionDriver).gameObject, ref num); target = interactionDriver.interactor.FindBestInteractableObject(val6, num2 + num, ((Ray)(ref val5)).origin, num2); } if (Object.op_Implicit((Object)(object)target)) { PurchaseInteraction component = target.GetComponent<PurchaseInteraction>(); if ((Object)(object)component != (Object)null && component.saleStarCompatible && !Object.op_Implicit((Object)(object)interactionDriver.saleStarEffect)) { interactionDriver.saleStarEffect = Object.Instantiate<GameObject>(LegacyResourcesAPI.Load<GameObject>("Prefabs/Effects/LowerPricedChestsGlow"), target.transform.position, Quaternion.identity, target.transform); return null; } } else if (Object.op_Implicit((Object)(object)interactionDriver.saleStarEffect)) { Object.Destroy((Object)(object)interactionDriver.saleStarEffect); return null; } } else if (Object.op_Implicit((Object)(object)interactionDriver.saleStarEffect)) { Object.Destroy((Object)(object)interactionDriver.saleStarEffect); return null; } } return null; }); val.TryGotoNext((MoveType)0, new Func<Instruction, bool>[2] { (Instruction x) => ILPatternMatchingExt.MatchLdfld(x, "RoR2.InteractionDriver", "saleStarEffect"), (Instruction x) => ILPatternMatchingExt.MatchCall(x, "UnityEngine.Object", "Destroy") }); val.TryGotoNext((MoveType)0, new Func<Instruction, bool>[2] { (Instruction x) => ILPatternMatchingExt.MatchLdfld(x, "RoR2.InteractionDriver", "saleStarEffect"), (Instruction x) => ILPatternMatchingExt.MatchCall(x, "UnityEngine.Object", "Destroy") }); val.TryGotoPrev((MoveType)2, new Func<Instruction, bool>[1] { (Instruction x) => ILPatternMatchingExt.MatchLdfld(x, "RoR2.InteractionDriver", "saleStarEffect") }); Debug.Log((object)val); val.EmitDelegate<Func<GameObject, GameObject>>((Func<GameObject, GameObject>)((GameObject target) => null)); Debug.Log((object)"IL Found: Sale Star Range"); } else { Debug.LogWarning((object)"IL Failed: Sale Star Range"); } } private static void ChanceDollUniqueLine(orig_AddShrineStack orig, ShrineChanceBehavior self, Interactor activator) { //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_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Expected O, but got Unknown orig.Invoke(self, activator); if (self.chanceDollWin) { Chat.SendBroadcastChat((ChatMessageBase)new SubjectFormatChatMessage { subjectAsCharacterBody = ((Component)activator).GetComponent<CharacterBody>(), baseToken = "SHRINE_CHANCE_SUCCESS_MESSAGE_DOLL" }); } } public static void VoidAffix() { //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_0067: 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_00bf: 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_0147: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_0174: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01a1: Unknown result type (might be due to invalid IL or missing references) EquipmentDef val = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/DLC1/EliteVoid/EliteVoidEquipment.asset").WaitForCompletion(); GameObject val2 = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC1/EliteVoid/DisplayAffixVoid.prefab").WaitForCompletion(), "PickupAffixVoidW", false); val2.transform.GetChild(0).GetChild(1).SetAsFirstSibling(); val2.transform.GetChild(1).localPosition = new Vector3(0f, 0.7f, 0f); val2.transform.GetChild(1).GetChild(0).localPosition = new Vector3(0f, -0.5f, -0.6f); val2.transform.GetChild(1).GetChild(0).localScale = new Vector3(1.5f, 1.5f, 1.5f); ((Component)val2.transform.GetChild(1).GetChild(1)).gameObject.SetActive(false); ((Component)val2.transform.GetChild(1).GetChild(3)).gameObject.SetActive(false); val2.transform.GetChild(0).eulerAngles = new Vector3(310f, 0f, 0f); val2.transform.GetChild(0).localScale = new Vector3(0.75f, 0.75f, 0.75f); ItemDisplay component = val2.GetComponent<ItemDisplay>(); component.rendererInfos = component.rendererInfos.Remove(component.rendererInfos[4]); Texture2D val3 = Assets.Bundle.LoadAsset<Texture2D>("Assets/WQoL/ColorChanger/UniqueAffixVoid.png"); ((Texture)val3).wrapMode = (TextureWrapMode)1; Sprite pickupIconSprite = Sprite.Create(val3, v.rec128, v.half); val.pickupIconSprite = pickupIconSprite; val.pickupModelPrefab = val2; } public static void Unused() { } internal static void PriceTransformStuff() { //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_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_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: 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_0181: Unknown result type (might be due to invalid IL or missing references) //IL_0186: Unknown result type (might be due to invalid IL or missing references) //IL_018c: Expected O, but got Unknown //IL_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Unknown result type (might be due to invalid IL or missing references) //IL_01b1: Expected O, but got Unknown //IL_01cb: Unknown result type (might be due to invalid IL or missing references) //IL_01d0: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Expected O, but got Unknown GameObject val = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/ShrineCleanse/ShrineCleanse.prefab").WaitForCompletion(); GameObject val2 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/ShrineCleanse/ShrineCleanseSandy Variant.prefab").WaitForCompletion(); GameObject val3 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/ShrineCleanse/ShrineCleanseSnowy Variant.prefab").WaitForCompletion(); GameObject val4 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/TreasureCache/Lockbox.prefab").WaitForCompletion(); GameObject val5 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC1/TreasureCacheVoid/LockboxVoid.prefab").WaitForCompletion(); GameObject val6 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC1/VendingMachine/VendingMachine.prefab").WaitForCompletion(); val.AddComponent<HologramProjector>().disableHologramRotation = true; val2.AddComponent<HologramProjector>().disableHologramRotation = true; val3.AddComponent<HologramProjector>().disableHologramRotation = true; val.transform.GetChild(1).localPosition = new Vector3(0f, 0.75f, -1.65f); val2.transform.GetChild(1).localPosition = new Vector3(0f, 0.75f, -1.65f); val3.transform.GetChild(1).localPosition = new Vector3(0f, 0.75f, -1.65f); val.GetComponent<HologramProjector>().hologramPivot = val.transform.GetChild(1); val2.GetComponent<HologramProjector>().hologramPivot = val2.transform.GetChild(1); val3.GetComponent<HologramProjector>().hologramPivot = val3.transform.GetChild(1); val4.AddComponent<HologramProjector>(); val5.AddComponent<HologramProjector>(); val6.AddComponent<HologramProjector>(); object obj = <>c.<>9__7_0; if (obj == null) { hook_Awake val7 = delegate(orig_Awake orig, ChestBehavior self) { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Expected O, but got Unknown //IL_0056: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); if (((Object)((Component)self).gameObject).name.StartsWith("Lockbox")) { GameObject val12 = new GameObject("LockboxHoloPivot"); val12.transform.SetParent(((Component)self).transform, false); val12.transform.localPosition = new Vector3(0f, 2f, 0f); ((Component)self).GetComponent<HologramProjector>().hologramPivot = val12.transform; } }; <>c.<>9__7_0 = val7; obj = (object)val7; } ChestBehavior.Awake += (hook_Awake)obj; object obj2 = <>c.<>9__7_1; if (obj2 == null) { hook_Awake val8 = delegate(orig_Awake orig, OptionChestBehavior self) { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Expected O, but got Unknown //IL_0056: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); if (((Object)((Component)self).gameObject).name.StartsWith("LockboxVoid")) { GameObject val11 = new GameObject("LockboxVoidHoloPivot"); val11.transform.SetParent(((Component)self).transform, false); val11.transform.localPosition = new Vector3(0f, 2f, 0f); ((Component)self).GetComponent<HologramProjector>().hologramPivot = val11.transform; } }; <>c.<>9__7_1 = val8; obj2 = (object)val8; } OptionChestBehavior.Awake += (hook_Awake)obj2; object obj3 = <>c.<>9__7_2; if (obj3 == null) { hook_Awake val9 = delegate(orig_Awake orig, VendingMachineBehavior self) { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Expected O, but got Unknown //IL_0056: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); if (((Object)((Component)self).gameObject).name.StartsWith("VendingMachine")) { GameObject val10 = new GameObject("VendingMachineHoloPivot"); val10.transform.SetParent(((Component)self).transform, false); val10.transform.localPosition = new Vector3(0f, 4.3f, 0f); ((Component)self).GetComponent<HologramProjector>().hologramPivot = val10.transform; } }; <>c.<>9__7_2 = val9; obj3 = (object)val9; } VendingMachineBehavior.Awake += (hook_Awake)obj3; } public static void LunarSeerStuff() { //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_0020: 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 //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_006a: Expected O, but got Unknown object obj = <>c.<>9__8_0; if (obj == null) { hook_OnStartClient val = delegate(orig_OnStartClient orig, SeerStationController self) { orig.Invoke(self); if (self.NetworktargetSceneDefIndex != -1) { string string2 = Language.GetString(SceneCatalog.GetSceneDef((SceneIndex)self.NetworktargetSceneDefIndex).nameToken); string2 = string2.Replace("Hidden Realm: ", ""); ((Component)self).gameObject.GetComponent<PurchaseInteraction>().contextToken = Language.GetString("BAZAAR_SEER_CONTEXT") + " of " + string2; ((Component)self).gameObject.GetComponent<PurchaseInteraction>().displayNameToken = Language.GetString("BAZAAR_SEER_NAME") + " (" + string2 + ")"; } }; <>c.<>9__8_0 = val; obj = (object)val; } SeerStationController.OnStartClient += (hook_OnStartClient)obj; object obj2 = <>c.<>9__8_1; if (obj2 == null) { hook_OnTargetSceneChanged val2 = delegate(orig_OnTargetSceneChanged orig, SeerStationController self, SceneDef sceneDef) { orig.Invoke(self, sceneDef); if ((Object)(object)sceneDef != (Object)null) { string @string = Language.GetString(SceneCatalog.GetSceneDef((SceneIndex)self.NetworktargetSceneDefIndex).nameToken); @string = @string.Replace("Hidden Realm: ", ""); ((Component)self).gameObject.GetComponent<PurchaseInteraction>().contextToken = Language.GetString("BAZAAR_SEER_CONTEXT") + " of " + @string; ((Component)self).gameObject.GetComponent<PurchaseInteraction>().displayNameToken = Language.GetString("BAZAAR_SEER_NAME") + " (" + @string + ")"; } }; <>c.<>9__8_1 = val2; obj2 = (object)val2; } SeerStationController.OnTargetSceneChanged += (hook_OnTargetSceneChanged)obj2; object obj3 = <>c.<>9__8_2; if (obj3 == null) { hook_SetRunNextStageToTarget val3 = delegate(orig_SetRunNextStageToTarget orig, SeerStationController self) { //IL_007c: 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_037d: 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_0315: Unknown result type (might be due to invalid IL or missing references) //IL_031a: Unknown result type (might be due to invalid IL or missing references) //IL_033f: Unknown result type (might be due to invalid IL or missing references) //IL_034f: Unknown result type (might be due to invalid IL or missing references) //IL_0354: Unknown result type (might be due to invalid IL or missing references) //IL_03c2: Unknown result type (might be due to invalid IL or missing references) //IL_03c7: Unknown result type (might be due to invalid IL or missing references) //IL_0394: Unknown result type (might be due to invalid IL or missing references) //IL_0399: Unknown result type (might be due to invalid IL or missing references) //IL_03ab: Unknown result type (might be due to invalid IL or missing references) //IL_03b0: Unknown result type (might be due to invalid IL or missing references) //IL_03f4: Unknown result type (might be due to invalid IL or missing references) //IL_03ff: Unknown result type (might be due to invalid IL or missing references) //IL_02fb: Unknown result type (might be due to invalid IL or missing references) //IL_0300: Unknown result type (might be due to invalid IL or missing references) //IL_0366: 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) bool flag = false; if (Object.op_Implicit((Object)(object)SceneInfo.instance) && SceneInfo.instance.sceneDef.baseSceneName == "bazaar") { flag = true; GameObject val4 = GameObject.Find("/PortalShop"); SceneDef sceneDef2 = SceneCatalog.GetSceneDef((SceneIndex)self.NetworktargetSceneDefIndex); if (Object.op_Implicit((Object)(object)sceneDef2) && Object.op_Implicit((Object)(object)val4)) { val4.transform.localScale = new Vector3(0.7f, 1.26f, 0.7f); val4.transform.position = new Vector3(12.88f, -5.53f, -7.34f); GameObject val5 = null; GenericObjectiveProvider val6 = null; GameObject val7 = null; switch (sceneDef2.baseSceneName) { case "goldshores": val5 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/PortalGoldshores/PortalGoldshores.prefab").WaitForCompletion(); break; case "mysteryspace": case "limbo": val5 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/PortalMS/PortalMS.prefab").WaitForCompletion(); break; case "artifactworld": case "artifactworld01": case "artifactworld02": case "artifactworld03": val4.transform.localPosition = new Vector3(12.88f, 0f, -7.34f); val5 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/PortalArtifactworld/PortalArtifactworld.prefab").WaitForCompletion(); break; case "arena": val5 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/PortalArena/PortalArena.prefab").WaitForCompletion(); break; case "voidstage": val5 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC1/PortalVoid/PortalVoid.prefab").WaitForCompletion(); break; case "voidraid": val5 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC1/DeepVoidPortal/DeepVoidPortal.prefab").WaitForCompletion(); break; case "lemuriantemple": case "habitat": case "habitatfall": case "meridian": val5 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC2/PortalColossus.prefab").WaitForCompletion(); break; default: val5 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/PortalShop/PortalShop.prefab").WaitForCompletion(); break; } if ((Object)(object)val5 != (Object)null) { val6 = val5.GetComponent<GenericObjectiveProvider>(); val7 = Object.Instantiate<GameObject>(val5, val4.transform.position, val4.transform.rotation); NetworkServer.Spawn(val7); val7.GetComponent<SceneExitController>().destinationScene = sceneDef2; val7.GetComponent<SceneExitController>().useRunNextStageScene = false; ((Object)val7).name = ((Object)val4).name; Object.Destroy((Object)(object)val4); } } } orig.Invoke(self); if (flag) { SeerStationController[] array = Object.FindObjectsOfType(typeof(SeerStationController)) as SeerStationController[]; for (int i = 0; i < array.Length; i++) { ((Component)array[i]).gameObject.GetComponent<PurchaseInteraction>().SetAvailable(false); } } }; <>c.<>9__8_2 = val3; obj3 = (object)val3; } SeerStationController.SetRunNextStageToTarget += (hook_SetRunNextStageToTarget)obj3; } public static void FlowersForOtherHoldoutZones() { //IL_004a: 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_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_019d: Unknown result type (might be due to invalid IL or missing references) //IL_01c7: Unknown result type (might be due to invalid IL or missing references) //IL_01f6: Unknown result type (might be due to invalid IL or missing references) //IL_0220: Unknown result type (might be due to invalid IL or missing references) //IL_024a: Unknown result type (might be due to invalid IL or missing references) //IL_0279: Unknown result type (might be due to invalid IL or missing references) //IL_02a3: Unknown result type (might be due to invalid IL or missing references) //IL_02be: Unknown result type (might be due to invalid IL or missing references) //IL_02c3: Unknown result type (might be due to invalid IL or missing references) //IL_02c9: Expected O, but got Unknown //IL_02e3: 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_02ee: Expected O, but got Unknown HoldoutZoneController component = LegacyResourcesAPI.Load<GameObject>("Prefabs/networkedobjects/teleporters/Teleporter1").GetComponent<HoldoutZoneController>(); LeptonDaisyTeleporterDecoration = component.healingNovaItemEffect; GlowFlowerForPillar = PrefabAPI.InstantiateClone(LeptonDaisyTeleporterDecoration, "GlowFlowerForPillar", false); GlowFlowerForPillar.transform.localScale = new Vector3(0.6f, 0.6f, 0.55f); GlowFlowerForPillar.transform.localPosition = new Vector3(0f, 0f, 1f); GlowFlowerForPillar.transform.localRotation = new Quaternion(0.5373f, 0.8434f, 0f, 0f); GlowFlowerForPillar.transform.GetChild(0).localPosition = new Vector3(-0.9f, -2.9f, 4.35f); GlowFlowerForPillar.transform.GetChild(0).localRotation = new Quaternion(-0.4991f, 0.0297f, 0.2375f, -0.8328f); GlowFlowerForPillar.transform.GetChild(0).localScale = new Vector3(0.4f, 0.4f, 0.4f); GlowFlowerForPillar.transform.GetChild(1).localPosition = new Vector3(0.9f, 2.9f, 4.3f); GlowFlowerForPillar.transform.GetChild(1).localRotation = new Quaternion(0.5f, 0f, 0f, -0.866f); GlowFlowerForPillar.transform.GetChild(1).localScale = new Vector3(0.55f, 0.55f, 0.55f); GlowFlowerForPillar.transform.GetChild(2).localPosition = new Vector3(-2.7f, 1.3f, 4.4f); GlowFlowerForPillar.transform.GetChild(2).localRotation = new Quaternion(-0.1504f, -0.4924f, -0.0868f, 0.8529f); GlowFlowerForPillar.transform.GetChild(2).localScale = new Vector3(0.45f, 0.45f, 0.45f); GlowFlowerForPillar.transform.GetChild(3).localPosition = new Vector3(2.8f, -1f, 4.3f); GlowFlowerForPillar.transform.GetChild(3).localRotation = new Quaternion(0.1504f, 0.4924f, -0.0868f, 0.8529f); GlowFlowerForPillar.transform.GetChild(3).localScale = new Vector3(0.5f, 0.5f, 0.5f); object obj = <>O.<2>__AddFlowersToMiscHoldoutZone; if (obj == null) { hook_Awake val = AddFlowersToMiscHoldoutZone; <>O.<2>__AddFlowersToMiscHoldoutZone = val; obj = (object)val; } HoldoutZoneController.Awake += (hook_Awake)obj; object obj2 = <>c.<>9__9_0; if (obj2 == null) { hook_Start val2 = delegate(orig_Start orig, HoldoutZoneController self) { //IL_001a: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); if (self.applyHealingNova) { if (Util.GetItemCountForTeam((TeamIndex)1, Items.TPHealingNova.itemIndex, false, true) > 0) { if (Object.op_Implicit((Object)(object)self.healingNovaItemEffect)) { self.healingNovaItemEffect.SetActive(true); self.healingNovaItemEffect = null; } } else if (Object.op_Implicit((Object)(object)self.healingNovaItemEffect)) { self.healingNovaItemEffect.SetActive(false); } } }; <>c.<>9__9_0 = val2; obj2 = (object)val2; } HoldoutZoneController.Start += (hook_Start)obj2; } private static void AddFlowersToMiscHoldoutZone(orig_Awake orig, HoldoutZoneController self) { //IL_02c2: Unknown result type (might be due to invalid IL or missing references) //IL_009e: 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_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_01bc: Unknown result type (might be due to invalid IL or missing references) //IL_01e1: Unknown result type (might be due to invalid IL or missing references) //IL_0265: Unknown result type (might be due to invalid IL or missing references) //IL_028a: Unknown result type (might be due to invalid IL or missing references) //IL_02af: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); if (!self.applyHealingNova) { return; } if (!Object.op_Implicit((Object)(object)self.healingNovaItemEffect)) { if (((Object)self).name.StartsWith("InfiniteTowerSafeWard")) { self.healingNovaItemEffect = Object.Instantiate<GameObject>(LeptonDaisyTeleporterDecoration, ((Component)self).transform.GetChild(0).GetChild(0).GetChild(8) .GetChild(0) .GetChild(1) .GetChild(0)); self.healingNovaItemEffect.transform.rotation = new Quaternion(0f, -0.7071f, -0.7071f, 0f); self.healingNovaItemEffect.transform.localScale = new Vector3(0.1928f, 0.1928f, 0.1928f); self.healingNovaItemEffect.transform.localPosition = new Vector3(0f, -0.4193f, 0f); } else if (((Object)self).name.StartsWith("MoonBattery")) { self.healingNovaItemEffect = Object.Instantiate<GameObject>(GlowFlowerForPillar, ((Component)self).transform.GetChild(0).GetChild(0).GetChild(0) .GetChild(0) .GetChild(1)); } else if (((Object)self).name.StartsWith("NullSafeZone")) { self.healingNovaItemEffect = Object.Instantiate<GameObject>(LeptonDaisyTeleporterDecoration, ((Component)self).transform); self.healingNovaItemEffect.transform.rotation = new Quaternion(-0.5649f, -0.4254f, -0.4254f, 0.5649f); self.healingNovaItemEffect.transform.localScale = new Vector3(0.275f, 0.275f, 0.225f); self.healingNovaItemEffect.transform.localPosition = new Vector3(0f, -0.3f, 0f); } else if (((Object)self).name.StartsWith("DeepVoidPortalBattery(Clone)")) { self.healingNovaItemEffect = (self.healingNovaItemEffect = Object.Instantiate<GameObject>(GlowFlowerForPillar, ((Component)self).transform.GetChild(0).GetChild(2).GetChild(2) .GetChild(0) .GetChild(0))); self.healingNovaItemEffect.transform.localEulerAngles = new Vector3(270f, 0f, 0f); self.healingNovaItemEffect.transform.localScale = new Vector3(0.375f, 0.375f, 0.375f); self.healingNovaItemEffect.transform.localPosition = new Vector3(0f, -0.4f, 0f); } } if (Util.GetItemCountForTeam((TeamIndex)1, Items.TPHealingNova.itemIndex, false, true) > 0 && Object.op_Implicit((Object)(object)self.healingNovaItemEffect)) { self.healingNovaItemEffect.SetActive(true); self.healingNovaItemEffect = null; } } public static void MULTEquipmentThing(orig_OnEnter orig, ToolbotStanceA self) { //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Invalid comparison between Unknown and I4 //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Invalid comparison between Unknown and I4 //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) if (NetworkServer.active) { Inventory inventory = ((Component)((EntityState)self).outer).gameObject.GetComponent<CharacterBody>().inventory; if (inventory.GetEquipmentSlotCount() < 2) { SkillLocator component = ((Component)((EntityState)self).outer).gameObject.GetComponent<SkillLocator>(); if (Object.op_Implicit((Object)(object)component) && (Object)(object)component.special.skillDef == (Object)(object)component.special.defaultSkillDef && Object.op_Implicit((Object)(object)inventory)) { if ((int)inventory.currentEquipmentIndex == -1) { inventory.SetEquipment(new EquipmentState((EquipmentIndex)(-1), FixedTimeStamp.negativeInfinity, (byte)0, false), 0u); } if ((int)inventory.alternateEquipmentIndex == -1) { inventory.SetEquipment(new EquipmentState((EquipmentIndex)(-1), FixedTimeStamp.negativeInfinity, (byte)0, false), 1u); } Debug.Log((object)"MulT equipment thing"); } } } orig.Invoke(self); } } public class RandomMiscWithConfig { public class SendExtraMountainIcon : ChatMessageBase { public int shrineStacks; public GameObject teleporterObject; public override string ConstructChatString() { //IL_0079: 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_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) TeleporterInteraction component = teleporterObject.GetComponent<TeleporterInteraction>(); if (Object.op_Implicit((Object)(object)component)) { Debug.Log((object)"Sent ExtraMountainIcon"); if (shrineStacks == 1) { GameObject bossShrineIndicator = component.bossShrineIndicator; GameObject val = Object.Instantiate<GameObject>(bossShrineIndicator, bossShrineIndicator.transform); Object.Destroy((Object)(object)bossShrineIndicator.GetComponent<MeshRenderer>()); Object.Destroy((Object)(object)bossShrineIndicator.GetComponent<Billboard>()); bossShrineIndicator.transform.localPosition = new Vector3(0f, 0f, 6f); val.transform.localScale = new Vector3(1f, 1f, 1f); val.transform.localPosition = new Vector3(0f, 0f, 0f); val.SetActive(true); } if (shrineStacks > 1) { GameObject gameObject = ((Component)component.bossShrineIndicator.transform.GetChild(0)).gameObject; GameObject val2 = Object.Instantiate<GameObject>(gameObject, gameObject.transform.parent); val2.transform.localPosition = new Vector3(0f, (float)(shrineStacks - 1), 0f); } } else { Debug.LogWarning((object)"Sent ExtraMountainIcon without Teleporter Object"); } return null; } public override void Serialize(NetworkWriter writer) { ((ChatMessageBase)this).Serialize(writer); writer.Write(shrineStacks); writer.Write(teleporterObject); } public override void Deserialize(NetworkReader reader) { ((ChatMessageBase)this).Deserialize(reader); shrineStacks = reader.ReadInt32(); teleporterObject = reader.ReadGameObject(); } } public class EquipmentDroneNameComponent : MonoBehaviour { public CharacterBody body; private bool changed = false; private bool enigma = false; public void Start() { if (RunArtifactManager.instance.IsArtifactEnabled(Artifacts.enigmaArtifactDef)) { Object.Destroy((Object)(object)this); enigma = true; } body = ((Component)this).GetComponent<CharacterBody>(); } public void FixedUpdate() { //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Invalid comparison between Unknown and I4 //IL_006d: 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_00be: Unknown result type (might be due to invalid IL or missing references) if (changed) { Object.Destroy((Object)(object)this); } if (!changed && Object.op_Implicit((Object)(object)body) && Object.op_Implicit((Object)(object)body.inventory) && (int)body.inventory.currentEquipmentIndex != -1) { if (body.inventory.currentEquipmentIndex == Equipment.BossHunterConsumed.equipmentIndex) { changed = true; body.baseNameToken = "EQUIPMENTDRONE_BODY_NAME"; } else { body.baseNameToken = Language.GetString("EQUIPMENTDRONE_BODY_NAME") + "\n(" + Language.GetString(EquipmentCatalog.GetEquipmentDef(body.inventory.currentEquipmentIndex).nameToken) + ")"; Debug.Log((object)body.baseNameToken); changed = true; } } } } [CompilerGenerated] private static class <>O { public static Manipulator <0>__DelayThunderMessage; public static Manipulator <1>__TeleporterDiscoveredRed; public static hook_Awake <2>__AllowMoreChatMessages; public static hook_SendTransformNotification_CharacterMaster_EquipmentIndex_EquipmentIndex_TransformationType <3>__CharacterMasterNotificationQueue_SendTransformNotification_CharacterMaster_EquipmentIndex_EquipmentIndex_TransformationType; } [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static hook_AddShrineStack <>9__2_0; public static hook_RebuildPing <>9__2_1; public static hook_OnEnable <>9__2_2; public static Func<Instruction, bool> <>9__3_1; public static Func<string, string> <>9__3_0; public static Func<Instruction, bool> <>9__7_0; public static Func<Instruction, bool> <>9__7_2; public static Func<Color, ChargeIndicatorController, Color> <>9__7_1; internal void <Start>b__2_0(orig_AddShrineStack orig, TeleporterInteraction self) { orig.Invoke(self); Debug.Log((object)"On.RoR2.TeleporterInteraction.AddShrineStack"); Chat.SendBroadcastChat((ChatMessageBase)(object)new SendExtraMountainIcon { teleporterObject = ((Component)self).gameObject, shrineStacks = self.shrineBonusStacks }); } internal void <Start>b__2_1(orig_RebuildPing orig, PingIndicator self) { orig.Invoke(self); self.fixedTimer *= 2f; } internal void <Start>b__2_2(orig_OnEnable orig, CrosshairManager self) { orig.Invoke(self); GameObject val = Object.Instantiate<GameObject>(((Component)LoaderCrosshair.transform.GetChild(2)).gameObject); GameObject val2 = Object.Instantiate<GameObject>(((Component)LoaderCrosshair.transform.GetChild(3)).gameObject); CrosshairController component = SprintingCrosshair.GetComponent<CrosshairController>(); if (SprintingCrosshair.transform.childCount > 0) { Object.Destroy((Object)(object)((Component)SprintingCrosshair.transform.GetChild(1)).gameObject); Object.Destroy((Object)(object)((Component)SprintingCrosshair.transform.GetChild(0)).gameObject); } val.transform.SetParent(SprintingCrosshair.transform); val2.transform.SetParent(SprintingCrosshair.transform); component.spriteSpreadPositions[0].target = val2.GetComponent<RectTransform>(); component.spriteSpreadPositions[1].target = val.GetComponent<RectTransform>(); } internal bool <DelayThunderMessage>b__3_1(Instruction x) { return ILPatternMatchingExt.MatchLdfld(x, "RoR2.PortalSpawner", "spawnPreviewMessageToken"); } internal string <DelayThunderMessage>b__3_0(string target) { if (Object.op_Implicit((Object)(object)ClassicStageInfo.instance) && !string.IsNullOrEmpty(target)) { ((MonoBehaviour)ClassicStageInfo.instance).StartCoroutine(DelayedBroadCast(target)); return null; } return target; } internal bool <TeleporterDiscoveredRed>b__7_0(Instruction x) { return ILPatternMatchingExt.MatchLdfld(x, "RoR2.UI.ChargeIndicatorController", "isDiscovered"); } internal bool <TeleporterDiscoveredRed>b__7_2(Instruction x) { return ILPatternMatchingExt.MatchLdfld(x, "RoR2.UI.ChargeIndicatorController", "spriteChargedColor"); } internal Color <TeleporterDiscoveredRed>b__7_1(Color value, ChargeIndicatorController charg) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) return charg.spriteFlashColor; } } public static GameObject SprintingCrosshair = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/UI/SprintingCrosshair.prefab").WaitForCompletion(); public static GameObject LoaderCrosshair = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Loader/LoaderCrosshair.prefab").WaitForCompletion(); public static void Start() { //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_002b: Expected O, but got Unknown //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_0115: 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) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Expected O, but got Unknown //IL_0168: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Expected O, but got Unknown //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Expected O, but got Unknown //IL_018d: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Expected O, but got Unknown //IL_01c3: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Expected O, but got Unknown //IL_020a: Unknown result type (might be due to invalid IL or missing references) //IL_020f: Unknown result type (might be due to invalid IL or missing references) //IL_0215: Expected O, but got Unknown if (WConfig.cfgDelayGreenOrb.Value) { object obj = <>O.<0>__DelayThunderMessage; if (obj == null) { Manipulator val = DelayThunderMessage; <>O.<0>__DelayThunderMessage = val; obj = (object)val; } PortalSpawner.Start += (Manipulator)obj; } if (WConfig.cfgTpIconDiscoveredRed.Value) { object obj2 = <>O.<1>__TeleporterDiscoveredRed; if (obj2 == null) { Manipulator val2 = TeleporterDiscoveredRed; <>O.<1>__TeleporterDiscoveredRed = val2; obj2 = (object)val2; } ChargeIndicatorController.Update += (Manipulator)obj2; } if (WConfig.cfgVoidAllyCyanEyes.Value) { Material val3 = Addressables.LoadAssetAsync<Material>((object)"RoR2/Base/Nullifier/matNullifierAlly.mat").WaitForCompletion(); val3.SetColor("_EmColor", new Color(0f, 3f, 4f, 1f)); val3 = Addressables.LoadAssetAsync<Material>((object)"RoR2/DLC1/VoidJailer/matVoidJailerEyesAlly.mat").WaitForCompletion(); val3.SetColor("_EmColor", new Color(0f, 1f, 1.33f, 1f)); val3 = Addressables.LoadAssetAsync<Material>((object)"RoR2/DLC1/VoidMegaCrab/matVoidMegaCrabAlly.mat").WaitForCompletion(); val3.SetColor("_EmColor", new Color(0f, 1.5f, 2.5f, 1f)); } if (WConfig.cfgMountainStacks.Value) { object obj3 = <>c.<>9__2_0; if (obj3 == null) { hook_AddShrineStack val4 = delegate(orig_AddShrineStack orig, TeleporterInteraction self) { orig.Invoke(self); Debug.Log((object)"On.RoR2.TeleporterInteraction.AddShrineStack"); Chat.SendBroadcastChat((ChatMessageBase)(object)new SendExtraMountainIcon { teleporterObject = ((Component)self).gameObject, shrineStacks = self.shrineBonusStacks }); }; <>c.<>9__2_0 = val4; obj3 = (object)val4; } TeleporterInteraction.AddShrineStack += (hook_AddShrineStack)obj3; } object obj4 = <>O.<2>__AllowMoreChatMessages; if (obj4 == null) { hook_Awake val5 = AllowMoreChatMessages; <>O.<2>__AllowMoreChatMessages = val5; obj4 = (object)val5; } ChatBox.Awake += (hook_Awake)obj4; object obj5 = <>c.<>9__2_1; if (obj5 == null) { hook_RebuildPing val6 = delegate(orig_RebuildPing orig, PingIndicator self) { orig.Invoke(self); self.fixedTimer *= 2f; }; <>c.<>9__2_1 = val6; obj5 = (object)val6; } PingIndicator.RebuildPing += (hook_RebuildPing)obj5; if (WConfig.cfgNewSprintCrosshair.Value) { object obj6 = <>c.<>9__2_2; if (obj6 == null) { hook_OnEnable val7 = delegate(orig_OnEnable orig, CrosshairManager self) { orig.Invoke(self); GameObject val10 = Object.Instantiate<GameObject>(((Component)LoaderCrosshair.transform.GetChild(2)).gameObject); GameObject val11 = Object.Instantiate<GameObject>(((Component)LoaderCrosshair.transform.GetChild(3)).gameObject); CrosshairController component = SprintingCrosshair.GetComponent<CrosshairController>(); if (SprintingCrosshair.transform.childCount > 0) { Object.Destroy((Object)(object)((Component)SprintingCrosshair.transform.GetChild(1)).gameObject); Object.Destroy((Object)(object)((Component)SprintingCrosshair.transform.GetChild(0)).gameObject); } val10.transform.SetParent(SprintingCrosshair.transform); val11.transform.SetParent(SprintingCrosshair.transform); component.spriteSpreadPositions[0].target = val11.GetComponent<RectTransform>(); component.spriteSpreadPositions[1].target = val10.GetComponent<RectTransform>(); }; <>c.<>9__2_2 = val7; obj6 = (object)val7; } CrosshairManager.OnEnable += (hook_OnEnable)obj6; } if (WConfig.cfgEquipmentDroneName.Value) { GameObject val8 = LegacyResourcesAPI.Load<GameObject>("Prefabs/CharacterBodies/EquipmentDroneBody"); val8.AddComponent<EquipmentDroneNameComponent>(); object obj7 = <>O.<3>__CharacterMasterNotificationQueue_SendTransformNotification_CharacterMaster_EquipmentIndex_EquipmentIndex_TransformationType; if (obj7 == null) { hook_SendTransformNotification_CharacterMaster_EquipmentIndex_EquipmentIndex_TransformationType val9 = CharacterMasterNotificationQueue_SendTransformNotification_CharacterMaster_EquipmentIndex_EquipmentIndex_TransformationType; <>O.<3>__CharacterMasterNotificationQueue_SendTransformNotification_CharacterMaster_EquipmentIndex_EquipmentIndex_TransformationType = val9; obj7 = (object)val9; } CharacterMasterNotificationQueue.SendTransformNotification_CharacterMaster_EquipmentIndex_EquipmentIndex_TransformationType += (hook_SendTransformNotification_CharacterMaster_EquipmentIndex_EquipmentIndex_TransformationType)obj7; } } private static void DelayThunderMessage(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)2, new Func<Instruction, bool>[1] { (Instruction x) => ILPatternMatchingExt.MatchLdfld(x, "RoR2.PortalSpawner", "spawnPreviewMessageToken") })) { val.EmitDelegate<Func<string, string>>((Func<string, string>)delegate(string target) { if (Object.op_Implicit((Object)(object)ClassicStageInfo.instance) && !string.IsNullOrEmpty(target)) { ((MonoBehaviour)ClassicStageInfo.instance).StartCoroutine(DelayedBroadCast(target)); return null; } return target; }); Debug.Log((object)"IL Found: Delay Thunder Message"); } else { Debug.LogWarning((object)"IL Failed: Delay Thunder Message"); } } public static IEnumerator DelayedBroadCast(string familySelectionChatString) { yield return (object)new WaitForSeconds(1f); Chat.SendBroadcastChat((ChatMessageBase)new SimpleChatMessage { baseToken = familySelectionChatString }); } private static void Enigma_EquipmentDroneName(orig_OnServerEquipmentActivated orig, EquipmentSlot equipmentSlot, EquipmentIndex equipmentIndex) { //IL_0003: Unknown result typ