Decompiled source of BobombBattlefield v1.0.3
plugins/viliger-SM64BBF/SM64BBF.dll
Decompiled a week ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Logging; using EntityStates; using HG; using HG.Reflection; using JetBrains.Annotations; using On.RoR2; using R2API; using RegigigasMod.Modules.Components; using RegigigasMod.SkillStates.Regigigas; using RoR2; using RoR2.Audio; using RoR2.CharacterAI; using RoR2.ContentManagement; using RoR2.Skills; using SM64BBF.Content; using SM64BBF.Items; using SM64BBF.PickUpDefs; using SM64BBF.States; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Events; using UnityEngine.Networking; using UnityEngine.ResourceManagement.AsyncOperations; [assembly: OptIn] [assembly: TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName = ".NET Standard 2.0")] [assembly: AssemblyCompany("SM64BBF")] [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyProduct("SM64BBF")] [assembly: AssemblyTitle("SM64BBF")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace SM64BBF { internal static class Log { private static ManualLogSource _logSource; internal static void Init(ManualLogSource logSource) { _logSource = logSource; } internal static void Debug(object data) { _logSource.LogDebug(data); } internal static void Error(object data) { _logSource.LogError(data); } internal static void Fatal(object data) { _logSource.LogFatal(data); } internal static void Info(object data) { _logSource.LogInfo(data); } internal static void Message(object data) { _logSource.LogMessage(data); } internal static void Warning(object data) { _logSource.LogWarning(data); } } public static class RegigigasCompat { private static bool? _enabled; public static bool enabled { get { if (!_enabled.HasValue) { _enabled = Chainloader.PluginInfos.ContainsKey("com.rob.RegigigasMod"); } return _enabled.Value; } } [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] public static void SetupKingBobombBody(GameObject characterBody, ContentPack contentPack) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_007f: 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_00aa: 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_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) characterBody.GetComponent<CharacterBody>().preferredInitialStateType = new SerializableEntityStateType(typeof(SpawnState)); EntityStateMachine[] components = characterBody.GetComponents<EntityStateMachine>(); foreach (EntityStateMachine val in components) { if (val.customName == "Body") { val.mainStateType = new SerializableEntityStateType(typeof(MainState)); val.initialStateType = new SerializableEntityStateType(typeof(SpawnState)); } } characterBody.GetComponent<CharacterDeathBehavior>().deathState = new SerializableEntityStateType(typeof(DeathState)); characterBody.AddComponent<RegigigasController>(); characterBody.AddComponent<RegigigasFlashController>(); characterBody.AddComponent<SlowStartController>(); FootstepHandler componentInChildren = characterBody.GetComponentInChildren<FootstepHandler>(); componentInChildren.footstepDustPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Common/VFX/GenericHugeFootstepDust.prefab").WaitForCompletion(); componentInChildren.enableFootstepDust = true; } public static void SetupPrimarySkill(SkillDef primary) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) SetupSkillActivationState(primary, new SerializableEntityStateType(typeof(GrabAttempt))); } public static void SetupSecondarySkill(SkillDef secondary) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) SetupSkillActivationState(secondary, new SerializableEntityStateType(typeof(Stomp))); } public static void SetupUtilitySkill(SkillDef utility) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) SetupSkillActivationState(utility, new SerializableEntityStateType(typeof(BounceStart))); } public static void SetupSpecialSkill(SkillDef special) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) SetupSkillActivationState(special, new SerializableEntityStateType(typeof(Revenge))); } private static void SetupSkillActivationState(SkillDef skill, SerializableEntityStateType activationState) { //IL_0009: 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) if (Object.op_Implicit((Object)(object)skill)) { skill.activationState = activationState; } else { Log.Warning("KingBobomb: Skill for activation state " + ((object)(SerializableEntityStateType)(ref activationState)).ToString() + "doesn't exist."); } } } public static class SM64BBFContent { [StructLayout(LayoutKind.Sequential, Size = 1)] public struct MiscPickups { public static StarmanPickupDef Starman; public static CoinPickupDef Coin; } [StructLayout(LayoutKind.Sequential, Size = 1)] public struct Items { public static ItemDef MarioOneUp; } [StructLayout(LayoutKind.Sequential, Size = 1)] public struct Buffs { public static BuffDef BobombArmor; } internal const string ScenesAssetBundleFileName = "sm64bbfstage"; internal const string AssetsAssetBundleFileName = "sm64bbfassets"; internal const string SoundsSoundBankFileName = "SM64BBFSounds.bnk"; internal const string MusicSoundBankFileName = "SM64BBFMusic.bnk"; internal const string InitSoundBankFileName = "SM64BBFInit.bnk"; private static AssetBundle _scenesAssetBundle; private static AssetBundle _assetsAssetBundle; internal static SceneDef SM64BBFScene; internal static Sprite SM64BBFPreviewSprite; internal static Material SM64BBFBazaarSeer; public static List<Material> SwappedMaterials = new List<Material>(); public static Dictionary<string, string> ShaderLookup = new Dictionary<string, string> { { "stubbedror2/base/shaders/hgstandard", "RoR2/Base/Shaders/HGStandard.shader" }, { "stubbedror2/base/shaders/hgsnowtopped", "RoR2/Base/Shaders/HGSnowTopped.shader" }, { "stubbedror2/base/shaders/hgtriplanarterrainblend", "RoR2/Base/Shaders/HGTriplanarTerrainBlend.shader" }, { "stubbedror2/base/shaders/hgintersectioncloudremap", "RoR2/Base/Shaders/HGIntersectionCloudRemap.shader" }, { "stubbedror2/base/shaders/hgcloudremap", "RoR2/Base/Shaders/HGCloudRemap.shader" }, { "stubbedror2/base/shaders/hgdistortion", "RoR2/Base/Shaders/HGDistortion.shader" }, { "stubbedcalm water/calmwater - dx11 - doublesided", "Calm Water/CalmWater - DX11 - DoubleSided.shader" }, { "stubbedcalm water/calmwater - dx11", "Calm Water/CalmWater - DX11.shader" }, { "stubbednature/speedtree", "RoR2/Base/Shaders/SpeedTreeCustom.shader" }, { "stubbeddecalicious/decaliciousdeferreddecal", "Decalicious/DecaliciousDeferredDecal.shader" } }; internal static IEnumerator LoadAssetBundlesAsync(AssetBundle scenesAssetBundle, AssetBundle assetsAssetBundle, IProgress<float> progress, ContentPack contentPack) { _scenesAssetBundle = scenesAssetBundle; _assetsAssetBundle = assetsAssetBundle; yield return LoadAllAssetsAsync<Material>(_assetsAssetBundle, progress, (Action<Material[]>)delegate(Material[] assets) { //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) if (assets != null) { Material[] array = assets; foreach (Material val7 in array) { if (((Object)val7.shader).name.StartsWith("Stubbed")) { Shader val8 = Addressables.LoadAssetAsync<Shader>((object)ShaderLookup[((Object)val7.shader).name.ToLower()]).WaitForCompletion(); ((Object)val7.shader).name.ToLower(); if (Object.op_Implicit((Object)(object)val8)) { val7.shader = val8; SwappedMaterials.Add(val7); } else { Log.Warning("Couldn't find replacement shader for " + ((Object)val7.shader).name.ToLower()); } } } } }); yield return LoadAllAssetsAsync<UnlockableDef>(_assetsAssetBundle, progress, (Action<UnlockableDef[]>)delegate(UnlockableDef[] assets) { contentPack.unlockableDefs.Add(assets); }); yield return LoadAllAssetsAsync<Sprite>(_assetsAssetBundle, progress, (Action<Sprite[]>)delegate(Sprite[] assets) { SM64BBFPreviewSprite = assets.First((Sprite a) => ((Object)a).name == "texSM64BBFPreview"); }); yield return LoadAllAssetsAsync<SceneDef>(_assetsAssetBundle, progress, (Action<SceneDef[]>)delegate(SceneDef[] assets) { SM64BBFScene = assets.First((SceneDef sd) => sd.cachedName == "sm64_bbf_SM64_BBF"); contentPack.sceneDefs.Add(assets); }); yield return LoadAllAssetsAsync<MusicTrackDef>(_assetsAssetBundle, progress, (Action<MusicTrackDef[]>)delegate(MusicTrackDef[] assets) { contentPack.musicTrackDefs.Add(assets); }); yield return LoadAllAssetsAsync<CoinPickupDef>(_assetsAssetBundle, progress, (Action<CoinPickupDef[]>)delegate(CoinPickupDef[] assets) { MiscPickups.Coin = assets.First((CoinPickupDef spd) => ((Object)spd).name == "CoinPickUpDef"); contentPack.miscPickupDefs.Add((MiscPickupDef[])(object)assets); }); yield return LoadAllAssetsAsync<StarmanPickupDef>(_assetsAssetBundle, progress, (Action<StarmanPickupDef[]>)delegate(StarmanPickupDef[] assets) { MiscPickups.Starman = assets.First((StarmanPickupDef spd) => ((Object)spd).name == "CustomStarmanPickupDef"); contentPack.miscPickupDefs.Add((MiscPickupDef[])(object)assets); }); yield return LoadAllAssetsAsync<GameObject>(_assetsAssetBundle, progress, (Action<GameObject[]>)delegate(GameObject[] assets) { GameObject val5 = assets.First((GameObject interactable) => ((Object)interactable).name == "TreeInteractable"); GameObject val6 = assets.First((GameObject gameObject) => ((Object)gameObject).name == "RollingRock"); contentPack.networkedObjectPrefabs.Add((GameObject[])(object)new GameObject[2] { val5, val6 }); }); yield return LoadAllAssetsAsync<ItemDef>(_assetsAssetBundle, progress, (Action<ItemDef[]>)delegate(ItemDef[] assets) { Items.MarioOneUp = assets.First((ItemDef id) => ((Object)id).name == "OneUp"); contentPack.itemDefs.Add(assets); }); yield return LoadAllAssetsAsync<GameObject>(_assetsAssetBundle, progress, (Action<GameObject[]>)delegate(GameObject[] assets) { //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) GameObject val3 = assets.First((GameObject bp) => ((Object)bp).name == "BobombBody"); val3.GetComponent<CharacterBody>()._defaultCrosshairPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/UI/StandardCrosshair.prefab").WaitForCompletion(); val3.GetComponent<CameraTargetParams>().cameraParams = Addressables.LoadAssetAsync<CharacterCameraParams>((object)"RoR2/Base/Common/ccpStandard.asset").WaitForCompletion(); FootstepHandler componentInChildren = val3.GetComponentInChildren<FootstepHandler>(); componentInChildren.footstepDustPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Common/VFX/GenericFootstepDust.prefab").WaitForCompletion(); componentInChildren.enableFootstepDust = true; contentPack.bodyPrefabs.Add((GameObject[])(object)new GameObject[1] { val3 }); if (RegigigasCompat.enabled) { GameObject val4 = assets.First((GameObject bp) => ((Object)bp).name == "KingBobomb2Body"); val4.GetComponent<CharacterBody>()._defaultCrosshairPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/UI/StandardCrosshair.prefab").WaitForCompletion(); RegigigasCompat.SetupKingBobombBody(val4, contentPack); contentPack.bodyPrefabs.Add((GameObject[])(object)new GameObject[1] { val4 }); } }); yield return LoadAllAssetsAsync<GameObject>(_assetsAssetBundle, progress, (Action<GameObject[]>)delegate(GameObject[] assets) { GameObject val = assets.First((GameObject bp) => ((Object)bp).name == "BobombMaster"); contentPack.masterPrefabs.Add((GameObject[])(object)new GameObject[1] { val }); if (RegigigasCompat.enabled) { GameObject val2 = assets.First((GameObject bp) => ((Object)bp).name == "KingBobomb2Master"); contentPack.masterPrefabs.Add((GameObject[])(object)new GameObject[1] { val2 }); } }); yield return LoadAllAssetsAsync<SkillDef>(_assetsAssetBundle, progress, (Action<SkillDef[]>)delegate(SkillDef[] assets) { contentPack.skillDefs.Add(assets); if (RegigigasCompat.enabled) { RegigigasCompat.SetupPrimarySkill(assets.First((SkillDef sd) => ((Object)sd).name == "KingBobombGrab")); RegigigasCompat.SetupSecondarySkill(assets.First((SkillDef sd) => ((Object)sd).name == "KingBobombEarthquake")); RegigigasCompat.SetupUtilitySkill(assets.First((SkillDef sd) => ((Object)sd).name == "KingBobombSlam")); RegigigasCompat.SetupSpecialSkill(assets.First((SkillDef sd) => ((Object)sd).name == "KingBobombRevenge")); } }); yield return LoadAllAssetsAsync<SkillFamily>(_assetsAssetBundle, progress, (Action<SkillFamily[]>)delegate(SkillFamily[] assets) { contentPack.skillFamilies.Add(assets); }); yield return LoadAllAssetsAsync<ItemDisplayRuleSet>(_assetsAssetBundle, progress, (Action<ItemDisplayRuleSet[]>)delegate(ItemDisplayRuleSet[] assets) { ItemDisplayRuleSet itemDisplayRuleSet = assets.First((ItemDisplayRuleSet idrs) => ((Object)idrs).name == "idrsBobomb"); SetupBobombItemDisplays(ref itemDisplayRuleSet); if (RegigigasCompat.enabled) { ItemDisplayRuleSet itemDisplayRuleSet2 = assets.First((ItemDisplayRuleSet idrs) => ((Object)idrs).name == "idrsKingBobomb2"); SetupKingBobombItemDisplays(ref itemDisplayRuleSet2); } }); yield return LoadAllAssetsAsync<BuffDef>(_assetsAssetBundle, progress, (Action<BuffDef[]>)delegate(BuffDef[] assets) { //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) Buffs.BobombArmor = assets.First((BuffDef bd) => ((Object)bd).name == "bdBobombArmorBuff"); Buffs.BobombArmor.iconSprite = Addressables.LoadAssetAsync<Sprite>((object)"RoR2/Base/Common/texBuffGenericShield.tif").WaitForCompletion(); contentPack.buffDefs.Add((BuffDef[])(object)new BuffDef[1] { Buffs.BobombArmor }); }); RegisterSounds(contentPack); contentPack.entityStateTypes.Add(new Type[6] { typeof(StarManState), typeof(BobombAcquireTargetState), typeof(BobombDeathState), typeof(BobombExplodeState), typeof(BobombSpawnState), typeof(BobombSuicideDeathState) }); AsyncOperationHandle<GameObject> bossDroplet = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Common/BossOrb.prefab"); while (!bossDroplet.IsDone) { yield return null; } ((MiscPickupDef)MiscPickups.Starman).dropletDisplayPrefab = bossDroplet.Result; ((MiscPickupDef)MiscPickups.Coin).dropletDisplayPrefab = bossDroplet.Result; SM64BBFBazaarSeer = StageRegistration.MakeBazaarSeerMaterial(SM64BBFPreviewSprite.texture); SM64BBFScene.previewTexture = (Texture)(object)SM64BBFPreviewSprite.texture; SM64BBFScene.portalMaterial = SM64BBFBazaarSeer; AsyncOperationHandle<GameObject> dioramaPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/golemplains/GolemplainsDioramaDisplay.prefab"); while (!dioramaPrefab.IsDone) { yield return null; } SM64BBFScene.dioramaPrefab = dioramaPrefab.Result; StageRegistration.RegisterSceneDefToLoop(SM64BBFScene); } private static void SetupBobombItemDisplays(ref ItemDisplayRuleSet itemDisplayRuleSet) { //IL_0005: 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) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_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_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: 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_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0143: 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_0154: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_016c: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Unknown result type (might be due to invalid IL or missing references) //IL_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_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_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01d1: Unknown result type (might be due to invalid IL or missing references) //IL_01e7: Unknown result type (might be due to invalid IL or missing references) //IL_01ec: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Unknown result type (might be due to invalid IL or missing references) //IL_01f9: Unknown result type (might be due to invalid IL or missing references) //IL_0209: Unknown result type (might be due to invalid IL or missing references) //IL_0211: Unknown result type (might be due to invalid IL or missing references) //IL_0212: Unknown result type (might be due to invalid IL or missing references) //IL_021e: Unknown result type (might be due to invalid IL or missing references) //IL_0223: Unknown result type (might be due to invalid IL or missing references) //IL_023a: Unknown result type (might be due to invalid IL or missing references) //IL_0244: Unknown result type (might be due to invalid IL or missing references) //IL_024d: Unknown result type (might be due to invalid IL or missing references) //IL_0259: Unknown result type (might be due to invalid IL or missing references) //IL_025e: Unknown result type (might be due to invalid IL or missing references) //IL_0289: Unknown result type (might be due to invalid IL or missing references) //IL_028e: Unknown result type (might be due to invalid IL or missing references) //IL_02a4: Unknown result type (might be due to invalid IL or missing references) //IL_02a9: Unknown result type (might be due to invalid IL or missing references) //IL_02bf: Unknown result type (might be due to invalid IL or missing references) //IL_02c4: Unknown result type (might be due to invalid IL or missing references) //IL_02cc: Unknown result type (might be due to invalid IL or missing references) //IL_02d1: Unknown result type (might be due to invalid IL or missing references) //IL_02e1: Unknown result type (might be due to invalid IL or missing references) //IL_02e9: Unknown result type (might be due to invalid IL or missing references) //IL_02ea: Unknown result type (might be due to invalid IL or missing references) //IL_02f6: Unknown result type (might be due to invalid IL or missing references) //IL_02fb: Unknown result type (might be due to invalid IL or missing references) //IL_0312: Unknown result type (might be due to invalid IL or missing references) //IL_031c: Unknown result type (might be due to invalid IL or missing references) //IL_0325: Unknown result type (might be due to invalid IL or missing references) //IL_0331: Unknown result type (might be due to invalid IL or missing references) //IL_0336: Unknown result type (might be due to invalid IL or missing references) //IL_0361: 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_037c: Unknown result type (might be due to invalid IL or missing references) //IL_0381: Unknown result type (might be due to invalid IL or missing references) //IL_0397: Unknown result type (might be due to invalid IL or missing references) //IL_039c: Unknown result type (might be due to invalid IL or missing references) //IL_03a4: Unknown result type (might be due to invalid IL or missing references) //IL_03a9: Unknown result type (might be due to invalid IL or missing references) //IL_03b4: Unknown result type (might be due to invalid IL or missing references) //IL_03bd: Unknown result type (might be due to invalid IL or missing references) //IL_03c9: Unknown result type (might be due to invalid IL or missing references) //IL_03ce: Unknown result type (might be due to invalid IL or missing references) //IL_03f9: Unknown result type (might be due to invalid IL or missing references) //IL_03fe: Unknown result type (might be due to invalid IL or missing references) //IL_0414: Unknown result type (might be due to invalid IL or missing references) //IL_0419: Unknown result type (might be due to invalid IL or missing references) //IL_042f: Unknown result type (might be due to invalid IL or missing references) //IL_0434: Unknown result type (might be due to invalid IL or missing references) //IL_043c: Unknown result type (might be due to invalid IL or missing references) //IL_0441: Unknown result type (might be due to invalid IL or missing references) //IL_0451: Unknown result type (might be due to invalid IL or missing references) //IL_0459: Unknown result type (might be due to invalid IL or missing references) //IL_045b: Unknown result type (might be due to invalid IL or missing references) //IL_0467: Unknown result type (might be due to invalid IL or missing references) //IL_046c: Unknown result type (might be due to invalid IL or missing references) //IL_0483: Unknown result type (might be due to invalid IL or missing references) //IL_048d: Unknown result type (might be due to invalid IL or missing references) //IL_0496: Unknown result type (might be due to invalid IL or missing references) //IL_04a2: Unknown result type (might be due to invalid IL or missing references) //IL_04a7: Unknown result type (might be due to invalid IL or missing references) //IL_04d2: Unknown result type (might be due to invalid IL or missing references) //IL_04d7: Unknown result type (might be due to invalid IL or missing references) //IL_04ed: Unknown result type (might be due to invalid IL or missing references) //IL_04f2: Unknown result type (might be due to invalid IL or missing references) //IL_0508: Unknown result type (might be due to invalid IL or missing references) //IL_050d: Unknown result type (might be due to invalid IL or missing references) //IL_0515: Unknown result type (might be due to invalid IL or missing references) //IL_051a: Unknown result type (might be due to invalid IL or missing references) //IL_0525: Unknown result type (might be due to invalid IL or missing references) //IL_052e: Unknown result type (might be due to invalid IL or missing references) //IL_053a: Unknown result type (might be due to invalid IL or missing references) //IL_053f: 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_0585: Unknown result type (might be due to invalid IL or missing references) //IL_058a: Unknown result type (might be due to invalid IL or missing references) //IL_05a0: Unknown result type (might be due to invalid IL or missing references) //IL_05a5: Unknown result type (might be due to invalid IL or missing references) //IL_05ad: Unknown result type (might be due to invalid IL or missing references) //IL_05b2: Unknown result type (might be due to invalid IL or missing references) //IL_05c2: Unknown result type (might be due to invalid IL or missing references) //IL_05ca: Unknown result type (might be due to invalid IL or missing references) //IL_05cc: Unknown result type (might be due to invalid IL or missing references) //IL_05d8: Unknown result type (might be due to invalid IL or missing references) //IL_05dd: Unknown result type (might be due to invalid IL or missing references) //IL_05f4: 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_0607: Unknown result type (might be due to invalid IL or missing references) //IL_0613: Unknown result type (might be due to invalid IL or missing references) //IL_0618: Unknown result type (might be due to invalid IL or missing references) //IL_0643: Unknown result type (might be due to invalid IL or missing references) //IL_0648: Unknown result type (might be due to invalid IL or missing references) //IL_065e: Unknown result type (might be due to invalid IL or missing references) //IL_0663: Unknown result type (might be due to invalid IL or missing references) //IL_0679: Unknown result type (might be due to invalid IL or missing references) //IL_067e: Unknown result type (might be due to invalid IL or missing references) //IL_0686: Unknown result type (might be due to invalid IL or missing references) //IL_068b: Unknown result type (might be due to invalid IL or missing references) //IL_069b: Unknown result type (might be due to invalid IL or missing references) //IL_06a3: Unknown result type (might be due to invalid IL or missing references) //IL_06a5: Unknown result type (might be due to invalid IL or missing references) //IL_06b1: Unknown result type (might be due to invalid IL or missing references) //IL_06b6: Unknown result type (might be due to invalid IL or missing references) //IL_06cd: Unknown result type (might be due to invalid IL or missing references) //IL_06d7: Unknown result type (might be due to invalid IL or missing references) //IL_06e0: Unknown result type (might be due to invalid IL or missing references) //IL_06ec: Unknown result type (might be due to invalid IL or missing references) //IL_06f1: 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_0737: Unknown result type (might be due to invalid IL or missing references) //IL_073c: Unknown result type (might be due to invalid IL or missing references) //IL_0752: Unknown result type (might be due to invalid IL or missing references) //IL_0757: Unknown result type (might be due to invalid IL or missing references) //IL_075f: Unknown result type (might be due to invalid IL or missing references) //IL_0764: Unknown result type (might be due to invalid IL or missing references) //IL_0774: Unknown result type (might be due to invalid IL or missing references) //IL_077c: Unknown result type (might be due to invalid IL or missing references) //IL_077e: Unknown result type (might be due to invalid IL or missing references) //IL_078a: Unknown result type (might be due to invalid IL or missing references) //IL_078f: Unknown result type (might be due to invalid IL or missing references) //IL_07a6: Unknown result type (might be due to invalid IL or missing references) //IL_07b0: Unknown result type (might be due to invalid IL or missing references) //IL_07b9: Unknown result type (might be due to invalid IL or missing references) //IL_07c5: Unknown result type (might be due to invalid IL or missing references) //IL_07ca: Unknown result type (might be due to invalid IL or missing references) //IL_07f5: Unknown result type (might be due to invalid IL or missing references) //IL_07fa: Unknown result type (might be due to invalid IL or missing references) //IL_0810: Unknown result type (might be due to invalid IL or missing references) //IL_0815: Unknown result type (might be due to invalid IL or missing references) //IL_082b: Unknown result type (might be due to invalid IL or missing references) //IL_0830: Unknown result type (might be due to invalid IL or missing references) //IL_0838: Unknown result type (might be due to invalid IL or missing references) //IL_083d: Unknown result type (might be due to invalid IL or missing references) //IL_0848: Unknown result type (might be due to invalid IL or missing references) //IL_0851: Unknown result type (might be due to invalid IL or missing references) //IL_085d: Unknown result type (might be due to invalid IL or missing references) //IL_0862: Unknown result type (might be due to invalid IL or missing references) //IL_088d: Unknown result type (might be due to invalid IL or missing references) //IL_0892: Unknown result type (might be due to invalid IL or missing references) //IL_08a8: Unknown result type (might be due to invalid IL or missing references) //IL_08ad: Unknown result type (might be due to invalid IL or missing references) //IL_08c3: Unknown result type (might be due to invalid IL or missing references) //IL_08c8: Unknown result type (might be due to invalid IL or missing references) //IL_08d0: Unknown result type (might be due to invalid IL or missing references) //IL_08d5: Unknown result type (might be due to invalid IL or missing references) //IL_08e5: Unknown result type (might be due to invalid IL or missing references) //IL_08ed: Unknown result type (might be due to invalid IL or missing references) //IL_08ef: Unknown result type (might be due to invalid IL or missing references) //IL_08fb: Unknown result type (might be due to invalid IL or missing references) //IL_0900: Unknown result type (might be due to invalid IL or missing references) GameObject followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteFire/DisplayEliteHorn.prefab").WaitForCompletion(); DisplayRuleGroup displayRuleGroup = default(DisplayRuleGroup); ((DisplayRuleGroup)(ref displayRuleGroup)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = followerPrefab, childName = "Head", localPos = new Vector3(-0.15365f, 0.21462f, -0.27426f), localAngles = new Vector3(354.7525f, 302.5303f, 7.12234f), localScale = new Vector3(0.44488f, 0.44488f, 0.44488f), limbMask = (LimbFlags)0 }); ((DisplayRuleGroup)(ref displayRuleGroup)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = followerPrefab, childName = "Head", localPos = new Vector3(-0.12521f, 0.3066f, 0.3031f), localAngles = new Vector3(354.7525f, 231.6184f, 351.6044f), localScale = new Vector3(-0.44f, 0.44f, 0.44f), limbMask = (LimbFlags)0 }); ref KeyAssetRuleGroup[] keyAssetRuleGroups = ref itemDisplayRuleSet.keyAssetRuleGroups; KeyAssetRuleGroup val = new KeyAssetRuleGroup { keyAsset = (Object)(object)Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/EliteFire/EliteFireEquipment.asset").WaitForCompletion(), displayRuleGroup = displayRuleGroup }; ArrayUtils.ArrayAppend<KeyAssetRuleGroup>(ref keyAssetRuleGroups, ref val); DisplayRuleGroup displayRuleGroup2 = default(DisplayRuleGroup); ((DisplayRuleGroup)(ref displayRuleGroup2)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteHaunted/DisplayEliteStealthCrown.prefab").WaitForCompletion(), childName = "Head", localPos = new Vector3(-0.02002f, 0.36085f, 0.01142f), localAngles = new Vector3(84.62356f, 329.7962f, 243.3615f), localScale = new Vector3(0.20258f, 0.20258f, 0.20258f), limbMask = (LimbFlags)0 }); ref KeyAssetRuleGroup[] keyAssetRuleGroups2 = ref itemDisplayRuleSet.keyAssetRuleGroups; val = new KeyAssetRuleGroup { displayRuleGroup = displayRuleGroup2, keyAsset = (Object)(object)Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/EliteHaunted/EliteHauntedEquipment.asset").WaitForCompletion() }; ArrayUtils.ArrayAppend<KeyAssetRuleGroup>(ref keyAssetRuleGroups2, ref val); DisplayRuleGroup displayRuleGroup3 = default(DisplayRuleGroup); ((DisplayRuleGroup)(ref displayRuleGroup3)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteIce/DisplayEliteIceCrown.prefab").WaitForCompletion(), childName = "Head", localPos = new Vector3(0.05636f, 0.20679f, 0.06288f), localAngles = new Vector3(283.3743f, 102.7717f, 166.9378f), localScale = new Vector3(0.13275f, 0.13275f, 0.13275f), limbMask = (LimbFlags)0 }); ref KeyAssetRuleGroup[] keyAssetRuleGroups3 = ref itemDisplayRuleSet.keyAssetRuleGroups; val = new KeyAssetRuleGroup { displayRuleGroup = displayRuleGroup3, keyAsset = (Object)(object)Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/EliteIce/EliteIceEquipment.asset").WaitForCompletion() }; ArrayUtils.ArrayAppend<KeyAssetRuleGroup>(ref keyAssetRuleGroups3, ref val); DisplayRuleGroup displayRuleGroup4 = default(DisplayRuleGroup); ((DisplayRuleGroup)(ref displayRuleGroup4)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteLightning/DisplayEliteRhinoHorn.prefab").WaitForCompletion(), childName = "Head", localPos = new Vector3(-0.47095f, 0.3003f, -0.02387f), localAngles = new Vector3(355.5493f, 269.5843f, 12.25919f), localScale = new Vector3(0.65886f, 0.65886f, 0.65886f), limbMask = (LimbFlags)0 }); ((DisplayRuleGroup)(ref displayRuleGroup4)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteLightning/DisplayEliteRhinoHorn.prefab").WaitForCompletion(), childName = "Head", localPos = new Vector3(-0.41474f, 0.41538f, -0.02514f), localAngles = new Vector3(323.8193f, 261.7038f, 7.48606f), localScale = new Vector3(0.44488f, 0.44488f, 0.44488f), limbMask = (LimbFlags)0 }); ref KeyAssetRuleGroup[] keyAssetRuleGroups4 = ref itemDisplayRuleSet.keyAssetRuleGroups; val = new KeyAssetRuleGroup { displayRuleGroup = displayRuleGroup4, keyAsset = (Object)(object)Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/EliteLightning/EliteLightningEquipment.asset").WaitForCompletion() }; ArrayUtils.ArrayAppend<KeyAssetRuleGroup>(ref keyAssetRuleGroups4, ref val); DisplayRuleGroup displayRuleGroup5 = default(DisplayRuleGroup); ((DisplayRuleGroup)(ref displayRuleGroup5)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteLunar/DisplayEliteLunar, Fire.prefab").WaitForCompletion(), childName = "Head", localPos = new Vector3(0.64709f, -0.88823f, 0.02083f), localAngles = new Vector3(11.76858f, 84.12247f, 3.64591f), localScale = new Vector3(0.44488f, 0.44488f, 0.44488f), limbMask = (LimbFlags)0 }); ((DisplayRuleGroup)(ref displayRuleGroup5)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteLunar/DisplayEliteLunar,Eye.prefab").WaitForCompletion(), childName = "Head", localPos = new Vector3(-0.05048f, -0.05632f, -0.00397f), localAngles = new Vector3(81.85596f, 299.8571f, 309.0397f), localScale = new Vector3(1.02235f, 1.02235f, 1.02235f), limbMask = (LimbFlags)0 }); ref KeyAssetRuleGroup[] keyAssetRuleGroups5 = ref itemDisplayRuleSet.keyAssetRuleGroups; val = new KeyAssetRuleGroup { displayRuleGroup = displayRuleGroup5, keyAsset = (Object)(object)Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/EliteLunar/EliteLunarEquipment.asset").WaitForCompletion() }; ArrayUtils.ArrayAppend<KeyAssetRuleGroup>(ref keyAssetRuleGroups5, ref val); DisplayRuleGroup displayRuleGroup6 = default(DisplayRuleGroup); ((DisplayRuleGroup)(ref displayRuleGroup6)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/ElitePoison/DisplayEliteUrchinCrown.prefab").WaitForCompletion(), childName = "Head", localPos = new Vector3(0.05243f, 0.2016f, -0.02218f), localAngles = new Vector3(280.5813f, 114.8507f, 252.4087f), localScale = new Vector3(0.25238f, 0.25238f, 0.25238f), limbMask = (LimbFlags)0 }); ref KeyAssetRuleGroup[] keyAssetRuleGroups6 = ref itemDisplayRuleSet.keyAssetRuleGroups; val = new KeyAssetRuleGroup { displayRuleGroup = displayRuleGroup6, keyAsset = (Object)(object)Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/ElitePoison/ElitePoisonEquipment.asset").WaitForCompletion() }; ArrayUtils.ArrayAppend<KeyAssetRuleGroup>(ref keyAssetRuleGroups6, ref val); DisplayRuleGroup displayRuleGroup7 = default(DisplayRuleGroup); ((DisplayRuleGroup)(ref displayRuleGroup7)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC1/EliteEarth/DisplayEliteMendingAntlers.prefab").WaitForCompletion(), childName = "Head", localPos = new Vector3(-0.12323f, 0.22929f, 0.00569f), localAngles = new Vector3(13.38845f, 89.25855f, 356.7623f), localScale = new Vector3(2.60453f, 2.60453f, 2.60453f), limbMask = (LimbFlags)0 }); ref KeyAssetRuleGroup[] keyAssetRuleGroups7 = ref itemDisplayRuleSet.keyAssetRuleGroups; val = new KeyAssetRuleGroup { displayRuleGroup = displayRuleGroup7, keyAsset = (Object)(object)Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/DLC1/EliteEarth/EliteEarthEquipment.asset").WaitForCompletion() }; ArrayUtils.ArrayAppend<KeyAssetRuleGroup>(ref keyAssetRuleGroups7, ref val); DisplayRuleGroup displayRuleGroup8 = default(DisplayRuleGroup); ((DisplayRuleGroup)(ref displayRuleGroup8)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC1/EliteVoid/DisplayAffixVoid.prefab").WaitForCompletion(), childName = "Eyes", localPos = new Vector3(-0.01601f, 0.35024f, -0.22315f), localAngles = new Vector3(20.17711f, 258.0909f, 2.55114f), localScale = new Vector3(0.36462f, 0.36462f, 0.36462f), limbMask = (LimbFlags)0 }); ((DisplayRuleGroup)(ref displayRuleGroup8)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC1/EliteVoid/DisplayAffixVoid.prefab").WaitForCompletion(), childName = "Eyes", localPos = new Vector3(-0.1112f, 0.35393f, 0.20253f), localAngles = new Vector3(20.17711f, 258.0909f, 2.55114f), localScale = new Vector3(0.36462f, 0.36462f, 0.36462f), limbMask = (LimbFlags)0 }); ref KeyAssetRuleGroup[] keyAssetRuleGroups8 = ref itemDisplayRuleSet.keyAssetRuleGroups; val = new KeyAssetRuleGroup { displayRuleGroup = displayRuleGroup8, keyAsset = (Object)(object)Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/DLC1/EliteVoid/EliteVoidEquipment.asset").WaitForCompletion() }; ArrayUtils.ArrayAppend<KeyAssetRuleGroup>(ref keyAssetRuleGroups8, ref val); } private static void SetupKingBobombItemDisplays(ref ItemDisplayRuleSet itemDisplayRuleSet) { //IL_0005: 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) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_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_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: 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_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0143: 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_0154: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_016c: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Unknown result type (might be due to invalid IL or missing references) //IL_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_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_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01d1: Unknown result type (might be due to invalid IL or missing references) //IL_01e7: Unknown result type (might be due to invalid IL or missing references) //IL_01ec: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Unknown result type (might be due to invalid IL or missing references) //IL_01f9: Unknown result type (might be due to invalid IL or missing references) //IL_0209: Unknown result type (might be due to invalid IL or missing references) //IL_0211: Unknown result type (might be due to invalid IL or missing references) //IL_0212: Unknown result type (might be due to invalid IL or missing references) //IL_021e: Unknown result type (might be due to invalid IL or missing references) //IL_0223: Unknown result type (might be due to invalid IL or missing references) //IL_023a: Unknown result type (might be due to invalid IL or missing references) //IL_0244: Unknown result type (might be due to invalid IL or missing references) //IL_024d: Unknown result type (might be due to invalid IL or missing references) //IL_0259: Unknown result type (might be due to invalid IL or missing references) //IL_025e: Unknown result type (might be due to invalid IL or missing references) //IL_0289: Unknown result type (might be due to invalid IL or missing references) //IL_028e: Unknown result type (might be due to invalid IL or missing references) //IL_02a4: Unknown result type (might be due to invalid IL or missing references) //IL_02a9: Unknown result type (might be due to invalid IL or missing references) //IL_02bf: Unknown result type (might be due to invalid IL or missing references) //IL_02c4: Unknown result type (might be due to invalid IL or missing references) //IL_02cc: Unknown result type (might be due to invalid IL or missing references) //IL_02d1: Unknown result type (might be due to invalid IL or missing references) //IL_02e1: Unknown result type (might be due to invalid IL or missing references) //IL_02e9: Unknown result type (might be due to invalid IL or missing references) //IL_02ea: Unknown result type (might be due to invalid IL or missing references) //IL_02f6: Unknown result type (might be due to invalid IL or missing references) //IL_02fb: Unknown result type (might be due to invalid IL or missing references) //IL_0312: Unknown result type (might be due to invalid IL or missing references) //IL_031c: Unknown result type (might be due to invalid IL or missing references) //IL_0325: Unknown result type (might be due to invalid IL or missing references) //IL_0331: Unknown result type (might be due to invalid IL or missing references) //IL_0336: Unknown result type (might be due to invalid IL or missing references) //IL_0361: 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_037c: Unknown result type (might be due to invalid IL or missing references) //IL_0381: Unknown result type (might be due to invalid IL or missing references) //IL_0397: Unknown result type (might be due to invalid IL or missing references) //IL_039c: Unknown result type (might be due to invalid IL or missing references) //IL_03a4: Unknown result type (might be due to invalid IL or missing references) //IL_03a9: Unknown result type (might be due to invalid IL or missing references) //IL_03b4: Unknown result type (might be due to invalid IL or missing references) //IL_03bd: Unknown result type (might be due to invalid IL or missing references) //IL_03c9: Unknown result type (might be due to invalid IL or missing references) //IL_03ce: Unknown result type (might be due to invalid IL or missing references) //IL_03f9: Unknown result type (might be due to invalid IL or missing references) //IL_03fe: Unknown result type (might be due to invalid IL or missing references) //IL_0414: Unknown result type (might be due to invalid IL or missing references) //IL_0419: Unknown result type (might be due to invalid IL or missing references) //IL_042f: Unknown result type (might be due to invalid IL or missing references) //IL_0434: Unknown result type (might be due to invalid IL or missing references) //IL_043c: Unknown result type (might be due to invalid IL or missing references) //IL_0441: Unknown result type (might be due to invalid IL or missing references) //IL_044c: Unknown result type (might be due to invalid IL or missing references) //IL_0455: Unknown result type (might be due to invalid IL or missing references) //IL_0461: Unknown result type (might be due to invalid IL or missing references) //IL_0466: Unknown result type (might be due to invalid IL or missing references) //IL_0491: Unknown result type (might be due to invalid IL or missing references) //IL_0496: Unknown result type (might be due to invalid IL or missing references) //IL_04ac: Unknown result type (might be due to invalid IL or missing references) //IL_04b1: Unknown result type (might be due to invalid IL or missing references) //IL_04c7: Unknown result type (might be due to invalid IL or missing references) //IL_04cc: Unknown result type (might be due to invalid IL or missing references) //IL_04d4: Unknown result type (might be due to invalid IL or missing references) //IL_04d9: Unknown result type (might be due to invalid IL or missing references) //IL_04e4: Unknown result type (might be due to invalid IL or missing references) //IL_04ed: Unknown result type (might be due to invalid IL or missing references) //IL_04f9: Unknown result type (might be due to invalid IL or missing references) //IL_04fe: Unknown result type (might be due to invalid IL or missing references) //IL_0529: Unknown result type (might be due to invalid IL or missing references) //IL_052e: Unknown result type (might be due to invalid IL or missing references) //IL_0544: Unknown result type (might be due to invalid IL or missing references) //IL_0549: Unknown result type (might be due to invalid IL or missing references) //IL_055f: Unknown result type (might be due to invalid IL or missing references) //IL_0564: Unknown result type (might be due to invalid IL or missing references) //IL_056c: Unknown result type (might be due to invalid IL or missing references) //IL_0571: Unknown result type (might be due to invalid IL or missing references) //IL_057c: Unknown result type (might be due to invalid IL or missing references) //IL_0585: Unknown result type (might be due to invalid IL or missing references) //IL_0591: Unknown result type (might be due to invalid IL or missing references) //IL_0596: Unknown result type (might be due to invalid IL or missing references) //IL_05c1: Unknown result type (might be due to invalid IL or missing references) //IL_05c6: Unknown result type (might be due to invalid IL or missing references) //IL_05dc: Unknown result type (might be due to invalid IL or missing references) //IL_05e1: Unknown result type (might be due to invalid IL or missing references) //IL_05f7: Unknown result type (might be due to invalid IL or missing references) //IL_05fc: Unknown result type (might be due to invalid IL or missing references) //IL_0604: Unknown result type (might be due to invalid IL or missing references) //IL_0609: Unknown result type (might be due to invalid IL or missing references) //IL_0614: Unknown result type (might be due to invalid IL or missing references) //IL_061d: Unknown result type (might be due to invalid IL or missing references) //IL_0629: Unknown result type (might be due to invalid IL or missing references) //IL_062e: Unknown result type (might be due to invalid IL or missing references) //IL_0659: Unknown result type (might be due to invalid IL or missing references) //IL_065e: Unknown result type (might be due to invalid IL or missing references) //IL_0674: Unknown result type (might be due to invalid IL or missing references) //IL_0679: Unknown result type (might be due to invalid IL or missing references) //IL_068f: Unknown result type (might be due to invalid IL or missing references) //IL_0694: Unknown result type (might be due to invalid IL or missing references) //IL_069c: Unknown result type (might be due to invalid IL or missing references) //IL_06a1: Unknown result type (might be due to invalid IL or missing references) //IL_06b1: Unknown result type (might be due to invalid IL or missing references) //IL_06b9: Unknown result type (might be due to invalid IL or missing references) //IL_06bb: Unknown result type (might be due to invalid IL or missing references) //IL_06c7: Unknown result type (might be due to invalid IL or missing references) //IL_06cc: Unknown result type (might be due to invalid IL or missing references) //IL_06e3: Unknown result type (might be due to invalid IL or missing references) //IL_06ed: Unknown result type (might be due to invalid IL or missing references) //IL_06f6: Unknown result type (might be due to invalid IL or missing references) //IL_0702: Unknown result type (might be due to invalid IL or missing references) //IL_0707: Unknown result type (might be due to invalid IL or missing references) //IL_0732: Unknown result type (might be due to invalid IL or missing references) //IL_0737: Unknown result type (might be due to invalid IL or missing references) //IL_074d: Unknown result type (might be due to invalid IL or missing references) //IL_0752: Unknown result type (might be due to invalid IL or missing references) //IL_0768: Unknown result type (might be due to invalid IL or missing references) //IL_076d: Unknown result type (might be due to invalid IL or missing references) //IL_0775: Unknown result type (might be due to invalid IL or missing references) //IL_077a: Unknown result type (might be due to invalid IL or missing references) //IL_0785: Unknown result type (might be due to invalid IL or missing references) //IL_078e: Unknown result type (might be due to invalid IL or missing references) //IL_079a: Unknown result type (might be due to invalid IL or missing references) //IL_079f: Unknown result type (might be due to invalid IL or missing references) //IL_07ca: Unknown result type (might be due to invalid IL or missing references) //IL_07cf: Unknown result type (might be due to invalid IL or missing references) //IL_07e5: Unknown result type (might be due to invalid IL or missing references) //IL_07ea: Unknown result type (might be due to invalid IL or missing references) //IL_0800: Unknown result type (might be due to invalid IL or missing references) //IL_0805: Unknown result type (might be due to invalid IL or missing references) //IL_080d: Unknown result type (might be due to invalid IL or missing references) //IL_0812: Unknown result type (might be due to invalid IL or missing references) //IL_0822: Unknown result type (might be due to invalid IL or missing references) //IL_082a: Unknown result type (might be due to invalid IL or missing references) //IL_082c: Unknown result type (might be due to invalid IL or missing references) //IL_0838: Unknown result type (might be due to invalid IL or missing references) //IL_083d: Unknown result type (might be due to invalid IL or missing references) //IL_0854: Unknown result type (might be due to invalid IL or missing references) //IL_085e: Unknown result type (might be due to invalid IL or missing references) //IL_0867: Unknown result type (might be due to invalid IL or missing references) //IL_0873: Unknown result type (might be due to invalid IL or missing references) //IL_0878: Unknown result type (might be due to invalid IL or missing references) //IL_08a3: Unknown result type (might be due to invalid IL or missing references) //IL_08a8: Unknown result type (might be due to invalid IL or missing references) //IL_08be: Unknown result type (might be due to invalid IL or missing references) //IL_08c3: Unknown result type (might be due to invalid IL or missing references) //IL_08d9: Unknown result type (might be due to invalid IL or missing references) //IL_08de: Unknown result type (might be due to invalid IL or missing references) //IL_08e6: Unknown result type (might be due to invalid IL or missing references) //IL_08eb: Unknown result type (might be due to invalid IL or missing references) //IL_08fb: Unknown result type (might be due to invalid IL or missing references) //IL_0903: Unknown result type (might be due to invalid IL or missing references) //IL_0905: Unknown result type (might be due to invalid IL or missing references) //IL_0911: Unknown result type (might be due to invalid IL or missing references) //IL_0916: Unknown result type (might be due to invalid IL or missing references) //IL_092d: Unknown result type (might be due to invalid IL or missing references) //IL_0937: Unknown result type (might be due to invalid IL or missing references) //IL_0940: Unknown result type (might be due to invalid IL or missing references) //IL_094c: Unknown result type (might be due to invalid IL or missing references) //IL_0951: Unknown result type (might be due to invalid IL or missing references) //IL_097c: Unknown result type (might be due to invalid IL or missing references) //IL_0981: Unknown result type (might be due to invalid IL or missing references) //IL_0997: Unknown result type (might be due to invalid IL or missing references) //IL_099c: Unknown result type (might be due to invalid IL or missing references) //IL_09b2: Unknown result type (might be due to invalid IL or missing references) //IL_09b7: Unknown result type (might be due to invalid IL or missing references) //IL_09bf: Unknown result type (might be due to invalid IL or missing references) //IL_09c4: Unknown result type (might be due to invalid IL or missing references) //IL_09d4: Unknown result type (might be due to invalid IL or missing references) //IL_09dc: Unknown result type (might be due to invalid IL or missing references) //IL_09de: Unknown result type (might be due to invalid IL or missing references) //IL_09ea: Unknown result type (might be due to invalid IL or missing references) //IL_09ef: Unknown result type (might be due to invalid IL or missing references) //IL_0a06: Unknown result type (might be due to invalid IL or missing references) //IL_0a10: Unknown result type (might be due to invalid IL or missing references) //IL_0a19: Unknown result type (might be due to invalid IL or missing references) //IL_0a25: Unknown result type (might be due to invalid IL or missing references) //IL_0a2a: Unknown result type (might be due to invalid IL or missing references) //IL_0a55: Unknown result type (might be due to invalid IL or missing references) //IL_0a5a: Unknown result type (might be due to invalid IL or missing references) //IL_0a70: Unknown result type (might be due to invalid IL or missing references) //IL_0a75: Unknown result type (might be due to invalid IL or missing references) //IL_0a8b: Unknown result type (might be due to invalid IL or missing references) //IL_0a90: Unknown result type (might be due to invalid IL or missing references) //IL_0a98: Unknown result type (might be due to invalid IL or missing references) //IL_0a9d: Unknown result type (might be due to invalid IL or missing references) //IL_0aad: Unknown result type (might be due to invalid IL or missing references) //IL_0ab5: Unknown result type (might be due to invalid IL or missing references) //IL_0ab7: Unknown result type (might be due to invalid IL or missing references) //IL_0ac3: Unknown result type (might be due to invalid IL or missing references) //IL_0ac8: Unknown result type (might be due to invalid IL or missing references) GameObject followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteFire/DisplayEliteHorn.prefab").WaitForCompletion(); DisplayRuleGroup displayRuleGroup = default(DisplayRuleGroup); ((DisplayRuleGroup)(ref displayRuleGroup)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = followerPrefab, childName = "Chest", localPos = new Vector3(0.59218f, 1.54394f, -0.05067f), localAngles = new Vector3(0f, 339.9597f, 0f), localScale = new Vector3(0.44488f, 0.44488f, 0.44488f), limbMask = (LimbFlags)0 }); ((DisplayRuleGroup)(ref displayRuleGroup)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = followerPrefab, childName = "Chest", localPos = new Vector3(-0.71898f, 1.56142f, -0.13889f), localAngles = new Vector3(0f, 21.92726f, 0f), localScale = new Vector3(-0.44f, 0.44f, 0.44f), limbMask = (LimbFlags)0 }); ref KeyAssetRuleGroup[] keyAssetRuleGroups = ref itemDisplayRuleSet.keyAssetRuleGroups; KeyAssetRuleGroup val = new KeyAssetRuleGroup { keyAsset = (Object)(object)Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/EliteFire/EliteFireEquipment.asset").WaitForCompletion(), displayRuleGroup = displayRuleGroup }; ArrayUtils.ArrayAppend<KeyAssetRuleGroup>(ref keyAssetRuleGroups, ref val); DisplayRuleGroup displayRuleGroup2 = default(DisplayRuleGroup); ((DisplayRuleGroup)(ref displayRuleGroup2)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteHaunted/DisplayEliteStealthCrown.prefab").WaitForCompletion(), childName = "Chest", localPos = new Vector3(-1E-05f, 1.59462f, -0.12945f), localAngles = new Vector3(280.6838f, 180f, 180f), localScale = new Vector3(0.3943f, 0.3943f, 0.3943f), limbMask = (LimbFlags)0 }); ref KeyAssetRuleGroup[] keyAssetRuleGroups2 = ref itemDisplayRuleSet.keyAssetRuleGroups; val = new KeyAssetRuleGroup { displayRuleGroup = displayRuleGroup2, keyAsset = (Object)(object)Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/EliteHaunted/EliteHauntedEquipment.asset").WaitForCompletion() }; ArrayUtils.ArrayAppend<KeyAssetRuleGroup>(ref keyAssetRuleGroups2, ref val); DisplayRuleGroup displayRuleGroup3 = default(DisplayRuleGroup); ((DisplayRuleGroup)(ref displayRuleGroup3)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteIce/DisplayEliteIceCrown.prefab").WaitForCompletion(), childName = "Chest", localPos = new Vector3(0f, 1.62464f, -0.2518f), localAngles = new Vector3(278.8098f, 180f, 180f), localScale = new Vector3(0.20986f, 0.20986f, 0.20986f), limbMask = (LimbFlags)0 }); ref KeyAssetRuleGroup[] keyAssetRuleGroups3 = ref itemDisplayRuleSet.keyAssetRuleGroups; val = new KeyAssetRuleGroup { displayRuleGroup = displayRuleGroup3, keyAsset = (Object)(object)Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/EliteIce/EliteIceEquipment.asset").WaitForCompletion() }; ArrayUtils.ArrayAppend<KeyAssetRuleGroup>(ref keyAssetRuleGroups3, ref val); DisplayRuleGroup displayRuleGroup4 = default(DisplayRuleGroup); ((DisplayRuleGroup)(ref displayRuleGroup4)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteLightning/DisplayEliteRhinoHorn.prefab").WaitForCompletion(), childName = "Chest", localPos = new Vector3(-1E-05f, 1.92614f, 0.98929f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.65886f, 0.65886f, 0.65886f), limbMask = (LimbFlags)0 }); ((DisplayRuleGroup)(ref displayRuleGroup4)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteLightning/DisplayEliteRhinoHorn.prefab").WaitForCompletion(), childName = "Chest", localPos = new Vector3(0.8654f, 1.92616f, 0.56131f), localAngles = new Vector3(0f, 55.35863f, 0f), localScale = new Vector3(0.65886f, 0.65886f, 0.65886f), limbMask = (LimbFlags)0 }); ((DisplayRuleGroup)(ref displayRuleGroup4)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteLightning/DisplayEliteRhinoHorn.prefab").WaitForCompletion(), childName = "Chest", localPos = new Vector3(0.93271f, 1.92613f, -0.572f), localAngles = new Vector3(0f, 120.2551f, 0f), localScale = new Vector3(0.65886f, 0.65886f, 0.65886f), limbMask = (LimbFlags)0 }); ((DisplayRuleGroup)(ref displayRuleGroup4)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteLightning/DisplayEliteRhinoHorn.prefab").WaitForCompletion(), childName = "Chest", localPos = new Vector3(-0.02104f, 1.9261f, -1.07331f), localAngles = new Vector3(0f, 173.6604f, 0f), localScale = new Vector3(0.65886f, 0.65886f, 0.65886f), limbMask = (LimbFlags)0 }); ((DisplayRuleGroup)(ref displayRuleGroup4)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteLightning/DisplayEliteRhinoHorn.prefab").WaitForCompletion(), childName = "Chest", localPos = new Vector3(-0.91867f, 1.92607f, -0.55149f), localAngles = new Vector3(0f, 239.4073f, 0f), localScale = new Vector3(0.65886f, 0.65886f, 0.65886f), limbMask = (LimbFlags)0 }); ((DisplayRuleGroup)(ref displayRuleGroup4)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteLightning/DisplayEliteRhinoHorn.prefab").WaitForCompletion(), childName = "Chest", localPos = new Vector3(-0.94588f, 1.92609f, 0.53167f), localAngles = new Vector3(0f, 295.5718f, 0f), localScale = new Vector3(0.65886f, 0.65886f, 0.65886f), limbMask = (LimbFlags)0 }); ref KeyAssetRuleGroup[] keyAssetRuleGroups4 = ref itemDisplayRuleSet.keyAssetRuleGroups; val = new KeyAssetRuleGroup { displayRuleGroup = displayRuleGroup4, keyAsset = (Object)(object)Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/EliteLightning/EliteLightningEquipment.asset").WaitForCompletion() }; ArrayUtils.ArrayAppend<KeyAssetRuleGroup>(ref keyAssetRuleGroups4, ref val); DisplayRuleGroup displayRuleGroup5 = default(DisplayRuleGroup); ((DisplayRuleGroup)(ref displayRuleGroup5)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteLunar/DisplayEliteLunar, Fire.prefab").WaitForCompletion(), childName = "Chest", localPos = new Vector3(0f, -1E-05f, -1.46488f), localAngles = new Vector3(-1E-05f, 180f, 180f), localScale = new Vector3(0.44488f, 0.44488f, 0.7475f), limbMask = (LimbFlags)0 }); ((DisplayRuleGroup)(ref displayRuleGroup5)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteLunar/DisplayEliteLunar,Eye.prefab").WaitForCompletion(), childName = "Chest", localPos = new Vector3(-0.06016f, 1.72845f, 1E-05f), localAngles = new Vector3(270f, 0f, 0f), localScale = new Vector3(1.77583f, 1.77583f, 1.77583f), limbMask = (LimbFlags)0 }); ref KeyAssetRuleGroup[] keyAssetRuleGroups5 = ref itemDisplayRuleSet.keyAssetRuleGroups; val = new KeyAssetRuleGroup { displayRuleGroup = displayRuleGroup5, keyAsset = (Object)(object)Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/EliteLunar/EliteLunarEquipment.asset").WaitForCompletion() }; ArrayUtils.ArrayAppend<KeyAssetRuleGroup>(ref keyAssetRuleGroups5, ref val); DisplayRuleGroup displayRuleGroup6 = default(DisplayRuleGroup); ((DisplayRuleGroup)(ref displayRuleGroup6)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/ElitePoison/DisplayEliteUrchinCrown.prefab").WaitForCompletion(), childName = "Chest", localPos = new Vector3(0f, 1.82306f, 0f), localAngles = new Vector3(270f, 0f, 0f), localScale = new Vector3(0.34402f, 0.34402f, 0.34402f), limbMask = (LimbFlags)0 }); ref KeyAssetRuleGroup[] keyAssetRuleGroups6 = ref itemDisplayRuleSet.keyAssetRuleGroups; val = new KeyAssetRuleGroup { displayRuleGroup = displayRuleGroup6, keyAsset = (Object)(object)Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/ElitePoison/ElitePoisonEquipment.asset").WaitForCompletion() }; ArrayUtils.ArrayAppend<KeyAssetRuleGroup>(ref keyAssetRuleGroups6, ref val); DisplayRuleGroup displayRuleGroup7 = default(DisplayRuleGroup); ((DisplayRuleGroup)(ref displayRuleGroup7)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC1/EliteEarth/DisplayEliteMendingAntlers.prefab").WaitForCompletion(), childName = "Chest", localPos = new Vector3(-0.00012f, 1.66408f, -0.25776f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(4.68954f, 4.68954f, 4.68954f), limbMask = (LimbFlags)0 }); ref KeyAssetRuleGroup[] keyAssetRuleGroups7 = ref itemDisplayRuleSet.keyAssetRuleGroups; val = new KeyAssetRuleGroup { displayRuleGroup = displayRuleGroup7, keyAsset = (Object)(object)Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/DLC1/EliteEarth/EliteEarthEquipment.asset").WaitForCompletion() }; ArrayUtils.ArrayAppend<KeyAssetRuleGroup>(ref keyAssetRuleGroups7, ref val); DisplayRuleGroup displayRuleGroup8 = default(DisplayRuleGroup); ((DisplayRuleGroup)(ref displayRuleGroup8)).AddDisplayRule(new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC1/EliteVoid/DisplayAffixVoid.prefab").WaitForCompletion(), childName = "Chest", localPos = new Vector3(0f, -0.83569f, 1.7186f), localAngles = new Vector3(90f, 0f, 0f), localScale = new Vector3(0.36462f, 0.36462f, 0.36462f), limbMask = (LimbFlags)0 }); ref KeyAssetRuleGroup[] keyAssetRuleGroups8 = ref itemDisplayRuleSet.keyAssetRuleGroups; val = new KeyAssetRuleGroup { displayRuleGroup = displayRuleGroup8, keyAsset = (Object)(object)Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/DLC1/EliteVoid/EliteVoidEquipment.asset").WaitForCompletion() }; ArrayUtils.ArrayAppend<KeyAssetRuleGroup>(ref keyAssetRuleGroups8, ref val); } private static IEnumerator LoadAllAssetsAsync<T>(AssetBundle assetBundle, IProgress<float> progress, Action<T[]> onAssetsLoaded) where T : Object { AssetBundleRequest sceneDefsRequest = assetBundle.LoadAllAssetsAsync<T>(); while (!((AsyncOperation)sceneDefsRequest).isDone) { progress.Report(((AsyncOperation)sceneDefsRequest).progress); yield return null; } onAssetsLoaded(sceneDefsRequest.allAssets.Cast<T>().ToArray()); } private static void SetupMusic() { //IL_001e: 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_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_009d: 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_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) CustomMusicTrackDef val = ScriptableObject.CreateInstance<CustomMusicTrackDef>(); ((MusicTrackDef)val).cachedName = "SM64BBFCustomMainMusic"; val.CustomStates = new List<CustomState>(); CustomState item = default(CustomState); item.GroupId = 1405583565u; item.StateId = 693170834u; val.CustomStates.Add(item); CustomState item2 = default(CustomState); item2.GroupId = 792781730u; item2.StateId = 89505537u; val.CustomStates.Add(item2); SM64BBFScene.mainTrack = (MusicTrackDef)(object)val; CustomMusicTrackDef val2 = ScriptableObject.CreateInstance<CustomMusicTrackDef>(); ((MusicTrackDef)val2).cachedName = "SM64BBFCustomBossMusic"; val2.CustomStates = new List<CustomState>(); CustomState item3 = default(CustomState); item3.GroupId = 1405583565u; item3.StateId = 1312500510u; val2.CustomStates.Add(item3); CustomState item4 = default(CustomState); item4.GroupId = 792781730u; item4.StateId = 580146960u; val2.CustomStates.Add(item4); SM64BBFScene.bossTrack = (MusicTrackDef)(object)val2; } private static void RegisterSounds(ContentPack contentPack) { contentPack.networkSoundEventDefs.Add((NetworkSoundEventDef[])(object)new NetworkSoundEventDef[14] { RegisterNetworkSound("SM64_BBF_Play_Coin"), RegisterNetworkSound("SM64_BBF_Stop_StarmanComes"), RegisterNetworkSound("SM64_BBF_StarmanKills"), RegisterNetworkSound("SM64_BBF_Play_Star"), RegisterNetworkSound("SM64_BBF_Stop_RollingStone"), RegisterNetworkSound("SM64_BBF_Play_StarmanComes"), RegisterNetworkSound("SM64_BBF_Play_RollingStone"), RegisterNetworkSound("SM64_BBF_solonggaybowser"), RegisterNetworkSound("SM64_BBF_Play_OneUp"), RegisterNetworkSound("SM64_BBF_Play_Bobomb_Aggro"), RegisterNetworkSound("SM64_BBF_Play_Bobomb_Fuse"), RegisterNetworkSound("SM64_BBF_Stop_Bobomb_Fuse"), RegisterNetworkSound("SM64_BBF_Play_Bobomb_Death"), RegisterNetworkSound("SM64_BBF_Play_Shake_Tree") }); } public static NetworkSoundEventDef RegisterNetworkSound(string eventName) { NetworkSoundEventDef obj = ScriptableObject.CreateInstance<NetworkSoundEventDef>(); obj.eventName = eventName; return obj; } internal static void LoadSoundBanks(string soundbanksFolderPath) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: 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_0009: Invalid comparison between Unknown and I4 //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Invalid comparison between Unknown and I4 //IL_0069: 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_008a: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Invalid comparison between Unknown and I4 //IL_00a5: 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_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Invalid comparison between Unknown and I4 //IL_00e0: Unknown result type (might be due to invalid IL or missing references) AKRESULT val = AkSoundEngine.AddBasePath(soundbanksFolderPath); if ((int)val == 1) { Log.Info("Added bank base path : " + soundbanksFolderPath); } else { Log.Error("Error adding base path : " + soundbanksFolderPath + " " + $"Error code : {val}"); } uint num = default(uint); val = AkSoundEngine.LoadBank("SM64BBFInit.bnk", ref num); if ((int)val == 1) { Log.Info("Added bank : SM64BBFInit.bnk"); } else { Log.Error("Error loading bank : SM64BBFInit.bnk " + $"Error code : {val}"); } val = AkSoundEngine.LoadBank("SM64BBFMusic.bnk", ref num); if ((int)val == 1) { Log.Info("Added bank : SM64BBFMusic.bnk"); } else { Log.Error("Error loading bank : SM64BBFMusic.bnk " + $"Error code : {val}"); } val = AkSoundEngine.LoadBank("SM64BBFSounds.bnk", ref num); if ((int)val == 1) { Log.Info("Added bank : SM64BBFSounds.bnk"); } else { Log.Error("Error loading bank : SM64BBFSounds.bnk " + $"Error code : {val}"); } } } [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInPlugin("com.Viliger.SM64BBF", "SM64BBF", "1.0.3")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class SM64BBFPlugin : BaseUnityPlugin { public const string Version = "1.0.3"; public const string GUID = "com.Viliger.SM64BBF"; public static SM64BBFPlugin instance; private void Awake() { instance = this; Log.Init(((BaseUnityPlugin)this).Logger); RegisterHooks(); if (!RegigigasCompat.enabled) { Helpers.RemoveExistingMonster("cscKingBobomb2"); } } private void RegisterHooks() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Expected O, but got Unknown //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Expected O, but got Unknown MusicController.Start += new hook_Start(MusicController_Start); ContentManager.collectContentPackProviders += new CollectContentPackProvidersDelegate(GiveToRoR2OurContentPackProviders); Language.collectLanguageRootFolders += CollectLanguageRootFolders; CharacterBody.onBodyInventoryChangedGlobal += MarioOneUpItemBehavior.CharacterBody_onBodyInventoryChangedGlobal; RecalculateStatsAPI.GetStatCoefficients += new StatHookEventHandler(RecalculateStatsAPI_GetStatCoefficients); } private void RecalculateStatsAPI_GetStatCoefficients(CharacterBody sender, StatHookEventArgs args) { if (sender.HasBuff(SM64BBFContent.Buffs.BobombArmor)) { args.armorAdd += 100f; } } private void MusicController_Start(orig_Start orig, MusicController self) { orig.Invoke(self); AkSoundEngine.PostEvent("SM64_BBF_Play_Music_System", ((Component)self).gameObject); } private void Destroy() { Language.collectLanguageRootFolders -= CollectLanguageRootFolders; } private void GiveToRoR2OurContentPackProviders(AddContentPackProviderDelegate addContentPackProvider) { addContentPackProvider.Invoke((IContentPackProvider)(object)new ContentProvider()); } public void CollectLanguageRootFolders(List<string> folders) { folders.Add(Path.Combine(Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location), "Language")); } public static bool RegisterNetworkSound(string eventName) { NetworkSoundEventDef obj = ScriptableObject.CreateInstance<NetworkSoundEventDef>(); obj.eventName = eventName; return ContentAddition.AddNetworkSoundEventDef(obj); } } } namespace SM64BBF.Stuff { public class ClonedBillboard : MonoBehaviour { private static List<Transform> instanceTransformsList; static ClonedBillboard() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Expected O, but got Unknown instanceTransformsList = new List<Transform>(); SceneCamera.onSceneCameraPreCull += new SceneCameraDelegate(OnSceneCameraPreCull); } private static void OnSceneCameraPreCull(SceneCamera sceneCamera) { //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_0010: 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_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0059: 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_0078: Unknown result type (might be due to invalid IL or missing references) Quaternion rotation = ((Component)sceneCamera).transform.rotation; for (int i = 0; i < instanceTransformsList.Count; i++) { float num = ((rotation.w < 0f) ? (0f - rotation.y) : rotation.y); instanceTransformsList[i].rotation = new Quaternion(instanceTransformsList[i].rotation.x, num, instanceTransformsList[i].rotation.z, instanceTransformsList[i].rotation.w); } } private void OnEnable() { instanceTransformsList.Add(((Component)this).transform); } private void OnDisable() { instanceTransformsList.Remove(((Component)this).transform); } } public class DrawLinesBetweenChildren : MonoBehaviour { private void OnDrawGizmos() { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) Transform val = null; foreach (Transform item in ((Component)this).transform) { Transform val2 = item; if (!((Object)(object)((Component)this).transform == (Object)(object)val2)) { if ((Object)(object)val != (Object)null) { Gizmos.color = Color.blue; Gizmos.DrawLine(val.position, val2.position); } val = val2; } } } } public class ShadowCaster : MonoBehaviour { public GameObject shadow; public LayerMask mask; public float floorMargin; public bool alignWithNormal; private Renderer shadowRenderer; private void Start() { shadowRenderer = shadow.GetComponent<Renderer>(); RenderShadow(); } private void RenderShadow() { //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_0010: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: 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_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) RaycastHit val = default(RaycastHit); if (Physics.Raycast(((Component)this).transform.position, -Vector3.up, ref val, 100f, ((LayerMask)(ref mask)).value)) { shadow.transform.position = ((RaycastHit)(ref val)).point + Vector3.up * floorMargin; shadow.transform.position = new Vector3(shadow.transform.position.x, shadow.transform.position.y + 0.2f, shadow.transform.position.z); if (alignWithNormal) { ((Component)this).transform.rotation = Quaternion.FromToRotation(Vector3.up, ((RaycastHit)(ref val)).normal); } else { ((Component)this).transform.rotation = Quaternion.identity; } } } } } namespace SM64BBF.States { public class BobombAcquireTargetState : BaseState { public static float baseDuration = 1f; private static float duration; public override void OnEnter() { ((BaseState)this).OnEnter(); duration = baseDuration / base.attackSpeedStat; ((EntityState)this).PlayAnimation("Body", "EmoteSurprise", "Surprise.playbackRate", duration); Util.PlayAttackSpeedSound("SM64_BBF_Play_Bobomb_Aggro", ((EntityState)this).gameObject, base.attackSpeedStat); SetStateOnHurt component = ((EntityState)this).gameObject.GetComponent<SetStateOnHurt>(); if (Object.op_Implicit((Object)(object)component)) { component.canBeStunned = false; component.canBeHitStunned = false; component.canBeFrozen = false; } } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); if (((EntityState)this).fixedAge > duration) { ((EntityState)this).outer.SetNextState((EntityState)(object)new BobombExplodeState()); if (NetworkServer.active) { ((EntityState)this).characterBody.AddBuff(SM64BBFContent.Buffs.BobombArmor); } } } public override InterruptPriority GetMinimumInterruptPriority() { return (InterruptPriority)6; } } public class BobombDeathState : GenericCharacterDeath { public override void OnEnter() { //IL_000b: Unknown result type (might be due to invalid IL or missing references) ((GenericCharacterDeath)this).OnEnter(); EntitySoundManager.EmitSoundServer((AkEventIdArg)"SM64_BBF_Stop_Bobomb_Fuse", ((EntityState)this).gameObject); } } public class BobombExplodeState : GenericCharacterMain { public int duration = 5; public static AnimationCurve animCurve = null; public static AnimationCurve sizeCurve = null; private static GameObject smokeEmitter = ((Component)Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC1/snowyforest/SFFirepit.prefab").WaitForCompletion().transform.Find("SFFire/HeatGas")).gameObject; private static GameObject explosionEffect = LegacyResourcesAPI.Load<GameObject>("Prefabs/Effects/OmniEffect/OmniExplosionVFXCommandoGrenade"); private static Material overlayMaterial = LegacyResourcesAPI.Load<Material>("Materials/matFlashWhite"); public GameObject smoke; public TemporaryOverlay temporaryOverlay; public ObjectScaleCurve scale; public override void OnEnter() { //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Unknown result type (might be due to invalid IL or missing references) ((GenericCharacterMain)this).OnEnter(); if (animCurve == null) { animCurve = AnimationCurve.Linear(0f, 0f, 1f, 1f); animCurve.postWrapMode = (WrapMode)4; animCurve.preWrapMode = (WrapMode)4; } if (sizeCurve == null) { sizeCurve = AnimationCurve.Linear(0f, 1f, 1f, 1.25f); sizeCurve.postWrapMode = (WrapMode)8; sizeCurve.preWrapMode = (WrapMode)8; } Transform modelTransform = ((EntityState)this).GetModelTransform(); CharacterModel val = ((modelTransform != null) ? ((Component)modelTransform).GetComponent<CharacterModel>() : null); if (Object.op_Implicit((Object)(object)val)) { temporaryOverlay = ((EntityState)this).gameObject.AddComponent<TemporaryOverlay>(); temporaryOverlay.duration = 0.2f; temporaryOverlay.alphaCurve = animCurve; temporaryOverlay.animateShaderAlpha = true; temporaryOverlay.originalMaterial = overlayMaterial; temporaryOverlay.AddToCharacerModel(val); } ChildLocator modelChildLocator = ((EntityState)this).GetModelChildLocator(); Transform val2 = ((modelChildLocator != null) ? modelChildLocator.FindChild("Head") : null); smoke = Object.Instantiate<GameObject>(smokeEmitter, val2 ?? ((EntityState)this).characterBody.coreTransform); MainModule main = smoke.GetComponent<ParticleSystem>().main; ((MainModule)(ref main)).simulationSpace = (ParticleSystemSimulationSpace)1; smoke.transform.localPosition = Vector3.zero; EntitySoundManager.EmitSoundServer((AkEventIdArg)"SM64_BBF_Play_Bobomb_Fuse", ((EntityState)this).gameObject); } public override void FixedUpdate() { //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: 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_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0140: 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_0151: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Expected O, but got Unknown ((GenericCharacterMain)this).FixedUpdate(); ((EntityState)this).characterBody.isSprinting = true; ((EntityState)this).characterBody.inputBank.moveVector = ((EntityState)this).characterDirection.forward; if ((float)duration - ((EntityState)this).fixedAge <= 1f && !Object.op_Implicit((Object)(object)scale)) { Transform modelTransform = ((EntityState)this).GetModelTransform(); scale = ((modelTransform != null) ? ((Component)modelTransform).gameObject.AddComponent<ObjectScaleCurve>() : null); if (Object.op_Implicit((Object)(object)scale)) { scale.overallCurve = sizeCurve; scale.useOverallCurveOnly = true; scale.timeMax = 1f; } } if (((EntityState)this).fixedAge >= (float)duration && ((EntityState)this).isAuthority) { new BlastAttack { radius = 15f, attacker = ((EntityState)this).gameObject, teamIndex = ((EntityState)this).teamComponent.teamIndex, crit = ((BaseState)this).RollCrit(), baseDamage = ((BaseState)this).damageStat * 5f, falloffModel = (FalloffModel)0, procCoefficient = 1f, position = ((EntityState)this).characterBody.corePosition }.Fire(); EffectManager.SpawnEffect(explosionEffect, new EffectData { origin = ((EntityState)this).characterBody.corePosition, scale = 5f }, true); ((EntityState)this).outer.SetNextState((EntityState)(object)new BobombSuicideDeathState()); } } public override void OnExit() { ((GenericCharacterMain)this).OnExit(); if (Object.op_Implicit((Object)(object)temporaryOverlay)) { temporaryOverlay.RemoveFromCharacterModel(); Object.Destroy((Object)(object)temporaryOverlay); } if (Object.op_Implicit((Object)(object)scale)) { scale.Reset(); Object.Destroy((Object)(object)scale); } Object.Destroy((Object)(object)smoke); } public override InterruptPriority GetMinimumInterruptPriority() { return (InterruptPriority)1; } } public class BobombSpawnState : GenericCharacterSpawnState { public static GameObject spawnEffect = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Bandit2/Bandit2SmokeBomb.prefab").WaitForCompletion(); public override void OnEnter() { ((GenericCharacterSpawnState)this).OnEnter(); if (Object.op_Implicit((Object)(object)spawnEffect)) { EffectManager.SimpleMuzzleFlash(spawnEffect, ((EntityState)this).gameObject, "Chest", true); } } } public class BobombSuicideDeathState : GenericCharacterDeath { public override void OnEnter() { //IL_000b: Unknown result type (might be due to invalid IL or missing references) ((GenericCharacterDeath)this).OnEnter(); EntitySoundManager.EmitSoundServer((AkEventIdArg)"SM64_BBF_Stop_Bobomb_Fuse", ((EntityState)this).gameObject); if (NetworkServer.active) { ((EntityState)this).healthComponent.Suicide((GameObject)null, (GameObject)null, (DamageType)0); } ((GenericCharacterDeath)this).DestroyModel(); if (NetworkServer.active) { ((GenericCharacterDeath)this).DestroyBodyAsapServer(); } } } public class StarManState : GenericCharacterMain { public int duration = 20; public static AnimationCurve animCurve; public TemporaryOverlay temporaryOverlay; private readonly List<HealthComponent> ignoredHealthComponentList = new List<HealthComponent>(); public override void OnEnter() { //IL_0029: Unknown result type (might be due to invalid IL or missing references) ((GenericCharacterMain)this).OnEnter(); if (NetworkServer.active) { ((EntityState)this).characterBody.AddTimedBuff(Buffs.Immune, (float)duration); EntitySoundManager.EmitSoundServer((AkEventIdArg)"SM64_BBF_Play_StarmanComes", ((EntityState)this).gameObject); } if (animCurve == null) { animCurve = AnimationCurve.Linear(0f, 0f, 1f, 1f); animCurve.postWrapMode = (WrapMode)4; animCurve.preWrapMode = (WrapMode)4; } Transform modelTransform = ((EntityState)this).GetModelTransform(); CharacterModel val = ((modelTransform != null) ? ((Component)modelTransform).GetComponent<CharacterModel>() : null); if (Object.op_Implicit((Object)(object)val)) { temporaryOverlay = ((EntityState)this).gameObject.AddComponent<TemporaryOverlay>(); temporaryOverlay.duration = 0.2f; temporaryOverlay.alphaCurve = animCurve; temporaryOverlay.animateShaderAlpha = true; temporaryOverlay.originalMaterial = LegacyResourcesAPI.Load<Material>("Materials/matFlashWhite"); temporaryOverlay.AddToCharacerModel(val); } } public override void FixedUpdate() { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) ((GenericCharacterMain)this).FixedUpdate(); if (!((EntityState)this).isAuthority) { Collider[] array = Physics.OverlapBox(((EntityState)this).transform.position, ((EntityState)this).transform.lossyScale * 0.5f, ((EntityState)this).transform.rotation, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.entityPrecise)).mask)); for (int i = 0; i < array.Length; i++) { HurtBox component = ((Component)array[i]).GetComponent<HurtBox>(); if (!Object.op_Implicit((Object)(object)component) || !HurtBoxPassesFilter(component)) { continue; } ignoredHealthComponentList.Add(component.healthComponent); EntitySoundManager.EmitSoundServer((AkEventIdArg)"SM64_BBF_StarmanKills", ((EntityState)this).gameObject); if (NetworkServer.active) { component.healthComponent.Suicide((GameObject)null, (GameObject)null, (DamageType)0); continue; } HealthComponent healthComponent = component.healthComponent; NetworkInstanceId? obj; if (healthComponent == null) { obj = null; } else { CharacterBody body = healthComponent.body; if (body == null) { obj = null; } else { NetworkIdentity networkIdentity = body.networkIdentity; obj = ((networkIdentity != null) ? new NetworkInstanceId?(networkIdentity.netId) : null); } } NetworkInstanceId? val = obj; CmdKill(val.GetValueOrDefault()); } } if (((EntityState)this).fixedAge > (float)duration * 0.75f) { temporaryOverlay.duration = 0.4f; EntitySoundManager.EmitSoundServer((AkEventIdArg)"SM64_BBF_Stop_StarmanComes", ((EntityState)this).gameObject); } if (((EntityState)this).fixedAge > (float)duration) { ((EntityState)this).outer.SetNextStateToMain(); } } [Command] public void CmdKill(NetworkInstanceId netId) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) if (!(netId == default(NetworkInstanceId))) { GameObject val = Util.FindNetworkObject(netId); CharacterBody val2 = default(CharacterBody); if (Object.op_Implicit((Object)(object)val) && val.TryGetComponent<CharacterBody>(ref val2)) { val2.healthComponent.Suicide((GameObject)null, (GameObject)null, (DamageType)0); } } } private bool HurtBoxPassesFilter(HurtBox hurtBox) { if (!Ob