Decompiled source of ElementalReactions v2.0.1

plugins/ElementalReactionsMod.dll

Decompiled a week ago
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.Versioning;
using System.Security;
using System.Security.Permissions;
using System.Text;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Configuration;
using BepInEx.Logging;
using ElementalReactionsMod.Achievements;
using ElementalReactionsMod.Elements;
using ElementalReactionsMod.Environment;
using ElementalReactionsMod.Items;
using ElementalReactionsMod.Loadout;
using ElementalReactionsMod.Orbs;
using ElementalReactionsMod.Reactions;
using EntityStates;
using EntityStates.AffixEarthHealer;
using EntityStates.ClayBruiser.Weapon;
using EntityStates.DefectiveUnit;
using EntityStates.Events;
using EntityStates.FriendUnit;
using EntityStates.MiniMushroom;
using EntityStates.RoboBallBoss.Weapon;
using EntityStates.ScavMonster;
using EntityStates.SolusAmalgamator;
using EntityStates.VoidInfestor;
using Grumpy;
using HG;
using HG.Reflection;
using HarmonyLib;
using IL.EntityStates.AcidLarva;
using IL.EntityStates.AffixEarthHealer;
using IL.EntityStates.DefectiveUnit;
using IL.EntityStates.Destructible;
using IL.EntityStates.VoidInfestor;
using IL.RoR2;
using IL.RoR2.Orbs;
using IL.RoR2.Projectile;
using IL.RoR2.Stats;
using ItemQualities;
using ItemQualities.ContentManagement;
using ItemQualities.Utilities.Extensions;
using JetBrains.Annotations;
using LookingGlass.ItemStatsNameSpace;
using LookingGlass.LookingGlassLanguage;
using Microsoft.CodeAnalysis;
using Mono.Cecil;
using Mono.Cecil.Cil;
using MonoMod.Cil;
using MonoMod.RuntimeDetour;
using Newtonsoft.Json.Utilities;
using On.EntityStates.ClayBruiser.Weapon;
using On.EntityStates.FriendUnit;
using On.EntityStates.MiniMushroom;
using On.EntityStates.RoboBallBoss.Weapon;
using On.EntityStates.ScavMonster;
using On.EntityStates.SolusAmalgamator;
using On.RoR2;
using On.RoR2.UI.LogBook;
using R2API;
using R2API.Networking;
using R2API.Networking.Interfaces;
using Rewired.ComponentControls.Effects;
using RiskOfOptions;
using RiskOfOptions.OptionConfigs;
using RiskOfOptions.Options;
using RoR2;
using RoR2.Achievements;
using RoR2.Artifacts;
using RoR2.ContentManagement;
using RoR2.ExpansionManagement;
using RoR2.Items;
using RoR2.Navigation;
using RoR2.Orbs;
using RoR2.Projectile;
using RoR2.Skills;
using RoR2.UI;
using RoR2BepInExPack.GameAssetPathsBetter;
using SS2;
using Sandswept.Drones.Inferno;
using Sandswept.Drones.Voltaic;
using Sandswept.Enemies.CannonballJellyfish;
using TMPro;
using ThreeEyedGames;
using Unity.Collections;
using Unity.Jobs;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.Events;
using UnityEngine.Jobs;
using UnityEngine.Networking;
using UnityEngine.Rendering.PostProcessing;
using UnityEngine.ResourceManagement.AsyncOperations;
using UnityEngine.UI;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: OptIn]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("ElementalReactionsMod")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+3565162a5e282c565a0ff3a42d5ca68fbc975d6f")]
[assembly: AssemblyProduct("ElementalReactionsMod")]
[assembly: AssemblyTitle("ElementalReactionsMod")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableAttribute : Attribute
	{
		public readonly byte[] NullableFlags;

		public NullableAttribute(byte P_0)
		{
			NullableFlags = new byte[1] { P_0 };
		}

		public NullableAttribute(byte[] P_0)
		{
			NullableFlags = P_0;
		}
	}
	[CompilerGenerated]
	[Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableContextAttribute : Attribute
	{
		public readonly byte Flag;

		public NullableContextAttribute(byte P_0)
		{
			Flag = P_0;
		}
	}
	[CompilerGenerated]
	[Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
namespace ElementalReactionsMod
{
	public static class Assets
	{
		public static class AssetReferences
		{
			public static AssetReferenceT<Sprite> expansionIcon = new AssetReferenceT<Sprite>("64c84609674948a4d80e1fc588a1d8a9");

			public static AssetReferenceT<Sprite> pyroBuffIcon = new AssetReferenceT<Sprite>("0daee0d7c66cf3349a5c729e74a12925");

			public static AssetReferenceT<Sprite> hydroBuffIcon = new AssetReferenceT<Sprite>("7e274e591617cd94f851984046f5c921");

			public static AssetReferenceT<Sprite> electroBuffIcon = new AssetReferenceT<Sprite>("a416b58f4ed2331488afcf4e6eba114f");

			public static AssetReferenceT<Sprite> cryoBuffIcon = new AssetReferenceT<Sprite>("e38221f0cc59ebd4f96bfcc5034fde14");

			public static AssetReferenceT<Sprite> anemoBuffIcon = new AssetReferenceT<Sprite>("2e957546a6b4ecf4088b8cb9a754aaaf");

			public static AssetReferenceT<Sprite> geoBuffIcon = new AssetReferenceT<Sprite>("61c6caa41fc7e8c4abf6534fadeb89b0");

			public static AssetReferenceT<Sprite> dendroBuffIcon = new AssetReferenceT<Sprite>("87b63bb49e9e2fa4f9d2a66665ee07a7");

			public static AssetReferenceT<Sprite> quickenBuffIcon = new AssetReferenceT<Sprite>("fd1a80b8adab48644bde7e4c5d73fd13");

			public static AssetReferenceT<Sprite> superconductBuffIcon = new AssetReferenceT<Sprite>("5fc2055e4d7c33348889a483e5a0df1b");

			public static AssetReferenceT<Sprite> electroChargeBuffIcon = new AssetReferenceT<Sprite>("151966ab1f5e45043ab88e997d14ae7d");

			public static AssetReferenceT<Sprite> burningBuffIcon = new AssetReferenceT<Sprite>("07f9bcdadc51ff54a9482a26f941d757");

			public static AssetReferenceT<Sprite> strongBurningBuffIcon = new AssetReferenceT<Sprite>("9593213da82837b4294c671776203bbf");

			public static AssetReferenceT<Texture> pyroIcon = new AssetReferenceT<Texture>("13e481dbe51e4d640ad603f14cb6bfe9");

			public static AssetReferenceT<Texture> hydroIcon = new AssetReferenceT<Texture>("3eb8865e5a13b7742b66a47fbdd2aee7");

			public static AssetReferenceT<Texture> electroIcon = new AssetReferenceT<Texture>("56c4fbbb5b62cb84abd0f8a9575caf3f");

			public static AssetReferenceT<Texture> cryoIcon = new AssetReferenceT<Texture>("9435d25802bf8994a89c7275c9264810");

			public static AssetReferenceT<Texture> anemoIcon = new AssetReferenceT<Texture>("38a3562c6487d3d459a11ab8ce19b418");

			public static AssetReferenceT<Texture> geoIcon = new AssetReferenceT<Texture>("f972169ff42390a4da00e9b3eb915dbe");

			public static AssetReferenceT<Texture> dendroIcon = new AssetReferenceT<Texture>("cdc71ccb0e628c74ba052480a5bc3cd4");

			public static AssetReferenceT<Sprite> physicalSkillIcon = new AssetReferenceT<Sprite>("d4a1b90b0494f41468cc3891bf05e53a");

			public static AssetReferenceT<Sprite> pyroSkillIcon = new AssetReferenceT<Sprite>("dc58e8263293feb4d800d43015d479c5");

			public static AssetReferenceT<Sprite> hydroSkillIcon = new AssetReferenceT<Sprite>("e186d9590b77d8248abd9e77fbbd3f48");

			public static AssetReferenceT<Sprite> electroSkillIcon = new AssetReferenceT<Sprite>("993b4bd8d5b61934f93b53275220256d");

			public static AssetReferenceT<Sprite> cryoSkillIcon = new AssetReferenceT<Sprite>("d5fb27b74cc81cf409874d173f52e728");

			public static AssetReferenceT<Sprite> anemoSkillIcon = new AssetReferenceT<Sprite>("7eee6493b891a1746a05e1b540b4eb4d");

			public static AssetReferenceT<Sprite> geoSkillIcon = new AssetReferenceT<Sprite>("c88d96edd23da354696d9d9d66cd102f");

			public static AssetReferenceT<Sprite> dendroSkillIcon = new AssetReferenceT<Sprite>("4e802f5ad484760438a8692950a15773");

			public static AssetReferenceT<GameObject> genericElementActivatedEffect = new AssetReferenceT<GameObject>("0dcaf09df2cb8ab4c838c88c6d997a39");

			public static AssetReferenceT<GameObject> genericElementOrbEffect = new AssetReferenceT<GameObject>("383d58c1367764647bb30cbdd0339ac0");

			public static AssetReferenceT<GameObject> elementEnvironmentScreenEffect = new AssetReferenceT<GameObject>("55f9388a5a1f5834c9ee3506b9141ba8");

			public static AssetReferenceT<GameObject> electroChargeTempVisualEffect = new AssetReferenceT<GameObject>("11147caefb6967a41ab27574e55d2a88");

			public static AssetReferenceT<GameObject> quickenTempVisualEffect = new AssetReferenceT<GameObject>("8c00cd5f2a1b86c4ba23ceab51149285");

			public static AssetReferenceT<GameObject> overloadEffect = new AssetReferenceT<GameObject>("a7c7911aead178a499a9803ee81dd5a3");

			public static AssetReferenceT<GameObject> superconductEffect = new AssetReferenceT<GameObject>("b2ee9cb3889cd7c4bb620fd72233099a");

			public static AssetReferenceT<GameObject> superconductTempVisualEffect = new AssetReferenceT<GameObject>("b46ea4e21788bdc418384e2de927414e");

			public static AssetReferenceT<GameObject> swirlEffect = new AssetReferenceT<GameObject>("7afc921af72c23941980c334193ee394");

			public static AssetReferenceT<GameObject> crystallizeSpawnOrbEffect = new AssetReferenceT<GameObject>("b71c0d9d0e04e4f42a27e5067bc57920");

			public static AssetReferenceT<GameObject> crystallizePickup = new AssetReferenceT<GameObject>("677d6b93d9a81fa44b68adbcd2288857");

			public static AssetReferenceT<Sprite> bloomIcon = new AssetReferenceT<Sprite>("cd5c3c5b432da044d8ab88e45c4ca562");

			public static AssetReferenceT<GameObject> bloomObject = new AssetReferenceT<GameObject>("3208908270e8db14489bfb68079f0dcd");

			public static AssetReferenceT<Material> bloomMaterial = new AssetReferenceT<Material>("c74a8fba09c05e843afab90abce26e10");

			public static AssetReferenceT<Texture> bloomFresnelMask = new AssetReferenceT<Texture>("77d939fda7dde4048a33fccac924a029");

			public static AssetReferenceT<Texture> bloomTransparent = new AssetReferenceT<Texture>("ff18c4fae117474409f084cf24b74999");

			public static AssetReferenceT<GameObject> bloomExplosion = new AssetReferenceT<GameObject>("1a5da254110bef7488484791f3220e83");

			public static AssetReferenceT<GameObject> burgeonExplosion = new AssetReferenceT<GameObject>("016343dff8c6ed345a37610401ac69b4");

			public static AssetReferenceT<GameObject> hyperbloomOrb = new AssetReferenceT<GameObject>("84548caf27cac6b44b9f23e11e0c447d");

			public static AssetReferenceT<Material> visionHolderMaterial = new AssetReferenceT<Material>("e3301a4ccd084f4428b3b23e85dc1733");

			public static AssetReferenceT<Texture> glassVFXTexture = new AssetReferenceT<Texture>("a664cb2ff07a9af48835473d1e36bf67");

			public static AssetReferenceT<GameObject> delusionPickupModel = new AssetReferenceT<GameObject>("9f3cf544c7630a04fa25214a5197c191");

			public static AssetReferenceT<GameObject> delusionDisplayModel = new AssetReferenceT<GameObject>("79b9b2b62c2a66a439fad33cb020271a");

			public static AssetReferenceT<Texture> delusionLogo = new AssetReferenceT<Texture>("8c75207915d01ff4280ac8f0e15b5aad");

			public static AssetReferenceT<Sprite> delusionItemIcon = new AssetReferenceT<Sprite>("884bdf224e0646e43b6dc1b6a2675c92");

			public static AssetReferenceT<Sprite> delusionPyroItemIcon = new AssetReferenceT<Sprite>("c43b3123149962f4ba691794e52b3e43");

			public static AssetReferenceT<Sprite> delusionHydroItemIcon = new AssetReferenceT<Sprite>("cf1b789b5d942b142bd2ceff8f57f3a7");

			public static AssetReferenceT<Sprite> delusionElectroItemIcon = new AssetReferenceT<Sprite>("6556071d8b734a34c9ed73fe8f085b54");

			public static AssetReferenceT<Sprite> delusionCryoItemIcon = new AssetReferenceT<Sprite>("c18bd1206fb57a545b75e8ebe1277ae4");

			public static AssetReferenceT<Sprite> delusionAnemoItemIcon = new AssetReferenceT<Sprite>("d2783fcd777fdc443b2413bea0a67ee4");

			public static AssetReferenceT<Sprite> delusionGeoItemIcon = new AssetReferenceT<Sprite>("41fc2191bdd38634aa9d5d2f99a338c4");

			public static AssetReferenceT<Sprite> delusionDendroItemIcon = new AssetReferenceT<Sprite>("3bedb54f341b8b448b9c0a1cd9dcdd7b");

			public static AssetReferenceT<Sprite> delusionBuffIcon = new AssetReferenceT<Sprite>("6eea3353a4d395843b4cd63335aa6de1");

			public static AssetReferenceT<GameObject> delusionHitEffect = new AssetReferenceT<GameObject>("65c647fb4bb695846b19becd2e583081");

			public static AssetReferenceT<Texture> delusionRamp = new AssetReferenceT<Texture>("77c55f158f600e048ab3cecb73f7b2b6");

			public static AssetReferenceT<Texture> delusionOrbRamp = new AssetReferenceT<Texture>("18f28cc4480fabe408617d74510efcb1");

			public static AssetReferenceT<GameObject> instructorsTeaCupPickupModel = new AssetReferenceT<GameObject>("b51b42d6d9466d845a1d09da7a916642");

			public static AssetReferenceT<GameObject> instructorsTeaCupDisplayModel = new AssetReferenceT<GameObject>("aa757ec80808fa94f8b3e34811f93f35");

			public static AssetReferenceT<Material> instructorsTeaCupMaterial = new AssetReferenceT<Material>("21fcdb5cd2cf4b44fa0b04fe96e09702");

			public static AssetReferenceT<Texture> instructorsTeaCupFresnelMask = new AssetReferenceT<Texture>("053b6932d6b15d5488c3626eb00c31ec");

			public static AssetReferenceT<Sprite> instructorsTeaCupItemIcon = new AssetReferenceT<Sprite>("371e6f4214277484c90a8755fa3e42e1");

			public static AssetReferenceT<GameObject> moonWheelPickupModel = new AssetReferenceT<GameObject>("7e50ea908069f874fac56c93f70a328d");

			public static AssetReferenceT<GameObject> moonWheelDisplayModel = new AssetReferenceT<GameObject>("061359f9d76adfe429aa42f3b25caeb8");

			public static AssetReferenceT<Texture> moonWheelVisionIcon = new AssetReferenceT<Texture>("af83aeca078a68443bf1583507eab088");

			public static AssetReferenceT<Texture> moonWheelVisionRamp = new AssetReferenceT<Texture>("1f819082df45cdf44b5b8f019b4a90b5");

			public static AssetReferenceT<Sprite> moonWheelItemIcon = new AssetReferenceT<Sprite>("00f1f0088ad92dc4eb41b80b7aef67f2");

			public static AssetReferenceT<Sprite> elementalMasteryAchievementIcon = new AssetReferenceT<Sprite>("9547acf0f18b5a547a0533b84299b100");

			public static AssetReferenceT<Texture> lunarVFXSymbol = new AssetReferenceT<Texture>("044f325621315c64a8a6b0b7277ff9b3");

			public static AssetReferenceT<Texture> lunarDecal = new AssetReferenceT<Texture>("4cff496a700287245a5591fc5f7e1906");

			public static AssetReferenceT<GameObject> lunarChargedLightningEffect = new AssetReferenceT<GameObject>("558b1898670f29e4f8aba548a3357090");

			public static AssetReferenceT<Sprite> lunarChargeBuffIcon = new AssetReferenceT<Sprite>("ef41e115d6e9b3b45816e1afb73c5a0f");

			public static AssetReferenceT<GameObject> lunarBloomEffect = new AssetReferenceT<GameObject>("623c28827e49bf041ade36cdd7cdf922");

			public static AssetReferenceT<Sprite> lunarBloomBuffIcon = new AssetReferenceT<Sprite>("b14c2afa0ea1ba6449927fb72cbbd016");

			public static AssetReferenceT<Sprite> lunarBloomChargingBuffIcon = new AssetReferenceT<Sprite>("dc667ee18bd31314a9c85d4ba5590cbf");

			public static AssetReferenceT<GameObject> lunarCrystallizeController = new AssetReferenceT<GameObject>("151ca516e4a36dc4b9071f8c9957d1e4");

			public static AssetReferenceT<GameObject> lunarCrystallizeActivatedEffect = new AssetReferenceT<GameObject>("6eb753463343f764385e8aaad94cbecf");

			public static AssetReferenceT<GameObject> stellarLinchpinPickupModel = new AssetReferenceT<GameObject>("5807aa0e95fb5764ead5d7b371eff270");

			public static AssetReferenceT<GameObject> stellarLinchpinDisplayModel = new AssetReferenceT<GameObject>("6ae8c402fc850084fb4f208fe973f108");

			public static AssetReferenceT<Texture> stellarLinchpinVisionIcon = new AssetReferenceT<Texture>("7939116954ccdf140bf5f8da0ee87301");

			public static AssetReferenceT<Texture> stellarLinchpinVisionRamp = new AssetReferenceT<Texture>("03cb993ea9c2ea44aa2f3d18e0fcf2ff");

			public static AssetReferenceT<Sprite> stellarLinchpinItemIcon = new AssetReferenceT<Sprite>("498518fa76b7073429a95fa6f0a90359");

			public static AssetReferenceT<Texture> stellarGlassRamp = new AssetReferenceT<Texture>("ec70215390887e14d9ae4f05b50bb1c4");

			public static AssetReferenceT<GameObject> stellarConductFieldEffect = new AssetReferenceT<GameObject>("ca56d03c9feb98145b5d521a67107a3b");

			public static AssetReferenceT<GameObject> stellarConductDespawnEffect = new AssetReferenceT<GameObject>("0b3f9079335809c4eaebdd3bf373333b");

			public static AssetReferenceT<Sprite> stellarConductBuffIcon = new AssetReferenceT<Sprite>("3a98b587b40795d4288d2cceaa468cb0");

			public static AssetReferenceT<GameObject> stellarSwirlVortex1Effect = new AssetReferenceT<GameObject>("3582f5cfec013a54e8a0deef73c6ee3f");

			public static AssetReferenceT<GameObject> stellarSwirlSpawnEffect = new AssetReferenceT<GameObject>("d8505c0ae546c77469f3c07aaff270fb");

			public static AssetReferenceT<GameObject> stellarSwirlExplosion1 = new AssetReferenceT<GameObject>("a223aeabe95f088448b3a063bd071c08");

			public static AssetReferenceT<GameObject> stellarSwirlExplosion2 = new AssetReferenceT<GameObject>("475207226315fa240a4ff386cb91a008");
		}

		[Serializable]
		[CompilerGenerated]
		private sealed class <>c
		{
			public static readonly <>c <>9 = new <>c();

			public static Action<AsyncOperationHandle<GameObject>> <>9__13_0;

			public static Action<AsyncOperationHandle<GameObject>> <>9__13_1;

			public static Action<AsyncOperationHandle<GameObject>> <>9__13_2;

			public static EffectCondition <>9__13_28;

			public static Action<AsyncOperationHandle<GameObject>> <>9__13_3;

			public static EffectCondition <>9__13_29;

			public static Action<AsyncOperationHandle<GameObject>> <>9__13_4;

			public static Action<AsyncOperationHandle<GameObject>> <>9__13_6;

			public static EffectCondition <>9__13_31;

			public static Action<AsyncOperationHandle<GameObject>> <>9__13_7;

			public static Action<AsyncOperationHandle<GameObject>> <>9__13_10;

			public static Action<AsyncOperationHandle<GameObject>> <>9__13_15;

			public static EffectCondition <>9__13_41;

			public static Action<AsyncOperationHandle<GameObject>> <>9__13_18;

			public static Action<AsyncOperationHandle<GameObject>> <>9__13_21;

			internal void <Initialize>b__13_0(AsyncOperationHandle<GameObject> x)
			{
				//IL_0032: Unknown result type (might be due to invalid IL or missing references)
				//IL_0039: Unknown result type (might be due to invalid IL or missing references)
				//IL_0151: Unknown result type (might be due to invalid IL or missing references)
				//IL_0156: Unknown result type (might be due to invalid IL or missing references)
				EffectComponent val = x.Result.AddComponent<EffectComponent>();
				val.positionAtReferencedTransform = true;
				val.parentToReferencedTransform = true;
				val.applyScale = true;
				VFXAttributes val2 = x.Result.AddComponent<VFXAttributes>();
				val2.vfxPriority = (VFXPriority)1;
				val2.vfxIntensity = (VFXIntensity)0;
				val2.DoNotPool = false;
				x.Result.AddComponent<NetworkIdentity>();
				GenericElementEffectComponent genericElementEffectComponent = x.Result.AddComponent<GenericElementEffectComponent>();
				ParticleSystem component = ((Component)x.Result.transform.GetChild(0)).GetComponent<ParticleSystem>();
				ParticleSystem component2 = ((Component)x.Result.transform.GetChild(1)).GetComponent<ParticleSystem>();
				ParticleSystem component3 = ((Component)x.Result.transform.GetChild(2)).GetComponent<ParticleSystem>();
				genericElementEffectComponent.icon = ((Component)x.Result.transform.GetChild(0)).GetComponent<ParticleSystemRenderer>();
				genericElementEffectComponent.particlesToRecolor = (ParticleSystem[])(object)new ParticleSystem[3] { component, component2, component3 };
				x.Result.AddComponent<DestroyOnParticleEnd>().trackedParticleSystem = component;
				ScaleParticleSystemDuration val3 = x.Result.AddComponent<ScaleParticleSystemDuration>();
				val3.initialDuration = 0.7f;
				val3.particleSystems = (ParticleSystem[])(object)new ParticleSystem[3] { component, component2, component3 };
				genericElementEffectComponent.particleDuration = val3;
				((Renderer)((Component)x.Result.transform.GetChild(1)).GetComponent<ParticleSystemRenderer>()).sharedMaterial = AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_DLC2_FalseSonBoss.matLunarGazeFireLaser3_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				x.Result.AddComponent<ParentEffectToItemDisplay>();
				AddNewEffectDef(x.Result);
			}

			internal void <Initialize>b__13_1(AsyncOperationHandle<GameObject> x)
			{
				//IL_002b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0032: Unknown result type (might be due to invalid IL or missing references)
				//IL_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)
				//IL_0075: Unknown result type (might be due to invalid IL or missing references)
				//IL_007a: 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_00f3: Unknown result type (might be due to invalid IL or missing references)
				//IL_00f8: Unknown result type (might be due to invalid IL or missing references)
				EffectComponent val = x.Result.AddComponent<EffectComponent>();
				val.positionAtReferencedTransform = false;
				val.parentToReferencedTransform = false;
				VFXAttributes val2 = x.Result.AddComponent<VFXAttributes>();
				val2.vfxPriority = (VFXPriority)1;
				val2.vfxIntensity = (VFXIntensity)0;
				val2.DoNotPool = false;
				OrbEffect val3 = x.Result.AddComponent<OrbEffect>();
				val3.startVelocity1 = new Vector3(-30f, -7f, -30f);
				val3.startVelocity2 = new Vector3(30f, 7f, 30f);
				val3.movementCurve = AnimationCurve.Linear(0f, 0f, 1f, 1f);
				val3.endEffect = AssetAsyncReferenceManager<GameObject>.LoadAsset(new AssetReferenceT<GameObject>(RoR2_Base_Treebot.OmniImpactVFXSlashSyringe_prefab), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				x.Result.AddComponent<NetworkIdentity>();
				ParticleSystem component = ((Component)x.Result.transform.GetChild(0)).GetComponent<ParticleSystem>();
				((Renderer)((Component)component).GetComponent<ParticleSystemRenderer>()).sharedMaterial = AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_Base_Common_VFX.matWideGlow_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				GenericElementEffectComponent genericElementEffectComponent = x.Result.AddComponent<GenericElementEffectComponent>();
				genericElementEffectComponent.trailsToRecolor = (TrailRenderer[])(object)new TrailRenderer[1] { ((Component)x.Result.transform.GetChild(1)).GetComponent<TrailRenderer>() };
				genericElementEffectComponent.particlesToRecolor = (ParticleSystem[])(object)new ParticleSystem[2]
				{
					component,
					((Component)x.Result.transform.GetChild(2)).GetComponent<ParticleSystem>()
				};
				AddNewEffectDef(x.Result);
			}

			internal void <Initialize>b__13_2(AsyncOperationHandle<GameObject> x)
			{
				//IL_000c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0011: Unknown result type (might be due to invalid IL or missing references)
				//IL_0026: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0034: Unknown result type (might be due to invalid IL or missing references)
				//IL_003a: Expected O, but got Unknown
				//IL_0045: 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_0071: Unknown result type (might be due to invalid IL or missing references)
				//IL_0082: Unknown result type (might be due to invalid IL or missing references)
				//IL_009e: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a3: 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_00e7: Unknown result type (might be due to invalid IL or missing references)
				//IL_0127: Unknown result type (might be due to invalid IL or missing references)
				//IL_012c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0135: Unknown result type (might be due to invalid IL or missing references)
				//IL_013b: Expected O, but got Unknown
				//IL_0158: Unknown result type (might be due to invalid IL or missing references)
				//IL_0173: Unknown result type (might be due to invalid IL or missing references)
				//IL_0184: Unknown result type (might be due to invalid IL or missing references)
				//IL_01a0: Unknown result type (might be due to invalid IL or missing references)
				//IL_01a5: Unknown result type (might be due to invalid IL or missing references)
				//IL_01c4: Unknown result type (might be due to invalid IL or missing references)
				//IL_01e9: Unknown result type (might be due to invalid IL or missing references)
				Mesh sharedMesh = AssetAsyncReferenceManager<Mesh>.LoadAsset(new AssetReferenceT<Mesh>(RoR2_Base_Common_VFX.mdlVFXDonut1_fbx_donut1Mesh_), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				Material val = new Material(AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_DLC1_Common_VFX.matOmniHitspark1GenericAdditive_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion());
				Texture val2 = AssetAsyncReferenceManager<Texture>.LoadAsset(new AssetReferenceT<Texture>(RoR2_Base_Common_VFX_ParticleMasks.texGlowPaintMask_png), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				val.SetTexture(ShaderPropertyKeys.mainTexKey, val2);
				val.SetTextureOffset(ShaderPropertyKeys.mainTexKey, new Vector2(0.1f, 0.1f));
				val.SetColor(ShaderPropertyKeys.tintColorKey, Color.white);
				val.SetTexture(ShaderPropertyKeys.cloud1TexKey, AssetAsyncReferenceManager<Texture>.LoadAsset(new AssetReferenceT<Texture>(RoR2_Base_Nullifier.texNullifierSkySparse_png), (AsyncReferenceHandleUnloadType)2).WaitForCompletion());
				val.SetTextureScale(ShaderPropertyKeys.cloud1TexKey, new Vector2(6f, 0.7f));
				val.SetVector("_CutoffScroll", new Vector4(0f, 2f, 0f, 0f));
				val.SetInt("_ZTest", 0);
				val.EnableKeyword("USE_CLOUDS");
				val.SetFloat(ShaderPropertyKeys.boostKey, 2f);
				Material val3 = new Material(AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_DLC2_Items_SpeedBoostPickup.matSpeedBoostPickupTraill_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion());
				val3.SetTexture(ShaderPropertyKeys.mainTexKey, val2);
				val3.SetTextureScale(ShaderPropertyKeys.mainTexKey, new Vector2(1f, 1f));
				val3.SetTextureOffset(ShaderPropertyKeys.mainTexKey, new Vector2(0.25f, 0f));
				val3.SetColor(ShaderPropertyKeys.tintColorKey, Color.white);
				val3.SetTexture(ShaderPropertyKeys.cloud1TexKey, AssetAsyncReferenceManager<Texture>.LoadAsset(new AssetReferenceT<Texture>(RoR2_DLC2_Items_SpeedBoostPickup.texNegateAttackTrail_png), (AsyncReferenceHandleUnloadType)2).WaitForCompletion());
				val3.SetTextureScale(ShaderPropertyKeys.cloud1TexKey, new Vector2(2f, 4f));
				val3.SetVector("_CutoffScroll", new Vector4(5f, 10f, -20f, 4f));
				val3.SetInt("_ZTest", 0);
				val3.SetFloat(ShaderPropertyKeys.alphaBoostKey, 0.12f);
				val3.DisableKeyword("DISABLEREMAP");
				Transform child = x.Result.transform.GetChild(0);
				Transform child2 = x.Result.transform.GetChild(1);
				ElementalEnvironmentScreenEffect elementalEnvironmentScreenEffect = x.Result.AddComponent<ElementalEnvironmentScreenEffect>();
				elementalEnvironmentScreenEffect.halfL = ((Component)child).GetComponent<MeshRenderer>();
				elementalEnvironmentScreenEffect.halfR = ((Component)child2).GetComponent<MeshRenderer>();
				((Renderer)elementalEnvironmentScreenEffect.halfL).sharedMaterials = (Material[])(object)new Material[2] { val, val3 };
				((Component)child).GetComponent<MeshFilter>().sharedMesh = sharedMesh;
				((Renderer)elementalEnvironmentScreenEffect.halfR).sharedMaterials = (Material[])(object)new Material[2] { val, val3 };
				((Component)child2).GetComponent<MeshFilter>().sharedMesh = sharedMesh;
			}

			internal void <Initialize>b__13_3(AsyncOperationHandle<GameObject> x)
			{
				//IL_0010: Unknown result type (might be due to invalid IL or missing references)
				//IL_0017: Unknown result type (might be due to invalid IL or missing references)
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c0: Expected O, but got Unknown
				VFXAttributes val = x.Result.AddComponent<VFXAttributes>();
				val.vfxPriority = (VFXPriority)1;
				val.vfxIntensity = (VFXIntensity)0;
				val.DoNotPool = false;
				Transform child = x.Result.transform.GetChild(0);
				((Component)child).GetComponent<ParticleSystemRenderer>().trailMaterial = electroTrailMaterial;
				((Component)child.GetChild(0)).GetComponent<ParticleSystemRenderer>().trailMaterial = darkElectricTrailMaterial;
				DestroyOnTimer val2 = x.Result.AddComponent<DestroyOnTimer>();
				val2.duration = 0.25f;
				TemporaryVisualEffect val3 = x.Result.AddComponent<TemporaryVisualEffect>();
				val3.exitComponents = (MonoBehaviour[])(object)new MonoBehaviour[1] { (MonoBehaviour)val2 };
				val3.visualTransform = child;
				GameObject result = x.Result;
				object obj = <>9__13_28;
				if (obj == null)
				{
					EffectCondition val4 = (CharacterBody body) => body.HasBuff((BuffDef)(object)Buffs.electroChargeBuff);
					<>9__13_28 = val4;
					obj = (object)val4;
				}
				TempVisualEffectAPI.AddTemporaryVisualEffect(result, (EffectCondition)obj, false, "");
			}

			internal bool <Initialize>b__13_28(CharacterBody body)
			{
				return body.HasBuff((BuffDef)(object)Buffs.electroChargeBuff);
			}

			internal void <Initialize>b__13_4(AsyncOperationHandle<GameObject> x)
			{
				//IL_0010: Unknown result type (might be due to invalid IL or missing references)
				//IL_0017: Unknown result type (might be due to invalid IL or missing references)
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c0: Expected O, but got Unknown
				VFXAttributes val = x.Result.AddComponent<VFXAttributes>();
				val.vfxPriority = (VFXPriority)1;
				val.vfxIntensity = (VFXIntensity)0;
				val.DoNotPool = false;
				Transform child = x.Result.transform.GetChild(0);
				((Component)child).GetComponent<ParticleSystemRenderer>().trailMaterial = dendroElectricTrailMaterial;
				((Component)child.GetChild(0)).GetComponent<ParticleSystemRenderer>().trailMaterial = darkElectricTrailMaterial;
				DestroyOnTimer val2 = x.Result.AddComponent<DestroyOnTimer>();
				val2.duration = 0.25f;
				TemporaryVisualEffect val3 = x.Result.AddComponent<TemporaryVisualEffect>();
				val3.exitComponents = (MonoBehaviour[])(object)new MonoBehaviour[1] { (MonoBehaviour)val2 };
				val3.visualTransform = child;
				GameObject result = x.Result;
				object obj = <>9__13_29;
				if (obj == null)
				{
					EffectCondition val4 = (CharacterBody body) => body.HasBuff((BuffDef)(object)Buffs.quickenBuff);
					<>9__13_29 = val4;
					obj = (object)val4;
				}
				TempVisualEffectAPI.AddTemporaryVisualEffect(result, (EffectCondition)obj, false, "");
			}

			internal bool <Initialize>b__13_29(CharacterBody body)
			{
				return body.HasBuff((BuffDef)(object)Buffs.quickenBuff);
			}

			internal void <Initialize>b__13_6(AsyncOperationHandle<GameObject> x)
			{
				//IL_002b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0032: Unknown result type (might be due to invalid IL or missing references)
				//IL_0087: Unknown result type (might be due to invalid IL or missing references)
				//IL_008c: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00f9: Unknown result type (might be due to invalid IL or missing references)
				//IL_00fe: Unknown result type (might be due to invalid IL or missing references)
				EffectComponent val = x.Result.AddComponent<EffectComponent>();
				val.positionAtReferencedTransform = true;
				val.parentToReferencedTransform = false;
				VFXAttributes val2 = x.Result.AddComponent<VFXAttributes>();
				val2.vfxPriority = (VFXPriority)2;
				val2.vfxIntensity = (VFXIntensity)1;
				val2.DoNotPool = false;
				x.Result.AddComponent<NetworkIdentity>();
				x.Result.AddComponent<DestroyOnTimer>().duration = 0.7f;
				((Renderer)((Component)x.Result.transform.Find("SuperconductSphere")).GetComponent<ParticleSystemRenderer>()).sharedMaterial = AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_Base_EliteIce.matAffixWhiteSphereIndicator_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				((Renderer)((Component)x.Result.transform.Find("SuperconductMist")).GetComponent<ParticleSystemRenderer>()).sharedMaterial = AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_DLC2_Chef.matChefSecondaryFrostVFX_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				((Renderer)((Component)x.Result.transform.Find("SuperconductSnowflakes")).GetComponent<ParticleSystemRenderer>()).sharedMaterial = AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_DLC2_Chef.matChefSecondarySnowflakeVFX_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				AddNewEffectDef(x.Result, "Play_freezeDrone_impact");
			}

			internal void <Initialize>b__13_7(AsyncOperationHandle<GameObject> x)
			{
				//IL_0010: Unknown result type (might be due to invalid IL or missing references)
				//IL_0017: Unknown result type (might be due to invalid IL or missing references)
				//IL_0047: Unknown result type (might be due to invalid IL or missing references)
				//IL_004c: Unknown result type (might be due to invalid IL or missing references)
				//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
				//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bd: Expected O, but got Unknown
				VFXAttributes val = x.Result.AddComponent<VFXAttributes>();
				val.vfxPriority = (VFXPriority)1;
				val.vfxIntensity = (VFXIntensity)0;
				val.DoNotPool = false;
				Transform child = x.Result.transform.GetChild(0);
				((Renderer)((Component)child).GetComponent<ParticleSystemRenderer>()).sharedMaterial = AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_DLC2_Chef.matChefSecondaryFrostVFX_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				DestroyOnTimer val2 = x.Result.AddComponent<DestroyOnTimer>();
				val2.duration = 0.6f;
				TemporaryVisualEffect val3 = x.Result.AddComponent<TemporaryVisualEffect>();
				val3.exitComponents = (MonoBehaviour[])(object)new MonoBehaviour[1] { (MonoBehaviour)val2 };
				val3.visualTransform = child;
				GameObject result = x.Result;
				object obj = <>9__13_31;
				if (obj == null)
				{
					EffectCondition val4 = (CharacterBody body) => body.HasBuff(Buffs.superconductBuff);
					<>9__13_31 = val4;
					obj = (object)val4;
				}
				TempVisualEffectAPI.AddTemporaryVisualEffect(result, (EffectCondition)obj, false, "");
			}

			internal bool <Initialize>b__13_31(CharacterBody body)
			{
				return body.HasBuff(Buffs.superconductBuff);
			}

			internal void <Initialize>b__13_10(AsyncOperationHandle<GameObject> x)
			{
				ElementalReactionManager.bloomSpawnOrb = PrefabAPI.InstantiateClone(x.Result, "BloomSpawnOrbEffect");
				ElementalReactionManager.bloomSpawnOrb.AddComponent<OrbEffectTargetPosition>();
				ElementalReactionManager.bloomSpawnOrb.AddComponent<NetworkIdentity>();
				Object.Destroy((Object)(object)ElementalReactionManager.bloomSpawnOrb.GetComponent<AkEvent>());
				Object.Destroy((Object)(object)ElementalReactionManager.bloomSpawnOrb.GetComponent<AkGameObj>());
				AddNewEffectDef(ElementalReactionManager.bloomSpawnOrb);
			}

			internal void <Initialize>b__13_15(AsyncOperationHandle<GameObject> x)
			{
				//IL_002b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0032: Unknown result type (might be due to invalid IL or missing references)
				//IL_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)
				//IL_0075: Unknown result type (might be due to invalid IL or missing references)
				//IL_007a: Unknown result type (might be due to invalid IL or missing references)
				EffectComponent val = x.Result.AddComponent<EffectComponent>();
				val.positionAtReferencedTransform = false;
				val.parentToReferencedTransform = false;
				VFXAttributes val2 = x.Result.AddComponent<VFXAttributes>();
				val2.vfxPriority = (VFXPriority)2;
				val2.vfxIntensity = (VFXIntensity)0;
				val2.DoNotPool = false;
				OrbEffect val3 = x.Result.AddComponent<OrbEffect>();
				val3.startVelocity1 = new Vector3(-3f, 20f, -3f);
				val3.startVelocity2 = new Vector3(3f, 25f, 3f);
				val3.movementCurve = AnimationCurve.Linear(0f, 0f, 1f, 1f);
				AddNewEffectDef(x.Result);
			}

			internal void <Initialize>b__13_18(AsyncOperationHandle<GameObject> x)
			{
				//IL_002d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0034: Unknown result type (might be due to invalid IL or missing references)
				//IL_005e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0063: Unknown result type (might be due to invalid IL or missing references)
				//IL_0075: Unknown result type (might be due to invalid IL or missing references)
				//IL_007a: Unknown result type (might be due to invalid IL or missing references)
				//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
				//IL_00db: Unknown result type (might be due to invalid IL or missing references)
				//IL_010b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0110: Unknown result type (might be due to invalid IL or missing references)
				//IL_0116: Expected O, but got Unknown
				<>c__DisplayClass13_9 CS$<>8__locals7 = new <>c__DisplayClass13_9
				{
					delusionActiveEffect = PrefabAPI.InstantiateClone(x.Result, "DelusionActiveEffect", false)
				};
				VFXAttributes val = CS$<>8__locals7.delusionActiveEffect.AddComponent<VFXAttributes>();
				val.vfxPriority = (VFXPriority)2;
				val.vfxIntensity = (VFXIntensity)0;
				val.DoNotPool = false;
				ParticleSystem component = ((Component)CS$<>8__locals7.delusionActiveEffect.transform.GetChild(0).GetChild(0)).GetComponent<ParticleSystem>();
				MainModule main = component.main;
				((MainModule)(ref main)).startColor = new MinMaxGradient(new Color(0.3f, 0.35f, 0.4f));
				((MainModule)(ref main)).scalingMode = (ParticleSystemScalingMode)0;
				TemporaryVisualEffect component2 = CS$<>8__locals7.delusionActiveEffect.GetComponent<TemporaryVisualEffect>();
				DelusionTemporaryVisualEffect delusionTemporaryVisualEffect = CS$<>8__locals7.delusionActiveEffect.AddComponent<DelusionTemporaryVisualEffect>();
				component2.enterComponents = component2.enterComponents.Append((MonoBehaviour)(object)delusionTemporaryVisualEffect).ToArray();
				((Behaviour)delusionTemporaryVisualEffect).enabled = false;
				AsyncOperationHandle<PostProcessProfile> val2 = AssetAsyncReferenceManager<PostProcessProfile>.LoadAsset(new AssetReferenceT<PostProcessProfile>(RoR2_Base_title_PostProcessing.ppLocalDoppelganger_asset), (AsyncReferenceHandleUnloadType)2);
				val2.Completed += delegate(AsyncOperationHandle<PostProcessProfile> y)
				{
					PostProcessProfile val4 = Object.Instantiate<PostProcessProfile>(y.Result);
					val4.RemoveSettings<ColorGrading>();
					PostProcessVolume component3 = ((Component)CS$<>8__locals7.delusionActiveEffect.transform.GetChild(1).GetChild(0)).GetComponent<PostProcessVolume>();
					RuntimeUtilities.DestroyProfile(component3.profile, true);
					component3.sharedProfile = val4;
					((Component)component3).GetComponent<PostProcessDuration>().ppWeightCurve = AnimationCurve.EaseInOut(0f, 0f, 1f, 0.5f);
					CS$<>8__locals7.delusionActiveEffect.GetComponent<PostProcessDuration>().ppWeightCurve = AnimationCurve.EaseInOut(0f, 0.5f, 1f, 0f);
				};
				GameObject obj = CS$<>8__locals7.delusionActiveEffect;
				object obj2 = <>9__13_41;
				if (obj2 == null)
				{
					EffectCondition val3 = (CharacterBody body) => body.HasBuff(Buffs.delusionActiveBuff);
					<>9__13_41 = val3;
					obj2 = (object)val3;
				}
				TempVisualEffectAPI.AddTemporaryVisualEffect(obj, (EffectCondition)obj2, false, "");
			}

			internal bool <Initialize>b__13_41(CharacterBody body)
			{
				return body.HasBuff(Buffs.delusionActiveBuff);
			}

			internal void <Initialize>b__13_21(AsyncOperationHandle<GameObject> x)
			{
				//IL_000c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0011: Unknown result type (might be due to invalid IL or missing references)
				//IL_0019: Unknown result type (might be due to invalid IL or missing references)
				//IL_001f: Expected O, but got Unknown
				//IL_0030: Unknown result type (might be due to invalid IL or missing references)
				//IL_0035: Unknown result type (might be due to invalid IL or missing references)
				//IL_0093: Unknown result type (might be due to invalid IL or missing references)
				//IL_0098: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a0: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a6: Expected O, but got Unknown
				//IL_00bb: 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_00f1: Unknown result type (might be due to invalid IL or missing references)
				//IL_010c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0127: Unknown result type (might be due to invalid IL or missing references)
				Material val = new Material(AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_Base_Grandparent.matGrandParentSunCore_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion());
				val.SetTexture(ShaderPropertyKeys.remapTexKey, AssetAsyncReferenceManager<Texture>.LoadAsset(new AssetReferenceT<Texture>(RoR2_DLC1_Common_ColorRamps.texRampConstructLaserTypeB_png), (AsyncReferenceHandleUnloadType)2).WaitForCompletion());
				val.SetFloat(ShaderPropertyKeys.boostKey, 1.5f);
				val.SetFloat(ShaderPropertyKeys.alphaBoostKey, 7f);
				val.SetFloat(ShaderPropertyKeys.alphaBiasKey, 0.5f);
				val.SetFloat("_FresnelPower", -1f);
				Material val2 = new Material(AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_DLC2_Items_ExtraStatsOnLevelUp.matBeadsEnlightenGlow_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion());
				val2.SetColor(ShaderPropertyKeys.tintColorKey, new Color(1f, 0.5f, 0.3f));
				val2.SetTextureScale(ShaderPropertyKeys.mainTexKey, new Vector2(1f, 0.5f));
				val2.SetTextureOffset(ShaderPropertyKeys.mainTexKey, new Vector2(0f, 0.5f));
				val2.SetTextureScale(ShaderPropertyKeys.cloud2TexKey, new Vector2(5f, -0.6f));
				val2.SetTextureOffset(ShaderPropertyKeys.cloud2TexKey, new Vector2(0f, 0.6f));
				val2.SetFloat(ShaderPropertyKeys.boostKey, 1f);
				val2.SetFloat(ShaderPropertyKeys.alphaBoostKey, 0.5f);
				val2.SetFloat("_FresnelPower", 0f);
				LunarCrystallizeController lunarCrystallizeController = x.Result.AddComponent<LunarCrystallizeController>();
				lunarCrystallizeController.moondrift1 = ((Component)x.Result.transform.GetChild(0).GetChild(0)).gameObject;
				CreateMoondrift(lunarCrystallizeController.moondrift1, val, val2);
				lunarCrystallizeController.moondrift2 = ((Component)x.Result.transform.GetChild(1).GetChild(0)).gameObject;
				CreateMoondrift(lunarCrystallizeController.moondrift2, val, val2);
				lunarCrystallizeController.moondrift3 = ((Component)x.Result.transform.GetChild(2).GetChild(0)).gameObject;
				CreateMoondrift(lunarCrystallizeController.moondrift3, val, val2);
			}
		}

		[CompilerGenerated]
		private sealed class <>c__DisplayClass13_9
		{
			public GameObject delusionActiveEffect;

			internal void <Initialize>b__40(AsyncOperationHandle<PostProcessProfile> y)
			{
				PostProcessProfile val = Object.Instantiate<PostProcessProfile>(y.Result);
				val.RemoveSettings<ColorGrading>();
				PostProcessVolume component = ((Component)delusionActiveEffect.transform.GetChild(1).GetChild(0)).GetComponent<PostProcessVolume>();
				RuntimeUtilities.DestroyProfile(component.profile, true);
				component.sharedProfile = val;
				((Component)component).GetComponent<PostProcessDuration>().ppWeightCurve = AnimationCurve.EaseInOut(0f, 0f, 1f, 0.5f);
				delusionActiveEffect.GetComponent<PostProcessDuration>().ppWeightCurve = AnimationCurve.EaseInOut(0f, 0.5f, 1f, 0f);
			}
		}

		public static ExpansionDef elementalReactionExpansionDef;

		public static GameObject elementalReactionManagerPrefab;

		public static GameObject elementLoadoutRowUI;

		public static Material visionMaterial;

		public static Material electroTrailMaterial;

		public static Material darkElectricTrailMaterial;

		public static Material dendroElectricTrailMaterial;

		public static Material genericElementEffectMaterial;

		public static string AddressablesDirectory { get; private set; }

		internal static void LoadAddressables()
		{
			//IL_0035: Unknown result type (might be due to invalid IL or missing references)
			//IL_003a: Unknown result type (might be due to invalid IL or missing references)
			AddressablesDirectory = Path.Combine(Path.GetDirectoryName(((BaseUnityPlugin)ElementalReactionsPlugin.instance).Info.Location), "Addressables");
			Addressables.LoadContentCatalogAsync(Path.Combine(AddressablesDirectory, "catalog.json"), (string)null).WaitForCompletion();
		}

		public static void Initialize()
		{
			//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fc: Unknown result type (might be due to invalid IL or missing references)
			//IL_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_015f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0164: Unknown result type (might be due to invalid IL or missing references)
			//IL_0199: Unknown result type (might be due to invalid IL or missing references)
			//IL_019e: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_01db: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ee: Expected O, but got Unknown
			//IL_021e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0228: Expected O, but got Unknown
			//IL_0232: Unknown result type (might be due to invalid IL or missing references)
			//IL_025b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0260: Unknown result type (might be due to invalid IL or missing references)
			//IL_0273: Unknown result type (might be due to invalid IL or missing references)
			//IL_027d: Expected O, but got Unknown
			//IL_02ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_02dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_02f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_02fc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0315: Unknown result type (might be due to invalid IL or missing references)
			//IL_032c: 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_033a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0344: Expected O, but got Unknown
			//IL_0355: Unknown result type (might be due to invalid IL or missing references)
			//IL_035a: Unknown result type (might be due to invalid IL or missing references)
			//IL_03dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_03e1: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_03f4: Expected O, but got Unknown
			//IL_040e: 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_0489: Unknown result type (might be due to invalid IL or missing references)
			//IL_049a: Unknown result type (might be due to invalid IL or missing references)
			//IL_049f: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_04d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0502: Unknown result type (might be due to invalid IL or missing references)
			//IL_0507: Unknown result type (might be due to invalid IL or missing references)
			//IL_0523: Unknown result type (might be due to invalid IL or missing references)
			//IL_0528: Unknown result type (might be due to invalid IL or missing references)
			//IL_0557: Unknown result type (might be due to invalid IL or missing references)
			//IL_055c: Unknown result type (might be due to invalid IL or missing references)
			//IL_058b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0590: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_05b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_05d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_05d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0606: Unknown result type (might be due to invalid IL or missing references)
			//IL_060b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0627: Unknown result type (might be due to invalid IL or missing references)
			//IL_062c: 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_064d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0669: Unknown result type (might be due to invalid IL or missing references)
			//IL_066e: Unknown result type (might be due to invalid IL or missing references)
			//IL_068a: 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_06be: Unknown result type (might be due to invalid IL or missing references)
			//IL_06c3: Unknown result type (might be due to invalid IL or missing references)
			//IL_06df: Unknown result type (might be due to invalid IL or missing references)
			//IL_06e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_073e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0743: Unknown result type (might be due to invalid IL or missing references)
			//IL_074c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0756: Expected O, but got Unknown
			//IL_0767: Unknown result type (might be due to invalid IL or missing references)
			//IL_076c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0786: Unknown result type (might be due to invalid IL or missing references)
			//IL_07a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_07a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_07e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0831: Unknown result type (might be due to invalid IL or missing references)
			//IL_0836: Unknown result type (might be due to invalid IL or missing references)
			//IL_085b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0860: Unknown result type (might be due to invalid IL or missing references)
			//IL_0875: Unknown result type (might be due to invalid IL or missing references)
			//IL_087a: Unknown result type (might be due to invalid IL or missing references)
			//IL_089b: Unknown result type (might be due to invalid IL or missing references)
			//IL_08a0: 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_08da: Unknown result type (might be due to invalid IL or missing references)
			//IL_08e3: Unknown result type (might be due to invalid IL or missing references)
			//IL_08ed: Expected O, but got Unknown
			//IL_08fe: 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_0928: 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_09a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_09a5: 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_09cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_09d7: Expected O, but got Unknown
			//IL_0a0d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a35: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a3a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a53: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a58: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a61: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a67: Expected O, but got Unknown
			//IL_0a88: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a9f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0aa4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ac4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ac9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b07: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b0c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b21: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b26: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b61: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b66: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bc1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c0c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c13: Expected O, but got Unknown
			//IL_0c4b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c52: Expected O, but got Unknown
			//IL_0c68: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cd8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cdf: Expected O, but got Unknown
			//IL_0cfd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d1e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d3b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d40: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d5b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e14: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e19: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e35: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e3a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e69: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e6e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e90: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e95: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eaf: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eb4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ebd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ec7: Expected O, but got Unknown
			//IL_0ee1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f02: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f07: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f75: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f7a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f83: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f8d: Expected O, but got Unknown
			//IL_0fa7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fbe: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fc3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fcc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fd6: Expected O, but got Unknown
			//IL_0fe7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fec: Unknown result type (might be due to invalid IL or missing references)
			//IL_1015: Unknown result type (might be due to invalid IL or missing references)
			//IL_104e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1058: Expected O, but got Unknown
			//IL_1072: Unknown result type (might be due to invalid IL or missing references)
			//IL_1083: Unknown result type (might be due to invalid IL or missing references)
			//IL_1088: Unknown result type (might be due to invalid IL or missing references)
			//IL_10a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_10a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_112c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1133: Unknown result type (might be due to invalid IL or missing references)
			//IL_113d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1142: Unknown result type (might be due to invalid IL or missing references)
			//IL_114f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1154: Unknown result type (might be due to invalid IL or missing references)
			//IL_117b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1180: Unknown result type (might be due to invalid IL or missing references)
			//IL_119c: Unknown result type (might be due to invalid IL or missing references)
			//IL_11a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_11e6: Unknown result type (might be due to invalid IL or missing references)
			//IL_11ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_12d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_12de: Unknown result type (might be due to invalid IL or missing references)
			LoadAddressables();
			elementalReactionManagerPrefab = PrefabAPI.CreateEmptyPrefab("ElementalReactionManager");
			elementalReactionManagerPrefab.AddComponent<ElementalReactionManager>();
			AddAkBank(elementalReactionManagerPrefab, RoR2_DLC2_FalseSon.FalseSonBody_prefab);
			AddAkBank(elementalReactionManagerPrefab, RoR2_Base_Bandit2.Bandit2Body_prefab);
			AddAkBank(elementalReactionManagerPrefab, RoR2_DLC2_Seeker.SeekerBody_prefab);
			elementalReactionExpansionDef = ScriptableObject.CreateInstance<ExpansionDef>();
			((Object)elementalReactionExpansionDef).name = "ElementalReactionExpansionDef";
			elementalReactionExpansionDef.nameToken = "DS_GAMING_ELEMENTAL_REACTIONS_EXPANSION_NAME";
			elementalReactionExpansionDef.descriptionToken = "DS_GAMING_ELEMENTAL_REACTIONS_EXPANSION_DESCRIPTION";
			elementalReactionExpansionDef.iconSpriteReference = AssetReferences.expansionIcon;
			elementalReactionExpansionDef.disabledIconSpriteReference = new AssetReferenceT<Sprite>(RoR2_Base_Common_MiscIcons.texUnlockIcon_png);
			elementalReactionExpansionDef.runBehaviorPrefab = elementalReactionManagerPrefab;
			elementalReactionExpansionDef.requiredEntitlement = null;
			Content.AddExpansionDef(elementalReactionExpansionDef);
			elementalReactionManagerPrefab.AddComponent<ExpansionRequirementComponent>().requiredExpansion = elementalReactionExpansionDef;
			CreateGenericElementEffectMaterial();
			AsyncOperationHandle<GameObject> val = AssetAsyncReferenceManager<GameObject>.LoadAsset(AssetReferences.genericElementActivatedEffect, (AsyncReferenceHandleUnloadType)2);
			val.Completed += delegate(AsyncOperationHandle<GameObject> x)
			{
				//IL_0032: Unknown result type (might be due to invalid IL or missing references)
				//IL_0039: Unknown result type (might be due to invalid IL or missing references)
				//IL_0151: Unknown result type (might be due to invalid IL or missing references)
				//IL_0156: Unknown result type (might be due to invalid IL or missing references)
				EffectComponent val9 = x.Result.AddComponent<EffectComponent>();
				val9.positionAtReferencedTransform = true;
				val9.parentToReferencedTransform = true;
				val9.applyScale = true;
				VFXAttributes val10 = x.Result.AddComponent<VFXAttributes>();
				val10.vfxPriority = (VFXPriority)1;
				val10.vfxIntensity = (VFXIntensity)0;
				val10.DoNotPool = false;
				x.Result.AddComponent<NetworkIdentity>();
				GenericElementEffectComponent genericElementEffectComponent = x.Result.AddComponent<GenericElementEffectComponent>();
				ParticleSystem component11 = ((Component)x.Result.transform.GetChild(0)).GetComponent<ParticleSystem>();
				ParticleSystem component12 = ((Component)x.Result.transform.GetChild(1)).GetComponent<ParticleSystem>();
				ParticleSystem component13 = ((Component)x.Result.transform.GetChild(2)).GetComponent<ParticleSystem>();
				genericElementEffectComponent.icon = ((Component)x.Result.transform.GetChild(0)).GetComponent<ParticleSystemRenderer>();
				genericElementEffectComponent.particlesToRecolor = (ParticleSystem[])(object)new ParticleSystem[3] { component11, component12, component13 };
				x.Result.AddComponent<DestroyOnParticleEnd>().trackedParticleSystem = component11;
				ScaleParticleSystemDuration val11 = x.Result.AddComponent<ScaleParticleSystemDuration>();
				val11.initialDuration = 0.7f;
				val11.particleSystems = (ParticleSystem[])(object)new ParticleSystem[3] { component11, component12, component13 };
				genericElementEffectComponent.particleDuration = val11;
				((Renderer)((Component)x.Result.transform.GetChild(1)).GetComponent<ParticleSystemRenderer>()).sharedMaterial = AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_DLC2_FalseSonBoss.matLunarGazeFireLaser3_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				x.Result.AddComponent<ParentEffectToItemDisplay>();
				AddNewEffectDef(x.Result);
			};
			val = AssetAsyncReferenceManager<GameObject>.LoadAsset(AssetReferences.genericElementOrbEffect, (AsyncReferenceHandleUnloadType)2);
			val.Completed += delegate(AsyncOperationHandle<GameObject> x)
			{
				//IL_002b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0032: Unknown result type (might be due to invalid IL or missing references)
				//IL_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)
				//IL_0075: Unknown result type (might be due to invalid IL or missing references)
				//IL_007a: 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_00f3: Unknown result type (might be due to invalid IL or missing references)
				//IL_00f8: Unknown result type (might be due to invalid IL or missing references)
				EffectComponent val9 = x.Result.AddComponent<EffectComponent>();
				val9.positionAtReferencedTransform = false;
				val9.parentToReferencedTransform = false;
				VFXAttributes val10 = x.Result.AddComponent<VFXAttributes>();
				val10.vfxPriority = (VFXPriority)1;
				val10.vfxIntensity = (VFXIntensity)0;
				val10.DoNotPool = false;
				OrbEffect val11 = x.Result.AddComponent<OrbEffect>();
				val11.startVelocity1 = new Vector3(-30f, -7f, -30f);
				val11.startVelocity2 = new Vector3(30f, 7f, 30f);
				val11.movementCurve = AnimationCurve.Linear(0f, 0f, 1f, 1f);
				val11.endEffect = AssetAsyncReferenceManager<GameObject>.LoadAsset(new AssetReferenceT<GameObject>(RoR2_Base_Treebot.OmniImpactVFXSlashSyringe_prefab), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				x.Result.AddComponent<NetworkIdentity>();
				ParticleSystem component11 = ((Component)x.Result.transform.GetChild(0)).GetComponent<ParticleSystem>();
				((Renderer)((Component)component11).GetComponent<ParticleSystemRenderer>()).sharedMaterial = AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_Base_Common_VFX.matWideGlow_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				GenericElementEffectComponent genericElementEffectComponent = x.Result.AddComponent<GenericElementEffectComponent>();
				genericElementEffectComponent.trailsToRecolor = (TrailRenderer[])(object)new TrailRenderer[1] { ((Component)x.Result.transform.GetChild(1)).GetComponent<TrailRenderer>() };
				genericElementEffectComponent.particlesToRecolor = (ParticleSystem[])(object)new ParticleSystem[2]
				{
					component11,
					((Component)x.Result.transform.GetChild(2)).GetComponent<ParticleSystem>()
				};
				AddNewEffectDef(x.Result);
			};
			val = AssetAsyncReferenceManager<GameObject>.LoadAsset(AssetReferences.elementEnvironmentScreenEffect, (AsyncReferenceHandleUnloadType)2);
			val.Completed += delegate(AsyncOperationHandle<GameObject> x)
			{
				//IL_000c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0011: Unknown result type (might be due to invalid IL or missing references)
				//IL_0026: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0034: Unknown result type (might be due to invalid IL or missing references)
				//IL_003a: Expected O, but got Unknown
				//IL_0045: 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_0071: Unknown result type (might be due to invalid IL or missing references)
				//IL_0082: Unknown result type (might be due to invalid IL or missing references)
				//IL_009e: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a3: 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_00e7: Unknown result type (might be due to invalid IL or missing references)
				//IL_0127: Unknown result type (might be due to invalid IL or missing references)
				//IL_012c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0135: Unknown result type (might be due to invalid IL or missing references)
				//IL_013b: Expected O, but got Unknown
				//IL_0158: Unknown result type (might be due to invalid IL or missing references)
				//IL_0173: Unknown result type (might be due to invalid IL or missing references)
				//IL_0184: Unknown result type (might be due to invalid IL or missing references)
				//IL_01a0: Unknown result type (might be due to invalid IL or missing references)
				//IL_01a5: Unknown result type (might be due to invalid IL or missing references)
				//IL_01c4: Unknown result type (might be due to invalid IL or missing references)
				//IL_01e9: Unknown result type (might be due to invalid IL or missing references)
				Mesh sharedMesh = AssetAsyncReferenceManager<Mesh>.LoadAsset(new AssetReferenceT<Mesh>(RoR2_Base_Common_VFX.mdlVFXDonut1_fbx_donut1Mesh_), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				Material val9 = new Material(AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_DLC1_Common_VFX.matOmniHitspark1GenericAdditive_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion());
				Texture val10 = AssetAsyncReferenceManager<Texture>.LoadAsset(new AssetReferenceT<Texture>(RoR2_Base_Common_VFX_ParticleMasks.texGlowPaintMask_png), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				val9.SetTexture(ShaderPropertyKeys.mainTexKey, val10);
				val9.SetTextureOffset(ShaderPropertyKeys.mainTexKey, new Vector2(0.1f, 0.1f));
				val9.SetColor(ShaderPropertyKeys.tintColorKey, Color.white);
				val9.SetTexture(ShaderPropertyKeys.cloud1TexKey, AssetAsyncReferenceManager<Texture>.LoadAsset(new AssetReferenceT<Texture>(RoR2_Base_Nullifier.texNullifierSkySparse_png), (AsyncReferenceHandleUnloadType)2).WaitForCompletion());
				val9.SetTextureScale(ShaderPropertyKeys.cloud1TexKey, new Vector2(6f, 0.7f));
				val9.SetVector("_CutoffScroll", new Vector4(0f, 2f, 0f, 0f));
				val9.SetInt("_ZTest", 0);
				val9.EnableKeyword("USE_CLOUDS");
				val9.SetFloat(ShaderPropertyKeys.boostKey, 2f);
				Material val11 = new Material(AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_DLC2_Items_SpeedBoostPickup.matSpeedBoostPickupTraill_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion());
				val11.SetTexture(ShaderPropertyKeys.mainTexKey, val10);
				val11.SetTextureScale(ShaderPropertyKeys.mainTexKey, new Vector2(1f, 1f));
				val11.SetTextureOffset(ShaderPropertyKeys.mainTexKey, new Vector2(0.25f, 0f));
				val11.SetColor(ShaderPropertyKeys.tintColorKey, Color.white);
				val11.SetTexture(ShaderPropertyKeys.cloud1TexKey, AssetAsyncReferenceManager<Texture>.LoadAsset(new AssetReferenceT<Texture>(RoR2_DLC2_Items_SpeedBoostPickup.texNegateAttackTrail_png), (AsyncReferenceHandleUnloadType)2).WaitForCompletion());
				val11.SetTextureScale(ShaderPropertyKeys.cloud1TexKey, new Vector2(2f, 4f));
				val11.SetVector("_CutoffScroll", new Vector4(5f, 10f, -20f, 4f));
				val11.SetInt("_ZTest", 0);
				val11.SetFloat(ShaderPropertyKeys.alphaBoostKey, 0.12f);
				val11.DisableKeyword("DISABLEREMAP");
				Transform child2 = x.Result.transform.GetChild(0);
				Transform child3 = x.Result.transform.GetChild(1);
				ElementalEnvironmentScreenEffect elementalEnvironmentScreenEffect = x.Result.AddComponent<ElementalEnvironmentScreenEffect>();
				elementalEnvironmentScreenEffect.halfL = ((Component)child2).GetComponent<MeshRenderer>();
				elementalEnvironmentScreenEffect.halfR = ((Component)child3).GetComponent<MeshRenderer>();
				((Renderer)elementalEnvironmentScreenEffect.halfL).sharedMaterials = (Material[])(object)new Material[2] { val9, val11 };
				((Component)child2).GetComponent<MeshFilter>().sharedMesh = sharedMesh;
				((Renderer)elementalEnvironmentScreenEffect.halfR).sharedMaterials = (Material[])(object)new Material[2] { val9, val11 };
				((Component)child3).GetComponent<MeshFilter>().sharedMesh = sharedMesh;
			};
			Texture electroRamp = AssetAsyncReferenceManager<Texture>.LoadAsset(new AssetReferenceT<Texture>(RoR2_Base_Common_ColorRamps.texRampTeslaCoil_png), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
			Mesh ringMesh = AssetAsyncReferenceManager<Mesh>.LoadAsset(new AssetReferenceT<Mesh>(RoR2_Base_Common_VFX.mdlVFXDonut2_fbx_donut2Mesh_), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
			electroTrailMaterial = new Material(AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_DLC2_FalseSonBoss.matPrimeDevastatorChargeVFX2_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion());
			electroTrailMaterial.SetTexture(ShaderPropertyKeys.remapTexKey, electroRamp);
			electroTrailMaterial.SetFloat(ShaderPropertyKeys.boostKey, 2f);
			darkElectricTrailMaterial = new Material(electroTrailMaterial);
			darkElectricTrailMaterial.SetColor(ShaderPropertyKeys.tintColorKey, Color.black);
			darkElectricTrailMaterial.SetInt("_DstBlend", 10);
			Texture dendroRampTex = AssetAsyncReferenceManager<Texture>.LoadAsset(new AssetReferenceT<Texture>(RoR2_Base_Common_ColorRamps.texRampOrbitalLaser_png), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
			dendroElectricTrailMaterial = new Material(electroTrailMaterial);
			dendroElectricTrailMaterial.SetTexture(ShaderPropertyKeys.remapTexKey, dendroRampTex);
			dendroElectricTrailMaterial.SetColor(ShaderPropertyKeys.tintColorKey, new Color(0.5f, 1f, 0f));
			dendroElectricTrailMaterial.SetFloat(ShaderPropertyKeys.boostKey, 4f);
			Material distortionFaded = AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_Base_Common_VFX.matDistortionFaded_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
			Material dendroLeafMat = AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_DLC2_Seeker.matSeekerLotus_mat_bfd003ca), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
			dendroLeafMat.SetColor(ShaderPropertyKeys.tintColorKey, Color.white);
			Material bloomCoreExplosionMat = new Material(AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_Base_Common_VFX.matOmniRing1Generic_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion());
			bloomCoreExplosionMat.SetTexture(ShaderPropertyKeys.mainTexKey, AssetAsyncReferenceManager<Texture>.LoadAsset(AssetReferences.bloomTransparent, (AsyncReferenceHandleUnloadType)2).WaitForCompletion());
			bloomCoreExplosionMat.SetTexture(ShaderPropertyKeys.remapTexKey, dendroRampTex);
			bloomCoreExplosionMat.SetFloat(ShaderPropertyKeys.alphaBoostKey, 1f);
			bloomCoreExplosionMat.SetFloat(ShaderPropertyKeys.boostKey, 1f);
			bloomCoreExplosionMat.SetInt("_SrcBlend", 5);
			bloomCoreExplosionMat.SetInt("_DstBlend", 1);
			Material genericRingMat = new Material(AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_Base_BFG.matBeamSphereBeam_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion());
			genericRingMat.SetColor(ShaderPropertyKeys.tintColorKey, new Color(0.7f, 0.7f, 0.7f));
			genericRingMat.SetTexture(ShaderPropertyKeys.remapTexKey, AssetAsyncReferenceManager<Texture>.LoadAsset(new AssetReferenceT<Texture>(RoR2_Base_Common_ColorRamps.texRampTritone_png), (AsyncReferenceHandleUnloadType)2).WaitForCompletion());
			genericRingMat.SetFloat(ShaderPropertyKeys.alphaBoostKey, 2f);
			genericRingMat.EnableKeyword("VERTEXCOLOR");
			genericRingMat.SetVector("_CutoffScroll", new Vector4(25f, 0f, -10f, 0f));
			val = AssetAsyncReferenceManager<GameObject>.LoadAsset(AssetReferences.electroChargeTempVisualEffect, (AsyncReferenceHandleUnloadType)2);
			val.Completed += delegate(AsyncOperationHandle<GameObject> x)
			{
				//IL_0010: Unknown result type (might be due to invalid IL or missing references)
				//IL_0017: Unknown result type (might be due to invalid IL or missing references)
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c0: Expected O, but got Unknown
				VFXAttributes val9 = x.Result.AddComponent<VFXAttributes>();
				val9.vfxPriority = (VFXPriority)1;
				val9.vfxIntensity = (VFXIntensity)0;
				val9.DoNotPool = false;
				Transform child2 = x.Result.transform.GetChild(0);
				((Component)child2).GetComponent<ParticleSystemRenderer>().trailMaterial = electroTrailMaterial;
				((Component)child2.GetChild(0)).GetComponent<ParticleSystemRenderer>().trailMaterial = darkElectricTrailMaterial;
				DestroyOnTimer val10 = x.Result.AddComponent<DestroyOnTimer>();
				val10.duration = 0.25f;
				TemporaryVisualEffect val11 = x.Result.AddComponent<TemporaryVisualEffect>();
				val11.exitComponents = (MonoBehaviour[])(object)new MonoBehaviour[1] { (MonoBehaviour)val10 };
				val11.visualTransform = child2;
				GameObject result = x.Result;
				object obj = <>c.<>9__13_28;
				if (obj == null)
				{
					EffectCondition val12 = (CharacterBody body) => body.HasBuff((BuffDef)(object)Buffs.electroChargeBuff);
					<>c.<>9__13_28 = val12;
					obj = (object)val12;
				}
				TempVisualEffectAPI.AddTemporaryVisualEffect(result, (EffectCondition)obj, false, "");
			};
			val = AssetAsyncReferenceManager<GameObject>.LoadAsset(AssetReferences.quickenTempVisualEffect, (AsyncReferenceHandleUnloadType)2);
			val.Completed += delegate(AsyncOperationHandle<GameObject> x)
			{
				//IL_0010: Unknown result type (might be due to invalid IL or missing references)
				//IL_0017: Unknown result type (might be due to invalid IL or missing references)
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c0: Expected O, but got Unknown
				VFXAttributes val9 = x.Result.AddComponent<VFXAttributes>();
				val9.vfxPriority = (VFXPriority)1;
				val9.vfxIntensity = (VFXIntensity)0;
				val9.DoNotPool = false;
				Transform child2 = x.Result.transform.GetChild(0);
				((Component)child2).GetComponent<ParticleSystemRenderer>().trailMaterial = dendroElectricTrailMaterial;
				((Component)child2.GetChild(0)).GetComponent<ParticleSystemRenderer>().trailMaterial = darkElectricTrailMaterial;
				DestroyOnTimer val10 = x.Result.AddComponent<DestroyOnTimer>();
				val10.duration = 0.25f;
				TemporaryVisualEffect val11 = x.Result.AddComponent<TemporaryVisualEffect>();
				val11.exitComponents = (MonoBehaviour[])(object)new MonoBehaviour[1] { (MonoBehaviour)val10 };
				val11.visualTransform = child2;
				GameObject result = x.Result;
				object obj = <>c.<>9__13_29;
				if (obj == null)
				{
					EffectCondition val12 = (CharacterBody body) => body.HasBuff((BuffDef)(object)Buffs.quickenBuff);
					<>c.<>9__13_29 = val12;
					obj = (object)val12;
				}
				TempVisualEffectAPI.AddTemporaryVisualEffect(result, (EffectCondition)obj, false, "");
			};
			val = AssetAsyncReferenceManager<GameObject>.LoadAsset(AssetReferences.overloadEffect, (AsyncReferenceHandleUnloadType)2);
			val.Completed += delegate(AsyncOperationHandle<GameObject> x)
			{
				//IL_0038: Unknown result type (might be due to invalid IL or missing references)
				//IL_003f: Unknown result type (might be due to invalid IL or missing references)
				//IL_007f: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ab: 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_00f4: Unknown result type (might be due to invalid IL or missing references)
				//IL_010e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0113: Unknown result type (might be due to invalid IL or missing references)
				//IL_0134: Unknown result type (might be due to invalid IL or missing references)
				//IL_0139: Unknown result type (might be due to invalid IL or missing references)
				//IL_0246: Unknown result type (might be due to invalid IL or missing references)
				//IL_024b: Unknown result type (might be due to invalid IL or missing references)
				EffectComponent val9 = x.Result.AddComponent<EffectComponent>();
				val9.positionAtReferencedTransform = true;
				val9.parentToReferencedTransform = false;
				VFXAttributes val10 = x.Result.AddComponent<VFXAttributes>();
				val10.vfxPriority = (VFXPriority)2;
				val10.vfxIntensity = (VFXIntensity)1;
				val10.DoNotPool = false;
				ShakeEmitter val11 = x.Result.AddComponent<ShakeEmitter>();
				val11.amplitudeTimeDecay = true;
				val11.duration = 0.2f;
				val11.radius = 45f;
				val11.scaleShakeRadiusWithLocalScale = false;
				val11.wave = new Wave
				{
					amplitude = 0.7f,
					frequency = 30f,
					cycleOffset = 0f
				};
				x.Result.AddComponent<NetworkIdentity>();
				ParticleSystemRenderer ringParticleRenderer = ((Component)x.Result.transform.Find("OverloadRing")).GetComponent<ParticleSystemRenderer>();
				ringParticleRenderer.mesh = AssetAsyncReferenceManager<Mesh>.LoadAsset(new AssetReferenceT<Mesh>(RoR2_Base_Common_VFX.mdlVFXDonut1_fbx_donut1Mesh_), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				AsyncOperationHandle<Material> val12 = AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_DLC3_SolusAmalgamator.matSolusAmalgamatorTrackingBombRing_mat), (AsyncReferenceHandleUnloadType)2);
				val12.Completed += delegate(AsyncOperationHandle<Material> y)
				{
					//IL_0008: Unknown result type (might be due to invalid IL or missing references)
					//IL_000e: Expected O, but got Unknown
					Material val15 = new Material(y.Result);
					val15.SetTexture(ShaderPropertyKeys.remapTexKey, electroRamp);
					((Renderer)ringParticleRenderer).sharedMaterial = val15;
				};
				Material sharedMaterial = AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_Base_Common_VFX.matTracerBright_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				((Renderer)((Component)x.Result.transform.Find("OverloadSmallFlash")).GetComponent<ParticleSystemRenderer>()).sharedMaterial = sharedMaterial;
				((Renderer)((Component)x.Result.transform.Find("OverloadFlash")).GetComponent<ParticleSystemRenderer>()).sharedMaterial = sharedMaterial;
				((Renderer)((Component)x.Result.transform.Find("OverloadSparks")).GetComponent<ParticleSystemRenderer>()).sharedMaterial = sharedMaterial;
				((Renderer)((Component)x.Result.transform.Find("OverloadDistortion")).GetComponent<ParticleSystemRenderer>()).sharedMaterial = distortionFaded;
				((Component)x.Result.transform.Find("OverloadElectricity")).GetComponent<ParticleSystemRenderer>().trailMaterial = electroTrailMaterial;
				((Component)x.Result.transform.Find("OverloadElectricityDark")).GetComponent<ParticleSystemRenderer>().trailMaterial = darkElectricTrailMaterial;
				((Renderer)((Component)x.Result.transform.Find("OverloadFire")).GetComponent<ParticleSystemRenderer>()).sharedMaterial = AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_Base_Gravekeeper.matOmniExplosion1ArchWisp_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				Transform val13 = x.Result.transform.Find("OverloadLight");
				val10.optionalLights = (Light[])(object)new Light[1] { ((Component)val13).GetComponent<Light>() };
				LightIntensityCurve val14 = ((Component)val13).gameObject.AddComponent<LightIntensityCurve>();
				val14.timeMax = 0.4f;
				val14.curve = AnimationCurve.EaseInOut(0f, 1f, 1f, 0f);
				x.Result.AddComponent<DestroyOnTimer>().duration = 0.7f;
				AddNewEffectDef(x.Result, "Play_FalseSon_MeridianWill_Lightning_Initial");
			};
			val = AssetAsyncReferenceManager<GameObject>.LoadAsset(AssetReferences.superconductEffect, (AsyncReferenceHandleUnloadType)2);
			val.Completed += delegate(AsyncOperationHandle<GameObject> x)
			{
				//IL_002b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0032: Unknown result type (might be due to invalid IL or missing references)
				//IL_0087: Unknown result type (might be due to invalid IL or missing references)
				//IL_008c: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00f9: Unknown result type (might be due to invalid IL or missing references)
				//IL_00fe: Unknown result type (might be due to invalid IL or missing references)
				EffectComponent val9 = x.Result.AddComponent<EffectComponent>();
				val9.positionAtReferencedTransform = true;
				val9.parentToReferencedTransform = false;
				VFXAttributes val10 = x.Result.AddComponent<VFXAttributes>();
				val10.vfxPriority = (VFXPriority)2;
				val10.vfxIntensity = (VFXIntensity)1;
				val10.DoNotPool = false;
				x.Result.AddComponent<NetworkIdentity>();
				x.Result.AddComponent<DestroyOnTimer>().duration = 0.7f;
				((Renderer)((Component)x.Result.transform.Find("SuperconductSphere")).GetComponent<ParticleSystemRenderer>()).sharedMaterial = AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_Base_EliteIce.matAffixWhiteSphereIndicator_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				((Renderer)((Component)x.Result.transform.Find("SuperconductMist")).GetComponent<ParticleSystemRenderer>()).sharedMaterial = AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_DLC2_Chef.matChefSecondaryFrostVFX_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				((Renderer)((Component)x.Result.transform.Find("SuperconductSnowflakes")).GetComponent<ParticleSystemRenderer>()).sharedMaterial = AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_DLC2_Chef.matChefSecondarySnowflakeVFX_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				AddNewEffectDef(x.Result, "Play_freezeDrone_impact");
			};
			val = AssetAsyncReferenceManager<GameObject>.LoadAsset(AssetReferences.superconductTempVisualEffect, (AsyncReferenceHandleUnloadType)2);
			val.Completed += delegate(AsyncOperationHandle<GameObject> x)
			{
				//IL_0010: Unknown result type (might be due to invalid IL or missing references)
				//IL_0017: Unknown result type (might be due to invalid IL or missing references)
				//IL_0047: Unknown result type (might be due to invalid IL or missing references)
				//IL_004c: Unknown result type (might be due to invalid IL or missing references)
				//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
				//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bd: Expected O, but got Unknown
				VFXAttributes val9 = x.Result.AddComponent<VFXAttributes>();
				val9.vfxPriority = (VFXPriority)1;
				val9.vfxIntensity = (VFXIntensity)0;
				val9.DoNotPool = false;
				Transform child2 = x.Result.transform.GetChild(0);
				((Renderer)((Component)child2).GetComponent<ParticleSystemRenderer>()).sharedMaterial = AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_DLC2_Chef.matChefSecondaryFrostVFX_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				DestroyOnTimer val10 = x.Result.AddComponent<DestroyOnTimer>();
				val10.duration = 0.6f;
				TemporaryVisualEffect val11 = x.Result.AddComponent<TemporaryVisualEffect>();
				val11.exitComponents = (MonoBehaviour[])(object)new MonoBehaviour[1] { (MonoBehaviour)val10 };
				val11.visualTransform = child2;
				GameObject result = x.Result;
				object obj = <>c.<>9__13_31;
				if (obj == null)
				{
					EffectCondition val12 = (CharacterBody body) => body.HasBuff(Buffs.superconductBuff);
					<>c.<>9__13_31 = val12;
					obj = (object)val12;
				}
				TempVisualEffectAPI.AddTemporaryVisualEffect(result, (EffectCondition)obj, false, "");
			};
			val = AssetAsyncReferenceManager<GameObject>.LoadAsset(AssetReferences.swirlEffect, (AsyncReferenceHandleUnloadType)2);
			val.Completed += delegate(AsyncOperationHandle<GameObject> x)
			{
				//IL_002b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0032: Unknown result type (might be due to invalid IL or missing references)
				EffectComponent val9 = x.Result.AddComponent<EffectComponent>();
				val9.positionAtReferencedTransform = true;
				val9.parentToReferencedTransform = false;
				VFXAttributes val10 = x.Result.AddComponent<VFXAttributes>();
				val10.vfxPriority = (VFXPriority)2;
				val10.vfxIntensity = (VFXIntensity)0;
				val10.DoNotPool = false;
				x.Result.AddComponent<NetworkIdentity>();
				GenericElementEffectComponent genericElementEffectComponent = x.Result.AddComponent<GenericElementEffectComponent>();
				ParticleSystemRenderer component11 = ((Component)x.Result.transform.GetChild(0)).GetComponent<ParticleSystemRenderer>();
				genericElementEffectComponent.particlesToRecolor = (ParticleSystem[])(object)new ParticleSystem[1] { ((Component)component11).GetComponent<ParticleSystem>() };
				component11.mesh = ringMesh;
				((Renderer)component11).sharedMaterial = genericRingMat;
				x.Result.AddComponent<DestroyOnTimer>().duration = 0.4f;
				AddNewEffectDef(x.Result, "Play_bandit2_shift_exit");
			};
			AsyncOperationHandle<Material> val2 = AssetAsyncReferenceManager<Material>.LoadAsset(AssetReferences.bloomMaterial, (AsyncReferenceHandleUnloadType)2);
			val2.Completed += delegate(AsyncOperationHandle<Material> x)
			{
				//IL_0007: Unknown result type (might be due to invalid IL or missing references)
				//IL_0008: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002a: Unknown result type (might be due to invalid IL or missing references)
				x.Result.SetHopooMaterial();
				AsyncOperationHandle<Texture> val9 = AssetAsyncReferenceManager<Texture>.LoadAsset(AssetReferences.bloomFresnelMask, (AsyncReferenceHandleUnloadType)2);
				val9.Completed += delegate(AsyncOperationHandle<Texture> y)
				{
					x.Result.SetTexture("_FresnelMask", y.Result);
				};
				x.Result.SetTexture("_FresnelRamp", dendroRampTex);
				x.Result.EnableKeyword("FRESNEL_EMISSION");
				x.Result.SetFloat("_FresnelBoost", 7f);
				x.Result.SetFloat("_FresnelPower", 1.6f);
				x.Result.SetEmission(0.25f);
			};
			val = AssetAsyncReferenceManager<GameObject>.LoadAsset(new AssetReferenceT<GameObject>(RoR2_Base_Common_VFX.HealthOrbEffect_prefab), (AsyncReferenceHandleUnloadType)2);
			val.Completed += delegate(AsyncOperationHandle<GameObject> x)
			{
				ElementalReactionManager.bloomSpawnOrb = PrefabAPI.InstantiateClone(x.Result, "BloomSpawnOrbEffect");
				ElementalReactionManager.bloomSpawnOrb.AddComponent<OrbEffectTargetPosition>();
				ElementalReactionManager.bloomSpawnOrb.AddComponent<NetworkIdentity>();
				Object.Destroy((Object)(object)ElementalReactionManager.bloomSpawnOrb.GetComponent<AkEvent>());
				Object.Destroy((Object)(object)ElementalReactionManager.bloomSpawnOrb.GetComponent<AkGameObj>());
				AddNewEffectDef(ElementalReactionManager.bloomSpawnOrb);
			};
			val = AssetAsyncReferenceManager<GameObject>.LoadAsset(AssetReferences.bloomObject, (AsyncReferenceHandleUnloadType)2);
			val.Completed += delegate(AsyncOperationHandle<GameObject> x)
			{
				//IL_0041: Unknown result type (might be due to invalid IL or missing references)
				//IL_004c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0051: Unknown result type (might be due to invalid IL or missing references)
				//IL_01f7: Unknown result type (might be due to invalid IL or missing references)
				//IL_0256: Unknown result type (might be due to invalid IL or missing references)
				//IL_025b: Unknown result type (might be due to invalid IL or missing references)
				x.Result.AddComponent<NetworkIdentity>();
				CharacterBody characterBody = x.Result.AddComponent<CharacterBody>();
				characterBody.baseNameToken = "DS_GAMING_ELEMENTAL_REACTIONS_REACTION_BLOOM_OBJECT_NAME";
				characterBody.bodyFlags = (BodyFlags)260;
				AsyncOperationHandle<Sprite> val9 = AssetAsyncReferenceManager<Sprite>.LoadAsset(AssetReferences.bloomIcon, (AsyncReferenceHandleUnloadType)2);
				val9.Completed += delegate(AsyncOperationHandle<Sprite> val16)
				{
					characterBody.portraitIcon = (Texture)(object)val16.Result.texture;
				};
				HealthComponent val10 = x.Result.AddComponent<HealthComponent>();
				val10.dontShowHealthbar = true;
				val10.body = characterBody;
				characterBody.baseMaxHealth = 1f;
				characterBody.healthComponent = val10;
				x.Result.AddComponent<PseudoCharacterMotor>();
				HurtBoxGroup val11 = ((Component)x.Result.transform.GetChild(0)).gameObject.AddComponent<HurtBoxGroup>();
				ModelLocator val12 = x.Result.AddComponent<ModelLocator>();
				val12.modelTransform = ((Component)val11).transform;
				val12.dontDetatchFromParent = true;
				val11.mainHurtBox = ((Component)((Component)val11).transform.GetChild(0).GetChild(0).GetChild(0)).gameObject.AddComponent<HurtBox>();
				val11.hurtBoxes = (HurtBox[])(object)new HurtBox[1] { val11.mainHurtBox };
				val11.mainHurtBox.healthComponent = val10;
				val11.mainHurtBox.isBullseye = true;
				RotateItem val13 = ((Component)((Component)val11).transform.GetChild(0).GetChild(0)).gameObject.AddComponent<RotateItem>();
				val13.spinSpeed = 80f;
				ObjectScaleCurve val14 = ((Component)val13).gameObject.AddComponent<ObjectScaleCurve>();
				val14.timeMax = 0.2f;
				val14.overallCurve = AnimationCurve.EaseInOut(0f, 0.3f, 1f, 1f);
				val14.useOverallCurveOnly = true;
				((Renderer)((Component)((Component)val14).transform.Find("BloomStartDistortion")).GetComponent<ParticleSystemRenderer>()).sharedMaterial = distortionFaded;
				SpecialObjectAttributes val15 = x.Result.AddComponent<SpecialObjectAttributes>();
				val15.grabbable = true;
				val15.massOverride = 0f;
				val15.hullClassification = (HullClassification)0;
				val15.orientToFloor = true;
				x.Result.AddComponent<BloomController>();
				x.Result.AddComponent<Deployable>();
				x.Result.AddComponent<ForceFriendlyFire>();
				x.Result.AddComponent<ProjectileController>().cannotBeDeleted = true;
				x.Result.AddComponent<ProjectileDamage>();
				x.Result.AddComponent<ProjectileDeployToOwner>().deployableSlot = ElementalReactionManager.bloomDeployableSlot;
				Content.AddProjectilePrefab(x.Result);
			};
			val = AssetAsyncReferenceManager<GameObject>.LoadAsset(AssetReferences.bloomExplosion, (AsyncReferenceHandleUnloadType)2);
			val.Completed += delegate(AsyncOperationHandle<GameObject> x)
			{
				//IL_000e: Unknown result type (might be due to invalid IL or missing references)
				//IL_000f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0047: Unknown result type (might be due to invalid IL or missing references)
				//IL_004e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0092: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
				//IL_00be: Unknown result type (might be due to invalid IL or missing references)
				//IL_010e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0113: Unknown result type (might be due to invalid IL or missing references)
				//IL_011c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0123: Expected O, but got Unknown
				//IL_0151: Unknown result type (might be due to invalid IL or missing references)
				//IL_0171: Unknown result type (might be due to invalid IL or missing references)
				//IL_0176: Unknown result type (might be due to invalid IL or missing references)
				//IL_01c2: Unknown result type (might be due to invalid IL or missing references)
				//IL_01c7: Unknown result type (might be due to invalid IL or missing references)
				EffectComponent val9 = x.Result.AddComponent<EffectComponent>();
				val9.positionAtReferencedTransform = true;
				val9.parentToReferencedTransform = false;
				VFXAttributes val10 = x.Result.AddComponent<VFXAttributes>();
				val10.vfxPriority = (VFXPriority)2;
				val10.vfxIntensity = (VFXIntensity)1;
				val10.DoNotPool = false;
				ShakeEmitter val11 = x.Result.AddComponent<ShakeEmitter>();
				val11.amplitudeTimeDecay = true;
				val11.duration = 0.2f;
				val11.radius = 55f;
				val11.scaleShakeRadiusWithLocalScale = false;
				val11.wave = new Wave
				{
					amplitude = 0.35f,
					frequency = 30f,
					cycleOffset = 0f
				};
				x.Result.AddComponent<NetworkIdentity>();
				ParticleSystemRenderer component11 = ((Component)x.Result.transform.Find("BloomRing")).GetComponent<ParticleSystemRenderer>();
				component11.mesh = ringMesh;
				Material val12 = new Material(AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_Base_BFG.matBeamSphereBeam_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion());
				val12.SetTexture(ShaderPropertyKeys.remapTexKey, dendroRampTex);
				val12.SetVector("_CutoffScroll", new Vector4(40f, 0f, -20f, 0f));
				((Renderer)component11).sharedMaterial = val12;
				AsyncOperationHandle<Material> val13 = AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_DLC1_EliteEarth.matAffixEarthSphereIndicator_mat), (AsyncReferenceHandleUnloadType)2);
				val13.Completed += delegate(AsyncOperationHandle<Material> y)
				{
					//IL_0008: Unknown result type (might be due to invalid IL or missing references)
					//IL_000e: Expected O, but got Unknown
					Material val16 = new Material(y.Result);
					val16.SetTexture(ShaderPropertyKeys.remapTexKey, dendroRampTex);
					val16.SetFloat("_SrcBlendFloat", 1f);
					val16.SetFloat("_DstBlendFloat", 1f);
					((Renderer)((Component)x.Result.transform.Find("BloomSphere")).GetComponent<ParticleSystemRenderer>()).sharedMaterial = val16;
				};
				((Renderer)((Component)x.Result.transform.Find("BloomExplosionCore")).GetComponent<ParticleSystemRenderer>()).sharedMaterial = bloomCoreExplosionMat;
				Material sharedMaterial = AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_Base_Common_VFX.matTracerBright_mat), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				((Renderer)((Component)x.Result.transform.Find("BloomSparks")).GetComponent<ParticleSystemRenderer>()).sharedMaterial = sharedMaterial;
				((Renderer)((Component)x.Result.transform.Find("BloomPetals")).GetComponent<ParticleSystemRenderer>()).sharedMaterial = dendroLeafMat;
				Transform val14 = x.Result.transform.Find("Light");
				val10.optionalLights = (Light[])(object)new Light[1] { ((Component)val14).GetComponent<Light>() };
				LightIntensityCurve val15 = ((Component)val14).gameObject.AddComponent<LightIntensityCurve>();
				val15.timeMax = 0.3f;
				val15.curve = AnimationCurve.EaseInOut(0f, 1f, 1f, 0f);
				x.Result.AddComponent<DestroyOnTimer>().duration = 1f;
				AddNewEffectDef(x.Result, "Play_seeker_skill1_impact");
			};
			val = AssetAsyncReferenceManager<GameObject>.LoadAsset(AssetReferences.burgeonExplosion, (AsyncReferenceHandleUnloadType)2);
			val.Completed += delegate(AsyncOperationHandle<GameObject> x)
			{
				//IL_0007: Unknown result type (might be due to invalid IL or missing re