Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of DegenerateItems v1.0.0
DegenerateItems.dll
Decompiled 2 months agousing 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+57a5fd3f5b7771a9971c4662098712c06a558f8f")] [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] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace 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<Instruction, bool> <>9__1_1; public static Func<Instruction, bool> <>9__1_2; public static Func<Instruction, bool> <>9__1_3; public static Func<Instruction, bool> <>9__1_4; public static Func<HealthComponent, DamageInfo, float, float> <>9__1_5; public static Manipulator <>9__1_0; internal void <Init>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<Instruction, bool>[4] { (Instruction x) => ILPatternMatchingExt.MatchLdloc(x, 1), (Instruction x) => ILPatternMatchingExt.MatchCallvirt<CharacterMaster>(x, "get_inventory"), (Instruction x) => ILPatternMatchingExt.MatchLdsfld(x, typeof(Items), "NearbyDamageBonus"), (Instruction x) => ILPatternMatchingExt.MatchCallvirt<Inventory>(x, "GetItemCountEffective") })) { val.Emit(OpCodes.Ldarg_0); val.Emit(OpCodes.Ldarg_1); val.Emit(OpCodes.Ldloc_S, (byte)10); val.EmitDelegate<Func<HealthComponent, DamageInfo, float, float>>((Func<HealthComponent, DamageInfo, float, float>)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<CharacterBody>(); 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 <Init>b__1_1(Instruction x) { return ILPatternMatchingExt.MatchLdloc(x, 1); } internal bool <Init>b__1_2(Instruction x) { return ILPatternMatchingExt.MatchCallvirt<CharacterMaster>(x, "get_inventory"); } internal bool <Init>b__1_3(Instruction x) { return ILPatternMatchingExt.MatchLdsfld(x, typeof(Items), "NearbyDamageBonus"); } internal bool <Init>b__1_4(Instruction x) { return ILPatternMatchingExt.MatchCallvirt<Inventory>(x, "GetItemCountEffective"); } internal float <Init>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<CharacterBody>(); 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<ItemDef>(); ((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<ItemTierDef>((object)"RoR2/Base/Common/Tier1Def.asset").WaitForCompletion(); BunnyEarsDef.pickupIconSprite = DegenerateItems.DegenerateItemsAssets.LoadAsset<Sprite>("bunnyears.png"); BunnyEarsDef.pickupModelPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset<GameObject>("bunnyears_curve.prefab"); BunnyEarsDef.tags = (ItemTag[])(object)new ItemTag[2] { (ItemTag)31, (ItemTag)29 }; ModelPanelParameters obj = BunnyEarsDef.pickupModelPrefab.AddComponent<ModelPanelParameters>(); 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<Instruction, bool>[4] { (Instruction x) => ILPatternMatchingExt.MatchLdloc(x, 1), (Instruction x) => ILPatternMatchingExt.MatchCallvirt<CharacterMaster>(x, "get_inventory"), (Instruction x) => ILPatternMatchingExt.MatchLdsfld(x, typeof(Items), "NearbyDamageBonus"), (Instruction x) => ILPatternMatchingExt.MatchCallvirt<Inventory>(x, "GetItemCountEffective") })) { val3.Emit(OpCodes.Ldarg_0); val3.Emit(OpCodes.Ldarg_1); val3.Emit(OpCodes.Ldloc_S, (byte)10); val3.EmitDelegate<Func<HealthComponent, DamageInfo, float, float>>((Func<HealthComponent, DamageInfo, float, float>)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<CharacterBody>(); 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 <style=cIsUtility>10%</style> <style=cStack>(+10% per stack)</style> jump height. Enemies below you take <style=cIsDamage>10%</style> <style=cStack>(+10% per stack)</style> 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) ItemDisplayRuleDict val = new ItemDisplayRuleDict((ItemDisplayRule[])null); val.Add("mdlRailGunner", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset<GameObject>("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<GameObject>("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<GameObject>("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<GameObject>("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<GameObject>("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<GameObject>("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<GameObject>("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<GameObject>("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<GameObject>("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<GameObject>("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("mdlVoidSurvivor", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset<GameObject>("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<GameObject>("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<GameObject>("bunnyears_curve.prefab"), childName = "Head", localPos = new Vector3(-0.22721f, 0.01121f, -0.00024f), localAngles = new Vector3(0f, 0f, 90f), localScale = new Vector3(8f, 8f, 0.7f) } }); val.Add("mdlDrifter", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset<GameObject>("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) } }); 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<GameObject>((object)RoR2_DLC3_VultureHunter.XiSpearImpactVisual_prefab).WaitForCompletion(); impactEffect2 = Addressables.LoadAssetAsync<GameObject>((object)RoR2_DLC1_MajorAndMinorConstruct.MajorConstructSecondMuzzleFlash_prefab).WaitForCompletion(); transmitterProcType = ProcTypeAPI.ReserveProcType(); HeavenTransmitterDef = ScriptableObject.CreateInstance<ItemDef>(); ((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<ItemTierDef>((object)"RoR2/Base/Common/Tier3Def.asset").WaitForCompletion(); HeavenTransmitterDef.pickupIconSprite = DegenerateItems.DegenerateItemsAssets.LoadAsset<Sprite>("heaventransmitter.png"); HeavenTransmitterDef.pickupModelPrefab = DegenerateItems.DegenerateItemsAssets.LoadAsset<GameObject>("heaventransmitter.prefab"); HeavenTransmitterDef.tags = (ItemTag[])(object)new ItemTag[2] { (ItemTag)31, (ItemTag)29 }; ModelPanelParameters obj = HeavenTransmitterDef.pickupModelPrefab.AddComponent<ModelPanelParameters>(); 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<GameObject>("heaventransmitter.prefab"); itemDisplayFollowerPrefab.AddComponent<ItemDisplay>(); ItemFollower obj2 = itemDisplayPrefab.AddComponent<ItemFollower>(); 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", "<style=cMono>\"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?\"</style>"); 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 <style=cIsDamage>5%</style> chance for a beam of light to pierce an enemy for <style=cIsDamage>333%</style> <style=cStack>(+111% per stack)</style> TOTAL damage. Carrying any tier of <style=cIsUtility>scrap</style> increases the chance by <style=cIsDamage>2%</style>."); } 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); } } }