Decompiled source of MoreElites v1.2.1
MoreElites.dll
Decompiled 3 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using Microsoft.CodeAnalysis; using MiscFixes.Modules; using On.RoR2; using R2API; using RiskOfOptions; using RoR2; using RoR2.Navigation; using RoR2.Projectile; using RoR2BepInExPack.GameAssetPaths; 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+205ed8963426802b241c82a30467e7f5054ece84")] [assembly: AssemblyProduct("MoreElites")] [assembly: AssemblyTitle("MoreElites")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace MoreElites { public static class EliteRampGenerator { private static Material malachiteOverlayMat = new Material(Addressables.LoadAssetAsync<Material>((object)RoR2_Base_ElitePoison.matElitePoisonOverlay_mat).WaitForCompletion()); public static Texture2D CreateGradientTexture(Color32[] colors, int width, int height) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) Texture2D val = new Texture2D(width, height); ((Texture)val).wrapMode = (TextureWrapMode)1; for (int i = 0; i < height; i++) { for (int j = 0; j < width; j++) { float num = (float)j / (float)(width - 1) * (float)(colors.Length - 1); int num2 = Mathf.FloorToInt(num); float t = num - (float)num2; if (num2 >= colors.Length - 1) { num2 = colors.Length - 2; t = 1f; } Color32 val2 = LerpColor32(colors[num2], colors[num2 + 1], t); val.SetPixel(j, i, Color32.op_Implicit(val2)); } } val.Apply(); string fileName = "SavedTexture.png"; SaveTextureToFile(val, fileName); malachiteOverlayMat.SetTexture("_RemapTex", (Texture)(object)val); return val; } internal static void SaveTextureToFile(Texture2D texture, string fileName) { } public static Color32 LerpColor32(Color32 colorA, Color32 colorB, float t) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) byte num = (byte)Mathf.Lerp((float)(int)colorA.r, (float)(int)colorB.r, t); byte b = (byte)Mathf.Lerp((float)(int)colorA.g, (float)(int)colorB.g, t); byte b2 = (byte)Mathf.Lerp((float)(int)colorA.b, (float)(int)colorB.b, t); byte b3 = (byte)Mathf.Lerp((float)(int)colorA.a, (float)(int)colorB.a, t); return new Color32(num, b, b2, b3); } } public class Echo : EliteBase<Echo> { public class CustomAffixEchoBehavior : ItemBehavior { public DeployableMinionSpawner echoSpawner1; public DeployableMinionSpawner echoSpawner2; public CharacterSpawnCard spawnCard; public List<CharacterMaster> spawnedEchoes = new List<CharacterMaster>(); public bool hasEverSpawned; public void FixedUpdate() { if (!hasEverSpawned) { DeployableMinionSpawner obj = echoSpawner1; obj.respawnStopwatch += 1f; DeployableMinionSpawner obj2 = echoSpawner2; obj2.respawnStopwatch += 1f; } } public void Awake() { ((Behaviour)this).enabled = false; } public void OnEnable() { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Expected O, but got Unknown Util.PlaySound("Play_voidRaid_fog_explode", ((Component)this).gameObject); spawnCard = ScriptableObject.CreateInstance<CharacterSpawnCard>(); ((SpawnCard)spawnCard).prefab = MasterCatalog.GetMasterPrefab(MasterCatalog.FindAiMasterIndexForBody(base.body.bodyIndex)); spawnCard.inventoryToCopy = base.body.inventory; ((SpawnCard)spawnCard).nodeGraphType = (GraphType)(base.body.isFlying ? 1 : 0); spawnCard.equipmentToGrant = (EquipmentDef[])(object)new EquipmentDef[1]; spawnCard.itemsToGrant = (ItemCountPair[])(object)new ItemCountPair[1] { new ItemCountPair { itemDef = EliteBase<Echo>.Instance.summonedEchoItem, count = 1 } }; Xoroshiro128Plus rng = new Xoroshiro128Plus(Run.instance.seed ^ (ulong)((Object)this).GetInstanceID()); echoSpawner1 = CreateSpawner(rng); echoSpawner2 = CreateSpawner(rng); } public void OnDisable() { if (Object.op_Implicit((Object)(object)spawnCard)) { Object.Destroy((Object)(object)spawnCard); } spawnCard = null; for (int num = spawnedEchoes.Count - 1; num >= 0; num--) { if (Object.op_Implicit((Object)(object)spawnedEchoes[num])) { spawnedEchoes[num].TrueKill(); } } spawnedEchoes.Clear(); DeployableMinionSpawner obj = echoSpawner1; if (obj != null) { obj.Dispose(); } echoSpawner1 = null; DeployableMinionSpawner obj2 = echoSpawner2; if (obj2 != null) { obj2.Dispose(); } echoSpawner2 = null; } private DeployableMinionSpawner CreateSpawner(Xoroshiro128Plus rng) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Expected O, but got Unknown DeployableMinionSpawner val = new DeployableMinionSpawner(base.body.master, EliteBase<Echo>.Instance.deployableSlot, rng) { maxSpawnDistance = 20f, respawnInterval = 30f, respawnStopwatch = 0f, spawnCard = (SpawnCard)(object)spawnCard }; val.onMinionSpawnedServer += delegate(SpawnResult spawnResult) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) GameObject spawnedInstance = spawnResult.spawnedInstance; if (Object.op_Implicit((Object)(object)spawnedInstance)) { CharacterMaster spawnedMaster = spawnedInstance.GetComponent<CharacterMaster>(); if (Object.op_Implicit((Object)(object)spawnedMaster)) { hasEverSpawned = true; spawnedEchoes.Add(spawnedMaster); OnDestroyCallback.AddCallback(((Component)spawnedMaster).gameObject, (Action<OnDestroyCallback>)delegate { spawnedEchoes.Remove(spawnedMaster); }); } } }; return val; } } public class CustomSummonedEchoBodyBehavior : MonoBehaviour { private static float fireInterval = 3f; private static float normalBaseDamage = 24f; private static float normalLevelDamage = 4.8f; private static float championBaseDamage = 32f; private static float championLevelDamage = 7.2f; private float fireTimer; private CharacterBody body; private void OnEnable() { body = ((Component)this).GetComponent<CharacterBody>(); } private void FixedUpdate() { //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)body) && Object.op_Implicit((Object)(object)body.healthComponent) && body.healthComponent.alive) { fireTimer += Time.fixedDeltaTime; if (fireTimer >= fireInterval) { fireTimer = 0f; float damage = (body.isChampion ? (championBaseDamage + championLevelDamage * body.level) : (normalBaseDamage + normalLevelDamage * body.level)); ProjectileManager.instance.FireProjectile(new FireProjectileInfo { crit = false, damage = damage, damageColorIndex = (DamageColorIndex)0, damageTypeOverride = DamageTypeCombo.op_Implicit((DamageType)8), owner = ((Component)this).gameObject, position = body.aimOrigin, rotation = Quaternion.LookRotation(Vector3.up), procChainMask = default(ProcChainMask), projectilePrefab = EliteBase<Echo>.Instance.echoProjectile, force = 400f, target = null }); } } } } [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static GetDeployableSameSlotLimit <>9__38_0; internal int <Init>b__38_0(CharacterMaster _, int _) { return 2; } } public ItemDef summonedEchoItem; public Material echoMatBlack; public DeployableSlot deployableSlot; public GameObject echoProjectile; public override string Name => "Echo"; public override string EquipmentName => "Echo Aspect"; public override string PickupText => "Aspect of Echo"; public override string DescriptionText => "Summon 2 copies of yourself"; public override string LoreText => "Shadow clone jutsu"; public override EliteTier EliteTierDef => (EliteTier)PluginConfig.eliteTierEcho.Value; public override Color EliteColor => Color.black; public override Texture2D EliteRamp { get; set; } = EliteRampGenerator.CreateGradientTexture((Color32[])(object)new Color32[5] { new Color32((byte)23, (byte)22, (byte)20, byte.MaxValue), new Color32((byte)117, (byte)64, (byte)67, byte.MaxValue), new Color32((byte)154, (byte)136, (byte)115, byte.MaxValue), new Color32((byte)55, (byte)66, (byte)61, byte.MaxValue), new Color32((byte)58, (byte)38, (byte)24, byte.MaxValue) }, 256, 8); public override Sprite EliteIcon { get; set; } = Addressables.LoadAssetAsync<Sprite>((object)RoR2_Base_EliteIce.texBuffAffixWhite_tif).WaitForCompletion(); public override Sprite AspectIcon { get; set; } = Addressables.LoadAssetAsync<Sprite>((object)RoR2_DLC1_EliteEarth.texAffixEarthIcon_png).WaitForCompletion(); public override Material EliteMaterial { get; set; } = Addressables.LoadAssetAsync<Material>((object)RoR2_DLC1_voidoutro.matVoidRaidCrabEyeOverlay1BLUE_mat).WaitForCompletion(); public override GameObject PickupModelPrefab { get; set; } = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)RoR2_Base_EliteFire.PickupEliteFire_prefab).WaitForCompletion(), "PickupAffixEcho", false); public override void Init() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: 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_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Expected O, but got Unknown //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Expected O, but got Unknown //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Expected O, but got Unknown //IL_00c9: 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_00d4: Expected O, but got Unknown base.Init(); echoProjectile = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)RoR2_InDev.EchoHunterProjectile_prefab).WaitForCompletion(), "EchoHunterProjectile"); echoProjectile.GetComponent<ProjectileDirectionalTargetFinder>().lookRange = 120f; summonedEchoItem = Addressables.LoadAssetAsync<ItemDef>((object)RoR2_InDev.SummonedEcho_asset).WaitForCompletion(); echoMatBlack = Addressables.LoadAssetAsync<Material>((object)RoR2_InDev.matEcho_mat).WaitForCompletion(); ContentAddition.AddItemDef(summonedEchoItem); GameObject val = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)RoR2_Base_EliteHaunted.DisplayEliteStealthCrown_prefab).WaitForCompletion(), "EchoCrown"); val.AddComponent<NetworkIdentity>(); CustomEquipmentDef.ItemDisplayRules = ItemDisplays.CreateItemDisplayRules(val, EliteMaterial); object obj = <>c.<>9__38_0; if (obj == null) { GetDeployableSameSlotLimit val2 = (CharacterMaster _, int _) => 2; <>c.<>9__38_0 = val2; obj = (object)val2; } deployableSlot = DeployableAPI.RegisterDeployableSlot((GetDeployableSameSlotLimit)obj); RecalculateStatsAPI.GetStatCoefficients += new StatHookEventHandler(ReduceSummonHP); CharacterMaster.OnBodyStart += new hook_OnBodyStart(CharacterMaster_OnBodyStart); CharacterModel.UpdateOverlays += new hook_UpdateOverlays(CharacterModel_UpdateOverlays); } public override void OnBuffGained(CharacterBody self) { if (NetworkServer.active) { Inventory inventory = self.inventory; if (inventory != null && inventory.GetItemCount(summonedEchoItem) == 0) { self.AddItemBehavior<CustomAffixEchoBehavior>(1); } } } public override void OnBuffLost(CharacterBody self) { if (NetworkServer.active) { self.AddItemBehavior<CustomAffixEchoBehavior>(0); } } private void ReduceSummonHP(CharacterBody sender, StatHookEventArgs args) { Inventory inventory = sender.inventory; if (inventory != null && inventory.GetItemCount(summonedEchoItem) > 0) { args.baseCurseAdd += 6.6666665f; } } private void CharacterMaster_OnBodyStart(orig_OnBodyStart orig, CharacterMaster self, CharacterBody body) { orig.Invoke(self, body); if (NetworkServer.active) { Inventory inventory = self.inventory; if (inventory != null && inventory.GetItemCount(summonedEchoItem) > 0 && Object.op_Implicit((Object)(object)body) && !Object.op_Implicit((Object)(object)((Component)body).GetComponent<CustomSummonedEchoBodyBehavior>())) { ((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; set; } public abstract Sprite EliteIcon { get; set; } public abstract Sprite AspectIcon { get; set; } public abstract Material EliteMaterial { get; set; } public abstract GameObject PickupModelPrefab { get; set; } public virtual BuffDef EliteBuffDef { get; set; } public virtual CustomEquipment CustomEquipmentDef { get; set; } public virtual CustomElite CustomEliteDef { get; set; } public virtual CustomElite CustomEliteDefHonor { get; set; } public float HealthBoostCoefficient { get { if (EliteTierDef >= EliteTier.T2) { return PluginConfig.t2HealthMult.Value; } return PluginConfig.t1HealthMult.Value; } } public float DamageBoostCoefficient { get { if (EliteTierDef >= EliteTier.T2) { return PluginConfig.t2DamageMult.Value; } return PluginConfig.t1DamageMult.Value; } } public abstract void OnBuffGained(CharacterBody body); public abstract void OnBuffLost(CharacterBody body); public static void CreateElites() { //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Expected O, but got Unknown //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Expected O, but got Unknown if (!EliteInstances.Any()) { return; } foreach (EliteBase eliteInstance in EliteInstances) { eliteInstance.Init(); } object obj = <>O.<0>__CharacterBody_OnBuffFirstStackGained; if (obj == null) { hook_OnBuffFirstStackGained val = CharacterBody_OnBuffFirstStackGained; <>O.<0>__CharacterBody_OnBuffFirstStackGained = val; obj = (object)val; } CharacterBody.OnBuffFirstStackGained += (hook_OnBuffFirstStackGained)obj; object obj2 = <>O.<1>__CharacterBody_OnBuffFinalStackLost; if (obj2 == null) { hook_OnBuffFinalStackLost val2 = CharacterBody_OnBuffFinalStackLost; <>O.<1>__CharacterBody_OnBuffFinalStackLost = val2; obj2 = (object)val2; } CharacterBody.OnBuffFinalStackLost += (hook_OnBuffFinalStackLost)obj2; } private static void CharacterBody_OnBuffFirstStackGained(orig_OnBuffFirstStackGained orig, CharacterBody self, BuffDef buffDef) { orig.Invoke(self, buffDef); if (!Object.op_Implicit((Object)(object)buffDef)) { 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(); SetupAssets(); SetupBuff(); SetupEquipment(); SetupElite(); } public virtual void AddLanguageTokens() { LanguageAPI.Add("ELITE_MODIFIER_" + NameToken, Name + " {0}"); LanguageAPI.Add("EQUIPMENT_AFFIX_" + NameToken + "_NAME", EquipmentName ?? (Name + " Aspect")); LanguageAPI.Add("EQUIPMENT_AFFIX_" + NameToken + "_DESC", DescriptionText ?? ""); LanguageAPI.Add("EQUIPMENT_AFFIX_" + NameToken + "_LORE", LoreText ?? ""); LanguageAPI.Add("EQUIPMENT_AFFIX_" + NameToken + "_PICKUP_DESC", PickupText ?? ("Aspect of " + Name)); } public virtual void SetupAssets() { } public virtual void SetupBuff() { //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) EliteBuffDef = ScriptableObject.CreateInstance<BuffDef>(); ((Object)EliteBuffDef).name = "Affix" + Name + "Buff"; EliteBuffDef.canStack = false; EliteBuffDef.isCooldown = false; EliteBuffDef.isDebuff = false; EliteBuffDef.buffColor = EliteColor; EliteBuffDef.iconSprite = EliteIcon; ContentAddition.AddBuffDef(EliteBuffDef); } public virtual void SetupEquipment() { //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Expected O, but got Unknown CustomEquipmentDef = new CustomEquipment("Affix" + Name, "EQUIPMENT_AFFIX_" + NameToken + "_NAME", "EQUIPMENT_AFFIX_" + NameToken + "_DESC", "EQUIPMENT_AFFIX_" + NameToken + "_LORE", "EQUIPMENT_AFFIX_" + NameToken + "_PICKUP_DESC", AspectIcon, PickupModelPrefab, 0f, false, false, false, false, EliteBuffDef, (UnlockableDef)null, (ColorIndex)5, true, true, (ItemDisplayRuleDict)null); Renderer[] componentsInChildren = CustomEquipmentDef.EquipmentDef.pickupModelPrefab.GetComponentsInChildren<Renderer>(); for (int i = 0; i < componentsInChildren.Length; i++) { componentsInChildren[i].material = EliteMaterial; } ItemAPI.Add(CustomEquipmentDef); } 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_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Expected O, but got Unknown IEnumerable<EliteTierDef> vanillaEliteTierDef = GetVanillaEliteTierDef(EliteTierDef); if (vanillaEliteTierDef != null) { CustomEliteDef = new CustomElite("Elite" + Name, CustomEquipmentDef.EquipmentDef, Color32.op_Implicit(EliteColor), "ELITE_MODIFIER_" + NameToken, vanillaEliteTierDef, EliteRamp); CustomEliteDef.EliteDef.healthBoostCoefficient = HealthBoostCoefficient; CustomEliteDef.EliteDef.damageBoostCoefficient = DamageBoostCoefficient; EliteBuffDef.eliteDef = CustomEliteDef.EliteDef; EliteAPI.Add(CustomEliteDef); IEnumerable<EliteTierDef> vanillaEliteHonorTierDef = GetVanillaEliteHonorTierDef(EliteTierDef); if (vanillaEliteHonorTierDef != null) { CustomEliteDefHonor = new CustomElite("Elite" + 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; EliteAPI.Add(CustomEliteDefHonor); } } } internal 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]), }; } internal 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 { get; set; } = Addressables.LoadAssetAsync<Texture2D>((object)RoR2_Base_Common_ColorRamps.texRampMagmaWorm_png).WaitForCompletion(); public override Sprite EliteIcon { get; set; } = Addressables.LoadAssetAsync<Sprite>((object)RoR2_Base_EliteIce.texBuffAffixWhite_tif).WaitForCompletion(); public override Sprite AspectIcon { get; set; } = Addressables.LoadAssetAsync<Sprite>((object)RoR2_DLC1_EliteEarth.texAffixEarthIcon_png).WaitForCompletion(); public override Material EliteMaterial { get; set; } = Addressables.LoadAssetAsync<Material>((object)RoR2_Base_WardOnLevel.matWarbannerBuffRing_mat).WaitForCompletion(); public override GameObject PickupModelPrefab { get; set; } = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)RoR2_Base_EliteFire.PickupEliteFire_prefab).WaitForCompletion(), "PickupAffixEmpowering", false); public override void Init() { //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) base.Init(); ((Renderer)((Component)EmpoweringWard.transform.GetChild(0).GetChild(0)).GetComponent<MeshRenderer>()).material = EliteMaterial; EmpoweringWard.GetComponent<BuffWard>().buffDef = Addressables.LoadAssetAsync<BuffDef>((object)RoR2_Base_WardOnLevel.bdWarbanner_asset).WaitForCompletion(); Object.Destroy((Object)(object)EmpoweringWard.GetComponent<AkEvent>()); Object.Destroy((Object)(object)EmpoweringWard.GetComponent<AkEvent>()); Object.Destroy((Object)(object)EmpoweringWard.GetComponent<AkGameObj>()); } public override void OnBuffGained(CharacterBody self) { self.AddItemBehavior<AffixEmpoweringBehavior>(1); } public override void OnBuffLost(CharacterBody self) { self.AddItemBehavior<AffixEmpoweringBehavior>(0); } } public class Frenzied : EliteBase<Frenzied> { public class FrenziedTeleportController : ItemBehavior { 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 { get; set; } = Addressables.LoadAssetAsync<Texture2D>((object)RoR2_Base_Common_ColorRamps.texRampWarbanner2_png).WaitForCompletion(); public override Sprite EliteIcon { get; set; } = Addressables.LoadAssetAsync<Sprite>((object)RoR2_Base_EliteIce.texBuffAffixWhite_tif).WaitForCompletion(); public override Sprite AspectIcon { get; set; } = Addressables.LoadAssetAsync<Sprite>((object)RoR2_DLC1_EliteEarth.texAffixEarthIcon_png).WaitForCompletion(); public override Material EliteMaterial { get; set; } = Addressables.LoadAssetAsync<Material>((object)RoR2_Base_WardOnLevel.matWarbannerSphereIndicator_mat).WaitForCompletion(); public override GameObject PickupModelPrefab { get; set; } = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)RoR2_Base_EliteFire.PickupEliteFire_prefab).WaitForCompletion(), "PickupAffixFrenzied", false); public override void Init() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Expected O, but got Unknown base.Init(); RecalculateStatsAPI.GetStatCoefficients += new StatHookEventHandler(Frenzy); EquipmentSlot.PerformEquipmentAction += new hook_PerformEquipmentAction(EquipmentSlot_PerformEquipmentAction); } public override void SetupEquipment() { base.SetupEquipment(); CustomEquipmentDef.EquipmentDef.cooldown = 10f; EquipmentDef equipmentDef = CustomEquipmentDef.EquipmentDef; ((Object)equipmentDef).name = ((Object)equipmentDef).name + "Nuxlar"; } public override void OnBuffGained(CharacterBody self) { self.AddItemBehavior<FrenziedTeleportController>(1); } public override void OnBuffLost(CharacterBody self) { self.AddItemBehavior<FrenziedTeleportController>(0); } private bool EquipmentSlot_PerformEquipmentAction(orig_PerformEquipmentAction orig, EquipmentSlot self, EquipmentDef equipmentDef) { bool flag = orig.Invoke(self, equipmentDef); if (!flag && (Object)(object)equipmentDef == (Object)(object)CustomEquipmentDef?.EquipmentDef) { FrenziedTeleportController frenziedTeleportController = default(FrenziedTeleportController); if (Object.op_Implicit((Object)(object)self.characterBody) && self.characterBody.isPlayerControlled && ((Component)self.characterBody).TryGetComponent<FrenziedTeleportController>(ref frenziedTeleportController)) { ((MonoBehaviour)frenziedTeleportController).StartCoroutine(frenziedTeleportController.Teleport()); } return true; } return flag; } private void Frenzy(CharacterBody sender, StatHookEventArgs args) { if (sender.HasBuff(EliteBuffDef)) { args.baseMoveSpeedAdd += 2f; args.attackSpeedMultAdd += 0.5f; } } } public class Volatile : EliteBase<Volatile> { public class VolatileMissileController : ItemBehavior { private static float normalBaseDamage = 12f; private static float normalLevelDamage = 2.4f; private static float championBaseDamage = 18f; private static float championLevelDamage = 3.6f; private float fireTimer; private float fireInterval = 3f; private void FixedUpdate() { //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)base.body) && Object.op_Implicit((Object)(object)base.body.healthComponent) && base.body.healthComponent.alive) { fireTimer += Time.fixedDeltaTime; if (fireTimer >= fireInterval) { fireTimer = 0f; fireInterval = Random.Range(1, 6); float num = (base.body.isChampion ? (championBaseDamage + championLevelDamage * base.body.level) : (normalBaseDamage + normalLevelDamage * base.body.level)); MissileUtils.FireMissile(base.body.corePosition, base.body, default(ProcChainMask), (GameObject)null, num, Util.CheckRoll(base.body.crit, base.body.master), EliteBase<Volatile>.Instance.VolatileProjectile, (DamageColorIndex)3, false); } } } } private GameObject VolatileProjectile = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)RoR2_Base_Common.MissileProjectile_prefab).WaitForCompletion(), "AffixVolatileNuxProjectile"); private GameObject VolatileProjectileGhost = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)RoR2_Base_Common.MissileGhost_prefab).WaitForCompletion(), "AffixVolatileNuxProjectileGhost"); private GameObject behemoExplosion = Addressables.LoadAssetAsync<GameObject>((object)RoR2_Base_Common_VFX.OmniExplosionVFXQuick_prefab).WaitForCompletion(); public override string Name => "Volatile"; public override string EquipmentName => "Volatile Aspect"; public override string PickupText => "Aspect of Volatile"; public override string DescriptionText => "All attacks explode and periodically fire missiles."; public override string LoreText => "Hope you like dodging"; public override EliteTier EliteTierDef => (EliteTier)PluginConfig.eliteTierVolatile.Value; public override Color EliteColor => Color.red; public override Texture2D EliteRamp { get; set; } = Addressables.LoadAssetAsync<Texture2D>((object)RoR2_DLC1_Common_ColorRamps.texRampStrongerBurn_png).WaitForCompletion(); public override Sprite EliteIcon { get; set; } = Addressables.LoadAssetAsync<Sprite>((object)RoR2_Base_EliteIce.texBuffAffixWhite_tif).WaitForCompletion(); public override Sprite AspectIcon { get; set; } = Object.Instantiate<Sprite>(Addressables.LoadAssetAsync<Sprite>((object)RoR2_DLC1_EliteEarth.texAffixEarthIcon_png).WaitForCompletion()); public override Material EliteMaterial { get; set; } = Addressables.LoadAssetAsync<Material>((object)RoR2_Base_MagmaWorm.matMagmaWormFireball_mat).WaitForCompletion(); public override GameObject PickupModelPrefab { get; set; } = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)RoR2_Base_EliteFire.PickupEliteFire_prefab).WaitForCompletion(), "PickupAffixVolatile", false); public override void Init() { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Expected O, but got Unknown base.Init(); ((Renderer)((Component)VolatileProjectileGhost.transform.GetChild(0)).GetComponent<TrailRenderer>()).sharedMaterial = Addressables.LoadAssetAsync<Material>((object)RoR2_Base_MagmaWorm.matMagmaWormFireballTrail_mat).WaitForCompletion(); ((Renderer)((Component)VolatileProjectileGhost.transform.GetChild(1)).GetComponent<ParticleSystemRenderer>()).sharedMaterial = Addressables.LoadAssetAsync<Material>((object)RoR2_Junk_Bandit.matThermiteFlare_mat).WaitForCompletion(); ((Renderer)((Component)VolatileProjectileGhost.transform.GetChild(2)).GetComponent<MeshRenderer>()).sharedMaterial = EliteMaterial; ((Component)VolatileProjectileGhost.transform.GetChild(3)).GetComponent<Light>().color = EliteColor; VolatileProjectile.GetComponent<ProjectileController>().ghostPrefab = VolatileProjectileGhost; MissileController component = VolatileProjectile.GetComponent<MissileController>(); component.acceleration = 2f; component.deathTimer = 6f; component.giveupTimer = 4f; component.maxVelocity = 20f; component.turbulence = 6f; GlobalEventManager.OnHitAll += new hook_OnHitAll(AddBehemoExplosion); } public override void OnBuffGained(CharacterBody self) { self.AddItemBehavior<VolatileMissileController>(1); } public override void OnBuffLost(CharacterBody self) { self.AddItemBehavior<VolatileMissileController>(0); } private void AddBehemoExplosion(orig_OnHitAll orig, GlobalEventManager self, DamageInfo damageInfo, GameObject hitObject) { //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Expected O, but got Unknown //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self, damageInfo, hitObject); CharacterBody val = default(CharacterBody); if (damageInfo.procCoefficient > 0f && !damageInfo.rejected && Object.op_Implicit((Object)(object)damageInfo.attacker) && damageInfo.attacker.TryGetComponent<CharacterBody>(ref val)) { BuffDef eliteBuffDef = EliteBuffDef; if (val.HasBuff(eliteBuffDef)) { float num = 2f * damageInfo.procCoefficient; EffectManager.SpawnEffect(behemoExplosion, new EffectData { origin = damageInfo.position, scale = num, rotation = Util.QuaternionSafeLookRotation(damageInfo.force) }, true); new BlastAttack { position = damageInfo.position, baseDamage = Util.OnHitProcDamage(damageInfo.damage, val.damage, 0.15f), baseForce = 0f, radius = num, attacker = damageInfo.attacker, inflictor = null, teamIndex = TeamComponent.GetObjectTeam(damageInfo.attacker), crit = damageInfo.crit, procChainMask = damageInfo.procChainMask, procCoefficient = 0f, damageColorIndex = (DamageColorIndex)3, falloffModel = (FalloffModel)2, damageType = damageInfo.damageType }.Fire(); } } } } public static class ItemDisplays { private static void ItemDisplaySetup(GameObject prefab) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) MeshRenderer[] componentsInChildren = prefab.GetComponentsInChildren<MeshRenderer>(); SkinnedMeshRenderer[] componentsInChildren2 = prefab.GetComponentsInChildren<SkinnedMeshRenderer>(); List<Renderer> list = new List<Renderer>(componentsInChildren.Length + componentsInChildren2.Length); list.AddRange((IEnumerable<Renderer>)(object)componentsInChildren); list.AddRange((IEnumerable<Renderer>)(object)componentsInChildren2); List<Renderer> list2 = list; RendererInfo[] array = (RendererInfo[])(object)new RendererInfo[list2.Count]; for (int i = 0; i < list2.Count; i++) { array[i] = new RendererInfo { defaultMaterial = ((list2[i] is SkinnedMeshRenderer) ? list2[i].sharedMaterial : list2[i].material), renderer = list2[i], defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false }; } (prefab.GetComponent<ItemDisplay>() ?? prefab.AddComponent<ItemDisplay>()).rendererInfos = array; } public static ItemDisplayRuleDict CreateItemDisplayRules(GameObject prefab, Material material) { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Expected O, but got Unknown //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_01aa: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Unknown result type (might be due to invalid IL or missing references) //IL_01c5: Unknown result type (might be due to invalid IL or missing references) //IL_01ca: Unknown result type (might be due to invalid IL or missing references) //IL_01e0: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: Unknown result type (might be due to invalid IL or missing references) //IL_01ea: Unknown result type (might be due to invalid IL or missing references) //IL_01eb: Unknown result type (might be due to invalid IL or missing references) //IL_0205: Unknown result type (might be due to invalid IL or missing references) //IL_020e: Unknown result type (might be due to invalid IL or missing references) //IL_0240: Unknown result type (might be due to invalid IL or missing references) //IL_0245: Unknown result type (might be due to invalid IL or missing references) //IL_025b: Unknown result type (might be due to invalid IL or missing references) //IL_0260: Unknown result type (might be due to invalid IL or missing references) //IL_0276: Unknown result type (might be due to invalid IL or missing references) //IL_027b: Unknown result type (might be due to invalid IL or missing references) //IL_0280: Unknown result type (might be due to invalid IL or missing references) //IL_0281: Unknown result type (might be due to invalid IL or missing references) //IL_029b: Unknown result type (might be due to invalid IL or missing references) //IL_02a4: Unknown result type (might be due to invalid IL or missing references) //IL_02d6: Unknown result type (might be due to invalid IL or missing references) //IL_02db: Unknown result type (might be due to invalid IL or missing references) //IL_02f1: Unknown result type (might be due to invalid IL or missing references) //IL_02f6: Unknown result type (might be due to invalid IL or missing references) //IL_030c: Unknown result type (might be due to invalid IL or missing references) //IL_0311: Unknown result type (might be due to invalid IL or missing references) //IL_0316: Unknown result type (might be due to invalid IL or missing references) //IL_0317: Unknown result type (might be due to invalid IL or missing references) //IL_0331: Unknown result type (might be due to invalid IL or missing references) //IL_033a: Unknown result type (might be due to invalid IL or missing references) //IL_036c: Unknown result type (might be due to invalid IL or missing references) //IL_0371: Unknown result type (might be due to invalid IL or missing references) //IL_0387: Unknown result type (might be due to invalid IL or missing references) //IL_038c: Unknown result type (might be due to invalid IL or missing references) //IL_03a2: Unknown result type (might be due to invalid IL or missing references) //IL_03a7: Unknown result type (might be due to invalid IL or missing references) //IL_03ac: Unknown result type (might be due to invalid IL or missing references) //IL_03ad: Unknown result type (might be due to invalid IL or missing references) //IL_03c7: Unknown result type (might be due to invalid IL or missing references) //IL_03d0: Unknown result type (might be due to invalid IL or missing references) //IL_0402: Unknown result type (might be due to invalid IL or missing references) //IL_0407: Unknown result type (might be due to invalid IL or missing references) //IL_041d: Unknown result type (might be due to invalid IL or missing references) //IL_0422: Unknown result type (might be due to invalid IL or missing references) //IL_0438: Unknown result type (might be due to invalid IL or missing references) //IL_043d: Unknown result type (might be due to invalid IL or missing references) //IL_0442: Unknown result type (might be due to invalid IL or missing references) //IL_0443: Unknown result type (might be due to invalid IL or missing references) //IL_045d: Unknown result type (might be due to invalid IL or missing references) //IL_0466: Unknown result type (might be due to invalid IL or missing references) //IL_0498: Unknown result type (might be due to invalid IL or missing references) //IL_049d: Unknown result type (might be due to invalid IL or missing references) //IL_04b3: Unknown result type (might be due to invalid IL or missing references) //IL_04b8: Unknown result type (might be due to invalid IL or missing references) //IL_04ce: Unknown result type (might be due to invalid IL or missing references) //IL_04d3: Unknown result type (might be due to invalid IL or missing references) //IL_04d8: Unknown result type (might be due to invalid IL or missing references) //IL_04d9: Unknown result type (might be due to invalid IL or missing references) //IL_04f3: Unknown result type (might be due to invalid IL or missing references) //IL_04fc: Unknown result type (might be due to invalid IL or missing references) //IL_052e: Unknown result type (might be due to invalid IL or missing references) //IL_0533: Unknown result type (might be due to invalid IL or missing references) //IL_0549: Unknown result type (might be due to invalid IL or missing references) //IL_054e: Unknown result type (might be due to invalid IL or missing references) //IL_0564: Unknown result type (might be due to invalid IL or missing references) //IL_0569: Unknown result type (might be due to invalid IL or missing references) //IL_056e: Unknown result type (might be due to invalid IL or missing references) //IL_056f: Unknown result type (might be due to invalid IL or missing references) //IL_0589: Unknown result type (might be due to invalid IL or missing references) //IL_0592: Unknown result type (might be due to invalid IL or missing references) //IL_05c4: Unknown result type (might be due to invalid IL or missing references) //IL_05c9: Unknown result type (might be due to invalid IL or missing references) //IL_05df: Unknown result type (might be due to invalid IL or missing references) //IL_05e4: Unknown result type (might be due to invalid IL or missing references) //IL_05fa: Unknown result type (might be due to invalid IL or missing references) //IL_05ff: Unknown result type (might be due to invalid IL or missing references) //IL_0604: Unknown result type (might be due to invalid IL or missing references) //IL_0605: Unknown result type (might be due to invalid IL or missing references) //IL_061f: Unknown result type (might be due to invalid IL or missing references) //IL_0628: Unknown result type (might be due to invalid IL or missing references) //IL_065a: Unknown result type (might be due to invalid IL or missing references) //IL_065f: Unknown result type (might be due to invalid IL or missing references) //IL_0675: Unknown result type (might be due to invalid IL or missing references) //IL_067a: Unknown result type (might be due to invalid IL or missing references) //IL_0690: Unknown result type (might be due to invalid IL or missing references) //IL_0695: Unknown result type (might be due to invalid IL or missing references) //IL_069a: Unknown result type (might be due to invalid IL or missing references) //IL_069b: Unknown result type (might be due to invalid IL or missing references) //IL_06b5: Unknown result type (might be due to invalid IL or missing references) //IL_06be: Unknown result type (might be due to invalid IL or missing references) //IL_06f0: Unknown result type (might be due to invalid IL or missing references) //IL_06f5: Unknown result type (might be due to invalid IL or missing references) //IL_070b: Unknown result type (might be due to invalid IL or missing references) //IL_0710: Unknown result type (might be due to invalid IL or missing references) //IL_0726: Unknown result type (might be due to invalid IL or missing references) //IL_072b: Unknown result type (might be due to invalid IL or missing references) //IL_0730: Unknown result type (might be due to invalid IL or missing references) //IL_0731: Unknown result type (might be due to invalid IL or missing references) //IL_074b: Unknown result type (might be due to invalid IL or missing references) //IL_0754: Unknown result type (might be due to invalid IL or missing references) //IL_0786: Unknown result type (might be due to invalid IL or missing references) //IL_078b: Unknown result type (might be due to invalid IL or missing references) //IL_07a1: Unknown result type (might be due to invalid IL or missing references) //IL_07a6: Unknown result type (might be due to invalid IL or missing references) //IL_07bc: Unknown result type (might be due to invalid IL or missing references) //IL_07c1: Unknown result type (might be due to invalid IL or missing references) //IL_07c6: Unknown result type (might be due to invalid IL or missing references) //IL_07c7: Unknown result type (might be due to invalid IL or missing references) //IL_07e1: Unknown result type (might be due to invalid IL or missing references) //IL_07ea: Unknown result type (might be due to invalid IL or missing references) //IL_081c: Unknown result type (might be due to invalid IL or missing references) //IL_0821: Unknown result type (might be due to invalid IL or missing references) //IL_0837: Unknown result type (might be due to invalid IL or missing references) //IL_083c: Unknown result type (might be due to invalid IL or missing references) //IL_0852: Unknown result type (might be due to invalid IL or missing references) //IL_0857: Unknown result type (might be due to invalid IL or missing references) //IL_085c: Unknown result type (might be due to invalid IL or missing references) //IL_085d: Unknown result type (might be due to invalid IL or missing references) //IL_0877: Unknown result type (might be due to invalid IL or missing references) //IL_0880: Unknown result type (might be due to invalid IL or missing references) //IL_08b2: Unknown result type (might be due to invalid IL or missing references) //IL_08b7: Unknown result type (might be due to invalid IL or missing references) //IL_08cd: Unknown result type (might be due to invalid IL or missing references) //IL_08d2: Unknown result type (might be due to invalid IL or missing references) //IL_08e8: Unknown result type (might be due to invalid IL or missing references) //IL_08ed: Unknown result type (might be due to invalid IL or missing references) //IL_08f2: Unknown result type (might be due to invalid IL or missing references) //IL_08f3: Unknown result type (might be due to invalid IL or missing references) //IL_090d: Unknown result type (might be due to invalid IL or missing references) //IL_0916: Unknown result type (might be due to invalid IL or missing references) //IL_0948: Unknown result type (might be due to invalid IL or missing references) //IL_094d: Unknown result type (might be due to invalid IL or missing references) //IL_0963: Unknown result type (might be due to invalid IL or missing references) //IL_0968: Unknown result type (might be due to invalid IL or missing references) //IL_097e: Unknown result type (might be due to invalid IL or missing references) //IL_0983: Unknown result type (might be due to invalid IL or missing references) //IL_0988: Unknown result type (might be due to invalid IL or missing references) //IL_0989: Unknown result type (might be due to invalid IL or missing references) //IL_09a3: Unknown result type (might be due to invalid IL or missing references) //IL_09ac: Unknown result type (might be due to invalid IL or missing references) //IL_09de: Unknown result type (might be due to invalid IL or missing references) //IL_09e3: Unknown result type (might be due to invalid IL or missing references) //IL_09f9: Unknown result type (might be due to invalid IL or missing references) //IL_09fe: Unknown result type (might be due to invalid IL or missing references) //IL_0a14: Unknown result type (might be due to invalid IL or missing references) //IL_0a19: Unknown result type (might be due to invalid IL or missing references) //IL_0a1e: Unknown result type (might be due to invalid IL or missing references) //IL_0a1f: Unknown result type (might be due to invalid IL or missing references) //IL_0a39: Unknown result type (might be due to invalid IL or missing references) //IL_0a42: Unknown result type (might be due to invalid IL or missing references) //IL_0a74: Unknown result type (might be due to invalid IL or missing references) //IL_0a79: Unknown result type (might be due to invalid IL or missing references) //IL_0a8f: Unknown result type (might be due to invalid IL or missing references) //IL_0a94: Unknown result type (might be due to invalid IL or missing references) //IL_0aaa: Unknown result type (might be due to invalid IL or missing references) //IL_0aaf: Unknown result type (might be due to invalid IL or missing references) //IL_0ab4: Unknown result type (might be due to invalid IL or missing references) //IL_0ab5: Unknown result type (might be due to invalid IL or missing references) //IL_0acf: Unknown result type (might be due to invalid IL or missing references) //IL_0ad8: Unknown result type (might be due to invalid IL or missing references) //IL_0b0a: Unknown result type (might be due to invalid IL or missing references) //IL_0b0f: Unknown result type (might be due to invalid IL or missing references) //IL_0b25: Unknown result type (might be due to invalid IL or missing references) //IL_0b2a: Unknown result type (might be due to invalid IL or missing references) //IL_0b40: Unknown result type (might be due to invalid IL or missing references) //IL_0b45: Unknown result type (might be due to invalid IL or missing references) //IL_0b4a: Unknown result type (might be due to invalid IL or missing references) //IL_0b4b: Unknown result type (might be due to invalid IL or missing references) //IL_0b65: Unknown result type (might be due to invalid IL or missing references) //IL_0b6e: Unknown result type (might be due to invalid IL or missing references) //IL_0ba0: Unknown result type (might be due to invalid IL or missing references) //IL_0ba5: Unknown result type (might be due to invalid IL or missing references) //IL_0bbb: Unknown result type (might be due to invalid IL or missing references) //IL_0bc0: Unknown result type (might be due to invalid IL or missing references) //IL_0bd6: Unknown result type (might be due to invalid IL or missing references) //IL_0bdb: Unknown result type (might be due to invalid IL or missing references) //IL_0be0: Unknown result type (might be due to invalid IL or missing references) //IL_0be1: Unknown result type (might be due to invalid IL or missing references) //IL_0bfb: Unknown result type (might be due to invalid IL or missing references) //IL_0c04: Unknown result type (might be due to invalid IL or missing references) //IL_0c36: Unknown result type (might be due to invalid IL or missing references) //IL_0c3b: Unknown result type (might be due to invalid IL or missing references) //IL_0c51: Unknown result type (might be due to invalid IL or missing references) //IL_0c56: Unknown result type (might be due to invalid IL or missing references) //IL_0c6c: Unknown result type (might be due to invalid IL or missing references) //IL_0c71: Unknown result type (might be due to invalid IL or missing references) //IL_0c76: Unknown result type (might be due to invalid IL or missing references) //IL_0c77: Unknown result type (might be due to invalid IL or missing references) //IL_0c91: Unknown result type (might be due to invalid IL or missing references) //IL_0c9a: Unknown result type (might be due to invalid IL or missing references) //IL_0ccc: Unknown result type (might be due to invalid IL or missing references) //IL_0cd1: Unknown result type (might be due to invalid IL or missing references) //IL_0ce7: Unknown result type (might be due to invalid IL or missing references) //IL_0cec: Unknown result type (might be due to invalid IL or missing references) //IL_0d02: Unknown result type (might be due to invalid IL or missing references) //IL_0d07: Unknown result type (might be due to invalid IL or missing references) //IL_0d0c: Unknown result type (might be due to invalid IL or missing references) //IL_0d0d: Unknown result type (might be due to invalid IL or missing references) //IL_0d27: Unknown result type (might be due to invalid IL or missing references) //IL_0d30: Unknown result type (might be due to invalid IL or missing references) //IL_0d62: Unknown result type (might be due to invalid IL or missing references) //IL_0d67: Unknown result type (might be due to invalid IL or missing references) //IL_0d7d: Unknown result type (might be due to invalid IL or missing references) //IL_0d82: Unknown result type (might be due to invalid IL or missing references) //IL_0d98: Unknown result type (might be due to invalid IL or missing references) //IL_0d9d: Unknown result type (might be due to invalid IL or missing references) //IL_0da2: Unknown result type (might be due to invalid IL or missing references) //IL_0da3: Unknown result type (might be due to invalid IL or missing references) //IL_0dbd: Unknown result type (might be due to invalid IL or missing references) //IL_0dc6: Unknown result type (might be due to invalid IL or missing references) //IL_0df8: Unknown result type (might be due to invalid IL or missing references) //IL_0dfd: Unknown result type (might be due to invalid IL or missing references) //IL_0e13: Unknown result type (might be due to invalid IL or missing references) //IL_0e18: Unknown result type (might be due to invalid IL or missing references) //IL_0e2e: Unknown result type (might be due to invalid IL or missing references) //IL_0e33: Unknown result type (might be due to invalid IL or missing references) //IL_0e38: Unknown result type (might be due to invalid IL or missing references) //IL_0e39: Unknown result type (might be due to invalid IL or missing references) //IL_0e53: Unknown result type (might be due to invalid IL or missing references) //IL_0e5c: Unknown result type (might be due to invalid IL or missing references) //IL_0e8e: Unknown result type (might be due to invalid IL or missing references) //IL_0e93: Unknown result type (might be due to invalid IL or missing references) //IL_0ea9: Unknown result type (might be due to invalid IL or missing references) //IL_0eae: Unknown result type (might be due to invalid IL or missing references) //IL_0ec4: Unknown result type (might be due to invalid IL or missing references) //IL_0ec9: Unknown result type (might be due to invalid IL or missing references) //IL_0ece: Unknown result type (might be due to invalid IL or missing references) //IL_0ecf: Unknown result type (might be due to invalid IL or missing references) //IL_0ee9: Unknown result type (might be due to invalid IL or missing references) //IL_0ef2: Unknown result type (might be due to invalid IL or missing references) //IL_0f24: Unknown result type (might be due to invalid IL or missing references) //IL_0f29: Unknown result type (might be due to invalid IL or missing references) //IL_0f3f: Unknown result type (might be due to invalid IL or missing references) //IL_0f44: Unknown result type (might be due to invalid IL or missing references) //IL_0f5a: Unknown result type (might be due to invalid IL or missing references) //IL_0f5f: Unknown result type (might be due to invalid IL or missing references) //IL_0f64: Unknown result type (might be due to invalid IL or missing references) //IL_0f65: Unknown result type (might be due to invalid IL or missing references) //IL_0f7f: Unknown result type (might be due to invalid IL or missing references) //IL_0f88: Unknown result type (might be due to invalid IL or missing references) //IL_0fba: Unknown result type (might be due to invalid IL or missing references) //IL_0fbf: Unknown result type (might be due to invalid IL or missing references) //IL_0fd5: Unknown result type (might be due to invalid IL or missing references) //IL_0fda: Unknown result type (might be due to invalid IL or missing references) //IL_0ff0: Unknown result type (might be due to invalid IL or missing references) //IL_0ff5: Unknown result type (might be due to invalid IL or missing references) //IL_0ffa: Unknown result type (might be due to invalid IL or missing references) //IL_0ffb: Unknown result type (might be due to invalid IL or missing references) //IL_1015: Unknown result type (might be due to invalid IL or missing references) //IL_101e: Unknown result type (might be due to invalid IL or missing references) //IL_1050: Unknown result type (might be due to invalid IL or missing references) //IL_1055: Unknown result type (might be due to invalid IL or missing references) //IL_106b: Unknown result type (might be due to invalid IL or missing references) //IL_1070: Unknown result type (might be due to invalid IL or missing references) //IL_1086: Unknown result type (might be due to invalid IL or missing references) //IL_108b: Unknown result type (might be due to invalid IL or missing references) //IL_1090: Unknown result type (might be due to invalid IL or missing references) //IL_1091: Unknown result type (might be due to invalid IL or missing references) //IL_10ab: Unknown result type (might be due to invalid IL or missing references) //IL_10b4: Unknown result type (might be due to invalid IL or missing references) //IL_10e6: Unknown result type (might be due to invalid IL or missing references) //IL_10eb: Unknown result type (might be due to invalid IL or missing references) //IL_1101: Unknown result type (might be due to invalid IL or missing references) //IL_1106: Unknown result type (might be due to invalid IL or missing references) //IL_111c: Unknown result type (might be due to invalid IL or missing references) //IL_1121: Unknown result type (might be due to invalid IL or missing references) //IL_1126: Unknown result type (might be due to invalid IL or missing references) //IL_1127: Unknown result type (might be due to invalid IL or missing references) //IL_1141: Unknown result type (might be due to invalid IL or missing references) //IL_114a: Unknown result type (might be due to invalid IL or missing references) //IL_117c: Unknown result type (might be due to invalid IL or missing references) //IL_1181: Unknown result type (might be due to invalid IL or missing references) //IL_1197: Unknown result type (might be due to invalid IL or missing references) //IL_119c: Unknown result type (might be due to invalid IL or missing references) //IL_11b2: Unknown result type (might be due to invalid IL or missing references) //IL_11b7: Unknown result type (might be due to invalid IL or missing references) //IL_11bc: Unknown result type (might be due to invalid IL or missing references) //IL_11bd: Unknown result type (might be due to invalid IL or missing references) //IL_11d7: Unknown result type (might be due to invalid IL or missing references) //IL_11e0: Unknown result type (might be due to invalid IL or missing references) //IL_1212: Unknown result type (might be due to invalid IL or missing references) //IL_1217: Unknown result type (might be due to invalid IL or missing references) //IL_122d: Unknown result type (might be due to invalid IL or missing references) //IL_1232: Unknown result type (might be due to invalid IL or missing references) //IL_1248: Unknown result type (might be due to invalid IL or missing references) //IL_124d: Unknown result type (might be due to invalid IL or missing references) //IL_1252: Unknown result type (might be due to invalid IL or missing references) //IL_1253: Unknown result type (might be due to invalid IL or missing references) //IL_126d: Unknown result type (might be due to invalid IL or missing references) //IL_1276: Unknown result type (might be due to invalid IL or missing references) //IL_12a8: Unknown result type (might be due to invalid IL or missing references) //IL_12ad: Unknown result type (might be due to invalid IL or missing references) //IL_12c3: Unknown result type (might be due to invalid IL or missing references) //IL_12c8: Unknown result type (might be due to invalid IL or missing references) //IL_12de: Unknown result type (might be due to invalid IL or missing references) //IL_12e3: Unknown result type (might be due to invalid IL or missing references) //IL_12e8: Unknown result type (might be due to invalid IL or missing references) //IL_12e9: Unknown result type (might be due to invalid IL or missing references) //IL_1303: Unknown result type (might be due to invalid IL or missing references) //IL_130c: Unknown result type (might be due to invalid IL or missing references) //IL_133e: Unknown result type (might be due to invalid IL or missing references) //IL_1343: Unknown result type (might be due to invalid IL or missing references) //IL_1359: Unknown result type (might be due to invalid IL or missing references) //IL_135e: Unknown result type (might be due to invalid IL or missing references) //IL_1374: Unknown result type (might be due to invalid IL or missing references) //IL_1379: Unknown result type (might be due to invalid IL or missing references) //IL_137e: Unknown result type (might be due to invalid IL or missing references) //IL_137f: Unknown result type (might be due to invalid IL or missing references) //IL_1399: Unknown result type (might be due to invalid IL or missing references) //IL_13a2: Unknown result type (might be due to invalid IL or missing references) //IL_13d4: Unknown result type (might be due to invalid IL or missing references) //IL_13d9: Unknown result type (might be due to invalid IL or missing references) //IL_13ef: Unknown result type (might be due to invalid IL or missing references) //IL_13f4: Unknown result type (might be due to invalid IL or missing references) //IL_140a: Unknown result type (might be due to invalid IL or missing references) //IL_140f: Unknown result type (might be due to invalid IL or missing references) //IL_1414: Unknown result type (might be due to invalid IL or missing references) //IL_1415: Unknown result type (might be due to invalid IL or missing references) //IL_142f: Unknown result type (might be due to invalid IL or missing references) //IL_1438: Unknown result type (might be due to invalid IL or missing references) //IL_146a: Unknown result type (might be due to invalid IL or missing references) //IL_146f: Unknown result type (might be due to invalid IL or missing references) //IL_1485: Unknown result type (might be due to invalid IL or missing references) //IL_148a: Unknown result type (might be due to invalid IL or missing references) //IL_14a0: Unknown result type (might be due to invalid IL or missing references) //IL_14a5: Unknown result type (might be due to invalid IL or missing references) //IL_14aa: Unknown result type (might be due to invalid IL or missing references) //IL_14ab: Unknown result type (might be due to invalid IL or missing references) //IL_14c5: Unknown result type (might be due to invalid IL or missing references) //IL_14ce: Unknown result type (might be due to invalid IL or missing references) //IL_1500: Unknown result type (might be due to invalid IL or missing references) //IL_1505: Unknown result type (might be due to invalid IL or missing references) //IL_151b: Unknown result type (might be due to invalid IL or missing references) //IL_1520: Unknown result type (might be due to invalid IL or missing references) //IL_1536: Unknown result type (might be due to invalid IL or missing references) //IL_153b: Unknown result type (might be due to invalid IL or missing references) //IL_1540: Unknown result type (might be due to invalid IL or missing references) //IL_1541: Unknown result type (might be due to invalid IL or missing references) //IL_155b: Unknown result type (might be due to invalid IL or missing references) //IL_1564: Unknown result type (might be due to invalid IL or missing references) //IL_1596: Unknown result type (might be due to invalid IL or missing references) //IL_159b: Unknown result type (might be due to invalid IL or missing references) //IL_15b1: Unknown result type (might be due to invalid IL or missing references) //IL_15b6: Unknown result type (might be due to invalid IL or missing references) //IL_15cc: Unknown result type (might be due to invalid IL or missing references) //IL_15d1: Unknown result type (might be due to invalid IL or missing references) //IL_15d6: Unknown result type (might be due to invalid IL or missing references) //IL_15d7: Unknown result type (might be due to invalid IL or missing references) //IL_15f1: Unknown result type (might be due to invalid IL or missing references) //IL_15fa: Unknown result type (might be due to invalid IL or missing references) //IL_162c: Unknown result type (might be due to invalid IL or missing references) //IL_1631: Unknown result type (might be due to invalid IL or missing references) //IL_1647: Unknown result type (might be due to invalid IL or missing references) //IL_164c: Unknown result type (might be due to invalid IL or missing references) //IL_1662: Unknown result type (might be due to invalid IL or missing references) //IL_1667: Unknown result type (might be due to invalid IL or missing references) //IL_166c: Unknown result type (might be due to invalid IL or missing references) //IL_166d: Unknown result type (might be due to invalid IL or missing references) //IL_1687: Unknown result type (might be due to invalid IL or missing references) //IL_1690: Unknown result type (might be due to invalid IL or missing references) //IL_16c2: Unknown result type (might be due to invalid IL or missing references) //IL_16c7: Unknown result type (might be due to invalid IL or missing references) //IL_16dd: Unknown result type (might be due to invalid IL or missing references) //IL_16e2: Unknown result type (might be due to invalid IL or missing references) //IL_16f8: Unknown result type (might be due to invalid IL or missing references) //IL_16fd: Unknown result type (might be due to invalid IL or missing references) //IL_1702: Unknown result type (might be due to invalid IL or missing references) //IL_1703: Unknown result type (might be due to invalid IL or missing references) //IL_171d: Unknown result type (might be due to invalid IL or missing references) //IL_1726: Unknown result type (might be due to invalid IL or missing references) //IL_1758: Unknown result type (might be due to invalid IL or missing references) //IL_175d: Unknown result type (might be due to invalid IL or missing references) //IL_1773: Unknown result type (might be due to invalid IL or missing references) //IL_1778: Unknown result type (might be due to invalid IL or missing references) //IL_178e: Unknown result type (might be due to invalid IL or missing references) //IL_1793: Unknown result type (might be due to invalid IL or missing references) //IL_1798: Unknown result type (might be due to invalid IL or missing references) //IL_1799: Unknown result type (might be due to invalid IL or missing references) //IL_17b3: Unknown result type (might be due to invalid IL or missing references) //IL_17bc: Unknown result type (might be due to invalid IL or missing references) //IL_17ee: Unknown result type (might be due to invalid IL or missing references) //IL_17f3: Unknown result type (might be due to invalid IL or missing references) //IL_1809: Unknown result type (might be due to invalid IL or missing references) //IL_180e: Unknown result type (might be due to invalid IL or missing references) //IL_1824: Unknown result type (might be due to invalid IL or missing references) //IL_1829: Unknown result type (might be due to invalid IL or missing references) //IL_182e: Unknown result type (might be due to invalid IL or missing references) //IL_182f: Unknown result type (might be due to invalid IL or missing references) //IL_1849: Unknown result type (might be due to invalid IL or missing references) //IL_1852: Unknown result type (might be due to invalid IL or missing references) //IL_1884: Unknown result type (might be due to invalid IL or missing references) //IL_1889: Unknown result type (might be due to invalid IL or missing references) //IL_189f: Unknown result type (might be due to invalid IL or missing references) //IL_18a4: Unknown result type (might be due to invalid IL or missing references) //IL_18ba: Unknown result type (might be due to invalid IL or missing references) //IL_18bf: Unknown result type (might be due to invalid IL or missing references) //IL_18c4: Unknown result type (might be due to invalid IL or missing references) //IL_18c5: Unknown result type (might be due to invalid IL or missing references) //IL_18df: Unknown result type (might be due to invalid IL or missing references) //IL_18e8: Unknown result type (might be due to invalid IL or missing references) //IL_191a: Unknown result type (might be due to invalid IL or missing references) //IL_191f: Unknown result type (might be due to invalid IL or missing references) //IL_1935: Unknown result type (might be due to invalid IL or missing references) //IL_193a: Unknown result type (might be due to invalid IL or missing references) //IL_1950: Unknown result type (might be due to invalid IL or missing references) //IL_1955: Unknown result type (might be due to invalid IL or missing references) //IL_195a: Unknown result type (might be due to invalid IL or missing references) //IL_195b: Unknown result type (might be due to invalid IL or missing references) //IL_1975: Unknown result type (might be due to invalid IL or missing references) //IL_197e: Unknown result type (might be due to invalid IL or missing references) //IL_19b0: Unknown result type (might be due to invalid IL or missing references) //IL_19b5: Unknown result type (might be due to invalid IL or missing references) //IL_19cb: Unknown result type (might be due to invalid IL or missing references) //IL_19d0: Unknown result type (might be due to invalid IL or missing references) //IL_19e6: Unknown result type (might be due to invalid IL or missing references) //IL_19eb: Unknown result type (might be due to invalid IL or missing references) //IL_19f0: Unknown result type (might be due to invalid IL or missing references) //IL_19f1: Unknown result type (might be due to invalid IL or missing references) //IL_1a0b: Unknown result type (might be due to invalid IL or missing references) //IL_1a14: Unknown result type (might be due to invalid IL or missing references) //IL_1a46: Unknown result type (might be due to invalid IL or missing references) //IL_1a4b: Unknown result type (might be due to invalid IL or missing references) //IL_1a61: Unknown result type (might be due to invalid IL or missing references) //IL_1a66: Unknown result type (might be due to invalid IL or missing references) //IL_1a7c: Unknown result type (might be due to invalid IL or missing references) //IL_1a81: Unknown result type (might be due to invalid IL or missing references) //IL_1a86: Unknown result type (might be due to invalid IL or missing references) //IL_1a87: Unknown result type (might be due to invalid IL or missing references) //IL_1aa1: Unknown result type (might be due to invalid IL or missing references) //IL_1aaa: Unknown result type (might be due to invalid IL or missing references) //IL_1adc: Unknown result type (might be due to invalid IL or missing references) //IL_1ae1: Unknown result type (might be due to invalid IL or missing references) //IL_1af7: Unknown result type (might be due to invalid IL or missing references) //IL_1afc: Unknown result type (might be due to invalid IL or missing references) //IL_1b12: Unknown result type (might be due to invalid IL or missing references) //IL_1b17: Unknown result type (might be due to invalid IL or missing references) //IL_1b1c: Unknown result type (might be due to invalid IL or missing references) //IL_1b1d: Unknown result type (might be due to invalid IL or missing references) //IL_1b37: Unknown result type (might be due to invalid IL or missing references) //IL_1b40: Unknown result type (might be due to invalid IL or missing references) //IL_1b72: Unknown result type (might be due to invalid IL or missing references) //IL_1b77: Unknown result type (might be due to invalid IL or missing references) //IL_1b8d: Unknown result type (might be due to invalid IL or missing references) //IL_1b92: Unknown result type (might be due to invalid IL or missing references) //IL_1ba8: Unknown result type (might be due to invalid IL or missing references) //IL_1bad: Unknown result type (might be due to invalid IL or missing references) //IL_1bb2: Unknown result type (might be due to invalid IL or missing references) //IL_1bb3: Unknown result type (might be due to invalid IL or missing references) //IL_1bcd: Unknown result type (might be due to invalid IL or missing references) //IL_1bd6: Unknown result type (might be due to invalid IL or missing references) //IL_1c08: Unknown result type (might be due to invalid IL or missing references) //IL_1c0d: Unknown result type (might be due to invalid IL or missing references) //IL_1c23: Unknown result type (might be due to invalid IL or missing references) //IL_1c28: Unknown result type (might be due to invalid IL or missing references) //IL_1c3e: Unknown result type (might be due to invalid IL or missing references) //IL_1c43: Unknown result type (might be due to invalid IL or missing references) //IL_1c48: Unknown result type (might be due to invalid IL or missing references) //IL_1c49: Unknown result type (might be due to invalid IL or missing references) //IL_1c63: Unknown result type (might be due to invalid IL or missing references) //IL_1c6c: Unknown result type (might be due to invalid IL or missing references) //IL_1c9e: Unknown result type (might be due to invalid IL or missing references) //IL_1ca3: Unknown result type (might be due to invalid IL or missing references) //IL_1cb9: Unknown result type (might be due to invalid IL or missing references) //IL_1cbe: Unknown result type (might be due to invalid IL or missing references) //IL_1cd4: Unknown result type (might be due to invalid IL or missing references) //IL_1cd9: Unknown result type (might be due to invalid IL or missing references) //IL_1cde: Unknown result type (might be due to invalid IL or missing references) //IL_1cdf: Unknown result type (might be due to invalid IL or missing references) //IL_1cf9: Unknown result type (might be due to invalid IL or missing references) //IL_1d02: Unknown result type (might be due to invalid IL or missing references) //IL_1d34: Unknown result type (might be due to invalid IL or missing references) //IL_1d39: Unknown result type (might be due to invalid IL or missing references) //IL_1d4f: Unknown result type (might be due to invalid IL or missing references) //IL_1d54: Unknown result type (might be due to invalid IL or missing references) //IL_1d6a: Unknown result type (might be due to invalid IL or missing references) //IL_1d6f: Unknown result type (might be due to invalid IL or missing references) //IL_1d74: Unknown result type (might be due to invalid IL or missing references) //IL_1d75: Unknown result type (might be due to invalid IL or missing references) //IL_1d8f: Unknown result type (might be due to invalid IL or missing references) //IL_1d98: Unknown result type (might be due to invalid IL or missing references) //IL_1dca: Unknown result type (might be due to invalid IL or missing references) //IL_1dcf: Unknown result type (might be due to invalid IL or missing references) //IL_1de5: Unknown result type (might be due to invalid IL or missing references) //IL_1dea: Unknown result type (might be due to invalid IL or missing references) //IL_1e00: Unknown result type (might be due to invalid IL or missing references) //IL_1e05: Unknown result type (might be due to invalid IL or missing references) //IL_1e0a: Unknown result type (might be due to invalid IL or missing references) //IL_1e0b: Unknown result type (might be due to invalid IL or missing references) //IL_1e25: Unknown result type (might be due to invalid IL or missing references) //IL_1e2e: Unknown result type (might be due to invalid IL or missing references) //IL_1e60: Unknown result type (might be due to invalid IL or missing references) //IL_1e65: Unknown result type (might be due to invalid IL or missing references) //IL_1e7b: Unknown result type (might be due to invalid IL or missing references) //IL_1e80: Unknown result type (might be due to invalid IL or missing references) //IL_1e96: Unknown result type (might be due to invalid IL or missing references) //IL_1e9b: Unknown result type (might be due to invalid IL or missing references) //IL_1ea0: Unknown result type (might be due to invalid IL or missing references) //IL_1ea1: Unknown result type (might be due to invalid IL or missing references) //IL_1ebb: Unknown result type (might be due to invalid IL or missing references) //IL_1ec4: Unknown result type (might be due to invalid IL or missing references) //IL_1ef6: Unknown result type (might be due to invalid IL or missing references) //IL_1efb: Unknown result type (might be due to invalid IL or missing references) //IL_1f11: Unknown result type (might be due to invalid IL or missing references) //IL_1f16: Unknown result type (might be due to invalid IL or missing references) //IL_1f2c: Unknown result type (might be due to invalid IL or missing references) //IL_1f31: Unknown result type (might be due to invalid IL or missing references) //IL_1f36: Unknown result type (might be due to invalid IL or missing references) //IL_1f37: Unknown result type (might be due to invalid IL or missing references) ((Renderer)((Component)prefab.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = material; AssetRef