Decompiled source of MoreElites v1.1.2
MoreElites.dll
Decompiled an hour 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 Microsoft.CodeAnalysis; using On.RoR2; using R2API; using RiskOfOptions; using RiskOfOptions.OptionConfigs; using RiskOfOptions.Options; using RoR2; using RoR2.Navigation; using RoR2.Projectile; 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+b811759bc2a461c8a2b112589123ebd68fbc7cd6")] [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.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 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() { //IL_0017: Unknown result type (might be due to invalid IL or missing references) ((SpawnCard)spawnCard).nodeGraphType = (GraphType)(base.body.isFlying ? 1 : 0); if (!hasEverSpawned) { DeployableMinionSpawner obj = echoSpawner1; obj.respawnStopwatch += 1f; DeployableMinionSpawner obj2 = echoSpawner2; obj2.respawnStopwatch += 1f; } } public void Awake() { ((Behaviour)this).enabled = false; Util.PlaySound("Play_voidRaid_fog_explode", ((Component)this).gameObject); } public void OnEnable() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) MasterIndex val = MasterCatalog.FindAiMasterIndexForBody(base.body.bodyIndex); spawnCard = ScriptableObject.CreateInstance<CharacterSpawnCard>(); ((SpawnCard)spawnCard).prefab = MasterCatalog.GetMasterPrefab(val); spawnCard.inventoryToCopy = base.body.inventory; spawnCard.equipmentToGrant = (EquipmentDef[])(object)new EquipmentDef[1]; spawnCard.itemsToGrant = (ItemCountPair[])(object)new ItemCountPair[1] { new ItemCountPair { itemDef = EliteBase<Echo>.Instance.summonedEchoItem, count = 1 } }; CreateSpawners(); } public void OnDisable() { 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(); } } DestroySpawners(); } public void CreateSpawners() { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Expected O, but got Unknown Xoroshiro128Plus rng = new Xoroshiro128Plus(Run.instance.seed ^ (ulong)((Object)this).GetInstanceID()); CreateSpawner(ref echoSpawner1, (DeployableSlot)12, (SpawnCard)(object)spawnCard); CreateSpawner(ref echoSpawner2, (DeployableSlot)13, (SpawnCard)(object)spawnCard); void CreateSpawner(ref DeployableMinionSpawner buddySpawner, DeployableSlot deployableSlot, SpawnCard spawnCard) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Expected O, but got Unknown buddySpawner = new DeployableMinionSpawner(base.body.master, deployableSlot, rng) { maxSpawnDistance = 20f, respawnInterval = 30f, spawnCard = spawnCard }; buddySpawner.onMinionSpawnedServer += OnMinionSpawnedServer; } } public void DestroySpawners() { DeployableMinionSpawner obj = echoSpawner1; if (obj != null) { obj.Dispose(); } echoSpawner1 = null; DeployableMinionSpawner obj2 = echoSpawner2; if (obj2 != null) { obj2.Dispose(); } echoSpawner2 = null; } public void OnMinionSpawnedServer(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)) { return; } 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); }); } } } 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 }); } } } } public ItemDef summonedEchoItem; public Material echoMatBlack = Addressables.LoadAssetAsync<Material>((object)"RoR2/InDev/matEcho.mat").WaitForCompletion(); public GameObject echoProjectile = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)"RoR2/InDev/EchoHunterProjectile.prefab").WaitForCompletion(), "EchoHunterProjectile"); 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 EliteTier EliteTierDef => (EliteTier)PluginConfig.eliteTierEcho.Value; public override Color EliteColor => Color.black; public override Texture2D EliteRamp => Addressables.LoadAssetAsync<Texture2D>((object)"RoR2/Base/Common/ColorRamps/texRampShadowClone.png").WaitForCompletion(); public override Sprite EliteIcon => Addressables.LoadAssetAsync<Sprite>((object)"RoR2/Base/EliteIce/texBuffAffixWhite.tif").WaitForCompletion(); public override Sprite AspectIcon => 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_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Expected O, but got Unknown //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: 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_00ea: Expected O, but got Unknown //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Expected O, but got Unknown //IL_0102: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Expected O, but got Unknown base.Init(); ItemDef val = Addressables.LoadAssetAsync<ItemDef>((object)"RoR2/InDev/SummonedEcho.asset").WaitForCompletion(); CustomItem val2 = new CustomItem("EchoSummonItem", CustomEquipmentDef.EquipmentDef.nameToken, CustomEquipmentDef.EquipmentDef.descriptionToken, CustomEquipmentDef.EquipmentDef.loreToken, CustomEquipmentDef.EquipmentDef.pickupToken, val.pickupIconSprite, val.pickupModelPrefab, val.tier, val.tags, val.canRemove, val.hidden, (UnlockableDef)null, (ItemDisplayRuleDict)null); summonedEchoItem = val2.ItemDef; ItemAPI.Add(val2); GameObject val3 = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteHaunted/DisplayEliteStealthCrown.prefab").WaitForCompletion(), "EchoCrown"); val3.AddComponent<NetworkIdentity>(); CustomEquipmentDef.ItemDisplayRules = ItemDisplays.CreateItemDisplayRules(val3, EliteMaterial); RecalculateStatsAPI.GetStatCoefficients += new StatHookEventHandler(ReduceSummonHP); CharacterMaster.OnBodyStart += new hook_OnBodyStart(CharacterMaster_OnBodyStart); CharacterModel.UpdateOverlays += new hook_UpdateOverlays(CharacterModel_UpdateOverlays); } public override void OnBuffGained(CharacterBody self) { if (NetworkServer.active) { self.AddItemBehavior<CustomAffixEchoBehavior>(1); } } public override void OnBuffLost(CharacterBody self) { if (NetworkServer.active) { self.AddItemBehavior<CustomAffixEchoBehavior>(0); } } private void ReduceSummonHP(CharacterBody sender, StatHookEventArgs args) { int num = (Object.op_Implicit((Object)(object)sender.inventory) ? sender.inventory.GetItemCount(summonedEchoItem) : 0); if (num > 0) { args.baseCurseAdd += Mathf.Pow(10f, (float)num) - 1f; } } private void CharacterMaster_OnBodyStart(orig_OnBodyStart orig, CharacterMaster self, CharacterBody body) { orig.Invoke(self, body); if (((Object.op_Implicit((Object)(object)self.inventory) && self.inventory.GetItemCount(summonedEchoItem) != 0) ? 1 : 0) > (false ? 1 : 0)) { ((Component)body).gameObject.AddComponent<CustomSummonedEchoBodyBehavior>(); } } 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.GetItemCount(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 EliteTier EliteTierDef { get; } public abstract Color EliteColor { get; } public abstract Texture2D EliteRamp { get; } public abstract Sprite EliteIcon { get; } public abstract Sprite AspectIcon { get; } 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 abstract void OnBuffGained(CharacterBody body); public abstract void OnBuffLost(CharacterBody body); public static void CreateElites() { //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Expected O, but got Unknown //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Expected O, but got Unknown if (PluginConfig.enableEcho.Value) { new Echo(); } if (PluginConfig.enableEmpowering.Value) { new Empowering(); } if (PluginConfig.enableFrenzied.Value) { new Frenzied(); } if (PluginConfig.enableVolatile.Value) { new Volatile(); } if (!EliteInstances.Any()) { return; } foreach (EliteBase eliteInstance in EliteInstances) { eliteInstance.Init(); ContentAddition.AddBuffDef(eliteInstance.EliteBuffDef); ItemAPI.Add(eliteInstance.CustomEquipmentDef); EliteAPI.Add(eliteInstance.CustomEliteDef); if (eliteInstance.CustomEliteDefHonor != null) { EliteAPI.Add(eliteInstance.CustomEliteDefHonor); } } 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)) { 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)) { 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(); 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 + "_PICKUP_DESC", PickupText ?? ("Aspect of " + Name)); LanguageAPI.Add("EQUIPMENT_AFFIX_" + NameToken + "_DESC", DescriptionText ?? ""); LanguageAPI.Add("EQUIPMENT_AFFIX_" + NameToken + "_LORE", LoreText ?? ""); } 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; } 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; } } public virtual void SetupElite() { //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Expected O, but got Unknown //IL_0102: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Expected O, but got Unknown IEnumerable<EliteTierDef> vanillaEliteTierDef = GetVanillaEliteTierDef(EliteTierDef); if (vanillaEliteTierDef != null) { CustomEliteDef = new CustomElite("ed" + Name, CustomEquipmentDef.EquipmentDef, Color32.op_Implicit(EliteColor), "ELITE_MODIFIER_" + NameToken, vanillaEliteTierDef, EliteRamp); CustomEliteDef.EliteDef.healthBoostCoefficient = ((EliteTierDef < EliteTier.T2) ? PluginConfig.t1HealthMult.Value : PluginConfig.t2HealthMult.Value); CustomEliteDef.EliteDef.damageBoostCoefficient = ((EliteTierDef < EliteTier.T2) ? PluginConfig.t1DamageMult.Value : PluginConfig.t2DamageMult.Value); EliteBuffDef.eliteDef = CustomEliteDef.EliteDef; IEnumerable<EliteTierDef> vanillaEliteHonorTierDef = GetVanillaEliteHonorTierDef(EliteTierDef); if (vanillaEliteHonorTierDef != null) { CustomEliteDefHonor = new CustomElite("ed" + Name + "Honor", CustomEquipmentDef.EquipmentDef, Color32.op_Implicit(EliteColor), "ELITE_MODIFIER_" + NameToken, vanillaEliteHonorTierDef, EliteRamp); CustomEliteDefHonor.EliteDef.healthBoostCoefficient = PluginConfig.t1HonorHealthMult.Value; CustomEliteDefHonor.EliteDef.damageBoostCoefficient = PluginConfig.t1HonorDamageMult.Value; } } } private IEnumerable<EliteTierDef> GetVanillaEliteTierDef(EliteTier tier) { return tier switch { EliteTier.None => null, EliteTier.T1 => new <>z__ReadOnlyArray<EliteTierDef>((EliteTierDef[])(object)new EliteTierDef[2] { EliteAPI.VanillaEliteTiers[1], EliteAPI.VanillaEliteTiers[4] }), EliteTier.T1Honor => new <>z__ReadOnlyArray<EliteTierDef>((EliteTierDef[])(object)new EliteTierDef[2] { EliteAPI.VanillaEliteTiers[2], EliteAPI.VanillaEliteTiers[3] }), _ => new <>z__ReadOnlySingleElementList<EliteTierDef>(EliteAPI.VanillaEliteTiers[(int)tier]), }; } private IEnumerable<EliteTierDef> GetVanillaEliteHonorTierDef(EliteTier tier) { return tier switch { EliteTier.T1 => new <>z__ReadOnlyArray<EliteTierDef>((EliteTierDef[])(object)new EliteTierDef[2] { EliteAPI.VanillaEliteTiers[2], EliteAPI.VanillaEliteTiers[3] }), EliteTier.T1Guilded => new <>z__ReadOnlySingleElementList<EliteTierDef>(EliteAPI.VanillaEliteTiers[3]), _ => null, }; } } 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 EliteTier EliteTierDef => (EliteTier)PluginConfig.eliteTierEmpowering.Value; public override Color EliteColor => new Color(1f, 0.5f, 0f); public override Texture2D EliteRamp => Addressables.LoadAssetAsync<Texture2D>((object)"RoR2/Base/Common/ColorRamps/texRampMagmaWorm.png").WaitForCompletion(); public override Sprite EliteIcon => Addressables.LoadAssetAsync<Sprite>((object)"RoR2/Base/EliteIce/texBuffAffixWhite.tif").WaitForCompletion(); public override Sprite AspectIcon => 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 { 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()); } } } public IEnumerator Teleport() { CalculateBlinkDestination(); if (blinkStart != blinkDestination) { Util.PlaySound("Play_parent_teleport", ((Component)this).gameObject); CreateBlinkEffect(Util.GetCorePosition(((Component)this).gameObject)); TeleportHelper.TeleportBody(base.body, blinkDestination, false); yield return (object)new WaitForSeconds(0.33f); CreateBlinkEffect(Util.GetCorePosition(((Component)this).gameObject)); } } 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 EliteTier EliteTierDef => (EliteTier)PluginConfig.eliteTierFrenzied.Value; public override Color EliteColor => Color.yellow; public override Texture2D EliteRamp => Addressables.LoadAssetAsync<Texture2D>((object)"RoR2/Base/Common/ColorRamps/texRampWarbanner2.png").WaitForCompletion(); public override Sprite EliteIcon => Addressables.LoadAssetAsync<Sprite>((object)"RoR2/Base/EliteIce/texBuffAffixWhite.tif").WaitForCompletion(); public override Sprite AspectIcon => 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 EliteTier EliteTierDef => (EliteTier)PluginConfig.eliteTierVolatile.Value; public override Color EliteColor => Color.red; public override Texture2D EliteRamp => Addressables.LoadAssetAsync<Texture2D>((object)"RoR2/DLC1/Common/ColorRamps/texRampStrongerBurn.png").WaitForCompletion(); public override Sprite EliteIcon => Addressables.LoadAssetAsync<Sprite>((object)"RoR2/Base/EliteIce/texBuffAffixWhite.tif").WaitForCompletion(); public override Sprite AspectIcon => 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_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: 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 = 10f; component.maxVelocity = 20f; component.turbulence = 6f; 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 = 4f * 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.25f), 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 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_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Expected O, but got Unknown //IL_0038: 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_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_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_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: 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_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_0139: Unknown result type (might be due to invalid IL or missing references) //IL_013a: 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_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Unknown result type (might be due to invalid IL or missing references) //IL_018c: Unknown result type (might be due to invalid IL or missing references) //IL_01a2: Unknown result type (might be due to invalid IL or missing references) //IL_01a7: Unknown result type (might be due to invalid IL or missing references) //IL_01bd: Unknown result type (might be due to invalid IL or missing references) //IL_01c2: Unknown result type (might be due to invalid IL or missing references) //IL_01c7: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01e2: 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_0215: Unknown result type (might be due to invalid IL or missing references) //IL_021a: Unknown result type (might be due to invalid IL or missing references) //IL_0230: Unknown result type (might be due to invalid IL or missing references) //IL_0235: Unknown result type (might be due to invalid IL or missing references) //IL_024b: Unknown result type (might be due to invalid IL or missing references) //IL_0250: Unknown result type (might be due to invalid IL or missing references) //IL_0255: Unknown result type (might be due to invalid IL or missing references) //IL_0256: Unknown result type (might be due to invalid IL or missing references) //IL_0270: Unknown result type (might be due to invalid IL or missing references) //IL_0279: Unknown result type (might be due to invalid IL or missing references) //IL_02a3: Unknown result type (might be due to invalid IL or missing references) //IL_02a8: Unknown result type (might be due to invalid IL or missing references) //IL_02be: Unknown result type (might be due to invalid IL or missing references) //IL_02c3: Unknown result type (might be due to invalid IL or missing references) //IL_02d9: Unknown result type (might be due to invalid IL or missing references) //IL_02de: Unknown result type (might be due to invalid IL or missing references) //IL_02e3: Unknown result type (might be due to invalid IL or missing references) //IL_02e4: Unknown result type (might be due to invalid IL or missing references) //IL_02fe: Unknown result type (might be due to invalid IL or missing references) //IL_0307: Unknown result type (might be due to invalid IL or missing references) //IL_0331: Unknown result type (might be due to invalid IL or missing references) //IL_0336: Unknown result type (might be due to invalid IL or missing references) //IL_034c: Unknown result type (might be due to invalid IL or missing references) //IL_0351: Unknown result type (might be due to invalid IL or missing references) //IL_0367: 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_0372: 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_0395: Unknown result type (might be due to invalid IL or missing references) //IL_03bf: Unknown result type (might be due to invalid IL or missing references) //IL_03c4: Unknown result type (might be due to invalid IL or missing references) //IL_03da: Unknown result type (might be due to invalid IL or missing references) //IL_03df: Unknown result type (might be due to invalid IL or missing references) //IL_03f5: Unknown result type (might be due to invalid IL or missing references) //IL_03fa: Unknown result type (might be due to invalid IL or missing references) //IL_03ff: Unknown result type (might be due to invalid IL or missing references) //IL_0400: Unknown result type (might be due to invalid IL or missing references) //IL_041a: Unknown result type (might be due to invalid IL or missing references) //IL_0423: Unknown result type (might be due to invalid IL or missing references) //IL_044d: Unknown result type (might be due to invalid IL or missing references) //IL_0452: Unknown result type (might be due to invalid IL or missing references) //IL_0468: Unknown result type (might be due to invalid IL or missing references) //IL_046d: Unknown result type (might be due to invalid IL or missing references) //IL_0483: Unknown result type (might be due to invalid IL or missing references) //IL_0488: Unknown result type (might be due to invalid IL or missing references) //IL_048d: Unknown result type (might be due to invalid IL or missing references) //IL_048e: Unknown result type (might be due to invalid IL or missing references) //IL_04a8: Unknown result type (might be due to invalid IL or missing references) //IL_04b1: Unknown result type (might be due to invalid IL or missing references) //IL_04db: Unknown result type (might be due to invalid IL or missing references) //IL_04e0: Unknown result type (might be due to invalid IL or missing references) //IL_04f6: Unknown result type (might be due to invalid IL or missing references) //IL_04fb: Unknown result type (might be due to invalid IL or missing references) //IL_0511: Unknown result type (might be due to invalid IL or missing references) //IL_0516: Unknown result type (might be due to invalid IL or missing references) //IL_051b: Unknown result type (might be due to invalid IL or missing references) //IL_051c: Unknown result type (might be due to invalid IL or missing references) //IL_0536: Unknown result type (might be due to invalid IL or missing references) //IL_053f: 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_0584: 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_059f: Unknown result type (might be due to invalid IL or missing references) //IL_05a4: Unknown result type (might be due to invalid IL or missing references) //IL_05a9: Unknown result type (might be due to invalid IL or missing references) //IL_05aa: 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_05cd: Unknown result type (might be due to invalid IL or missing references) //IL_05f7: Unknown result type (might be due to invalid IL or missing references) //IL_05fc: Unknown result type (might be due to invalid IL or missing references) //IL_0612: Unknown result type (might be due to invalid IL or missing references) //IL_0617: Unknown result type (might be due to invalid IL or missing references) //IL_062d: Unknown result type (might be due to invalid IL or missing references) //IL_0632: Unknown result type (might be due to invalid IL or missing references) //IL_0637: Unknown result type (might be due to invalid IL or missing references) //IL_0638: Unknown result type (might be due to invalid IL or missing references) //IL_0652: Unknown result type (might be due to invalid IL or missing references) //IL_065b: Unknown result type (might be due to invalid IL or missing references) //IL_0685: Unknown result type (might be due to invalid IL or missing references) //IL_068a: Unknown result type (might be due to invalid IL or missing references) //IL_06a0: Unknown result type (might be due to invalid IL or missing references) //IL_06a5: Unknown result type (might be due to invalid IL or missing references) //IL_06bb: Unknown result type (might be due to invalid IL or missing references) //IL_06c0: Unknown result type (might be due to invalid IL or missing references) //IL_06c5: Unknown result type (might be due to invalid IL or missing references) //IL_06c6: Unknown result type (might be due to invalid IL or missing references) //IL_06e0: Unknown result type (might be due to invalid IL or missing references) //IL_06e9: Unknown result type (might be due to invalid IL or missing references) //IL_0713: Unknown result type (might be due to invalid IL or missing references) //IL_0718: Unknown result type (might be due to invalid IL or missing references) //IL_072e: Unknown result type (might be due to invalid IL or missing references) //IL_0733: Unknown result type (might be due to invalid IL or missing references) //IL_0749: Unknown result type (might be due to invalid IL or missing references) //IL_074e: Unknown result type (might be due to invalid IL or missing references) //IL_0753: 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_076e: Unknown result type (might be due to invalid IL or missing references) //IL_0777: 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_07d7: Unknown result type (might be due to invalid IL or missing references) //IL_07dc: 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_07e2: Unknown result type (might be due to invalid IL or missing references) //IL_07fc: Unknown result type (might be due to invalid IL or missing references) //IL_0805: Unknown result type (might be due to invalid IL or missing references) //IL_082f: Unknown result type (might be due to invalid IL or missing references) //IL_0834: Unknown result type (might be due to invalid IL or missing references) //IL_084a: Unknown result type (might be due to invalid IL or missing references) //IL_084f: Unknown result type (might be due to invalid IL or missing references) //IL_0865: Unknown result type (might be due to invalid IL or missing references) //IL_086a: Unknown result type (might be due to invalid IL or missing references) //IL_086f: Unknown result type (might be due to invalid IL or missing references) //IL_0870: Unknown result type (might be due to invalid IL or missing references) //IL_088a: Unknown result type (might be due to invalid IL or missing references) //IL_0893: Unknown result type (might be due to invalid IL or missing references) //IL_08bd: Unknown result type (might be due to invalid IL or missing references) //IL_08c2: Unknown result type (might be due to invalid IL or missing references) //IL_08d8: Unknown result type (might be due to invalid IL or missing references) //IL_08dd: 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_08f8: Unknown result type (might be due to invalid IL or missing references) //IL_08fd: Unknown result type (might be due to invalid IL or missing references) //IL_08fe: Unknown result type (might be due to invalid IL or missing references) //IL_0918: Unknown result type (might be due to invalid IL or missing references) //IL_0921: Unknown result type (might be due to invalid IL or missing references) //IL_094b: Unknown result type (might be due to invalid IL or missing references) //IL_0950: Unknown result type (might be due to invalid IL or missing references) //IL_0966: Unknown result type (might be due to invalid IL or missing references) //IL_096b: Unknown result type (might be due to invalid IL or missing references) //IL_0981: Unknown result type (might be due to invalid IL or missing references) //IL_0986: Unknown result type (might be due to invalid IL or missing references) //IL_098b: Unknown result type (might be due to invalid IL or missing references) //IL_098c: Unknown result type (might be due to invalid IL or missing references) //IL_09a6: Unknown result type (might be due to invalid IL or missing references) //IL_09af: Unknown result type (might be due to invalid IL or missing references) //IL_09d9: 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_09f4: 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_0a0f: 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_0a1a: Unknown result type (might be due to invalid IL or missing references) //IL_0a34: Unknown result type (might be due to invalid IL or missing references) //IL_0a3d: Unknown result type (might be due to invalid IL or missing references) //IL_0a67: Unknown result type (might be due to invalid IL or missing references) //IL_0a6c: Unknown result type (might be due to invalid IL or missing references) //IL_0a82: Unknown result type (might be due to invalid IL or missing references) //IL_0a87: Unknown result type (might be due to invalid IL or missing references) //IL_0a9d: Unknown result type (might be due to invalid IL or missing references) //IL_0aa2: Unknown result type (might be due to invalid IL or missing references) //IL_0aa7: Unknown result type (might be due to invalid IL or missing references) //IL_0aa8: Unknown result type (might be due to invalid IL or missing references) //IL_0ac2: Unknown result type (might be due to invalid IL or missing references) //IL_0acb: Unknown result type (might be due to invalid IL or missing references) //IL_0af5: Unknown result type (might be due to invalid IL or missing references) //IL_0afa: Unknown result type (might be due to invalid IL or missing references) //IL_0b10: Unknown result type (might be due to invalid IL or missing references) //IL_0b15: Unknown result type (might be due to invalid IL or missing references) //IL_0b2b: Unknown result type (might be due to invalid IL or missing references) //IL_0b30: Unknown result type (might be due to invalid IL or missing references) //IL_0b35: Unknown result type (might be due to invalid IL or missing references) //IL_0b36: Unknown result type (might be due to invalid IL or missing references) //IL_0b50: Unknown result type (might be due to invalid IL or missing references) //IL_0b59: Unknown result type (might be due to invalid IL or missing references) //IL_0b83: Unknown result type (might be due to invalid IL or missing references) //IL_0b88: Unknown result type (might be due to invalid IL or missing references) //IL_0b9e: Unknown result type (might be due to invalid IL or missing references) //IL_0ba3: Unknown result type (might be due to invalid IL or missing references) //IL_0bb9: Unknown result type (might be due to invalid IL or missing references) //IL_0bbe: Unknown result type (might be due to invalid IL or missing references) //IL_0bc3: Unknown result type (might be due to invalid IL or missing references) //IL_0bc4: Unknown result type (might be due to invalid IL or missing references) //IL_0bde: Unknown result type (might be due to invalid IL or missing references) //IL_0be7: Unknown result type (might be due to invalid IL or missing references) //IL_0c11: Unknown result type (might be due to invalid IL or missing references) //IL_0c16: Unknown result type (might be due to invalid IL or missing references) //IL_0c2c: Unknown result type (might be due to invalid IL or missing references) //IL_0c31: Unknown result type (might be due to invalid IL or missing references) //IL_0c47: Unknown result type (might be due to invalid IL or missing references) //IL_0c4c: 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_0c52: 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_0c75: Unknown result type (might be due to invalid IL or missing references) //IL_0c9f: Unknown result type (might be due to invalid IL or missing references) //IL_0ca4: Unknown result type (might be due to invalid IL or missing references) //IL_0cba: Unknown result type (might be due to invalid IL or missing references) //IL_0cbf: Unknown result type (might be due to invalid IL or missing references) //IL_0cd5: Unknown result type (might be due to invalid IL or missing references) //IL_0cda: Unknown result type (might be due to invalid IL or missing references) //IL_0cdf: Unknown result type (might be due to invalid IL or missing references) //IL_0ce0: Unknown result type (might be due to invalid IL or missing references) //IL_0cfa: Unknown result type (might be due to invalid IL or missing references) //IL_0d03: Unknown result type (might be due to invalid IL or missing references) //IL_0d2d: Unknown result type (might be due to invalid IL or missing references) //IL_0d32: Unknown result type (might be due to invalid IL or missing references) //IL_0d48: Unknown result type (might be due to invalid IL or missing references) //IL_0d4d: Unknown result type (might be due to invalid IL or missing references) //IL_0d63: Unknown result type (might be due to invalid IL or missing references) //IL_0d68: Unknown result type (might be due to invalid IL or missing references) //IL_0d6d: Unknown result type (might be due to invalid IL or missing references) //IL_0d6e: Unknown result type (might be due to invalid IL or missing references) //IL_0d88: Unknown result type (might be due to invalid IL or missing references) //IL_0d91: Unknown result type (might be due to invalid IL or missing references) //IL_0dbb: Unknown result type (might be due to invalid IL or missing references) //IL_0dc0: Unknown result type (might be due to invalid IL or missing references) //IL_0dd6: Unknown result type (might be due to invalid IL or missing references) //IL_0ddb: Unknown result type (might be due to invalid IL or missing references) //IL_0df1: Unknown result type (might be due to invalid IL or missing references) //IL_0df6: Unknown result type (might be due to invalid IL or missing references) //IL_0dfb: Unknown result type (might be due to invalid IL or missing references) //IL_0dfc: Unknown result type (might be due to invalid IL or missing references) //IL_0e16: Unknown result type (might be due to invalid IL or missing references) //IL_0e1f: Unknown result type (might be due to invalid IL or missing references) //IL_0e49: Unknown result type (might be due to invalid IL or missing references) //IL_0e4e: Unknown result type (might be due to invalid IL or missing references) //IL_0e64: Unknown result type (might be due to invalid IL or missing references) //IL_0e69: Unknown result type (might be due to invalid IL or missing references) //IL_0e7f: Unknown result type (might be due to invalid IL or missing references) //IL_0e84: Unknown result type (might be due to invalid IL or missing references) //IL_0e89: Unknown result type (might be due to invalid IL or missing references) //IL_0e8a: Unknown result type (might be due to invalid IL or missing references) //IL_0ea4: Unknown result type (might be due to invalid IL or missing references) //IL_0ead: Unknown result type (might be due to invalid IL or missing references) //IL_0ed7: Unknown result type (might be due to invalid IL or missing references) //IL_0edc: 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_0ef7: Unknown result type (might be due to invalid IL or missing references) //IL_0f0d: Unknown result type (might be due to invalid IL or missing references) //IL_0f12: Unknown result type (might be due to invalid IL or missing references) //IL_0f17: Unknown result type (might be due to invalid IL or missing references) //IL_0f18: Unknown result type (might be due to invalid IL or missing references) //IL_0f32: Unknown result type (might be due to invalid IL or missing references) //IL_0f3b: 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_0f6a: Unknown result type (might be due to invalid IL or missing references) //IL_0f80: Unknown result type (might be due to invalid IL or missing references) //IL_0f85: Unknown result type (might be due to invalid IL or missing references) //IL_0f9b: Unknown result type (might be due to invalid IL or missing references) //IL_0fa0: Unknown result type (might be due to invalid IL or missing references) //IL_0fa5: Unknown result type (might be due to invalid IL or missing references) //IL_0fa6: Unknown result type (might be due to invalid IL or missing references) //IL_0fc0: Unknown result type (might be due to invalid IL or missing references) //IL_0fc9: Unknown result type (might be due to invalid IL or missing references) //IL_0ff3: Unknown result type (might be due to invalid IL or missing references) //IL_0ff8: Unknown result type (might be due to invalid IL or missing references) //IL_100e: Unknown result type (might be due to invalid IL or missing references) //IL_1013: Unknown result type (might be due to invalid IL or missing references) //IL_1029: Unknown result type (might be due to invalid IL or missing references) //IL_102e: Unknown result type (might be due to invalid IL or missing references) //IL_1033: Unknown result type (might be due to invalid IL or missing references) //IL_1034: Unknown result type (might be due to invalid IL or missing references) //IL_104e: Unknown result type (might be due to invalid IL or missing references) //IL_1057: Unknown result type (might be due to invalid IL or missing references) //IL_1081: 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_109c: Unknown result type (might be due to invalid IL or missing references) //IL_10a1: Unknown result type (might be due to invalid IL or missing references) //IL_10b7: Unknown result type (might be due to invalid IL or missing references) //IL_10bc: Unknown result type (might be due to invalid IL or missing references) //IL_10c1: Unknown result type (might be due to invalid IL or missing references) //IL_10c2: Unknown result type (might be due to invalid IL or missing references) //IL_10dc: Unknown result type (might be due to invalid IL or missing references) //IL_10e5: Unknown result type (might be due to invalid IL or missing references) //IL_110f: Unknown result type (might be due to invalid IL or missing references) //IL_1114: Unknown result type (might be due to invalid IL or missing references) //IL_112a: Unknown result type (might be due to invalid IL or missing references) //IL_112f: Unknown result type (might be due to invalid IL or missing references) //IL_1145: 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_114f: Unknown result type (might be due to invalid IL or missing references) //IL_1150: Unknown result type (might be due to invalid IL or missing references) //IL_116a: Unknown result type (might be due to invalid IL or missing references) //IL_1173: Unknown result type (might be due to invalid IL or missing references) //IL_119d: Unknown result type (might be due to invalid IL or missing references) //IL_11a2: Unknown result type (might be due to invalid IL or missing references) //IL_11b8: 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_11d3: Unknown result type (might be due to invalid IL or missing references) //IL_11d8: Unknown result type (might be due to invalid IL or missing references) //IL_11dd: Unknown result type (might be due to invalid IL or missing references) //IL_11de: Unknown result type (might be due to invalid IL or missing references) //IL_11f8: Unknown result type (might be due to invalid IL or missing references) //IL_1201: Unknown result type (might be due to invalid IL or missing references) //IL_122b: Unknown result type (might be due to invalid IL or missing references) //IL_1230: Unknown result type (might be due to invalid IL or missing references) //IL_1246: Unknown result type (might be due to invalid IL or missing references) //IL_124b: Unknown result type (might be due to invalid IL or missing references) //IL_1261: Unknown result type (might be due to invalid IL or missing references) //IL_1266: Unknown result type (might be due to invalid IL or missing references) //IL_126b: Unknown result type (might be due to invalid IL or missing references) //IL_126c: Unknown result type (might be due to invalid IL or missing references) //IL_1286: Unknown result type (might be due to invalid IL or missing references) //IL_128f: Unknown result type (might be due to invalid IL or missing references) //IL_12b9: Unknown result type (might be due to invalid IL or missing references) //IL_12be: Unknown result type (might be due to invalid IL or missing references) //IL_12d4: Unknown result type (might be due to invalid IL or missing references) //IL_12d9: Unknown result type (might be due to invalid IL or missing references) //IL_12ef: Unknown result type (might be due to invalid IL or missing references) //IL_12f4: Unknown result type (might be due to invalid IL or missing references) //IL_12f9: Unknown result type (might be due to invalid IL or missing references) //IL_12fa: Unknown result type (might be due to invalid IL or missing references) //IL_1314: Unknown result type (might be due to invalid IL or missing references) //IL_131d: Unknown result type (might be due to invalid IL or missing references) //IL_1347: Unknown result type (might be due to invalid IL or missing references) //IL_134c: Unknown result type (might be due to invalid IL or missing references) //IL_1362: Unknown result type (might be due to invalid IL or missing references) //IL_1367: Unknown result type (might be due to invalid IL or missing references) //IL_137d: Unknown result type (might be due to invalid IL or missing references) //IL_1382: Unknown result type (might be due to invalid IL or missing references) //IL_1387: Unknown result type (might be due to invalid IL or missing references) //IL_1388: 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_13ab: Unknown result type (might be due to invalid IL or missing references) //IL_13d5: Unknown result type (might be due to invalid IL or missing references) //IL_13da: Unknown result type (might be due to invalid IL or missing references) //IL_13f0: Unknown result type (might be due to invalid IL or missing references) //IL_13f5: Unknown result type (might be due to invalid IL or missing references) //IL_140b: Unknown result type (might be due to invalid IL or missing references) //IL_1410: 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_1416: Unknown result type (might be due to invalid IL or missing references) //IL_1430: Unknown result type (might be due to invalid IL or missing references) //IL_1439: Unknown result type (might be due to invalid IL or missing references) //IL_1463: Unknown result type (might be due to invalid IL or missing references) //IL_1468: Unknown result type (might be due to invalid IL or missing references) //IL_147e: Unknown result type (might be due to invalid IL or missing references) //IL_1483: Unknown result type (might be due to invalid IL or missing references) //IL_1499: Unknown result type (might be due to invalid IL or missing references) //IL_149e: Unknown result type (might be due to invalid IL or missing references) //IL_14a3: Unknown result type (might be due to invalid IL or missing references) //IL_14a4: Unknown result type (might be due to invalid IL or missing references) //IL_14be: Unknown result type (might be due to invalid IL or missing references) //IL_14c7: Unknown result type (might be due to invalid IL or missing references) //IL_14f1: Unknown result type (might be due to invalid IL or missing references) //IL_14f6: Unknown result type (might be due to invalid IL or missing references) //IL_150c: Unknown result type (might be due to invalid IL or missing references) //IL_1511: Unknown result type (might be due to invalid IL or missing references) //IL_1527: Unknown result type (might be due to invalid IL or missing references) //IL_152c: Unknown result type (might be due to invalid IL or missing references) //IL_1531: Unknown result type (might be due to invalid IL or missing references) //IL_1532: Unknown result type (might be due to invalid IL or missing references) //IL_154c: Unknown result type (might be due to invalid IL or missing references) //IL_1555: Unknown result type (might be due to invalid IL or missing references) //IL_157f: Unknown result type (might be due to invalid IL or missing references) //IL_1584: Unknown result type (might be due to invalid IL or missing references) //IL_159a: Unknown result type (might be due to invalid IL or missing references) //IL_159f: Unknown result type (might be due to invalid IL or missing references) //IL_15b5: Unknown result type (might be due to invalid IL or missing references) //IL_15ba: Unknown result type (might be due to invalid IL or missing references) //IL_15bf: Unknown result type (might be due to invalid IL or missing references) //IL_15c0: Unknown result type (might be due to invalid IL or missing references) //IL_15da: Unknown result type (might be due to invalid IL or missing references) //IL_15e3: Unknown result type (might be due to invalid IL or missing references) //IL_160d: Unknown result type (might be due to invalid IL or missing references) //IL_1612: Unknown result type (might be due to invalid IL or missing references) //IL_1628: Unknown result type (might be due to invalid IL or missing references) //IL_162d: Unknown result type (might be due to invalid IL or missing references) //IL_1643: Unknown result type (might be due to invalid IL or missing references) //IL_1648: Unknown result type (might be due to invalid IL or missing references) //IL_164d: Unknown result type (might be due to invalid IL or missing references) //IL_164e: Unknown result type (might be due to invalid IL or missing references) //IL_1668: Unknown result type (might be due to invalid IL or missing references) //IL_1671: Unknown result type (might be due to invalid IL or missing references) //IL_169b: Unknown result type (might be due to invalid IL or missing references) //IL_16a0: Unknown result type (might be due to invalid IL or missing references) //IL_16b6: Unknown result type (might be due to invalid IL or missing references) //IL_16bb: Unknown result type (might be due to invalid IL or missing references) //IL_16d1: Unknown result type (might be due to invalid IL or missing references) //IL_16d6: Unknown result type (might be due to invalid IL or missing references) //IL_16db: Unknown result type (might be due to invalid IL or missing references) //IL_16dc: Unknown result type (might be due to invalid IL or missing references) //IL_16f6: Unknown result type (might be due to invalid IL or missing references) //IL_16ff: Unknown result type (might be due to invalid IL or missing references) //IL_1729: Unknown result type (might be due to invalid IL or missing references) //IL_172e: Unknown result type (might be due to invalid IL or missing references) //IL_1744: Unknown result type (might be due to invalid IL or missing references) //IL_1749: Unknown result type (might be due to invalid IL or missing references) //IL_175f: Unknown result type (might be due to invalid IL or missing references) //IL_1764: Unknown result type (might be due to invalid IL or missing references) //IL_1769: Unknown result type (might be due to invalid IL or missing references) //IL_176a: Unknown result type (might be due to invalid IL or missing references) //IL_1784: Unknown result type (might be due to invalid IL or missing references) //IL_178d: Unknown result type (might be due to invalid IL or missing references) //IL_17b7: 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_17d2: Unknown result type (might be due to invalid IL or missing references) //IL_17d7: Unknown result type (might be due to invalid IL or missing references) //IL_17ed: Unknown result type (might be due to invalid IL or missing references) //IL_17f2: Unknown result type (might be due to invalid IL or missing references) //IL_17f7: Unknown result type (might be due to invalid IL or missing references) //IL_17f8: Unknown result type (might be due to invalid IL or missing references) //IL_1812: Unknown result type (might be due to invalid IL or missing references) //IL_181b: Unknown result type (might be due to invalid IL or missing references) //IL_1845: Unknown result type (might be due to invalid IL or missing references) //IL_184a: Unknown result type (might be due to invalid IL or missing references) //IL_1860: Unknown result type (might be due to invalid IL or missing references) //IL_1865: Unknown result type (might be due to invalid IL or missing references) //IL_187b: Unknown result type (might be due to invalid IL or missing references) //IL_1880: Unknown result type (might be due to invalid IL or missing references) //IL_1885: Unknown result type (might be due to invalid IL or missing references) //IL_1886: Unknown result type (might be due to invalid IL or missing references) //IL_18a0: Unknown result type (might be due to invalid IL or missing references) //IL_18a9: Unknown result type (might be due to invalid IL or missing references) //IL_18d3: Unknown result type (might be due to invalid IL or missing references) //IL_18d8: Unknown result type (might be due to invalid IL or missing references) //IL_18ee: Unknown result type (might be due to invalid IL or missing references) //IL_18f3: Unknown result type (might be due to invalid IL or missing references) //IL_1909: Unknown result type (might be due to invalid IL or missing references) //IL_190e: Unknown result type (might be due to invalid IL or missing references) //IL_1913: Unknown result type (might be due to invalid IL or missing references) //IL_1914: Unknown result type (might be due to invalid IL or missing references) //IL_192e: Unknown result type (might be due to invalid IL or missing references) //IL_1937: Unknown result type (might be due to invalid IL or missing references) //IL_1961: Unknown result type (might be due to invalid IL or missing references) //IL_1966: Unknown result type (might be due to invalid IL or missing references) //IL_197c: Unknown result type (might be due to invalid IL or missing references) //IL_1981: Unknown result type (might be due to invalid IL or missing references) //IL_1997: Unknown result type (might be due to invalid IL or missing references) //IL_199c: Unknown result type (might be due to invalid IL or missing references) //IL_19a1: Unknown result type (might be due to invalid IL or missing references) //IL_19a2: Unknown result type (might be due to invalid IL or missing references) //IL_19bc: Unknown result type (might be due to invalid IL or missing references) //IL_19c5: Unknown result type (might be due to invalid IL or missing references) //IL_19ef: Unknown result type (might be due to invalid IL or missing references) //IL_19f4: Unknown result type (might be due to invalid IL or missing references) //IL_1a0a: Unknown result type (might be due to invalid IL or missing references) //IL_1a0f: Unknown result type (might be due to invalid IL or missing references) //IL_1a25: Unknown result type (might be due to invalid IL or missing references) //IL_1a2a: Unknown result type (might be due to invalid IL or missing references) //IL_1a2f: Unknown result type (might be due to invalid IL or missing references) //IL_1a30: Unknown result type (might be due to invalid IL or missing references) //IL_1a4a: Unknown result type (might be due to invalid IL or missing references) //IL_1a53: Unknown result type (might be due to invalid IL or missing references) //IL_1a7d: Unknown result type (might be due to invalid IL or missing references) //IL_1a82: Unknown result type (might be due to invalid IL or missing references) //IL_1a98: Unknown result type (might be due to invalid IL or missing references) //IL_1a9d: Unknown result type (might be due to invalid IL or missing references) //IL_1ab3: Unknown result type (might be due to invalid IL or missing references) //IL_1ab8: Unknown result type (might be due to invalid IL or missing references) //IL_1abd: Unknown result type (might be due to invalid IL or missing references) //IL_1abe: Unknown result type (might be due to invalid IL or missing references) //IL_1ad8: 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_1b0b: Unknown result type (might be due to invalid IL or missing references) //IL_1b10: Unknown result type (might be due to invalid IL or missing references) //IL_1b26: Unknown result type (might be due to invalid IL or missing references) //IL_1b2b: Unknown result type (might be due to invalid IL or missing references) //IL_1b41: Unknown result type (might be due to invalid IL or missing references) //IL_1b46: Unknown result type (might be due to invalid IL or missing references) //IL_1b4b: Unknown result type (might be due to invalid IL or missing references) //IL_1b4c: Unknown result type (might be due to invalid IL or missing references) //IL_1b66: Unknown result type (might be due to invalid IL or missing references) //IL_1b6f: Unknown result type (might be due to invalid IL or missing references) //IL_1b99: Unknown result type (might be due to invalid IL or missing references) //IL_1b9e: Unknown result type (might be due to invalid IL or missing references) //IL_1bb4: Unknown result type (might be due to invalid IL or missing references) //IL_1bb9: Unknown result type (might be due to invalid IL or missing references) //IL_1bcf: Unknown result type (might be due to invalid IL or missing references) //IL_1bd4: Unknown result type (might be due to invalid IL or missing references) //IL_1bd9: Unknown result type (might be due to invalid IL or missing references) //IL_1bda: Unknown result type (might be due to invalid IL or missing references) //IL_1bf4: Unknown result type (might be due to invalid IL or missing references) //IL_1bfd: Unknown result type (might be due to invalid IL or missing references) //IL_1c27: Unknown result type (might be due to invalid IL or missing references) //IL_1c2c: Unknown result type (might be due to invalid IL or missing references) //IL_1c42: Unknown result type (might be due to invalid IL or missing references) //IL_1c47: Unknown result type (might be due to invalid IL or missing references) //IL_1c5d: Unknown result type (might be due to invalid IL or missing references) //IL_1c62: Unknown result type (might be due to invalid IL or missing references) //IL_1c67: Unknown result type (might be due to invalid IL or missing references) //IL_1c68: Unknown result type (might be due to invalid IL or missing references) //IL_1c82: Unknown result type (might be due to invalid IL or missing references) //IL_1c8b: Unknown result type (might be due to invalid IL or missing references) //IL_1cb5: Unknown result type (might be due to invalid IL or missing references) //IL_1cba: Unknown result type (might be due to invalid IL or missing references) //IL_1cd0: Unknown result type (might be due to invalid IL or missing references) //IL_1cd5: Unknown result type (might be due to invalid IL or missing references) //IL_1ceb: Unknown result type (might be due to invalid IL or missing references) //IL_1cf0: Unknown result type (might be due to invalid IL or missing references) //IL_1cf5: Unknown result type (might be due to invalid IL or missing references) //IL_1cf6: Unknown result type (might be due to invalid IL or missing references) //IL_1d10: Unknown result type (might be due to invalid IL or missing references) //IL_1d19: Unknown result type (might be due to invalid IL or missing references) //IL_1d43: Unknown result type (might be due to invalid IL or missing references) //IL_1d48: Unknown result type (might be due to invalid IL or missing references) //IL_1d5e: Unknown result type (might be due to invalid IL or missing references) //IL_1d63: Unknown result type (might be due to invalid IL or missing references) //IL_1d79: Unknown result type (might be due to invalid IL or missing references) //IL_1d7e: Unknown result type (might be due to invalid IL or missing references) //IL_1d83: Unknown result type (might be due to invalid IL or missing references) //IL_1d84: Unknown result type (might be due to invalid IL or missing references) ((Renderer)((Component)prefab.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = material; ItemDisplaySetup(prefab); ItemDisplayRuleDict val = new ItemDisplayRuleDict(Array.Empty<ItemDisplayRule>()); val.Add("mdlCommandoDualies", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = prefab, childName = "Head", localPos = new Vector3(-0.0017f, 0.45426f, -0.00889f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.1f, 0.095f, 0.1f) } }); val.Add("mdlHuntress", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = prefab, childName = "Head", localPos = new Vector3(-0.00237f, 0.34538f, -0.06892f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.1f, 0.1f, 0.1f) } }); val.Add("mdlToolbot", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = prefab, childName = "Head", localPos = new Vector3(-0.1519f, 2.71484f, 2.21381f), localAngles = new Vector3(60f, 0f, 0f), localScale = new Vector3(0.5f, 0.5f, 0.5f) } }); val.Add("mdlEngi", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = prefab, childName = "HeadCenter", localPos = new Vector3(-0.00053f, 0.52744f, 0.08005f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.13f, 0.1f, 0.1f) } }); val.Add("mdlMage", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = prefab, childName = "Head", localPos = new Vector3(-0.0125f, 0.23135f, -0.03155f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.1f, 0.1f, 0.1f) } }); val.Add("mdlMerc", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = prefab, childName = "Head", localPos = new Vector3(0.01953f, 0.31854f, 0.01433f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.1f, 0.1f, 0.1f) } }); val.Add("mdlLoader", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = prefab, childName = "Head", localPos = new Vector3(-0.00151f, 0.28744f, -0.00129f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.1f, 0.1f, 0.1f) } }); val.Add("mdlCroco", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = prefab, childName = "Head", localPos = new Vector3(-0.02466f, 0.46623f, 2.35514f), localAngles = new Vector3(70.00002f, 180f, 180f), localScale = new Vector3(0.5f, 0.5f, 0.5f) } }); val.Add("mdlCaptain", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = prefab, childName = "Head", localPos = new Vector3(-0.01106f, 0.28928f, -0.0017f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.1f, 0.1f, 0.1f) } }); val.Add("mdlBandit2", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = prefab, childName = "Head", localPos = new Vector3(-0.01673f, 0.27646f, -0.00129f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.1f, 0.1f, 0.1f) } }); val.Add("mdlEquipmentDrone", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = prefab, childName = "HeadCenter", localPos = new Vector3(0f, 0f, 1.09378f), localAngles = new Vector3(90f, 0f, 0f), localScale = new Vector3(0.3f, 0.3f, 0.3f) } }); val.Add("mdlWarframeWisp(Clone)", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = prefab, childName = "Head", localPos = new Vector3(-0.00284f, 0.25323f, -0.07018f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.1f, 0.1f, 0.1f) } }); val.Add("mdlRailGunner", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = prefab, childName = "Head", localPos = new Vector3(-0.00025f, 0.24998f, -0.01575f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.1f, 0.1f, 0.1f) } }); val.Add("mdlVoidSurvivor", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = prefab, childName = "Head", localPos = new Vector3(0.02781f, 0.27557f, 0.02447f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.1f, 0.1f, 0.1f) } }); val.Add("mdlHeretic", (ItemDisplayRule[])(object)new ItemDi