Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of MoreElites v1.2.4
MoreElites.dll
Decompiled 3 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using HG; using Microsoft.CodeAnalysis; using MiscFixes.Modules; using On.RoR2; using R2API; using RiskOfOptions; using RoR2; using RoR2.Navigation; using RoR2.Projectile; using RoR2BepInExPack.GameAssetPaths.Version_1_39_0; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Networking; using UnityEngine.Rendering; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("MoreElites")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+4d70ada83b60f48f9f52554fbba852b361fcc700")] [assembly: AssemblyProduct("MoreElites")] [assembly: AssemblyTitle("MoreElites")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.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] [Microsoft.CodeAnalysis.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] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace MoreElites { public static class EliteRampGenerator { private static Material malachiteOverlayMat = new Material(Addressables.LoadAssetAsync<Material>((object)RoR2_Base_ElitePoison.matElitePoisonOverlay_mat).WaitForCompletion()); public static Texture2D CreateGradientTexture(Color32[] colors, int width, int height) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0057: 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_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) Texture2D val = new Texture2D(width, height); ((Texture)val).wrapMode = (TextureWrapMode)1; for (int i = 0; i < height; i++) { for (int j = 0; j < width; j++) { float num = (float)j / (float)(width - 1) * (float)(colors.Length - 1); int num2 = Mathf.FloorToInt(num); float t = num - (float)num2; if (num2 >= colors.Length - 1) { num2 = colors.Length - 2; t = 1f; } Color32 val2 = LerpColor32(colors[num2], colors[num2 + 1], t); val.SetPixel(j, i, Color32.op_Implicit(val2)); } } val.Apply(); string fileName = "SavedTexture.png"; SaveTextureToFile(val, fileName); malachiteOverlayMat.SetTexture("_RemapTex", (Texture)(object)val); return val; } internal static void SaveTextureToFile(Texture2D texture, string fileName) { } public static Color32 LerpColor32(Color32 colorA, Color32 colorB, float t) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_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_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) byte num = (byte)Mathf.Lerp((float)(int)colorA.r, (float)(int)colorB.r, t); byte b = (byte)Mathf.Lerp((float)(int)colorA.g, (float)(int)colorB.g, t); byte b2 = (byte)Mathf.Lerp((float)(int)colorA.b, (float)(int)colorB.b, t); byte b3 = (byte)Mathf.Lerp((float)(int)colorA.a, (float)(int)colorB.a, t); return new Color32(num, b, b2, b3); } } public class Echo : EliteBase<Echo> { public class CustomAffixEchoBehavior : ItemBehavior { public DeployableMinionSpawner echoSpawner1; public DeployableMinionSpawner echoSpawner2; public CharacterSpawnCard spawnCard; public List<CharacterMaster> spawnedEchoes = new List<CharacterMaster>(); public bool hasEverSpawned; public void FixedUpdate() { if (!hasEverSpawned) { DeployableMinionSpawner obj = echoSpawner1; obj.respawnStopwatch += 1f; DeployableMinionSpawner obj2 = echoSpawner2; obj2.respawnStopwatch += 1f; } } public void Awake() { ((Behaviour)this).enabled = false; } public void OnEnable() { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: 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_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Expected O, but got Unknown Util.PlaySound("Play_voidRaid_fog_explode", ((Component)this).gameObject); spawnCard = ScriptableObject.CreateInstance<CharacterSpawnCard>(); ((SpawnCard)spawnCard).prefab = MasterCatalog.GetMasterPrefab(MasterCatalog.FindAiMasterIndexForBody(base.body.bodyIndex)); spawnCard.inventoryToCopy = base.body.inventory; ((SpawnCard)spawnCard).nodeGraphType = (GraphType)(base.body.isFlying ? 1 : 0); spawnCard.equipmentToGrant = (EquipmentDef[])(object)new EquipmentDef[1]; spawnCard.itemsToGrant = (ItemCountPair[])(object)new ItemCountPair[1] { new ItemCountPair { itemDef = EliteBase<Echo>.Instance.summonedEchoItem, count = 1 } }; Xoroshiro128Plus rng = new Xoroshiro128Plus(Run.instance.seed ^ (ulong)((Object)this).GetInstanceID()); echoSpawner1 = CreateSpawner(rng); echoSpawner2 = CreateSpawner(rng); } public void OnDisable() { if (Object.op_Implicit((Object)(object)spawnCard)) { Object.Destroy((Object)(object)spawnCard); } spawnCard = null; for (int num = spawnedEchoes.Count - 1; num >= 0; num--) { if (Object.op_Implicit((Object)(object)spawnedEchoes[num])) { spawnedEchoes[num].TrueKill(); } } spawnedEchoes.Clear(); DeployableMinionSpawner obj = echoSpawner1; if (obj != null) { obj.Dispose(); } echoSpawner1 = null; DeployableMinionSpawner obj2 = echoSpawner2; if (obj2 != null) { obj2.Dispose(); } echoSpawner2 = null; } private DeployableMinionSpawner CreateSpawner(Xoroshiro128Plus rng) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: 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_0031: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Expected O, but got Unknown DeployableMinionSpawner val = new DeployableMinionSpawner(base.body.master, EliteBase<Echo>.Instance.deployableSlot, rng) { maxSpawnDistance = 20f, respawnInterval = 30f, respawnStopwatch = 0f, spawnCard = (SpawnCard)(object)spawnCard }; val.onMinionSpawnedServer += delegate(SpawnResult spawnResult) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) GameObject spawnedInstance = spawnResult.spawnedInstance; if (Object.op_Implicit((Object)(object)spawnedInstance)) { CharacterMaster spawnedMaster = spawnedInstance.GetComponent<CharacterMaster>(); if (Object.op_Implicit((Object)(object)spawnedMaster)) { hasEverSpawned = true; spawnedEchoes.Add(spawnedMaster); OnDestroyCallback.AddCallback(((Component)spawnedMaster).gameObject, (Action<OnDestroyCallback>)delegate { spawnedEchoes.Remove(spawnedMaster); }); } } }; return val; } } public class CustomSummonedEchoBodyBehavior : MonoBehaviour { private static float fireInterval = 3f; private static float normalBaseDamage = 24f; private static float normalLevelDamage = 4.8f; private static float championBaseDamage = 32f; private static float championLevelDamage = 7.2f; private float fireTimer; private CharacterBody body; private void OnEnable() { body = ((Component)this).GetComponent<CharacterBody>(); } private void FixedUpdate() { //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: 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_0136: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)body) && Object.op_Implicit((Object)(object)body.healthComponent) && body.healthComponent.alive) { fireTimer += Time.fixedDeltaTime; if (fireTimer >= fireInterval) { fireTimer = 0f; float damage = (body.isChampion ? (championBaseDamage + championLevelDamage * body.level) : (normalBaseDamage + normalLevelDamage * body.level)); ProjectileManager.instance.FireProjectile(new FireProjectileInfo { crit = false, damage = damage, damageColorIndex = (DamageColorIndex)0, damageTypeOverride = DamageTypeCombo.op_Implicit((DamageType)8), owner = ((Component)this).gameObject, position = body.aimOrigin, rotation = Quaternion.LookRotation(Vector3.up), procChainMask = default(ProcChainMask), projectilePrefab = EliteBase<Echo>.Instance.echoProjectile, force = 400f, target = null }); } } } } [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static GetDeployableSameSlotLimit <>9__38_0; internal int <Init>b__38_0(CharacterMaster _, int _) { return 2; } } public ItemDef summonedEchoItem; public Material echoMatBlack; public DeployableSlot deployableSlot; public GameObject echoProjectile; public override string Name => "Echo"; public override string EquipmentName => "Echo Aspect"; public override string PickupText => "Aspect of Echo"; public override string DescriptionText => "Summon 2 copies of yourself"; public override string LoreText => "Shadow clone jutsu"; public override VanillaEliteTier EliteTierEnum => (VanillaEliteTier)PluginConfig.eliteTierEcho.Value; public override Color EliteColor => Color.black; public override Texture2D EliteRamp { get; set; } = EliteRampGenerator.CreateGradientTexture((Color32[])(object)new Color32[5] { new Color32((byte)23, (byte)22, (byte)20, byte.MaxValue), new Color32((byte)117, (byte)64, (byte)67, byte.MaxValue), new Color32((byte)154, (byte)136, (byte)115, byte.MaxValue), new Color32((byte)55, (byte)66, (byte)61, byte.MaxValue), new Color32((byte)58, (byte)38, (byte)24, byte.MaxValue) }, 256, 8); public override Sprite EliteIcon { get; set; } = Addressables.LoadAssetAsync<Sprite>((object)RoR2_Base_EliteIce.texBuffAffixWhite_tif).WaitForCompletion(); public override Sprite AspectIcon { get; set; } = Addressables.LoadAssetAsync<Sprite>((object)RoR2_DLC1_EliteEarth.texAffixEarthIcon_png).WaitForCompletion(); public override Material EliteMaterial { get; set; } = Addressables.LoadAssetAsync<Material>((object)RoR2_DLC1_voidoutro.matVoidRaidCrabEyeOverlay1BLUE_mat).WaitForCompletion(); public override GameObject PickupModelPrefab { get; set; } = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)RoR2_Base_EliteFire.PickupEliteFire_prefab).WaitForCompletion(), "PickupAffixEcho", false); public override void Init() { //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_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: 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_00fb: Expected O, but got Unknown //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Expected O, but got Unknown //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Expected O, but got Unknown base.Init(); echoProjectile = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)RoR2_InDev.EchoHunterProjectile_prefab).WaitForCompletion(), "EchoHunterProjectile"); echoProjectile.GetComponent<ProjectileDirectionalTargetFinder>().lookRange = 120f; ContentAddition.AddProjectile(echoProjectile); summonedEchoItem = Addressables.LoadAssetAsync<ItemDef>((object)RoR2_InDev.SummonedEcho_asset).WaitForCompletion(); echoMatBlack = Addressables.LoadAssetAsync<Material>((object)RoR2_InDev.matEcho_mat).WaitForCompletion(); ContentAddition.AddItemDef(summonedEchoItem); GameObject val = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)RoR2_Base_EliteHaunted.DisplayEliteStealthCrown_prefab).WaitForCompletion(), "EchoCrown"); val.AddComponent<NetworkIdentity>(); CustomEquipmentDef.ItemDisplayRules = ItemDisplays.CreateItemDisplayRules(val, EliteMaterial); object obj = <>c.<>9__38_0; if (obj == null) { GetDeployableSameSlotLimit val2 = (CharacterMaster _, int _) => 2; <>c.<>9__38_0 = val2; obj = (object)val2; } deployableSlot = DeployableAPI.RegisterDeployableSlot((GetDeployableSameSlotLimit)obj); RecalculateStatsAPI.GetStatCoefficients += new StatHookEventHandler(ReduceSummonHP); CharacterBody.onBodyStartGlobal += CharacterBody_onBodyStartGlobal; CharacterModel.UpdateOverlays += new hook_UpdateOverlays(CharacterModel_UpdateOverlays); } public override void OnBuffGained(CharacterBody self) { if (NetworkServer.active && Object.op_Implicit((Object)(object)self.inventory) && self.inventory.GetItemCountPermanent(summonedEchoItem) == 0) { self.AddItemBehavior<CustomAffixEchoBehavior>(1); } } public override void OnBuffLost(CharacterBody self) { if (NetworkServer.active) { self.AddItemBehavior<CustomAffixEchoBehavior>(0); } } private void ReduceSummonHP(CharacterBody sender, StatHookEventArgs args) { if (Object.op_Implicit((Object)(object)sender.inventory) && sender.inventory.GetItemCountPermanent(summonedEchoItem) > 0) { args.baseCurseAdd += 6.6666665f; } } private void CharacterBody_onBodyStartGlobal(CharacterBody body) { if (NetworkServer.active && Object.op_Implicit((Object)(object)body.inventory) && body.inventory.GetItemCountPermanent(summonedEchoItem) > 0 && !Object.op_Implicit((Object)(object)((Component)body).GetComponent<CustomSummonedEchoBodyBehavior>())) { UnityObjectExtensions.EnsureComponent<CustomSummonedEchoBodyBehavior>((Component)(object)body); } } private void CharacterModel_UpdateOverlays(orig_UpdateOverlays orig, CharacterModel self) { orig.Invoke(self); if (Object.op_Implicit((Object)(object)self.body) && Object.op_Implicit((Object)(object)self.body.inventory)) { AddOverlay(EliteMaterial, self.body.HasBuff(EliteBuffDef)); AddOverlay(echoMatBlack, self.body.inventory.GetItemCountPermanent(summonedEchoItem) > 0); } void AddOverlay(Material overlayMaterial, bool condition) { if (self.activeOverlayCount < CharacterModel.maxOverlays && condition) { Material[] currentOverlays = self.currentOverlays; CharacterModel obj = self; int activeOverlayCount = obj.activeOverlayCount; obj.activeOverlayCount = activeOverlayCount + 1; currentOverlays[activeOverlayCount] = overlayMaterial; } } } } public abstract class EliteBase<T> : EliteBase where T : EliteBase<T> { public static T Instance { get; private set; } public EliteBase() { if (Instance != null) { throw new InvalidOperationException("Singleton class \"" + typeof(T).Name + "\" inheriting ItemBase was instantiated twice"); } Instance = this as T; EliteBase.EliteInstances.Add(Instance); } } public abstract class EliteBase { public enum EliteTier { None, T1, T1Honor, T1GuildedHonor, T1Guilded, T2, Lunar } [CompilerGenerated] private static class <>O { public static hook_OnBuffFirstStackGained <0>__CharacterBody_OnBuffFirstStackGained; public static hook_OnBuffFinalStackLost <1>__CharacterBody_OnBuffFinalStackLost; } public static float affixDropChance = 0.00025f; public static List<EliteBase> EliteInstances = new List<EliteBase>(); public abstract string Name { get; } public virtual string NameToken => Name.ToUpper() + "_SCORE"; public abstract string EquipmentName { get; } public abstract string DescriptionText { get; } public abstract string PickupText { get; } public abstract string LoreText { get; } public abstract VanillaEliteTier EliteTierEnum { get; } public abstract Color EliteColor { get; } public abstract Texture2D EliteRamp { get; set; } public abstract Sprite EliteIcon { get; set; } public abstract Sprite AspectIcon { get; set; } public abstract Material EliteMaterial { get; set; } public abstract GameObject PickupModelPrefab { get; set; } public virtual BuffDef EliteBuffDef { get; set; } public virtual CustomEquipment CustomEquipmentDef { get; set; } public virtual CustomElite CustomEliteDef { get; set; } public virtual CustomElite CustomEliteDefHonor { get; set; } public float HealthBoostCoefficient { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Invalid comparison between Unknown and I4 if ((int)EliteTierEnum >= 5) { return PluginConfig.t2HealthMult.Value; } return PluginConfig.t1HealthMult.Value; } } public float DamageBoostCoefficient { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Invalid comparison between Unknown and I4 if ((int)EliteTierEnum >= 5) { return PluginConfig.t2DamageMult.Value; } return PluginConfig.t1DamageMult.Value; } } public abstract void OnBuffGained(CharacterBody body); public abstract void OnBuffLost(CharacterBody body); public static void CreateElites() { //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Expected O, but got Unknown //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Expected O, but got Unknown if (!EliteInstances.Any()) { return; } foreach (EliteBase eliteInstance in EliteInstances) { eliteInstance.Init(); } object obj = <>O.<0>__CharacterBody_OnBuffFirstStackGained; if (obj == null) { hook_OnBuffFirstStackGained val = CharacterBody_OnBuffFirstStackGained; <>O.<0>__CharacterBody_OnBuffFirstStackGained = val; obj = (object)val; } CharacterBody.OnBuffFirstStackGained += (hook_OnBuffFirstStackGained)obj; object obj2 = <>O.<1>__CharacterBody_OnBuffFinalStackLost; if (obj2 == null) { hook_OnBuffFinalStackLost val2 = CharacterBody_OnBuffFinalStackLost; <>O.<1>__CharacterBody_OnBuffFinalStackLost = val2; obj2 = (object)val2; } CharacterBody.OnBuffFinalStackLost += (hook_OnBuffFinalStackLost)obj2; } private static void CharacterBody_OnBuffFirstStackGained(orig_OnBuffFirstStackGained orig, CharacterBody self, BuffDef buffDef) { orig.Invoke(self, buffDef); if (!Object.op_Implicit((Object)(object)buffDef) || !Object.op_Implicit((Object)(object)self)) { return; } foreach (EliteBase eliteInstance in EliteInstances) { if ((Object)(object)eliteInstance?.EliteBuffDef == (Object)(object)buffDef) { eliteInstance.OnBuffGained(self); break; } } } private static void CharacterBody_OnBuffFinalStackLost(orig_OnBuffFinalStackLost orig, CharacterBody self, BuffDef buffDef) { orig.Invoke(self, buffDef); if (!Object.op_Implicit((Object)(object)buffDef) || !Object.op_Implicit((Object)(object)self)) { return; } foreach (EliteBase eliteInstance in EliteInstances) { if ((Object)(object)eliteInstance?.EliteBuffDef == (Object)(object)buffDef) { eliteInstance.OnBuffLost(self); break; } } } public virtual void Init() { Log.Info("Initializing elite " + Name); AddLanguageTokens(); SetupAssets(); SetupBuff(); SetupEquipment(); SetupElite(); } public virtual void AddLanguageTokens() { LanguageAPI.Add("ELITE_MODIFIER_" + NameToken, Name + " {0}"); LanguageAPI.Add("EQUIPMENT_AFFIX_" + NameToken + "_NAME", EquipmentName ?? (Name + " Aspect")); LanguageAPI.Add("EQUIPMENT_AFFIX_" + NameToken + "_DESC", DescriptionText ?? ""); LanguageAPI.Add("EQUIPMENT_AFFIX_" + NameToken + "_LORE", LoreText ?? ""); LanguageAPI.Add("EQUIPMENT_AFFIX_" + NameToken + "_PICKUP_DESC", PickupText ?? ("Aspect of " + Name)); } public virtual void SetupAssets() { } public virtual void SetupBuff() { //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) EliteBuffDef = ScriptableObject.CreateInstance<BuffDef>(); ((Object)EliteBuffDef).name = "Affix" + Name + "Buff"; EliteBuffDef.canStack = false; EliteBuffDef.isCooldown = false; EliteBuffDef.isDebuff = false; EliteBuffDef.buffColor = EliteColor; EliteBuffDef.iconSprite = EliteIcon; ContentAddition.AddBuffDef(EliteBuffDef); } public virtual void SetupEquipment() { //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Expected O, but got Unknown CustomEquipmentDef = new CustomEquipment("Affix" + Name, "EQUIPMENT_AFFIX_" + NameToken + "_NAME", "EQUIPMENT_AFFIX_" + NameToken + "_DESC", "EQUIPMENT_AFFIX_" + NameToken + "_LORE", "EQUIPMENT_AFFIX_" + NameToken + "_PICKUP_DESC", AspectIcon, PickupModelPrefab, 0f, false, false, false, false, EliteBuffDef, (UnlockableDef)null, (ColorIndex)5, true, true, (ItemDisplayRuleDict)null); Renderer[] componentsInChildren = CustomEquipmentDef.EquipmentDef.pickupModelPrefab.GetComponentsInChildren<Renderer>(); for (int i = 0; i < componentsInChildren.Length; i++) { componentsInChildren[i].material = EliteMaterial; } CustomEquipmentDef.EquipmentDef.dropOnDeathChance = affixDropChance; ItemAPI.Add(CustomEquipmentDef); } public virtual void SetupElite() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Expected O, but got Unknown //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_012f: 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_0150: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Expected O, but got Unknown IEnumerable<EliteTierDef> eliteTierEnumerable = EliteAPI.GetEliteTierEnumerable(EliteTierEnum); if (eliteTierEnumerable?.Any() ?? false) { CustomEliteDef = new CustomElite("Elite" + Name, CustomEquipmentDef.EquipmentDef, Color32.op_Implicit(EliteColor), "ELITE_MODIFIER_" + NameToken, eliteTierEnumerable, EliteRamp); CustomEliteDef.EliteDef.healthBoostCoefficient = HealthBoostCoefficient; CustomEliteDef.EliteDef.damageBoostCoefficient = DamageBoostCoefficient; EliteBuffDef.eliteDef = CustomEliteDef.EliteDef; EliteAPI.Add(CustomEliteDef); IEnumerable<EliteTierDef> honorEliteTierEnumerable = EliteAPI.GetHonorEliteTierEnumerable(EliteTierEnum); if (honorEliteTierEnumerable?.Any() ?? false) { CustomEliteDefHonor = new CustomElite("Elite" + Name + "Honor", CustomEquipmentDef.EquipmentDef, Color32.op_Implicit(EliteColor), "ELITE_MODIFIER_" + NameToken, honorEliteTierEnumerable, EliteRamp); CustomEliteDefHonor.EliteDef.healthBoostCoefficient = PluginConfig.t1HonorHealthMult.Value; CustomEliteDefHonor.EliteDef.damageBoostCoefficient = PluginConfig.t1HonorDamageMult.Value; EliteAPI.Add(CustomEliteDefHonor); } } } } public class Empowering : EliteBase<Empowering> { public class AffixEmpoweringBehavior : ItemBehavior { public GameObject affixEmpoweringWardInstance; public void FixedUpdate() { //IL_0051: Unknown result type (might be due to invalid IL or missing references) if (!NetworkServer.active) { return; } bool flag = base.stack > 0; if (Object.op_Implicit((Object)(object)affixEmpoweringWardInstance) != flag) { if (flag) { affixEmpoweringWardInstance = Object.Instantiate<GameObject>(EliteBase<Empowering>.Instance.EmpoweringWard); affixEmpoweringWardInstance.GetComponent<TeamFilter>().teamIndex = base.body.teamComponent.teamIndex; affixEmpoweringWardInstance.GetComponent<BuffWard>().Networkradius = 25f + base.body.radius; affixEmpoweringWardInstance.GetComponent<NetworkedBodyAttachment>().AttachToGameObjectAndSpawn(((Component)base.body).gameObject, (string)null); } else { Object.Destroy((Object)(object)affixEmpoweringWardInstance); affixEmpoweringWardInstance = null; } } } public void OnDisable() { if (Object.op_Implicit((Object)(object)affixEmpoweringWardInstance)) { Object.Destroy((Object)(object)affixEmpoweringWardInstance); } } } private GameObject EmpoweringWard = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)RoR2_Base_EliteHaunted.AffixHauntedWard_prefab).WaitForCompletion(), "EmpoweringWard"); public override string Name => "Empowering"; public override string EquipmentName => "Empowering Aspect"; public override string DescriptionText => "Aspect of Empowering"; public override string PickupText => "Buffs the move and attack speed of all allies."; public override string LoreText => "Do the impossible, see the invisible\r\nRow! Row! Fight the power!\r\nTouch the untouchable, break the unbreakable\r\nRow! Row! Fight the power!"; public override VanillaEliteTier EliteTierEnum => (VanillaEliteTier)PluginConfig.eliteTierEmpowering.Value; public override Color EliteColor => new Color(1f, 0.5f, 0f); public override Texture2D EliteRamp { get; set; } = Addressables.LoadAssetAsync<Texture2D>((object)RoR2_Base_Common_ColorRamps.texRampMagmaWorm_png).WaitForCompletion(); public override Sprite EliteIcon { get; set; } = Addressables.LoadAssetAsync<Sprite>((object)RoR2_Base_EliteIce.texBuffAffixWhite_tif).WaitForCompletion(); public override Sprite AspectIcon { get; set; } = Addressables.LoadAssetAsync<Sprite>((object)RoR2_DLC1_EliteEarth.texAffixEarthIcon_png).WaitForCompletion(); public override Material EliteMaterial { get; set; } = Addressables.LoadAssetAsync<Material>((object)RoR2_Base_WardOnLevel.matWarbannerBuffRing_mat).WaitForCompletion(); public override GameObject PickupModelPrefab { get; set; } = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)RoR2_Base_EliteFire.PickupEliteFire_prefab).WaitForCompletion(), "PickupAffixEmpowering", false); public override void Init() { //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) base.Init(); ((Renderer)((Component)EmpoweringWard.transform.GetChild(0).GetChild(0)).GetComponent<MeshRenderer>()).material = EliteMaterial; EmpoweringWard.GetComponent<BuffWard>().buffDef = Addressables.LoadAssetAsync<BuffDef>((object)RoR2_Base_WardOnLevel.bdWarbanner_asset).WaitForCompletion(); Object.Destroy((Object)(object)EmpoweringWard.GetComponent<AkEvent>()); Object.Destroy((Object)(object)EmpoweringWard.GetComponent<AkEvent>()); Object.Destroy((Object)(object)EmpoweringWard.GetComponent<AkGameObj>()); } public override void OnBuffGained(CharacterBody self) { self.AddItemBehavior<AffixEmpoweringBehavior>(1); } public override void OnBuffLost(CharacterBody self) { self.AddItemBehavior<AffixEmpoweringBehavior>(0); } } public class Frenzied : EliteBase<Frenzied> { public class FrenziedTeleportController : ItemBehavior { [CompilerGenerated] private sealed class <Teleport>d__8 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public FrenziedTeleportController <>4__this; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <Teleport>d__8(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0025: 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_004f: 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_0071: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Expected O, but got Unknown //IL_0092: Unknown result type (might be due to invalid IL or missing references) int num = <>1__state; FrenziedTeleportController frenziedTeleportController = <>4__this; switch (num) { default: return false; case 0: <>1__state = -1; frenziedTeleportController.CalculateBlinkDestination(); if (frenziedTeleportController.blinkStart != frenziedTeleportController.blinkDestination) { Util.PlaySound("Play_parent_teleport", ((Component)frenziedTeleportController).gameObject); frenziedTeleportController.CreateBlinkEffect(Util.GetCorePosition(((Component)frenziedTeleportController).gameObject)); TeleportHelper.TeleportBody(((ItemBehavior)frenziedTeleportController).body, frenziedTeleportController.blinkDestination, false); <>2__current = (object)new WaitForSeconds(0.33f); <>1__state = 1; return true; } break; case 1: <>1__state = -1; frenziedTeleportController.CreateBlinkEffect(Util.GetCorePosition(((Component)frenziedTeleportController).gameObject)); break; } return false; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } private static float fireInterval = 10f; private static GameObject blinkPrefab = Addressables.LoadAssetAsync<GameObject>((object)RoR2_Junk_Treebot.SonicBoomEffect_prefab).WaitForCompletion(); private static float shortBlinkDistance = 25f; private static float blinkDistance = 50f; private float fireTimer; private Vector3 blinkDestination = Vector3.zero; private Vector3 blinkStart = Vector3.zero; private void FixedUpdate() { if (!base.body.isPlayerControlled && Object.op_Implicit((Object)(object)base.body.healthComponent) && base.body.healthComponent.alive) { fireTimer += Time.fixedDeltaTime; if (fireTimer >= fireInterval) { fireTimer = 0f; ((MonoBehaviour)this).StartCoroutine(Teleport()); } } } [IteratorStateMachine(typeof(<Teleport>d__8))] public IEnumerator Teleport() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <Teleport>d__8(0) { <>4__this = this }; } private void CreateBlinkEffect(Vector3 origin) { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002d: 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_0033: 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_0050: Expected O, but got Unknown if (Object.op_Implicit((Object)(object)blinkPrefab)) { EffectManager.SpawnEffect(blinkPrefab, new EffectData { rotation = Util.QuaternionSafeLookRotation(blinkDestination - blinkStart), origin = origin, scale = base.body.radius }, false); } } private void CalculateBlinkDestination() { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_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_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: 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_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_014c: 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_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_019d: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: Unknown result type (might be due to invalid IL or missing references) //IL_01b2: Unknown result type (might be due to invalid IL or missing references) //IL_01c5: Unknown result type (might be due to invalid IL or missing references) //IL_01d0: Unknown result type (might be due to invalid IL or missing references) //IL_01db: Unknown result type (might be due to invalid IL or missing references) //IL_01e0: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: Unknown result type (might be due to invalid IL or missing references) //IL_01ea: Unknown result type (might be due to invalid IL or missing references) //IL_020c: Unknown result type (might be due to invalid IL or missing references) Vector3 val = Vector3.zero; Ray val2 = (Ray)(Object.op_Implicit((Object)(object)base.body.inputBank) ? base.body.inputBank.GetAimRay() : new Ray(((Component)this).transform.position, ((Component)this).transform.forward)); if (!base.body.isPlayerControlled) { BullseyeSearch val3 = new BullseyeSearch { searchOrigin = ((Ray)(ref val2)).origin, searchDirection = ((Ray)(ref val2)).direction, maxDistanceFilter = blinkDistance, teamMaskFilter = TeamMask.allButNeutral, filterByLoS = false, sortMode = (SortMode)2 }; ((TeamMask)(ref val3.teamMaskFilter)).RemoveTeam(TeamComponent.GetObjectTeam(((Component)this).gameObject)); val3.RefreshCandidates(); HurtBox val4 = val3.GetResults().FirstOrDefault(); if (Object.op_Implicit((Object)(object)val4)) { Vector3 val5 = ((Component)val4).transform.position - ((Component)this).transform.position; float num = 15f; val = val5 + Vector2.op_Implicit(num * Random.insideUnitCircle); } } if (val == Vector3.zero && Object.op_Implicit((Object)(object)base.body.inputBank)) { val = base.body.inputBank.moveVector * shortBlinkDistance; } blinkDestination = ((Component)this).transform.position; blinkStart = blinkDestination; NodeGraph obj = ((!base.body.isFlying || ((Object)base.body).name == "MinorConstructBody(Clone)") ? SceneInfo.instance.groundNodes : SceneInfo.instance.airNodes); obj.GetNodePosition(obj.FindClosestNode(((Component)this).transform.position + val, base.body.hullClassification, float.PositiveInfinity), ref blinkDestination); blinkDestination += ((Component)this).transform.position - base.body.footPosition; if (Object.op_Implicit((Object)(object)base.body.characterDirection)) { base.body.characterDirection.forward = val; } } } public override string Name => "Frenzied"; public override string EquipmentName => "Frenzied Aspect"; public override string PickupText => "Aspect of the Frenzied Flame"; public override string DescriptionText => "Increased move and attack speed"; public override string LoreText => "LET CHAOS BURN THE WORLD"; public override VanillaEliteTier EliteTierEnum => (VanillaEliteTier)PluginConfig.eliteTierFrenzied.Value; public override Color EliteColor => Color.yellow; public override Texture2D EliteRamp { get; set; } = Addressables.LoadAssetAsync<Texture2D>((object)RoR2_Base_Common_ColorRamps.texRampWarbanner2_png).WaitForCompletion(); public override Sprite EliteIcon { get; set; } = Addressables.LoadAssetAsync<Sprite>((object)RoR2_Base_EliteIce.texBuffAffixWhite_tif).WaitForCompletion(); public override Sprite AspectIcon { get; set; } = Addressables.LoadAssetAsync<Sprite>((object)RoR2_DLC1_EliteEarth.texAffixEarthIcon_png).WaitForCompletion(); public override Material EliteMaterial { get; set; } = Addressables.LoadAssetAsync<Material>((object)RoR2_Base_WardOnLevel.matWarbannerSphereIndicator_mat).WaitForCompletion(); public override GameObject PickupModelPrefab { get; set; } = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)RoR2_Base_EliteFire.PickupEliteFire_prefab).WaitForCompletion(), "PickupAffixFrenzied", false); public override void Init() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Expected O, but got Unknown base.Init(); RecalculateStatsAPI.GetStatCoefficients += new StatHookEventHandler(Frenzy); EquipmentSlot.PerformEquipmentAction += new hook_PerformEquipmentAction(EquipmentSlot_PerformEquipmentAction); } public override void SetupEquipment() { base.SetupEquipment(); CustomEquipmentDef.EquipmentDef.cooldown = 10f; EquipmentDef equipmentDef = CustomEquipmentDef.EquipmentDef; ((Object)equipmentDef).name = ((Object)equipmentDef).name + "Nuxlar"; } public override void OnBuffGained(CharacterBody self) { self.AddItemBehavior<FrenziedTeleportController>(1); } public override void OnBuffLost(CharacterBody self) { self.AddItemBehavior<FrenziedTeleportController>(0); } private bool EquipmentSlot_PerformEquipmentAction(orig_PerformEquipmentAction orig, EquipmentSlot self, EquipmentDef equipmentDef) { bool flag = orig.Invoke(self, equipmentDef); if (!flag && (Object)(object)equipmentDef == (Object)(object)CustomEquipmentDef?.EquipmentDef) { FrenziedTeleportController frenziedTeleportController = default(FrenziedTeleportController); if (Object.op_Implicit((Object)(object)self.characterBody) && self.characterBody.isPlayerControlled && ((Component)self.characterBody).TryGetComponent<FrenziedTeleportController>(ref frenziedTeleportController)) { ((MonoBehaviour)frenziedTeleportController).StartCoroutine(frenziedTeleportController.Teleport()); } return true; } return flag; } private void Frenzy(CharacterBody sender, StatHookEventArgs args) { if (sender.HasBuff(EliteBuffDef)) { args.baseMoveSpeedAdd += 2f; args.attackSpeedMultAdd += 0.5f; } } } public class Volatile : EliteBase<Volatile> { public class VolatileMissileController : ItemBehavior { private static float normalBaseDamage = 12f; private static float normalLevelDamage = 2.4f; private static float championBaseDamage = 18f; private static float championLevelDamage = 3.6f; private float fireTimer; private float fireInterval = 3f; private void FixedUpdate() { //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)base.body) && Object.op_Implicit((Object)(object)base.body.healthComponent) && base.body.healthComponent.alive) { fireTimer += Time.fixedDeltaTime; if (fireTimer >= fireInterval) { fireTimer = 0f; fireInterval = Random.Range(1, 6); float num = (base.body.isChampion ? (championBaseDamage + championLevelDamage * base.body.level) : (normalBaseDamage + normalLevelDamage * base.body.level)); MissileUtils.FireMissile(base.body.corePosition, base.body, default(ProcChainMask), (GameObject)null, num, Util.CheckRoll(base.body.crit, base.body.master), EliteBase<Volatile>.Instance.VolatileProjectile, (DamageColorIndex)3, false); } } } } private GameObject VolatileProjectile = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)RoR2_Base_Common.MissileProjectile_prefab).WaitForCompletion(), "AffixVolatileNuxProjectile"); private GameObject VolatileProjectileGhost = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)RoR2_Base_Common.MissileGhost_prefab).WaitForCompletion(), "AffixVolatileNuxProjectileGhost"); private GameObject behemoExplosion = Addressables.LoadAssetAsync<GameObject>((object)RoR2_Base_Common_VFX.OmniExplosionVFXQuick_prefab).WaitForCompletion(); public override string Name => "Volatile"; public override string EquipmentName => "Volatile Aspect"; public override string PickupText => "Aspect of Volatile"; public override string DescriptionText => "All attacks explode and periodically fire missiles."; public override string LoreText => "Hope you like dodging"; public override VanillaEliteTier EliteTierEnum => (VanillaEliteTier)PluginConfig.eliteTierVolatile.Value; public override Color EliteColor => Color.red; public override Texture2D EliteRamp { get; set; } = Addressables.LoadAssetAsync<Texture2D>((object)RoR2_DLC1_Common_ColorRamps.texRampStrongerBurn_png).WaitForCompletion(); public override Sprite EliteIcon { get; set; } = Addressables.LoadAssetAsync<Sprite>((object)RoR2_Base_EliteIce.texBuffAffixWhite_tif).WaitForCompletion(); public override Sprite AspectIcon { get; set; } = Object.Instantiate<Sprite>(Addressables.LoadAssetAsync<Sprite>((object)RoR2_DLC1_EliteEarth.texAffixEarthIcon_png).WaitForCompletion()); public override Material EliteMaterial { get; set; } = Addressables.LoadAssetAsync<Material>((object)RoR2_Base_MagmaWorm.matMagmaWormFireball_mat).WaitForCompletion(); public override GameObject PickupModelPrefab { get; set; } = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)RoR2_Base_EliteFire.PickupEliteFire_prefab).WaitForCompletion(), "PickupAffixVolatile", false); public override void Init() { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0098: 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_0116: Expected O, but got Unknown base.Init(); ((Renderer)((Component)VolatileProjectileGhost.transform.GetChild(0)).GetComponent<TrailRenderer>()).sharedMaterial = Addressables.LoadAssetAsync<Material>((object)RoR2_Base_MagmaWorm.matMagmaWormFireballTrail_mat).WaitForCompletion(); ((Renderer)((Component)VolatileProjectileGhost.transform.GetChild(1)).GetComponent<ParticleSystemRenderer>()).sharedMaterial = Addressables.LoadAssetAsync<Material>((object)RoR2_Junk_Bandit.matThermiteFlare_mat).WaitForCompletion(); ((Renderer)((Component)VolatileProjectileGhost.transform.GetChild(2)).GetComponent<MeshRenderer>()).sharedMaterial = EliteMaterial; ((Component)VolatileProjectileGhost.transform.GetChild(3)).GetComponent<Light>().color = EliteColor; VolatileProjectile.GetComponent<ProjectileController>().ghostPrefab = VolatileProjectileGhost; MissileController component = VolatileProjectile.GetComponent<MissileController>(); component.acceleration = 2f; component.deathTimer = 6f; component.giveupTimer = 4f; component.maxVelocity = 20f; component.turbulence = 6f; ContentAddition.AddProjectile(VolatileProjectile); GlobalEventManager.OnHitAll += new hook_OnHitAll(AddBehemoExplosion); } public override void OnBuffGained(CharacterBody self) { self.AddItemBehavior<VolatileMissileController>(1); } public override void OnBuffLost(CharacterBody self) { self.AddItemBehavior<VolatileMissileController>(0); } private void AddBehemoExplosion(orig_OnHitAll orig, GlobalEventManager self, DamageInfo damageInfo, GameObject hitObject) { //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_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_0091: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Expected O, but got Unknown //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: 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_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: 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_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_0129: 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_0132: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self, damageInfo, hitObject); CharacterBody val = default(CharacterBody); if (damageInfo.procCoefficient > 0f && !damageInfo.rejected && Object.op_Implicit((Object)(object)damageInfo.attacker) && damageInfo.attacker.TryGetComponent<CharacterBody>(ref val)) { BuffDef eliteBuffDef = EliteBuffDef; if (val.HasBuff(eliteBuffDef)) { float num = 2f * damageInfo.procCoefficient; EffectManager.SpawnEffect(behemoExplosion, new EffectData { origin = damageInfo.position, scale = num, rotation = Util.QuaternionSafeLookRotation(damageInfo.force) }, true); new BlastAttack { position = damageInfo.position, baseDamage = Util.OnHitProcDamage(damageInfo.damage, val.damage, 0.15f), baseForce = 0f, radius = num, attacker = damageInfo.attacker, inflictor = null, teamIndex = TeamComponent.GetObjectTeam(damageInfo.attacker), crit = damageInfo.crit, procChainMask = damageInfo.procChainMask, procCoefficient = 0f, damageColorIndex = (DamageColorIndex)3, falloffModel = (FalloffModel)2, damageType = damageInfo.damageType }.Fire(); } } } } public static class ItemDisplays { private static void ItemDisplaySetup(GameObject prefab) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_0096: 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) MeshRenderer[] componentsInChildren = prefab.GetComponentsInChildren<MeshRenderer>(); SkinnedMeshRenderer[] componentsInChildren2 = prefab.GetComponentsInChildren<SkinnedMeshRenderer>(); List<Renderer> list = new List<Renderer>(componentsInChildren.Length + componentsInChildren2.Length); list.AddRange((IEnumerable<Renderer>)(object)componentsInChildren); list.AddRange((IEnumerable<Renderer>)(object)componentsInChildren2); List<Renderer> list2 = list; RendererInfo[] array = (RendererInfo[])(object)new RendererInfo[list2.Count]; for (int i = 0; i < list2.Count; i++) { array[i] = new RendererInfo { defaultMaterial = ((list2[i] is SkinnedMeshRenderer) ? list2[i].sharedMaterial : list2[i].material), renderer = list2[i], defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false }; } (prefab.GetComponent<ItemDisplay>() ?? prefab.AddComponent<ItemDisplay>()).rendererInfos = array; } public static ItemDisplayRuleDict CreateItemDisplayRules(GameObject prefab, Material material) { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Expected O, but got Unknown //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0043: 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_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0099: 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_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: 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_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_012f: 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_014a: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_01aa: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Unknown result type (might be due to invalid IL or missing references) //IL_01c5: Unknown result type (might be due to invalid IL or missing references) //IL_01ca: Unknown result type (might be due to invalid IL or missing references) //IL_01e0: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: Unknown result type (might be due to invalid IL or missing references) //IL_01ea: Unknown result type (might be due to invalid IL or missing references) //IL_01eb: Unknown result type (might be due to invalid IL or missing references) //IL_0205: Unknown result type (might be due to invalid IL or missing references) //IL_020e: Unknown result type (might be due to invalid IL or missing references) //IL_0240: Unknown result type (might be due to invalid IL or missing references) //IL_0245: Unknown result type (might be due to invalid IL or missing references) //IL_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_0276: Unknown result type (might be due to invalid IL or missing references) //IL_027b: Unknown result type (might be due to invalid IL or missing references) //IL_0280: Unknown result type (might be due to invalid IL or missing references) //IL_0281: Unknown result type (might be due to invalid IL or missing references) //IL_029b: Unknown result type (might be due to invalid IL or missing references) //IL_02a4: Unknown result type (might be due to invalid IL or missing references) //IL_02d6: Unknown result type (might be due to invalid IL or missing references) //IL_02db: Unknown result type (might be due to invalid IL or missing references) //IL_02f1: Unknown result type (might be due to invalid IL or missing references) //IL_02f6: Unknown result type (might be due to invalid IL or missing references) //IL_030c: Unknown result type (might be due to invalid IL or missing references) //IL_0311: Unknown result type (might be due to invalid IL or missing references) //IL_0316: Unknown result type (might be due to invalid IL or missing references) //IL_0317: 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_036c: Unknown result type (might be due to invalid IL or missing references) //IL_0371: Unknown result type (might be due to invalid IL or missing references) //IL_0387: Unknown result type (might be due to invalid IL or missing references) //IL_038c: Unknown result type (might be due to invalid IL or missing references) //IL_03a2: Unknown result type (might be due to invalid IL or missing references) //IL_03a7: Unknown result type (might be due to invalid IL or missing references) //IL_03ac: Unknown result type (might be due to invalid IL or missing references) //IL_03ad: Unknown result type (might be due to invalid IL or missing references) //IL_03c7: Unknown result type (might be due to invalid IL or missing references) //IL_03d0: Unknown result type (might be due to invalid IL or missing references) //IL_0402: Unknown result type (might be due to invalid IL or missing references) //IL_0407: Unknown result type (might be due to invalid IL or missing references) //IL_041d: Unknown result type (might be due to invalid IL or missing references) //IL_0422: Unknown result type (might be due to invalid IL or missing references) //IL_0438: Unknown result type (might be due to invalid IL or missing references) //IL_043d: Unknown result type (might be due to invalid IL or missing references) //IL_0442: Unknown result type (might be due to invalid IL or missing references) //IL_0443: Unknown result type (might be due to invalid IL or missing references) //IL_045d: Unknown result type (might be due to invalid IL or missing references) //IL_0466: Unknown result type (might be due to invalid IL or missing references) //IL_0498: Unknown result type (might be due to invalid IL or missing references) //IL_049d: Unknown result type (might be due to invalid IL or missing references) //IL_04b3: Unknown result type (might be due to invalid IL or missing references) //IL_04b8: 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_04d8: Unknown result type (might be due to invalid IL or missing references) //IL_04d9: Unknown result type (might be due to invalid IL or missing references) //IL_04f3: Unknown result type (might be due to invalid IL or missing references) //IL_04fc: Unknown result type (might be due to invalid IL or missing references) //IL_052e: Unknown result type (might be due to invalid IL or missing references) //IL_0533: Unknown result type (might be due to invalid IL or missing references) //IL_0549: Unknown result type (might be due to invalid IL or missing references) //IL_054e: Unknown result type (might be due to invalid IL or missing references) //IL_0564: Unknown result type (might be due to invalid IL or missing references) //IL_0569: Unknown result type (might be due to invalid IL or missing references) //IL_056e: Unknown result type (might be due to invalid IL or missing references) //IL_056f: Unknown result type (might be due to invalid IL or missing references) //IL_0589: Unknown result type (might be due to invalid IL or missing references) //IL_0592: Unknown result type (might be due to invalid IL or missing references) //IL_05c4: Unknown result type (might be due to invalid IL or missing references) //IL_05c9: Unknown result type (might be due to invalid IL or missing references) //IL_05df: Unknown result type (might be due to invalid IL or missing references) //IL_05e4: Unknown result type (might be due to invalid IL or missing references) //IL_05fa: Unknown result type (might be due to invalid IL or missing references) //IL_05ff: Unknown result type (might be due to invalid IL or missing references) //IL_0604: Unknown result type (might be due to invalid IL or missing references) //IL_0605: Unknown result type (might be due to invalid IL or missing references) //IL_061f: Unknown result type (might be due to invalid IL or missing references) //IL_0628: Unknown result type (might be due to invalid IL or missing references) //IL_065a: Unknown result type (might be due to invalid IL or missing references) //IL_065f: Unknown result type (might be due to invalid IL or missing references) //IL_0675: Unknown result type (might be due to invalid IL or missing references) //IL_067a: Unknown result type (might be due to invalid IL or missing references) //IL_0690: Unknown result type (might be due to invalid IL or missing references) //IL_0695: Unknown result type (might be due to invalid IL or missing references) //IL_069a: Unknown result type (might be due to invalid IL or missing references) //IL_069b: Unknown result type (might be due to invalid IL or missing references) //IL_06b5: 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_06f0: Unknown result type (might be due to invalid IL or missing references) //IL_06f5: Unknown result type (might be due to invalid IL or missing references) //IL_070b: Unknown result type (might be due to invalid IL or missing references) //IL_0710: Unknown result type (might be due to invalid IL or missing references) //IL_0726: Unknown result type (might be due to invalid IL or missing references) //IL_072b: Unknown result type (might be due to invalid IL or missing references) //IL_0730: Unknown result type (might be due to invalid IL or missing references) //IL_0731: Unknown result type (might be due to invalid IL or missing references) //IL_074b: Unknown result type (might be due to invalid IL or missing references) //IL_0754: Unknown result type (might be due to invalid IL or missing references) //IL_0786: Unknown result type (might be due to invalid IL or missing references) //IL_078b: Unknown result type (might be due to invalid IL or missing references) //IL_07a1: Unknown result type (might be due to invalid IL or missing references) //IL_07a6: Unknown result type (might be due to invalid IL or missing references) //IL_07bc: Unknown result type (might be due to invalid IL or missing references) //IL_07c1: Unknown result type (might be due to invalid IL or missing references) //IL_07c6: Unknown result type (might be due to invalid IL or missing references) //IL_07c7: Unknown result type (might be due to invalid IL or missing references) //IL_07e1: Unknown result type (might be due to invalid IL or missing references) //IL_07ea: Unknown result type (might be due to invalid IL or missing references) //IL_081c: Unknown result type (might be due to invalid IL or missing references) //IL_0821: Unknown result type (might be due to invalid IL or missing references) //IL_0837: Unknown result type (might be due to invalid IL or missing references) //IL_083c: Unknown result type (might be due to invalid IL or missing references) //IL_0852: Unknown result type (might be due to invalid IL or missing references) //IL_0857: Unknown result type (might be due to invalid IL or missing references) //IL_085c: Unknown result type (might be due to invalid IL or missing references) //IL_085d: Unknown result type (might be due to invalid IL or missing references) //IL_0877: Unknown result type (might be due to invalid IL or missing references) //IL_0880: Unknown result type (might be due to invalid IL or missing references) //IL_08b2: Unknown result type (might be due to invalid IL or missing references) //IL_08b7: Unknown result type (might be due to invalid IL or missing references) //IL_08cd: Unknown result type (might be due to invalid IL or missing references) //IL_08d2: Unknown result type (might be due to invalid IL or missing references) //IL_08e8: Unknown result type (might be due to invalid IL or missing references) //IL_08ed: Unknown result type (might be due to invalid IL or missing references) //IL_08f2: Unknown result type (might be due to invalid IL or missing references) //IL_08f3: Unknown result type (might be due to invalid IL or missing references) //IL_090d: Unknown result type (might be due to invalid IL or missing references) //IL_0916: Unknown result type (might be due to invalid IL or missing references) //IL_0948: Unknown result type (might be due to invalid IL or missing references) //IL_094d: Unknown result type (might be due to invalid IL or missing references) //IL_0963: Unknown result type (might be due to invalid IL or missing references) //IL_0968: Unknown result type (might be due to invalid IL or missing references) //IL_097e: Unknown result type (might be due to invalid IL or missing references) //IL_0983: Unknown result type (might be due to invalid IL or missing references) //IL_0988: Unknown result type (might be due to invalid IL or missing references) //IL_0989: Unknown result type (might be due to invalid IL or missing references) //IL_09a3: Unknown result type (might be due to invalid IL or missing references) //IL_09ac: Unknown result type (might be due to invalid IL or missing references) //IL_09de: Unknown result type (might be due to invalid IL or missing references) //IL_09e3: Unknown result type (might be due to invalid IL or missing references) //IL_09f9: Unknown result type (might be due to invalid IL or missing references) //IL_09fe: Unknown result type (might be due to invalid IL or missing references) //IL_0a14: Unknown result type (might be due to invalid IL or missing references) //IL_0a19: Unknown result type (might be due to invalid IL or missing references) //IL_0a1e: Unknown result type (might be due to invalid IL or missing references) //IL_0a1f: Unknown result type (might be due to invalid IL or missing references) //IL_0a39: Unknown result type (might be due to invalid IL or missing references) //IL_0a42: Unknown result type (might be due to invalid IL or missing references) //IL_0a74: Unknown result type (might be due to invalid IL or missing references) //IL_0a79: Unknown result type (might be due to invalid IL or missing references) //IL_0a8f: Unknown result type (might be due to invalid IL or missing references) //IL_0a94: Unknown result type (might be due to invalid IL or missing references) //IL_0aaa: Unknown result type (might be due to invalid IL or missing references) //IL_0aaf: Unknown result type (might be due to invalid IL or missing references) //IL_0ab4: Unknown result type (might be due to invalid IL or missing references) //IL_0ab5: Unknown result type (might be due to invalid IL or missing references) //IL_0acf: Unknown result type (might be due to invalid IL or missing references) //IL_0ad8: Unknown result type (might be due to invalid IL or missing references) //IL_0b0a: Unknown result type (might be due to invalid IL or missing references) //IL_0b0f: Unknown result type (might be due to invalid IL or missing references) //IL_0b25: Unknown result type (might be due to invalid IL or missing references) //IL_0b2a: Unknown result type (might be due to invalid IL or missing references) //IL_0b40: Unknown result type (might be due to invalid IL or missing references) //IL_0b45: Unknown result type (might be due to invalid IL or missing references) //IL_0b4a: Unknown result type (might be due to invalid IL or missing references) //IL_0b4b: Unknown result type (might be due to invalid IL or missing references) //IL_0b65: Unknown result type (might be due to invalid IL or missing references) //IL_0b6e: Unknown result type (might be due to invalid IL or missing references) //IL_0ba0: Unknown result type (might be due to invalid IL or missing references) //IL_0ba5: Unknown result type (might be due to invalid IL or missing references) //IL_0bbb: Unknown result type (might be due to invalid IL or missing references) //IL_0bc0: Unknown result type (might be due to invalid IL or missing references) //IL_0bd6: Unknown result type (might be due to invalid IL or missing references) //IL_0bdb: Unknown result type (might be due to invalid IL or missing references) //IL_0be0: Unknown result type (might be due to invalid IL or missing references) //IL_0be1: Unknown result type (might be due to invalid IL or missing references) //IL_0bfb: Unknown result type (might be due to invalid IL or missing references) //IL_0c04: Unknown result type (might be due to invalid IL or missing references) //IL_0c36: Unknown result type (might be due to invalid IL or missing references) //IL_0c3b: Unknown result type (might be due to invalid IL or missing references) //IL_0c51: Unknown result type (might be due to invalid IL or missing references) //IL_0c56: Unknown result type (might be due to invalid IL or missing references) //IL_0c6c: Unknown result type (might be due to invalid IL or missing references) //IL_0c71: Unknown result type (might be due to invalid IL or missing references) //IL_0c76: Unknown result type (might be due to invalid IL or missing references) //IL_0c77: Unknown result type (might be due to invalid IL or missing references) //IL_0c91: Unknown result type (might be due to invalid IL or missing references) //IL_0c9a: Unknown result type (might be due to invalid IL or missing references) //IL_0ccc: Unknown result type (might be due to invalid IL or missing references) //IL_0cd1: Unknown result type (might be due to invalid IL or missing references) //IL_0ce7: Unknown result type (might be due to invalid IL or missing references) //IL_0cec: Unknown result type (might be due to invalid IL or missing references) //IL_0d02: Unknown result type (might be due to invalid IL or missing references) //IL_0d07: Unknown result type (might be due to invalid IL or missing references) //IL_0d0c: Unknown result type (might be due to invalid IL or missing references) //IL_0d0d: Unknown result type (might be due to invalid IL or missing references) //IL_0d27: Unknown result type (might be due to invalid IL or missing references) //IL_0d30: Unknown result type (might be due to invalid IL or missing references) //IL_0d62: Unknown result type (might be due to invalid IL or missing references) //IL_0d67: Unknown result type (might be due to invalid IL or missing references) //IL_0d7d: Unknown result type (might be due to invalid IL or missing references) //IL_0d82: Unknown result type (might be due to invalid IL or missing references) //IL_0d98: Unknown result type (might be due to invalid IL or missing references) //IL_0d9d: Unknown result type (might be due to invalid IL or missing references) //IL_0da2: Unknown result type (might be due to invalid IL or missing references) //IL_0da3: Unknown result type (might be due to invalid IL or missing references) //IL_0dbd: Unknown result type (might be due to invalid IL or missing references) //IL_0dc6: Unknown result type (might be due to invalid IL or missing references) //IL_0df8: Unknown result type (might be due to invalid IL or missing references) //IL_0dfd: Unknown result type (might be due to invalid IL or missing references) //IL_0e13: Unknown result type (might be due to invalid IL or missing references) //IL_0e18: Unknown result type (might be due to invalid IL or missing references) //IL_0e2e: Unknown result type (might be due to invalid IL or missing references) //IL_0e33: Unknown result type (might be due to invalid IL or missing references) //IL_0e38: Unknown result type (might be due to invalid IL or missing references) //IL_0e39: Unknown result type (might be due to invalid IL or missing references) //IL_0e53: Unknown result type (might be due to invalid IL or missing references) //IL_0e5c: Unknown result type (might be due to invalid IL or missing references) //IL_0e8e: Unknown result type (might be due to invalid IL or missing references) //IL_0e93: Unknown result type (might be due to invalid IL or missing references) //IL_0ea9: Unknown result type (might be due to invalid IL or missing references) //IL_0eae: Unknown result type (might be due to invalid IL or missing references) //IL_0ec4: Unknown result type (might be due to invalid IL or missing references) //IL_0ec9: Unknown result type (might be due to invalid IL or missing references) //IL_0ece: Unknown result type (might be due to invalid IL or missing references) //IL_0ecf: Unknown result type (might be due to invalid IL or missing references) //IL_0ee9: Unknown result type (might be due to invalid IL or missing references) //IL_0ef2: Unknown result type (might be due to invalid IL or missing references) //IL_0f24: Unknown result type (might be due to invalid IL or missing references) //IL_0f29: Unknown result type (might be due to invalid IL or missing references) //IL_0f3f: Unknown result type (might be due to invalid IL or missing references) //IL_0f44: Unknown result type (might be due to invalid IL or missing references) //IL_0f5a: Unknown result type (might be due to invalid IL or missing references) //IL_0f5f: Unknown result type (might be due to invalid IL or missing references) //IL_0f64: Unknown result type (might be due to invalid IL or missing references) //IL_0f65: Unknown result type (might be due to invalid IL or missing references) //IL_0f7f: Unknown result type (might be due to invalid IL or missing references) //IL_0f88: Unknown result type (might be due to invalid IL or missing references) //IL_0fba: Unknown result type (might be due to invalid IL or missing references) //IL_0fbf: Unknown result type (might be due to invalid IL or missing references) //IL_0fd5: Unknown result type (might be due to invalid IL or missing references) //IL_0fda: Unknown result type (might be due to invalid IL or missing references) //IL_0ff0: Unknown result type (might be due to invalid IL or missing references) //IL_0ff5: Unknown result type (might be due to invalid IL or missing references) //IL_0ffa: Unknown result type (might be due to invalid IL or missing references) //IL_0ffb: 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_101e: Unknown result type (might be due to invalid IL or missing references) //IL_1050: Unknown result type (might be due to invalid IL or missing references) //IL_1055: Unknown result type (might be due to invalid IL or missing references) //IL_106b: Unknown result type (might be due to invalid IL or missing references) //IL_1070: Unknown result type (might be due to invalid IL or missing references) //IL_1086: Unknown result type (might be due to invalid IL or missing references) //IL_108b: Unknown result type (might be due to invalid IL or missing references) //IL_1090: Unknown result type (might be due to invalid IL or missing references) //IL_1091: Unknown result type (might be due to invalid IL or missing references) //IL_10ab: Unknown result type (might be due to invalid IL or missing references) //IL_10b4: Unknown result type (might be due to invalid IL or missing references) //IL_10e6: Unknown result type (might be due to invalid IL or missing references) //IL_10eb: Unknown result type (might be due to invalid IL or missing references) //IL_1101: Unknown result type (might be due to invalid IL or missing references) //IL_1106: Unknown result type (might be due to invalid IL or missing references) //IL_111c: Unknown result type (might be due to invalid IL or missing references) //IL_1121: Unknown result type (might be due to invalid IL or missing references) //IL_1126: Unknown result type (might be due to invalid IL or missing references) //IL_1127: Unknown result type (might be due to invalid IL or missing references) //IL_1141: Unknown result type (might be due to invalid IL or missing references) //IL_114a: Unknown result type (might be due to invalid IL or missing references) //IL_117c: Unknown result type (might be due to invalid IL or missing references) //IL_1181: Unknown result type (might be due to invalid IL or missing references) //IL_1197: 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_11b2: Unknown result type (might be due to invalid IL or missing references) //IL_11b7: Unknown result type (might be due to invalid IL or missing references) //IL_11bc: Unknown result type (might be due to invalid IL or missing references) //IL_11bd: Unknown result type (might be due to invalid IL or missing references) //IL_11d7: Unknown result type (might be due to invalid IL or missing references) //IL_11e0: Unknown result type (might be due to invalid IL or missing references) //IL_1212: Unknown result type (might be due to invalid IL or missing references) //IL_1217: Unknown result type (might be due to invalid IL or missing references) //IL_122d: Unknown result type (might be due to invalid IL or missing references) //IL_1232: Unknown result type (might be due to invalid IL or missing references) //IL_1248: Unknown result type (might be due to invalid IL or missing references) //IL_124d: Unknown result type (might be due to invalid IL or missing references) //IL_1252: Unknown result type (might be due to invalid IL or missing references) //IL_1253: Unknown result type (might be due to invalid IL or missing references) //IL_126d: Unknown result type (might be due to invalid IL or missing references) //IL_1276: Unknown result type (might be due to invalid IL or missing references) //IL_12a8: Unknown result type (might be due to invalid IL or missing references) //IL_12ad: Unknown result type (might be due to invalid IL or missing references) //IL_12c3: Unknown result type (might be due to invalid IL or missing references) //IL_12c8: 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) //IL_12e3: Unknown result type (might be due to invalid IL or missing references) //IL_12e8: Unknown result type (might be due to invalid IL or missing references) //IL_12e9: Unknown result type (might be due to invalid IL or missing references) //IL_1303: Unknown result type (might be due to invalid IL or missing references) //IL_130c: Unknown result type (might be due to invalid IL or missing references) //IL_133e: Unknown result type (might be due to invalid IL or missing references) //IL_1343: Unknown result type (might be due to invalid IL or missing references) //IL_1359: Unknown result type (might be due to invalid IL or missing references) //IL_135e: Unknown result type (might be due to invalid IL or missing references) //IL_1374: Unknown result type (might be due to invalid IL or missing references) //IL_1379: Unknown result type (might be due to invalid IL or missing references) //IL_137e: Unknown result type (might be due to invalid IL or missing references) //IL_137f: Unknown result type (might be due to invalid IL or missing references) //IL_1399: Unknown result type (might be due to invalid IL or missing references) //IL_13a2: Unknown result type (might be due to invalid IL or missing references) //IL_13d4: Unknown result type (might be due to invalid IL or missing references) //IL_13d9: Unknown result type (might be due to invalid IL or missing references) //IL_13ef: Unknown result type (might be due to invalid IL or missing references) //IL_13f4: Unknown result type (might be due to invalid IL or missing references) //IL_140a: Unknown result type (might be due to invalid IL or missing references) //IL_140f: Unknown result type (might be due to invalid IL or missing references) //IL_1414: Unknown result type (might be due to invalid IL or missing references) //IL_1415: Unknown result type (might be due to invalid IL or missing references) //IL_142f: Unknown result type (might be due to invalid IL or missing references) //IL_1438: Unknown result type (might be due to invalid IL or missing references) //IL_146a: Unknown result type (might be due to invalid IL or missing references) //IL_146f: Unknown result type (might be due to invalid IL or missing references) //IL_1485: Unknown result type (might be due to invalid IL or missing references) //IL_148a: Unknown result type (might be due to invalid IL or missing references) //IL_14a0: Unknown result type (might be due to invalid IL or missing references) //IL_14a5: Unknown result type (might be due to invalid IL or missing references) //IL_14aa: Unknown result type (might be due to invalid IL or missing references) //IL_14ab: Unknown result type (might be due to invalid IL or missing references) //IL_14c5: Unknown result type (might be due to invalid IL or missing references) //IL_14ce: Unknown result type (might be due to invalid IL or missing references) //IL_1500: Unknown result type (might be due to invalid IL or missing references) //IL_1505: Unknown result type (might be due to invalid IL or missing references) //IL_151b: Unknown result type (might be due to invalid IL or missing references) //IL_1520: Unknown result type (might be due to invalid IL or missing references) //IL_1536: Unknown result type (might be due to invalid IL or missing references) //IL_153b: Unknown result type (might be due to invalid IL or missing references) //IL_1540: Unknown result type (might be due to invalid IL or missing references) //IL_1541: Unknown result type (might be due to invalid IL or missing references) //IL_155b: Unknown result type (might be due to invalid IL or missing references) //IL_1564: Unknown result type (might be due to invalid IL or missing references) //IL_1596: Unknown result type (might be due to invalid IL or missing references) //IL_159b: Unknown result type (might be due to invalid IL or missing references) //IL_15b1: Unknown result type (might be due to invalid IL or missing references) //IL_15b6: Unknown result type (might be due to invalid IL or missing references) //IL_15cc: Unknown result type (might be due to invalid IL or missing references) //IL_15d1: Unknown result type (might be due to invalid IL or missing references) //IL_15d6: Unknown result type (might be due to invalid IL or missing references) //IL_15d7: Unknown result type (might be due to invalid IL or missing references) //IL_15f1: Unknown result type (might be due to invalid IL or missing references) //IL_15fa: Unknown result type (might be due to invalid IL or missing references) //IL_162c: Unknown result type (might be due to invalid IL or missing references) //IL_1631: Unknown result type (might be due to invalid IL or missing references) //IL_1647: Unknown result type (might be due to invalid IL or missing references) //IL_164c: Unknown result type (might be due to invalid IL or missing references) //IL_1662: Unknown result type (might be due to invalid IL or missing references) //IL_1667: Unknown result type (might be due to invalid IL or missing references) //IL_166c: Unknown result type (might be due to invalid IL or missing references) //IL_166d: Unknown result type (might be due to invalid IL or missing references) //IL_1687: Unknown result type (might be due to invalid IL or missing references) //IL_1690: Unknown result type (might be due to invalid IL or missing references) //IL_16c2: Unknown result type (might be due to invalid IL or missing references) //IL_16c7: Unknown result type (might be due to invalid IL or missing references) //IL_16dd: Unknown result type (might be due to invalid IL or missing references) //IL_16e2: Unknown result type (might be due to invalid IL or missing references) //IL_16f8: Unknown result type (might be due to invalid IL or missing references) //IL_16fd: Unknown result type (might be due to invalid IL or missing references) //IL_1702: Unknown result type (might be due to invalid IL or missing references) //IL_1703: Unknown result type (might be due to invalid IL or missing references) //IL_171d: Unknown result type (might be due to invalid IL or missing references) //IL_1726: Unknown result type (might be due to invalid IL or missing references) //IL_1758: Unknown result type (might be due to invalid IL or missing references) //IL_175d: Unknown result type (might be due to invalid IL or missing references) //IL_1773: Unknown result type (might be due to invalid IL or missing references) //IL_1778: Unknown result type (might be due to invalid IL or missing references) //IL_178e: Unknown result type (might be due to invalid IL or missing references) //IL_1793: Unknown result type (might be due to invalid IL or missing references) //IL_1798: Unknown result type (might be due to invalid IL or missing references) //IL_1799: Unknown result type (might be due to invalid IL or missing references) //IL_17b3: Unknown result type (might be due to invalid IL or missing references) //IL_17bc: Unknown result type (might be due to invalid IL or missing references) //IL_17ee: Unknown result type (might be due to invalid IL or missing references) //IL_17f3: Unknown result type (might be due to invalid IL or missing references) //IL_1809: Unknown result type (might be due to invalid IL or missing references) //IL_180e: Unknown result type (might be due to invalid IL or missing references) //IL_1824: Unknown result type (might be due to invalid IL or missing references) //IL_1829: Unknown result type (might be due to invalid IL or missing references) //IL_182e: Unknown result type (might be due to invalid IL or missing references) //IL_182f: Unknown result type (might be due to invalid IL or missing references) //IL_1849: Unknown result type (might be due to invalid IL or missing references) //IL_1852: Unknown result type (might be due to invalid IL or missing references) //IL_1884: Unknown result type (might be due to invalid IL or missing references) //IL_1889: Unknown result type (might be due to invalid IL or missing references) //IL_189f: Unknown result type (might be due to invalid IL or missing references) //IL_18a4: Unknown result type (might be due to invalid IL or missing references) //IL_18ba: Unknown result type (might be due to invalid IL or missing references) //IL_18bf: Unknown result type (might be due to invalid IL or missing references) //IL_18c4: Unknown result type (might be due to invalid IL or missing references) //IL_18c5: Unknown result type (might be due to invalid IL or missing references) //IL_18df: Unknown result type (might be due to invalid IL or missing references) //IL_18e8: Unknown result type (might be due to invalid IL or missing references) //IL_191a: Unknown result type (might be due to invalid IL or missing references) //IL_191f: Unknown result type (might be due to invalid IL or missing references) //IL_1935: Unknown result type (might be due to invalid IL or missing references) //IL_193a: Unknown result type (might be due to invalid IL or missing references) //IL_1950: Unknown result type (might be due to invalid IL or missing references) //IL_1955: Unknown result type (might be due to invalid IL or missing references) //IL_195a: Unknown result type (might be due to invalid IL or missing references) //IL_195b: Unknown result type (might be due to invalid IL or missing references) //IL_1975: Unknown result type (might be due to invalid IL or missing references) //IL_197e: Unknown result type (might be due to invalid IL or missing references) //IL_19b0: Unknown result type (might be due to invalid IL or missing references) //IL_19b5: Unknown result type (might be due to invalid IL or missing references) //IL_19cb: Unknown result type (might be due to invalid IL or missing references) //IL_19d0: Unknown result type (might be due to invalid IL or missing references) //IL_19e6: Unknown result type (might be due to invalid IL or missing references) //IL_19eb: Unknown result type (might be due to invalid IL or missing references) //IL_19f0: Unknown result type (might be due to invalid IL or missing references) //IL_19f1: Unknown result type (might be due to invalid IL or missing references) //IL_1a0b: Unknown result type (might be due to invalid IL or missing references) //IL_1a14: Unknown result type (might be due to invalid IL or missing references) //IL_1a46: Unknown result type (might be due to invalid IL or missing references) //IL_1a4b: Unknown result type (might be due to invalid IL or missing references) //IL_1a61: Unknown result type (might be due to invalid IL or missing references) //IL_1a66: Unknown result type (might be due to invalid IL or missing references) //IL_1a7c: Unknown result type (might be due to invalid IL or missing references) //IL_1a81: Unknown result type (might be due to invalid IL or missing references) //IL_1a86: Unknown result type (might be due to invalid IL or missing references) //IL_1a87: Unknown result type (might be due to invalid IL or missing references) //IL_1aa1: Unknown result type (might be due to invalid IL or missing references) //IL_1aaa: Unknown result type (might be due to invalid IL or missing references) //IL_1adc: Unknown result type (might be due to invalid IL or missing references) //IL_1ae1: Unknown result type (might be due to invalid IL or missing references) //IL_1af7: Unknown result type (might be due to invalid IL or missing references) //IL_1afc: Unknown result type (might be due to invalid IL or missing references) //IL_1b12: Unknown result type (might be due to invalid IL or missing references) //IL_1b17: Unknown result type (might be due to invalid IL or missing references) //IL_1b1c: Unknown result type (might be due to invalid IL or missing references) //IL_1b1d: Unknown result type (might be due to invalid IL or missing references) //IL_1b37: Unknown result type (might be due to invalid IL or missing references) //IL_1b40: Unknown result type (might be due to invalid IL or missing references) //IL_1b72: Unknown result type (might be due to invalid IL or missing references) //IL_1b77: Unknown result type (might be due to invalid IL or missing references) //IL_1b8d: Unknown result type (might be due to invalid IL or missing references) //IL_1b92: Unknown result type (might be due to invalid IL or missing references) //IL_1ba8: Unknown result type (might be due to invalid IL or missing references) //IL_1bad: Unknown result type (might be due to invalid IL or missing references) //IL_1bb2: Unknown result type (might be due to invalid IL or missing references) //IL_1bb3: Unknown result type (might be due to invalid IL or missing references) //IL_1bcd: Unknown result type (might be due to invalid IL or missing references) //IL_1bd6: Unknown result type (might be due to invalid IL or missing references) //IL_1c08: Unknown result type (might be due to invalid IL or missing references) //IL_1c0d: Unknown result type (might be due to invalid IL or missing references) //IL_1c23: Unknown result type (might be due to invalid IL or missing references) //IL_1c28: Unknown result type (might be due to invalid IL or missing references) //IL_1c3e: Unknown result type (might be due to invalid IL or missing references) //IL_1c43: Unknown result type (might be due to invalid IL or missing references) //IL_1c48: Unknown result type (might be due to invalid IL or missing references) //IL_1c49: Unknown result type (might be due to invalid IL or missing references) //IL_1c63: Unknown result type (might be due to invalid IL or missing references) //IL_1c6c: Unknown result type (might be due to invalid IL or missing references) //IL_1c9e: Unknown result type (might be due to invalid IL or missing references) //IL_1ca3: Unknown result type (might be due to invalid IL or missing references) //IL_1cb9: Unknown result type (might be due to invalid IL or missing references) //IL_1cbe: Unknown result type (might be due to invalid IL or missing references) //IL_1cd4: Unknown result type (might be due to invalid IL or missing references) //IL_1cd9: Unknown result type (might be due to invalid IL or missing references) //IL_1cde: Unknown result type (might be due to invalid IL or missing references) //IL_1cdf: Unknown result type (might be due to invalid IL or missing references) //IL_1cf9: Unknown result type (might be due to invalid IL or missing references) //IL_1d02: Unknown result type (might be due to invalid IL or missing references) //IL_1d34: Unknown result type (might be due to invalid IL or missing references) //IL_1d39: Unknown result type (might be due to invalid IL or missing references) //IL_1d4f: Unknown result type (might be due to invalid IL or missing references) //IL_1d54: Unknown result type (might be due to invalid IL or missing references) //IL_1d6a: Unknown result type (might be due to invalid IL or missing references) //IL_1d6f: Unknown result type (might be due to invalid IL or missing references) //IL_1d74: Unknown result type (might be due to invalid IL or missing references) //IL_1d75: Unknown result type (might be due to invalid IL or missing references) //IL_1d8f: Unknown result type (might be due to invalid IL or missing references) //IL_1d98: Unknown result type (might be due to invalid IL or missing references) //IL_1dca: Unknown result type (might be due to invalid IL or missing references) //IL_1dcf: Unknown result type (might be due to invalid IL or missing references) //IL_1de5: Unknown result type (might be due to invalid IL or missing references) //IL_1dea: Unknown result type (might be due to invalid IL or missing references) //IL_1e00: Unknown result type (might be due to invalid IL or missing references) //IL_1e05: Unknown result type (might be due to invalid IL or missing references) //IL_1e0a: Unknown result type (might be due to invalid IL or missing references)