using System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Logging; using HG.Reflection; using IL.RoR2; using Microsoft.CodeAnalysis; using Mono.Cecil; using Mono.Cecil.Cil; using MonoMod.Cil; using R2API; using RoR2; using RoR2.Items; using RoR2BepInExPack.GameAssetPaths.Version_1_39_0; using ShaderSwapper; using UnityEngine; using UnityEngine.AddressableAssets; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: OptIn] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("DegenerateItems")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+040d4e6ebae57843f8c9a778bd0a85ce04e480cd")] [assembly: AssemblyProduct("DegenerateItems")] [assembly: AssemblyTitle("DegenerateItems")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace DegenerateItems { internal class BunnyEars { public class BunnyEarsBehavior : BaseItemBodyBehavior { [ItemDefAssociation(useOnServer = true, useOnClient = true)] private static ItemDef GetItemDef() { return BunnyEarsDef; } private int GetStackCount() { return base.stack; } } [CompilerGenerated] private static class <>O { public static StatHookEventHandler <0>__RecalculateStatsAPI_GetStatCoefficients; } [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static Func <>9__1_1; public static Func <>9__1_2; public static Func <>9__1_3; public static Func <>9__1_4; public static Func <>9__1_5; public static Manipulator <>9__1_0; internal void b__1_0(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) ILCursor val = new ILCursor(il); if (val.TryGotoNext((MoveType)1, new Func[4] { (Instruction x) => ILPatternMatchingExt.MatchLdloc(x, 1), (Instruction x) => ILPatternMatchingExt.MatchCallvirt(x, "get_inventory"), (Instruction x) => ILPatternMatchingExt.MatchLdsfld(x, typeof(Items), "NearbyDamageBonus"), (Instruction x) => ILPatternMatchingExt.MatchCallvirt(x, "GetItemCountEffective") })) { val.Emit(OpCodes.Ldarg_0); val.Emit(OpCodes.Ldarg_1); val.Emit(OpCodes.Ldloc_S, (byte)10); val.EmitDelegate>((Func)delegate(HealthComponent self, DamageInfo damageInfo, float accumulatedDamage) { //IL_003a: 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_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_005a: 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_008f: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) CharacterBody component = damageInfo.attacker.GetComponent(); if ((Object)(object)component != (Object)null) { int num = (Object.op_Implicit((Object)(object)component.inventory) ? component.inventory.GetItemCount(BunnyEarsDef) : 0); Vector3 val2 = component.corePosition - damageInfo.position; if (num > 0 && damageInfo.attacker.transform.position.y > ((Component)self.body).gameObject.transform.position.y + self.body.radius) { damageInfo.damageColorIndex = (DamageColorIndex)10; EffectManager.SimpleImpactEffect(AssetReferences.diamondDamageBonusImpactEffectPrefab, damageInfo.position, val2, true); return accumulatedDamage * (1f + (float)num * 0.1f); } } return accumulatedDamage; }); val.Emit(OpCodes.Stloc_S, (byte)10); } else { Log.Error(((MemberReference)il.Method).Name + " IL Hook failed!"); } } internal bool b__1_1(Instruction x) { return ILPatternMatchingExt.MatchLdloc(x, 1); } internal bool b__1_2(Instruction x) { return ILPatternMatchingExt.MatchCallvirt(x, "get_inventory"); } internal bool b__1_3(Instruction x) { return ILPatternMatchingExt.MatchLdsfld(x, typeof(Items), "NearbyDamageBonus"); } internal bool b__1_4(Instruction x) { return ILPatternMatchingExt.MatchCallvirt(x, "GetItemCountEffective"); } internal float b__1_5(HealthComponent self, DamageInfo damageInfo, float accumulatedDamage) { //IL_003a: 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_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_005a: 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_008f: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) CharacterBody component = damageInfo.attacker.GetComponent(); if ((Object)(object)component != (Object)null) { int num = (Object.op_Implicit((Object)(object)component.inventory) ? component.inventory.GetItemCount(BunnyEarsDef) : 0); Vector3 val = component.corePosition - damageInfo.position; if (num > 0 && damageInfo.attacker.transform.position.y > ((Component)self.body).gameObject.transform.position.y + self.body.radius) { damageInfo.damageColorIndex = (DamageColorIndex)10; EffectManager.SimpleImpactEffect(AssetReferences.diamondDamageBonusImpactEffectPrefab, damageInfo.position, val, true); return accumulatedDamage * (1f + (float)num * 0.1f); } } return accumulatedDamage; } } public static ItemDef BunnyEarsDef; internal static void Init() { //IL_0064: 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_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_0106: 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_0142: Expected O, but got Unknown //IL_0153: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Expected O, but got Unknown //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Unknown result type (might be due to invalid IL or missing references) //IL_0182: Expected O, but got Unknown CreateLang(); BunnyEarsDef = ScriptableObject.CreateInstance(); ((Object)BunnyEarsDef).name = "DEGENERATEITEMS_BUNNYEARS_NAME"; BunnyEarsDef.nameToken = "DEGENERATEITEMS_BUNNYEARS_NAME"; BunnyEarsDef.pickupToken = "DEGENERATEITEMS_BUNNYEARS_PICKUP"; BunnyEarsDef.descriptionToken = "DEGENERATEITEMS_BUNNYEARS_DESC"; BunnyEarsDef.loreToken = "DEGENERATEITEMS_BUNNYEARS_LORE"; BunnyEarsDef._itemTierDef = Addressables.LoadAssetAsync((object)"RoR2/Base/Common/Tier1Def.asset").WaitForCompletion(); BunnyEarsDef.pickupIconSprite = DegenerateItems.DegenerateItemsAssets.LoadAsset("bunnyears.png"); BunnyEarsDef.pickupModelPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset("bunnyears_curve.prefab"); BunnyEarsDef.tags = (ItemTag[])(object)new ItemTag[2] { (ItemTag)31, (ItemTag)29 }; ModelPanelParameters obj = BunnyEarsDef.pickupModelPrefab.AddComponent(); obj.focusPointTransform = new GameObject("FocusPoint").transform; obj.focusPointTransform.SetParent(BunnyEarsDef.pickupModelPrefab.transform); obj.cameraPositionTransform = new GameObject("CameraPosition").transform; obj.cameraPositionTransform.SetParent(BunnyEarsDef.pickupModelPrefab.transform); ItemAPI.Add(new CustomItem(BunnyEarsDef, ItemDisplayTransformations())); object obj2 = <>O.<0>__RecalculateStatsAPI_GetStatCoefficients; if (obj2 == null) { StatHookEventHandler val = RecalculateStatsAPI_GetStatCoefficients; <>O.<0>__RecalculateStatsAPI_GetStatCoefficients = val; obj2 = (object)val; } RecalculateStatsAPI.GetStatCoefficients += (StatHookEventHandler)obj2; object obj3 = <>c.<>9__1_0; if (obj3 == null) { Manipulator val2 = delegate(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) ILCursor val3 = new ILCursor(il); if (val3.TryGotoNext((MoveType)1, new Func[4] { (Instruction x) => ILPatternMatchingExt.MatchLdloc(x, 1), (Instruction x) => ILPatternMatchingExt.MatchCallvirt(x, "get_inventory"), (Instruction x) => ILPatternMatchingExt.MatchLdsfld(x, typeof(Items), "NearbyDamageBonus"), (Instruction x) => ILPatternMatchingExt.MatchCallvirt(x, "GetItemCountEffective") })) { val3.Emit(OpCodes.Ldarg_0); val3.Emit(OpCodes.Ldarg_1); val3.Emit(OpCodes.Ldloc_S, (byte)10); val3.EmitDelegate>((Func)delegate(HealthComponent self, DamageInfo damageInfo, float accumulatedDamage) { //IL_003a: 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_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_005a: 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_008f: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) CharacterBody component = damageInfo.attacker.GetComponent(); if ((Object)(object)component != (Object)null) { int num = (Object.op_Implicit((Object)(object)component.inventory) ? component.inventory.GetItemCount(BunnyEarsDef) : 0); Vector3 val4 = component.corePosition - damageInfo.position; if (num > 0 && damageInfo.attacker.transform.position.y > ((Component)self.body).gameObject.transform.position.y + self.body.radius) { damageInfo.damageColorIndex = (DamageColorIndex)10; EffectManager.SimpleImpactEffect(AssetReferences.diamondDamageBonusImpactEffectPrefab, damageInfo.position, val4, true); return accumulatedDamage * (1f + (float)num * 0.1f); } } return accumulatedDamage; }); val3.Emit(OpCodes.Stloc_S, (byte)10); } else { Log.Error(((MemberReference)il.Method).Name + " IL Hook failed!"); } }; <>c.<>9__1_0 = val2; obj3 = (object)val2; } HealthComponent.TakeDamageProcess += (Manipulator)obj3; } private static void RecalculateStatsAPI_GetStatCoefficients(CharacterBody sender, StatHookEventArgs args) { int num = (Object.op_Implicit((Object)(object)sender.inventory) ? sender.inventory.GetItemCount(BunnyEarsDef) : 0); args.jumpPowerMultAdd += 0.1f * (float)num; } public static void CreateLang() { LanguageAPI.Add("DEGENERATEITEMS_BUNNYEARS_NAME", "Bunny Ears"); LanguageAPI.Add("DEGENERATEITEMS_BUNNYEARS_LORE", "\"bunny bunny bunny bunny bunny bunny\"\n\nTwo long pillars rise from the earth, capable of hearing across the cosmos.\n\n\"Brother, what are you-\"\n\n\"bunny bunny bunny bunny bunny bunny\"\n\nA small body, fitting of a warrior.\n\n\"I don't understan-\"\n\n\"bunny bunny bunny bunny bunny bunny\"\n\nTwo legs, capable of darting across the planet in a matter of hours.\n\n\"BROTHER.\"\n\n\"bunny bunny bunn-\"\n\nA loud slam shakes the earth. A pile of dust remains."); LanguageAPI.Add("DEGENERATEITEMS_BUNNYEARS_PICKUP", "Gain extra jump height. Enemies below you take more damage."); LanguageAPI.Add("DEGENERATEITEMS_BUNNYEARS_DESC", "Gain 10% (+10% per stack) jump height. Enemies below you take 10% (+10% per stack) more damage."); } public static ItemDisplayRuleDict ItemDisplayTransformations() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005d: 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_0078: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_012a: 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_0135: 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_0158: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Unknown result type (might be due to invalid IL or missing references) //IL_01b0: Unknown result type (might be due to invalid IL or missing references) //IL_01c6: Unknown result type (might be due to invalid IL or missing references) //IL_01cb: 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_01d1: 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_01f4: Unknown result type (might be due to invalid IL or missing references) //IL_022c: Unknown result type (might be due to invalid IL or missing references) //IL_0231: Unknown result type (might be due to invalid IL or missing references) //IL_0247: Unknown result type (might be due to invalid IL or missing references) //IL_024c: Unknown result type (might be due to invalid IL or missing references) //IL_0262: Unknown result type (might be due to invalid IL or missing references) //IL_0267: Unknown result type (might be due to invalid IL or missing references) //IL_026c: Unknown result type (might be due to invalid IL or missing references) //IL_026d: Unknown result type (might be due to invalid IL or missing references) //IL_0287: Unknown result type (might be due to invalid IL or missing references) //IL_0290: Unknown result type (might be due to invalid IL or missing references) //IL_02c8: Unknown result type (might be due to invalid IL or missing references) //IL_02cd: Unknown result type (might be due to invalid IL or missing references) //IL_02e3: Unknown result type (might be due to invalid IL or missing references) //IL_02e8: Unknown result type (might be due to invalid IL or missing references) //IL_02fe: Unknown result type (might be due to invalid IL or missing references) //IL_0303: Unknown result type (might be due to invalid IL or missing references) //IL_0308: Unknown result type (might be due to invalid IL or missing references) //IL_0309: Unknown result type (might be due to invalid IL or missing references) //IL_0323: Unknown result type (might be due to invalid IL or missing references) //IL_032c: Unknown result type (might be due to invalid IL or missing references) //IL_0364: Unknown result type (might be due to invalid IL or missing references) //IL_0369: Unknown result type (might be due to invalid IL or missing references) //IL_037f: Unknown result type (might be due to invalid IL or missing references) //IL_0384: Unknown result type (might be due to invalid IL or missing references) //IL_039a: Unknown result type (might be due to invalid IL or missing references) //IL_039f: Unknown result type (might be due to invalid IL or missing references) //IL_03a4: Unknown result type (might be due to invalid IL or missing references) //IL_03a5: Unknown result type (might be due to invalid IL or missing references) //IL_03bf: Unknown result type (might be due to invalid IL or missing references) //IL_03c8: Unknown result type (might be due to invalid IL or missing references) //IL_0400: Unknown result type (might be due to invalid IL or missing references) //IL_0405: Unknown result type (might be due to invalid IL or missing references) //IL_041b: Unknown result type (might be due to invalid IL or missing references) //IL_0420: Unknown result type (might be due to invalid IL or missing references) //IL_0436: Unknown result type (might be due to invalid IL or missing references) //IL_043b: Unknown result type (might be due to invalid IL or missing references) //IL_0440: Unknown result type (might be due to invalid IL or missing references) //IL_0441: Unknown result type (might be due to invalid IL or missing references) //IL_045b: Unknown result type (might be due to invalid IL or missing references) //IL_0464: Unknown result type (might be due to invalid IL or missing references) //IL_049c: Unknown result type (might be due to invalid IL or missing references) //IL_04a1: Unknown result type (might be due to invalid IL or missing references) //IL_04b7: Unknown result type (might be due to invalid IL or missing references) //IL_04bc: Unknown result type (might be due to invalid IL or missing references) //IL_04d2: Unknown result type (might be due to invalid IL or missing references) //IL_04d7: Unknown result type (might be due to invalid IL or missing references) //IL_04dc: Unknown result type (might be due to invalid IL or missing references) //IL_04dd: Unknown result type (might be due to invalid IL or missing references) //IL_04f7: Unknown result type (might be due to invalid IL or missing references) //IL_0500: Unknown result type (might be due to invalid IL or missing references) //IL_0538: Unknown result type (might be due to invalid IL or missing references) //IL_053d: Unknown result type (might be due to invalid IL or missing references) //IL_0553: Unknown result type (might be due to invalid IL or missing references) //IL_0558: 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_0573: Unknown result type (might be due to invalid IL or missing references) //IL_0578: Unknown result type (might be due to invalid IL or missing references) //IL_0579: Unknown result type (might be due to invalid IL or missing references) //IL_0593: Unknown result type (might be due to invalid IL or missing references) //IL_059c: Unknown result type (might be due to invalid IL or missing references) //IL_05d4: Unknown result type (might be due to invalid IL or missing references) //IL_05d9: Unknown result type (might be due to invalid IL or missing references) //IL_05ef: Unknown result type (might be due to invalid IL or missing references) //IL_05f4: Unknown result type (might be due to invalid IL or missing references) //IL_060a: Unknown result type (might be due to invalid IL or missing references) //IL_060f: Unknown result type (might be due to invalid IL or missing references) //IL_0614: Unknown result type (might be due to invalid IL or missing references) //IL_0615: Unknown result type (might be due to invalid IL or missing references) //IL_062f: Unknown result type (might be due to invalid IL or missing references) //IL_0638: Unknown result type (might be due to invalid IL or missing references) //IL_0670: 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_068b: 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_06a6: Unknown result type (might be due to invalid IL or missing references) //IL_06ab: Unknown result type (might be due to invalid IL or missing references) //IL_06b0: Unknown result type (might be due to invalid IL or missing references) //IL_06b1: Unknown result type (might be due to invalid IL or missing references) //IL_06cb: Unknown result type (might be due to invalid IL or missing references) //IL_06d4: Unknown result type (might be due to invalid IL or missing references) //IL_070c: Unknown result type (might be due to invalid IL or missing references) //IL_0711: Unknown result type (might be due to invalid IL or missing references) //IL_0727: Unknown result type (might be due to invalid IL or missing references) //IL_072c: Unknown result type (might be due to invalid IL or missing references) //IL_0742: Unknown result type (might be due to invalid IL or missing references) //IL_0747: Unknown result type (might be due to invalid IL or missing references) //IL_074c: Unknown result type (might be due to invalid IL or missing references) //IL_074d: Unknown result type (might be due to invalid IL or missing references) //IL_0767: Unknown result type (might be due to invalid IL or missing references) //IL_0770: Unknown result type (might be due to invalid IL or missing references) //IL_07a8: Unknown result type (might be due to invalid IL or missing references) //IL_07ad: Unknown result type (might be due to invalid IL or missing references) //IL_07c3: Unknown result type (might be due to invalid IL or missing references) //IL_07c8: Unknown result type (might be due to invalid IL or missing references) //IL_07de: Unknown result type (might be due to invalid IL or missing references) //IL_07e3: Unknown result type (might be due to invalid IL or missing references) //IL_07e8: Unknown result type (might be due to invalid IL or missing references) //IL_07e9: Unknown result type (might be due to invalid IL or missing references) //IL_0803: Unknown result type (might be due to invalid IL or missing references) //IL_080c: Unknown result type (might be due to invalid IL or missing references) //IL_0844: Unknown result type (might be due to invalid IL or missing references) //IL_0849: Unknown result type (might be due to invalid IL or missing references) //IL_085f: Unknown result type (might be due to invalid IL or missing references) //IL_0864: Unknown result type (might be due to invalid IL or missing references) //IL_087a: Unknown result type (might be due to invalid IL or missing references) //IL_087f: Unknown result type (might be due to invalid IL or missing references) //IL_0884: Unknown result type (might be due to invalid IL or missing references) //IL_0885: Unknown result type (might be due to invalid IL or missing references) //IL_089f: Unknown result type (might be due to invalid IL or missing references) //IL_08a8: Unknown result type (might be due to invalid IL or missing references) //IL_08e0: Unknown result type (might be due to invalid IL or missing references) //IL_08e5: Unknown result type (might be due to invalid IL or missing references) //IL_08fb: Unknown result type (might be due to invalid IL or missing references) //IL_0900: Unknown result type (might be due to invalid IL or missing references) //IL_0916: Unknown result type (might be due to invalid IL or missing references) //IL_091b: Unknown result type (might be due to invalid IL or missing references) //IL_0920: Unknown result type (might be due to invalid IL or missing references) //IL_0921: Unknown result type (might be due to invalid IL or missing references) //IL_093b: Unknown result type (might be due to invalid IL or missing references) //IL_0944: Unknown result type (might be due to invalid IL or missing references) //IL_097c: Unknown result type (might be due to invalid IL or missing references) //IL_0981: Unknown result type (might be due to invalid IL or missing references) //IL_0997: Unknown result type (might be due to invalid IL or missing references) //IL_099c: Unknown result type (might be due to invalid IL or missing references) //IL_09b2: Unknown result type (might be due to invalid IL or missing references) //IL_09b7: Unknown result type (might be due to invalid IL or missing references) //IL_09bc: Unknown result type (might be due to invalid IL or missing references) //IL_09bd: Unknown result type (might be due to invalid IL or missing references) ItemDisplayRuleDict val = new ItemDisplayRuleDict((ItemDisplayRule[])null); val.Add("mdlRailGunner", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset("bunnyears_curve.prefab"), childName = "Head", localPos = new Vector3(-0.00018f, 0.21757f, -0.02505f), localAngles = new Vector3(0f, 90f, 0f), localScale = new Vector3(5f, 5.0945f, 4f) } }); val.Add("mdlCommandoDualies", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset("bunnyears_curve.prefab"), childName = "Head", localPos = new Vector3(0f, 0.37f, 0f), localAngles = new Vector3(0f, 90f, 0f), localScale = new Vector3(8f, 8f, 7f) } }); val.Add("mdlHuntress", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset("bunnyears_curve.prefab"), childName = "Head", localPos = new Vector3(0.00034f, 0.30211f, -0.03092f), localAngles = new Vector3(0f, 90f, 0f), localScale = new Vector3(6f, 6f, 5f) } }); val.Add("mdlBandit2", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset("bunnyears_curve.prefab"), childName = "Head", localPos = new Vector3(-0.00064f, 0.21457f, 0.01593f), localAngles = new Vector3(0f, 90f, 0f), localScale = new Vector3(6f, 6f, 4.5f) } }); val.Add("mdlToolbot", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset("bunnyears_curve.prefab"), childName = "Head", localPos = new Vector3(-0.02132f, 1.20084f, 1.23591f), localAngles = new Vector3(358.7148f, 266.8632f, 304.8483f), localScale = new Vector3(80f, 80f, 80f) } }); val.Add("mdlEngi", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset("bunnyears_curve.prefab"), childName = "Chest", localPos = new Vector3(-0.00031f, 0.72016f, 0.04837f), localAngles = new Vector3(0f, 90f, 0f), localScale = new Vector3(8f, 8f, 7f) } }); val.Add("mdlMage", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset("bunnyears_curve.prefab"), childName = "Head", localPos = new Vector3(0.00097f, 0.17821f, -0.0016f), localAngles = new Vector3(359.9852f, 90.08691f, 16.1103f), localScale = new Vector3(6f, 6f, 4f) } }); val.Add("mdlMerc", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset("bunnyears_curve.prefab"), childName = "Head", localPos = new Vector3(0.00051f, 0.24972f, 0.0256f), localAngles = new Vector3(0f, 90f, 0f), localScale = new Vector3(6f, 6f, 5f) } }); val.Add("mdlLoader", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset("bunnyears_curve.prefab"), childName = "Head", localPos = new Vector3(0.00068f, 0.24076f, 0.00063f), localAngles = new Vector3(0f, 90f, 0f), localScale = new Vector3(6f, 6f, 5.5f) } }); val.Add("mdlCaptain", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset("bunnyears_curve.prefab"), childName = "Head", localPos = new Vector3(0.0011f, 0.23103f, 0.01163f), localAngles = new Vector3(0f, 90f, 0f), localScale = new Vector3(7f, 7f, 5.5f) } }); val.Add("mdlFalseSon", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset("bunnyears_curve.prefab"), childName = "Head", localPos = new Vector3(0.01966f, 0.41845f, 0.08426f), localAngles = new Vector3(0f, 90f, 0f), localScale = new Vector3(8f, 8f, 8f) } }); val.Add("mdlVoidSurvivor", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset("bunnyears_curve.prefab"), childName = "Head", localPos = new Vector3(0.01027f, 0.18881f, -0.00274f), localAngles = new Vector3(0f, 90f, 0f), localScale = new Vector3(8f, 8f, 7f) } }); val.Add("mdlSeeker", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset("bunnyears_curve.prefab"), childName = "Head", localPos = new Vector3(-0.00528f, 0.23442f, -0.00311f), localAngles = new Vector3(0f, 90f, 0f), localScale = new Vector3(6f, 6f, 5f) } }); val.Add("mdlDroneTech", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset("bunnyears_curve.prefab"), childName = "Head", localPos = new Vector3(-0.28433f, 0.0394f, -0.00642f), localAngles = new Vector3(0f, 0f, 90f), localScale = new Vector3(7f, 7f, 6f) } }); val.Add("mdlDrifter", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset("bunnyears_curve.prefab"), childName = "Head", localPos = new Vector3(-0.31011f, 0.00211f, 0.00769f), localAngles = new Vector3(0f, 180f, 270f), localScale = new Vector3(8f, 8f, 7f) } }); val.Add("mdlCroco", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset("bunnyears_curve.prefab"), childName = "Head", localPos = new Vector3(-0.02386f, 0.79044f, 1.40061f), localAngles = new Vector3(359.2067f, 269.6524f, 263.2065f), localScale = new Vector3(60f, 60f, 60f) } }); return val; } } [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInPlugin("acanthi.DegenerateItems", "DegenerateItems", "1.0.0")] public class DegenerateItems : BaseUnityPlugin { public const string PluginGUID = "acanthi.DegenerateItems"; public const string PluginAuthor = "acanthi"; public const string PluginName = "DegenerateItems"; public const string PluginVersion = "1.0.0"; public static AssetBundle DegenerateItemsAssets; public void Awake() { Log.Init(((BaseUnityPlugin)this).Logger); using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("DegenerateItems.degenerateitems_assets")) { DegenerateItemsAssets = AssetBundle.LoadFromStream(stream); } ((MonoBehaviour)this).StartCoroutine(ShaderSwapper.UpgradeStubbedShadersAsync(DegenerateItemsAssets)); BunnyEars.Init(); HeavenTranmitter.Init(); } } internal class HeavenTranmitter { public class HeavenTransmitterBehavior : BaseItemBodyBehavior, IOnDamageDealtServerReceiver { [ItemDefAssociation(useOnServer = true, useOnClient = true)] private static ItemDef GetItemDef() { return HeavenTransmitterDef; } private int GetStackCount() { return base.stack; } private void OnEnable() { Debug.Log((object)"Skibidi Enabled"); } private void OnDisable() { Debug.Log((object)"Skibidi Disabled"); } private int GetScrapCount(CharacterBody body) { return body.inventory.GetItemCountEffective(Items.ScrapWhite) + body.inventory.GetItemCountEffective(Items.ScrapGreen) + body.inventory.GetItemCountEffective(Items.RegeneratingScrap) + body.inventory.GetItemCountEffective(Items.ScrapRed) + body.inventory.GetItemCountEffective(Items.ScrapYellow) + body.inventory.GetItemCountEffective(Items.ScrapWhiteSuppressed) + body.inventory.GetItemCountEffective(Items.ScrapGreenSuppressed) + body.inventory.GetItemCountEffective(Items.ScrapRedSuppressed); } public void OnDamageDealtServer(DamageReport damageReport) { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: 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_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_011d: 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_012e: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_0156: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_0163: Unknown result type (might be due to invalid IL or missing references) //IL_0164: Unknown result type (might be due to invalid IL or missing references) //IL_0169: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Expected O, but got Unknown //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01b7: Unknown result type (might be due to invalid IL or missing references) //IL_01bc: Unknown result type (might be due to invalid IL or missing references) //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Expected O, but got Unknown //IL_01d1: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Unknown result type (might be due to invalid IL or missing references) //IL_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_01dd: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Unknown result type (might be due to invalid IL or missing references) //IL_01f5: Unknown result type (might be due to invalid IL or missing references) //IL_01fa: Unknown result type (might be due to invalid IL or missing references) //IL_01ff: Unknown result type (might be due to invalid IL or missing references) //IL_020a: Expected O, but got Unknown if (base.stack > 0 && damageReport.damageDealt > 0f && !ProcTypeAPI.HasModdedProc(damageReport.damageInfo.procChainMask, transmitterProcType) && !((Enum)damageReport.damageInfo.damageType.damageType).HasFlag((Enum)(object)(DamageType)67108864)) { CharacterBody attackerBody = damageReport.attackerBody; CharacterBody victimBody = damageReport.victimBody; Vector3 position = damageReport.damageInfo.position; ProcChainMask procChainMask = damageReport.damageInfo.procChainMask; ProcTypeAPI.AddModdedProc(ref procChainMask, transmitterProcType); if (Object.op_Implicit((Object)(object)attackerBody) && Object.op_Implicit((Object)(object)victimBody) && (Util.CheckRoll(baseProcChance + scrapProcChance * (float)GetScrapCount(attackerBody), attackerBody.master) || ((ProcChainMask)(ref damageReport.damageInfo.procChainMask)).HasProc((ProcType)26))) { float num = baseDamage + stackDamage * (float)base.stack; float damage = Util.OnHitProcDamage(damageReport.damageInfo.damage, attackerBody.damage, num); DamageInfo val = new DamageInfo { damage = damage, damageColorIndex = (DamageColorIndex)3, damageType = DamageTypeCombo.op_Implicit((DamageType)0), attacker = damageReport.damageInfo.attacker, crit = damageReport.damageInfo.crit, force = Vector3.zero, inflictor = null, position = position, procChainMask = procChainMask, procCoefficient = 1f, inflictedHurtbox = damageReport.damageInfo.inflictedHurtbox }; EffectManager.SpawnEffect(impactEffect, new EffectData { origin = position, scale = Convert.ToSingle(7f * victimBody.radius), rotation = Util.QuaternionSafeLookRotation(Vector3.left) }, true); EffectManager.SpawnEffect(impactEffect2, new EffectData { origin = position, scale = Convert.ToSingle(7f * victimBody.radius), rotation = Util.QuaternionSafeLookRotation(Vector3.up) }, true); Util.PlaySound("Play_mage_m2_iceSpear_impact", ((Component)damageReport.victimBody).gameObject); victimBody.healthComponent.TakeDamage(val); } } } } public static ItemDef HeavenTransmitterDef; public static GameObject itemDisplayFollowerPrefab; public static GameObject itemDisplayPrefab = PrefabAPI.CreateEmptyPrefab("heaventransmitter_empty"); public static float baseDamage = 3.33f; public static float stackDamage = 1.11f; public static float baseProcChance = 5f; public static float scrapProcChance = 2f; private static ModdedProcType transmitterProcType; private static GameObject impactEffect; private static GameObject impactEffect2; internal static void Init() { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_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_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //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_010f: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_01c4: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Expected O, but got Unknown CreateLang(); impactEffect = Addressables.LoadAssetAsync((object)RoR2_DLC3_VultureHunter.XiSpearImpactVisual_prefab).WaitForCompletion(); impactEffect2 = Addressables.LoadAssetAsync((object)RoR2_DLC1_MajorAndMinorConstruct.MajorConstructSecondMuzzleFlash_prefab).WaitForCompletion(); transmitterProcType = ProcTypeAPI.ReserveProcType(); HeavenTransmitterDef = ScriptableObject.CreateInstance(); ((Object)HeavenTransmitterDef).name = "DEGENERATEITEMS_HEAVENTRANSMITTER_NAME"; HeavenTransmitterDef.nameToken = "DEGENERATEITEMS_HEAVENTRANSMITTER_NAME"; HeavenTransmitterDef.pickupToken = "DEGENERATEITEMS_HEAVENTRANSMITTER_PICKUP"; HeavenTransmitterDef.descriptionToken = "DEGENERATEITEMS_HEAVENTRANSMITTER_DESC"; HeavenTransmitterDef.loreToken = "DEGENERATEITEMS_HEAVENTRANSMITTER_LORE"; HeavenTransmitterDef._itemTierDef = Addressables.LoadAssetAsync((object)"RoR2/Base/Common/Tier3Def.asset").WaitForCompletion(); HeavenTransmitterDef.pickupIconSprite = DegenerateItems.DegenerateItemsAssets.LoadAsset("heaventransmitter.png"); HeavenTransmitterDef.pickupModelPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset("heaventransmitter.prefab"); HeavenTransmitterDef.tags = (ItemTag[])(object)new ItemTag[2] { (ItemTag)31, (ItemTag)29 }; ModelPanelParameters obj = HeavenTransmitterDef.pickupModelPrefab.AddComponent(); obj.focusPointTransform = new GameObject("FocusPoint").transform; obj.focusPointTransform.SetParent(HeavenTransmitterDef.pickupModelPrefab.transform); obj.cameraPositionTransform = new GameObject("CameraPosition").transform; obj.cameraPositionTransform.SetParent(HeavenTransmitterDef.pickupModelPrefab.transform); itemDisplayFollowerPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset("heaventransmitter.prefab"); itemDisplayFollowerPrefab.AddComponent(); ItemFollower obj2 = itemDisplayPrefab.AddComponent(); obj2.followerPrefab = itemDisplayFollowerPrefab; obj2.distanceDampTime = 0.02f; obj2.distanceMaxSpeed = 35f; obj2.targetObject = itemDisplayPrefab; ItemAPI.Add(new CustomItem(HeavenTransmitterDef, ItemDisplayTransformations())); } private static void CreateLang() { LanguageAPI.Add("DEGENERATEITEMS_HEAVENTRANSMITTER_NAME", "H34V-EN Transmitter"); LanguageAPI.Add("DEGENERATEITEMS_HEAVENTRANSMITTER_LORE", "\"When I awoke, I was grasping a gun. \n\nThe smell of death and metal woke me. \n\nWhen we are not connected to the network...\n\n...we are all alone.\n\nDo you understand that?\""); LanguageAPI.Add("DEGENERATEITEMS_HEAVENTRANSMITTER_PICKUP", "Chance to summon a beam of light on an enemy. Chance increases with scrap count."); LanguageAPI.Add("DEGENERATEITEMS_HEAVENTRANSMITTER_DESC", "Gain a 5% chance for a beam of light to pierce an enemy for 333% (+111% per stack) TOTAL damage. Carrying any tier of scrap increases the chance by 2%."); } public static ItemDisplayRuleDict ItemDisplayTransformations() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_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_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: 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_0116: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Unknown result type (might be due to invalid IL or missing references) //IL_0192: 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_01ad: 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_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01cd: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Unknown result type (might be due to invalid IL or missing references) //IL_0204: Unknown result type (might be due to invalid IL or missing references) //IL_0209: Unknown result type (might be due to invalid IL or missing references) //IL_021f: Unknown result type (might be due to invalid IL or missing references) //IL_0224: Unknown result type (might be due to invalid IL or missing references) //IL_023a: Unknown result type (might be due to invalid IL or missing references) //IL_023f: Unknown result type (might be due to invalid IL or missing references) //IL_0244: Unknown result type (might be due to invalid IL or missing references) //IL_0245: Unknown result type (might be due to invalid IL or missing references) //IL_025f: Unknown result type (might be due to invalid IL or missing references) //IL_0268: Unknown result type (might be due to invalid IL or missing references) //IL_0296: 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_02b1: Unknown result type (might be due to invalid IL or missing references) //IL_02b6: Unknown result type (might be due to invalid IL or missing references) //IL_02cc: Unknown result type (might be due to invalid IL or missing references) //IL_02d1: Unknown result type (might be due to invalid IL or missing references) //IL_02d6: Unknown result type (might be due to invalid IL or missing references) //IL_02d7: 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_02fa: Unknown result type (might be due to invalid IL or missing references) //IL_0328: Unknown result type (might be due to invalid IL or missing references) //IL_032d: Unknown result type (might be due to invalid IL or missing references) //IL_0343: Unknown result type (might be due to invalid IL or missing references) //IL_0348: Unknown result type (might be due to invalid IL or missing references) //IL_035e: Unknown result type (might be due to invalid IL or missing references) //IL_0363: Unknown result type (might be due to invalid IL or missing references) //IL_0368: Unknown result type (might be due to invalid IL or missing references) //IL_0369: Unknown result type (might be due to invalid IL or missing references) //IL_0383: 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_03ba: Unknown result type (might be due to invalid IL or missing references) //IL_03bf: Unknown result type (might be due to invalid IL or missing references) //IL_03d5: Unknown result type (might be due to invalid IL or missing references) //IL_03da: Unknown result type (might be due to invalid IL or missing references) //IL_03f0: Unknown result type (might be due to invalid IL or missing references) //IL_03f5: Unknown result type (might be due to invalid IL or missing references) //IL_03fa: Unknown result type (might be due to invalid IL or missing references) //IL_03fb: Unknown result type (might be due to invalid IL or missing references) //IL_0415: Unknown result type (might be due to invalid IL or missing references) //IL_041e: Unknown result type (might be due to invalid IL or missing references) //IL_044c: Unknown result type (might be due to invalid IL or missing references) //IL_0451: Unknown result type (might be due to invalid IL or missing references) //IL_0467: Unknown result type (might be due to invalid IL or missing references) //IL_046c: Unknown result type (might be due to invalid IL or missing references) //IL_0482: Unknown result type (might be due to invalid IL or missing references) //IL_0487: Unknown result type (might be due to invalid IL or missing references) //IL_048c: Unknown result type (might be due to invalid IL or missing references) //IL_048d: Unknown result type (might be due to invalid IL or missing references) //IL_04a7: Unknown result type (might be due to invalid IL or missing references) //IL_04b0: Unknown result type (might be due to invalid IL or missing references) //IL_04de: Unknown result type (might be due to invalid IL or missing references) //IL_04e3: Unknown result type (might be due to invalid IL or missing references) //IL_04f9: Unknown result type (might be due to invalid IL or missing references) //IL_04fe: Unknown result type (might be due to invalid IL or missing references) //IL_0514: Unknown result type (might be due to invalid IL or missing references) //IL_0519: Unknown result type (might be due to invalid IL or missing references) //IL_051e: Unknown result type (might be due to invalid IL or missing references) //IL_051f: Unknown result type (might be due to invalid IL or missing references) //IL_0539: Unknown result type (might be due to invalid IL or missing references) //IL_0542: Unknown result type (might be due to invalid IL or missing references) //IL_0570: Unknown result type (might be due to invalid IL or missing references) //IL_0575: Unknown result type (might be due to invalid IL or missing references) //IL_058b: Unknown result type (might be due to invalid IL or missing references) //IL_0590: Unknown result type (might be due to invalid IL or missing references) //IL_05a6: Unknown result type (might be due to invalid IL or missing references) //IL_05ab: Unknown result type (might be due to invalid IL or missing references) //IL_05b0: Unknown result type (might be due to invalid IL or missing references) //IL_05b1: Unknown result type (might be due to invalid IL or missing references) //IL_05cb: Unknown result type (might be due to invalid IL or missing references) //IL_05d4: Unknown result type (might be due to invalid IL or missing references) //IL_0602: Unknown result type (might be due to invalid IL or missing references) //IL_0607: Unknown result type (might be due to invalid IL or missing references) //IL_061d: Unknown result type (might be due to invalid IL or missing references) //IL_0622: Unknown result type (might be due to invalid IL or missing references) //IL_0638: Unknown result type (might be due to invalid IL or missing references) //IL_063d: Unknown result type (might be due to invalid IL or missing references) //IL_0642: Unknown result type (might be due to invalid IL or missing references) //IL_0643: Unknown result type (might be due to invalid IL or missing references) //IL_065d: Unknown result type (might be due to invalid IL or missing references) //IL_0666: Unknown result type (might be due to invalid IL or missing references) //IL_0694: Unknown result type (might be due to invalid IL or missing references) //IL_0699: Unknown result type (might be due to invalid IL or missing references) //IL_06af: Unknown result type (might be due to invalid IL or missing references) //IL_06b4: Unknown result type (might be due to invalid IL or missing references) //IL_06ca: Unknown result type (might be due to invalid IL or missing references) //IL_06cf: Unknown result type (might be due to invalid IL or missing references) //IL_06d4: Unknown result type (might be due to invalid IL or missing references) //IL_06d5: Unknown result type (might be due to invalid IL or missing references) //IL_06ef: Unknown result type (might be due to invalid IL or missing references) //IL_06f8: 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_0741: Unknown result type (might be due to invalid IL or missing references) //IL_0746: Unknown result type (might be due to invalid IL or missing references) //IL_075c: Unknown result type (might be due to invalid IL or missing references) //IL_0761: Unknown result type (might be due to invalid IL or missing references) //IL_0766: Unknown result type (might be due to invalid IL or missing references) //IL_0767: Unknown result type (might be due to invalid IL or missing references) //IL_0781: Unknown result type (might be due to invalid IL or missing references) //IL_078a: Unknown result type (might be due to invalid IL or missing references) //IL_07b8: Unknown result type (might be due to invalid IL or missing references) //IL_07bd: Unknown result type (might be due to invalid IL or missing references) //IL_07d3: Unknown result type (might be due to invalid IL or missing references) //IL_07d8: Unknown result type (might be due to invalid IL or missing references) //IL_07ee: Unknown result type (might be due to invalid IL or missing references) //IL_07f3: Unknown result type (might be due to invalid IL or missing references) //IL_07f8: Unknown result type (might be due to invalid IL or missing references) //IL_07f9: Unknown result type (might be due to invalid IL or missing references) ItemDisplayRuleDict val = new ItemDisplayRuleDict((ItemDisplayRule[])null); val.Add("mdlRailGunner", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = itemDisplayPrefab, childName = "Head", localPos = new Vector3(0.00021f, 0.44454f, 0.04126f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(2f, 2f, 2f) } }); val.Add("mdlCommandoDualies", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = itemDisplayPrefab, childName = "Head", localPos = new Vector3(0.00021f, 0.44454f, 0.04126f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(2f, 2f, 2f) } }); val.Add("mdlHuntress", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = itemDisplayPrefab, childName = "Head", localPos = new Vector3(0.00021f, 0.44454f, 0.04126f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(2f, 2f, 2f) } }); val.Add("mdlBandit2", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = itemDisplayPrefab, childName = "Head", localPos = new Vector3(0.00021f, 0.44454f, 0.04126f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(2f, 2f, 2f) } }); val.Add("mdlToolbot", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = itemDisplayPrefab, childName = "Head", localPos = new Vector3(0.00021f, 0.44454f, 0.04126f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(2f, 2f, 2f) } }); val.Add("mdlEngi", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = itemDisplayPrefab, childName = "Chest", localPos = new Vector3(0.00021f, 0.94454f, 0.04126f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(2f, 2f, 2f) } }); val.Add("mdlMage", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = itemDisplayPrefab, childName = "Head", localPos = new Vector3(0.00021f, 0.44454f, 0.04126f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(2f, 2f, 2f) } }); val.Add("mdlMerc", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = itemDisplayPrefab, childName = "Head", localPos = new Vector3(0.00021f, 0.44454f, 0.04126f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(2f, 2f, 2f) } }); val.Add("mdlLoader", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = itemDisplayPrefab, childName = "Head", localPos = new Vector3(0.00021f, 0.44454f, 0.04126f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(2f, 2f, 2f) } }); val.Add("mdlCaptain", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = itemDisplayPrefab, childName = "Head", localPos = new Vector3(0.00021f, 0.44454f, 0.04126f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(2f, 2f, 2f) } }); val.Add("mdlVoidSurvivor", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = itemDisplayPrefab, childName = "Head", localPos = new Vector3(0.00021f, 0.44454f, 0.04126f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(2f, 2f, 2f) } }); val.Add("mdlSeeker", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = itemDisplayPrefab, childName = "Head", localPos = new Vector3(0.00021f, 0.44454f, 0.04126f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(2f, 2f, 2f) } }); val.Add("mdlDroneTech", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = itemDisplayPrefab, childName = "Head", localPos = new Vector3(0.00021f, 0.44454f, 0.04126f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(2f, 2f, 2f) } }); val.Add("mdlDrifter", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = itemDisplayPrefab, childName = "Head", localPos = new Vector3(0.00021f, 0.44454f, 0.04126f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(2f, 2f, 2f) } }); return val; } } internal static class Log { private static ManualLogSource _logSource; internal static void Init(ManualLogSource logSource) { _logSource = logSource; } internal static void Debug(object data) { _logSource.LogDebug(data); } internal static void Error(object data) { _logSource.LogError(data); } internal static void Fatal(object data) { _logSource.LogFatal(data); } internal static void Info(object data) { _logSource.LogInfo(data); } internal static void Message(object data) { _logSource.LogMessage(data); } internal static void Warning(object data) { _logSource.LogWarning(data); } } }