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 SkillSwap v2.3.7
SkillSwap.dll
Decompiled 2 years ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using EntityStates; using EntityStates.Mage; using HG; using HG.Reflection; using Microsoft.CodeAnalysis; using MonoMod.RuntimeDetour; using On; using On.EntityStates; using On.RoR2; using On.RoR2.ContentManagement; using R2API; using RoR2; using RoR2.ContentManagement; using RoR2.Skills; using RoR2.UI; using SkillSwap.Utils; using SkillSwap.Utils.Paths; using UnityEngine; using UnityEngine.AddressableAssets; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: OptIn] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("SkillSwap")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("SkillSwap")] [assembly: AssemblyTitle("SkillSwap")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace SkillSwap { public class Components { [CompilerGenerated] private static class <>O { public static hook_Start <0>__Huntress; public static hook_Start <1>__Viend; } private static List<SkillDef> corruptions = new List<SkillDef>(); internal static void Perform() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Expected O, but got Unknown object obj = <>O.<0>__Huntress; if (obj == null) { hook_Start val = Huntress; <>O.<0>__Huntress = val; obj = (object)val; } CharacterBody.Start += (hook_Start)obj; object obj2 = <>O.<1>__Viend; if (obj2 == null) { hook_Start val2 = Viend; <>O.<1>__Viend = val2; obj2 = (object)val2; } CharacterBody.Start += (hook_Start)obj2; corruptions.Add(SkillDef.CrushHealth.Load<SkillDef>()); corruptions.Add((SkillDef)(object)VoidSurvivorSkillDef.CrushCorruption.Load<VoidSurvivorSkillDef>()); corruptions.Add((SkillDef)(object)Passives.corruption); } private static void Huntress(orig_Start orig, CharacterBody self) { //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_009b: Expected O, but got Unknown orig.Invoke(self); GenericSkill[] components = ((Component)self).GetComponents<GenericSkill>(); foreach (GenericSkill val in components) { if (val.skillDef is HuntressTrackingSkillDef) { SkillDef skillDef = val.skillDef; HuntressTrackingSkillDef val2 = (HuntressTrackingSkillDef)(object)((skillDef is HuntressTrackingSkillDef) ? skillDef : null); HuntressTracker val3 = ((Component)self).GetComponent<HuntressTracker>(); if (!Object.op_Implicit((Object)(object)val3)) { val3 = ((Component)self).gameObject.AddComponent<HuntressTracker>(); val3.maxTrackingDistance = 60f; val3.maxTrackingAngle = 30f; val3.trackerUpdateFrequency = 10f; } val.skillInstanceData = (BaseSkillInstanceData)new InstanceData { huntressTracker = val3 }; } } } private static void Viend(orig_Start orig, CharacterBody self) { //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_0184: Expected O, but got Unknown orig.Invoke(self); GenericSkill[] components = ((Component)self).GetComponents<GenericSkill>(); foreach (GenericSkill val in components) { if (corruptions.Contains(val.skillDef)) { VoidSurvivorController val2 = ((Component)self).GetComponent<VoidSurvivorController>(); if (!Object.op_Implicit((Object)(object)val2)) { val2 = ((Component)self).gameObject.AddComponent<VoidSurvivorController>(); val2.characterBody = self; val2.characterAnimator = self.characterDirection.modelAnimator ?? null; val2.bodyStateMachine = EntityStateMachine.FindByCustomName(((Component)self).gameObject, "Body"); val2.weaponStateMachine = EntityStateMachine.FindByCustomName(((Component)self).gameObject, "Weapon"); val2.corruptionModeStateMachine = EntityStateMachine.FindByCustomName(((Component)self).gameObject, "CorruptMode"); val2.corruptedBuffDef = Buffs.VoidSurvivorCorruptMode; val2.overlayPrefab = GameObject.VoidSurvivorCorruptionUISimplified.Load<GameObject>(); val2.maxCorruption = 100f; val2.minimumCorruptionPerVoidItem = 2f; val2.corruptionPerSecondInCombat = 3f; val2.corruptionPerSecondOutOfCombat = 3f; val2.corruptionForFullDamage = 50f; val2.corruptionForFullHeal = -100f; val2.corruptionPerCrit = 2f; val2.corruptionFractionPerSecondWhileCorrupted = -0.067f; val2.overlayChildLocatorEntry = "CrosshairExtras"; val2.OnDisable(); val2.OnEnable(); } if (val.skillDef is VoidSurvivorSkillDef) { val.skillInstanceData = (BaseSkillInstanceData)new InstanceData { voidSurvivorController = val2 }; } } } } } public class Melee { [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static hook_Start <>9__0_0; public static hook_FindHitBoxGroup <>9__0_1; public static Predicate<HitBoxGroup> <>9__0_3; public static hook_Fire <>9__0_2; internal void <Perform>b__0_0(orig_Start orig, CharacterBody self) { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Expected O, but got Unknown //IL_0045: 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_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); ModelLocator component = ((Component)self).GetComponent<ModelLocator>(); if (Object.op_Implicit((Object)(object)component.modelTransform)) { GameObject val = new GameObject("DefaultSSHitbox"); BoxCollider val2 = val.AddComponent<BoxCollider>(); val2.size = new Vector3(240f, 180f, 240f); HitBox val3 = val.AddComponent<HitBox>(); val.layer = LayerIndex.triggerZone.intVal; ((Collider)val2).isTrigger = true; val.transform.SetParent(component.modelTransform); val.transform.position = component.modelTransform.position; val.transform.localPosition = new Vector3(0f, 1f, 1.5f); Transform transform = val.transform; transform.localScale *= 3.5f; HitBoxGroup val4 = ((Component)component.modelTransform).gameObject.AddComponent<HitBoxGroup>(); val4.groupName = "DefaultSSGroup"; val4.hitBoxes = (HitBox[])(object)new HitBox[1] { val3 }; } } internal HitBoxGroup <Perform>b__0_1(orig_FindHitBoxGroup orig, BaseState self, string str) { HitBoxGroup val = orig.Invoke(self, str); if (Object.op_Implicit((Object)(object)val)) { return val; } return orig.Invoke(self, "DefaultSSGroup"); } internal bool <Perform>b__0_2(orig_Fire orig, OverlapAttack self, List<HurtBox> res) { if ((Object)(object)self.hitBoxGroup == (Object)null && Object.op_Implicit((Object)(object)self.attacker)) { CharacterBody component = self.attacker.GetComponent<CharacterBody>(); if (Object.op_Implicit((Object)(object)component) && Object.op_Implicit((Object)(object)component.modelLocator) && Object.op_Implicit((Object)(object)component.modelLocator.modelTransform)) { HitBoxGroup[] components = ((Component)component.modelLocator.modelTransform).GetComponents<HitBoxGroup>(); self.hitBoxGroup = Array.Find(components, (HitBoxGroup x) => x.groupName == "DefaultSSGroup"); Debug.Log((object)self.hitBoxGroup.groupName); } } return orig.Invoke(self, res); } internal bool <Perform>b__0_3(HitBoxGroup x) { return x.groupName == "DefaultSSGroup"; } } internal static void Perform() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Expected O, but got Unknown //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Expected O, but got Unknown //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Expected O, but got Unknown object obj = <>c.<>9__0_0; if (obj == null) { hook_Start val = delegate(orig_Start orig, CharacterBody self) { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Expected O, but got Unknown //IL_0045: 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_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); ModelLocator component2 = ((Component)self).GetComponent<ModelLocator>(); if (Object.op_Implicit((Object)(object)component2.modelTransform)) { GameObject val5 = new GameObject("DefaultSSHitbox"); BoxCollider val6 = val5.AddComponent<BoxCollider>(); val6.size = new Vector3(240f, 180f, 240f); HitBox val7 = val5.AddComponent<HitBox>(); val5.layer = LayerIndex.triggerZone.intVal; ((Collider)val6).isTrigger = true; val5.transform.SetParent(component2.modelTransform); val5.transform.position = component2.modelTransform.position; val5.transform.localPosition = new Vector3(0f, 1f, 1.5f); Transform transform = val5.transform; transform.localScale *= 3.5f; HitBoxGroup val8 = ((Component)component2.modelTransform).gameObject.AddComponent<HitBoxGroup>(); val8.groupName = "DefaultSSGroup"; val8.hitBoxes = (HitBox[])(object)new HitBox[1] { val7 }; } }; <>c.<>9__0_0 = val; obj = (object)val; } CharacterBody.Start += (hook_Start)obj; object obj2 = <>c.<>9__0_1; if (obj2 == null) { hook_FindHitBoxGroup val2 = delegate(orig_FindHitBoxGroup orig, BaseState self, string str) { HitBoxGroup val4 = orig.Invoke(self, str); return Object.op_Implicit((Object)(object)val4) ? val4 : orig.Invoke(self, "DefaultSSGroup"); }; <>c.<>9__0_1 = val2; obj2 = (object)val2; } BaseState.FindHitBoxGroup += (hook_FindHitBoxGroup)obj2; object obj3 = <>c.<>9__0_2; if (obj3 == null) { hook_Fire val3 = delegate(orig_Fire orig, OverlapAttack self, List<HurtBox> res) { if ((Object)(object)self.hitBoxGroup == (Object)null && Object.op_Implicit((Object)(object)self.attacker)) { CharacterBody component = self.attacker.GetComponent<CharacterBody>(); if (Object.op_Implicit((Object)(object)component) && Object.op_Implicit((Object)(object)component.modelLocator) && Object.op_Implicit((Object)(object)component.modelLocator.modelTransform)) { HitBoxGroup[] components = ((Component)component.modelLocator.modelTransform).GetComponents<HitBoxGroup>(); self.hitBoxGroup = Array.Find(components, (HitBoxGroup x) => x.groupName == "DefaultSSGroup"); Debug.Log((object)self.hitBoxGroup.groupName); } } return orig.Invoke(self, res); }; <>c.<>9__0_2 = val3; obj3 = (object)val3; } OverlapAttack.Fire += (hook_Fire)obj3; } } public class Passives { [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static hook_Start <>9__12_0; public static hook_OnHitEnemy <>9__12_1; internal void <MakePassivesReal>b__12_0(orig_Start orig, CharacterBody self) { //IL_002e: 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_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); if (self.isPlayerControlled) { if (HasSkillEquipped(self, backstab)) { self.bodyFlags = (BodyFlags)(self.bodyFlags | 0x80); } if (HasSkillEquipped(self, scrap)) { self.bodyFlags = (BodyFlags)(self.bodyFlags | 1); } if (HasSkillEquipped(self, doublejump)) { self.baseJumpCount++; } if (HasSkillEquipped(self, env)) { EntityStateMachine val = EntityStateMachine.FindByCustomName(((Component)self).gameObject, "Jet"); ((Behaviour)val).enabled = true; } else { EntityStateMachine val2 = EntityStateMachine.FindByCustomName(((Component)self).gameObject, "Jet"); ((Behaviour)val2).enabled = false; } } } internal void <MakePassivesReal>b__12_1(orig_OnHitEnemy orig, GlobalEventManager self, DamageInfo info, GameObject obj) { //IL_0029: 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_0062: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)info.attacker)) { CharacterBody component = info.attacker.GetComponent<CharacterBody>(); if (Object.op_Implicit((Object)(object)component) && DamageTypeCombo.op_Implicit(info.damageType & DamageTypeCombo.op_Implicit((DamageType)16384)) != 0 && !HasSkillEquipped(component, weaken)) { info.damageType &= DamageTypeCombo.op_Implicit((DamageType)(-16385)); } } orig.Invoke(self, info, obj); } } private static SkillDef backstab; private static SkillDef env; private static PassiveItemSkillDef accelerators; public static PassiveItemSkillDef corruption; private static SkillDef weaken; private static SkillDef scrap; private static SkillDef doublejump; private static PassiveItemSkillDef microbots; private static SkillDef poison; private static SkillDef blight; private static List<SkillDef> passives = new List<SkillDef>(); internal static void Setup() { poison = SkillDef.CrocoPassivePoison.Load<SkillDef>(); blight = SkillDef.CrocoPassiveBlight.Load<SkillDef>(); accelerators = PassiveItemSkillDef.RailgunnerBodyPassiveConvertCrit.Load<PassiveItemSkillDef>(); corruption = PassiveItemSkillDef.VoidSurvivorPassive.Load<PassiveItemSkillDef>(); env = CreatePassive(GameObject.MageBody); backstab = CreatePassive(GameObject.Bandit2Body); weaken = CreatePassive(GameObject.TreebotBody); doublejump = CreatePassive(GameObject.MercBody); scrap = CreatePassive(GameObject.LoaderBody); microbots = CreatePassiveItem(GameObject.CaptainBody, ItemDef.CaptainDefenseMatrix.Load<ItemDef>()); passives = new List<SkillDef> { scrap, poison, blight, (SkillDef)(object)accelerators, (SkillDef)(object)corruption, env, backstab, weaken, doublejump, (SkillDef)(object)microbots }; MakePassivesReal(); } private static void MakePassivesReal() { //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006d: 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_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Expected O, but got Unknown //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Expected O, but got Unknown CharacterBody component = GameObject.LoaderBody.Load<GameObject>().GetComponent<CharacterBody>(); CharacterBody component2 = GameObject.MercBody.Load<GameObject>().GetComponent<CharacterBody>(); CharacterBody component3 = GameObject.CaptainBody.Load<GameObject>().GetComponent<CharacterBody>(); CharacterBody component4 = GameObject.Bandit2Body.Load<GameObject>().GetComponent<CharacterBody>(); CharacterBody component5 = GameObject.MageBody.Load<GameObject>().GetComponent<CharacterBody>(); component4.bodyFlags = (BodyFlags)(component4.bodyFlags & -129); component.bodyFlags = (BodyFlags)(component.bodyFlags & -2); component2.baseJumpCount--; Object.Destroy((Object)(object)((Component)component3).GetComponent<CaptainDefenseMatrixController>()); object obj2 = <>c.<>9__12_0; if (obj2 == null) { hook_Start val = delegate(orig_Start orig, CharacterBody self) { //IL_002e: 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_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); if (self.isPlayerControlled) { if (HasSkillEquipped(self, backstab)) { self.bodyFlags = (BodyFlags)(self.bodyFlags | 0x80); } if (HasSkillEquipped(self, scrap)) { self.bodyFlags = (BodyFlags)(self.bodyFlags | 1); } if (HasSkillEquipped(self, doublejump)) { self.baseJumpCount++; } if (HasSkillEquipped(self, env)) { EntityStateMachine val3 = EntityStateMachine.FindByCustomName(((Component)self).gameObject, "Jet"); ((Behaviour)val3).enabled = true; } else { EntityStateMachine val4 = EntityStateMachine.FindByCustomName(((Component)self).gameObject, "Jet"); ((Behaviour)val4).enabled = false; } } }; <>c.<>9__12_0 = val; obj2 = (object)val; } CharacterBody.Start += (hook_Start)obj2; object obj3 = <>c.<>9__12_1; if (obj3 == null) { hook_OnHitEnemy val2 = delegate(orig_OnHitEnemy orig, GlobalEventManager self, DamageInfo info, GameObject obj) { //IL_0029: 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_0062: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)info.attacker)) { CharacterBody component6 = info.attacker.GetComponent<CharacterBody>(); if (Object.op_Implicit((Object)(object)component6) && DamageTypeCombo.op_Implicit(info.damageType & DamageTypeCombo.op_Implicit((DamageType)16384)) != 0 && !HasSkillEquipped(component6, weaken)) { info.damageType &= DamageTypeCombo.op_Implicit((DamageType)(-16385)); } } orig.Invoke(self, info, obj); }; <>c.<>9__12_1 = val2; obj3 = (object)val2; } GlobalEventManager.OnHitEnemy += (hook_OnHitEnemy)obj3; } public static void SetupPassives(GameObject survivor) { //IL_00f9: 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_0125: Expected O, but got Unknown //IL_0126: Unknown result type (might be due to invalid IL or missing references) GenericSkill val = null; GenericSkill[] components = survivor.GetComponents<GenericSkill>(); foreach (GenericSkill val2 in components) { if (val2.skillName != null && Object.op_Implicit((Object)(object)val2.skillFamily) && ((Object)val2.skillFamily).name.ToLower().Contains("passive")) { val = val2; break; } } if ((Object)(object)val == (Object)null) { val = survivor.AddComponent<GenericSkill>(); } val.hideInCharacterSelect = true; SkillLocator component = survivor.GetComponent<SkillLocator>(); SkillFamily val3 = null; if ((Object)(object)val._skillFamily == (Object)null) { val3 = ScriptableObject.CreateInstance<SkillFamily>(); ((Object)val3).name = ((Object)survivor).name + "Passive"; } else { val3 = val._skillFamily; } List<Variant> list = new List<Variant>(); component.passiveSkill.enabled = false; foreach (SkillDef passife in passives) { Variant item = new Variant { skillDef = passife, unlockableDef = null }; ((Variant)(ref item)).viewableNode = new Node(passife.skillNameToken, false, (Node)null); list.Add(item); } val3.variants = list.ToArray(); val._skillFamily = val3; val.skillName = ((Object)survivor).name + "Passive"; ContentAddition.AddSkillFamily(val3); CrocoDamageTypeController val4 = survivor.GetComponent<CrocoDamageTypeController>(); if (!Object.op_Implicit((Object)(object)val4)) { val4 = survivor.AddComponent<CrocoDamageTypeController>(); } val4.blightSkillDef = blight; val4.poisonSkillDef = poison; val4.passiveSkillSlot = val; VoidSurvivorController component2 = survivor.GetComponent<VoidSurvivorController>(); if (Object.op_Implicit((Object)(object)component2)) { Object.Destroy((Object)(object)component2); } } private static SkillDef CreatePassive(string str) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001d: 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_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) GameObject val = str.Load<GameObject>(); SkillLocator component = val.GetComponent<SkillLocator>(); PassiveSkill passiveSkill = component.passiveSkill; SkillDef val2 = ScriptableObject.CreateInstance<SkillDef>(); val2.icon = passiveSkill.icon; val2.activationState = new SerializableEntityStateType(typeof(Idle)); val2.activationStateMachineName = "Body"; val2.canceledFromSprinting = false; val2.cancelSprintingOnActivation = false; val2.skillNameToken = passiveSkill.skillNameToken; val2.skillName = ((Object)val).name + "PassiveName"; ((Object)val2).name = ((Object)val).name + "PassiveName"; val2.skillDescriptionToken = passiveSkill.skillDescriptionToken; ContentAddition.AddSkillDef(val2); return val2; } private static PassiveItemSkillDef CreatePassiveItem(string str, ItemDef item) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001d: 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_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) GameObject val = str.Load<GameObject>(); SkillLocator component = val.GetComponent<SkillLocator>(); PassiveSkill passiveSkill = component.passiveSkill; PassiveItemSkillDef val2 = ScriptableObject.CreateInstance<PassiveItemSkillDef>(); ((SkillDef)val2).icon = passiveSkill.icon; ((SkillDef)val2).activationState = new SerializableEntityStateType(typeof(Idle)); ((SkillDef)val2).activationStateMachineName = "Body"; ((SkillDef)val2).canceledFromSprinting = false; ((SkillDef)val2).cancelSprintingOnActivation = false; ((SkillDef)val2).skillNameToken = passiveSkill.skillNameToken; ((SkillDef)val2).skillName = ((Object)val).name + "PassiveName"; ((Object)val2).name = ((Object)val).name + "PassiveName"; ((SkillDef)val2).skillDescriptionToken = passiveSkill.skillDescriptionToken; val2.passiveItem = item; ContentAddition.AddSkillDef((SkillDef)(object)val2); return val2; } public static bool HasSkillEquipped(CharacterBody body, SkillDef skill) { GenericSkill[] components = ((Component)body).GetComponents<GenericSkill>(); foreach (GenericSkill val in components) { if ((Object)(object)val.skillDef == (Object)(object)skill) { return true; } } return false; } } public static class RealPassives { public delegate void orig_Build(CharacterSelectController self, Loadout loadout, in BodyInfo info, List<StripDisplayData> dest); public delegate void orig_Rebuild(LoadoutPanelController self); private static BindingFlags BuildFlags = BindingFlags.Instance | BindingFlags.NonPublic; private static BindingFlags BuildHookFlags = BindingFlags.Static | BindingFlags.NonPublic; private static BindingFlags RebuildFlags = BindingFlags.Instance | BindingFlags.NonPublic; private static BindingFlags RebuildHookFlags = BindingFlags.Static | BindingFlags.NonPublic; public static void Hook() { //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Expected O, but got Unknown //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Expected O, but got Unknown if (!Chainloader.PluginInfos.ContainsKey("xyz.yekoc.PassiveAgression")) { Hook val = new Hook((MethodBase)typeof(CharacterSelectController).GetMethod("BuildSkillStripDisplayData", BuildFlags), typeof(RealPassives).GetMethod("HopooGames", BuildHookFlags)); Hook val2 = new Hook((MethodBase)typeof(LoadoutPanelController).GetMethod("Rebuild", RebuildFlags), typeof(RealPassives).GetMethod("HopooGamesTheSequel", RebuildHookFlags)); } } private static void HopooGames(orig_Build orig, CharacterSelectController self, Loadout loadout, in BodyInfo bodyInfo, List<StripDisplayData> data) { //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)bodyInfo.bodyPrefab) || !Object.op_Implicit((Object)(object)bodyInfo.bodyPrefabBodyComponent)) { orig(self, loadout, in bodyInfo, data); return; } GenericSkill[] skillSlots = bodyInfo.skillSlots; int num = 0; GenericSkill[] array = skillSlots; foreach (GenericSkill val in array) { if (val.skillName != null && val.skillName.ToLower().Contains("passive") && val.hideInCharacterSelect) { SkillDef skillDef = val.skillFamily.variants[loadout.bodyLoadoutManager.GetSkillVariant(bodyInfo.bodyIndex, num)].skillDef; StripDisplayData val2 = default(StripDisplayData); val2.enabled = true; val2.primaryColor = bodyInfo.bodyColor; val2.icon = skillDef.icon; val2.actionName = ""; val2.descriptionString = Language.GetString(skillDef.skillDescriptionToken); val2.titleString = Language.GetString(skillDef.skillNameToken); val2.keywordString = ""; StripDisplayData item = val2; data.Add(item); } num++; } orig(self, loadout, in bodyInfo, data); } private static void HopooGamesTheSequel(orig_Rebuild orig, LoadoutPanelController self) { //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) try { self.DestroyRows(); CharacterBody bodyPrefabBodyComponent = BodyCatalog.GetBodyPrefabBodyComponent(self.currentDisplayData.bodyIndex); if (!Object.op_Implicit((Object)(object)bodyPrefabBodyComponent)) { return; } GenericSkill[] components = ((Component)bodyPrefabBodyComponent).GetComponents<GenericSkill>(); for (int i = 0; i < components.Length; i++) { if (components[i].skillName != null && components[i].skillName.ToLower().Contains("passive") && components[i].hideInCharacterSelect) { self.rows.Add(Row.FromSkillSlot(self, self.currentDisplayData.bodyIndex, i, components[i])); } } for (int j = 0; j < components.Length; j++) { bool flag = ((Enum)((Object)components[j]).hideFlags).HasFlag((Enum)(object)(HideFlags)52); if ((components[j].skillName == null || !components[j].skillName.ToLower().Contains("passive") || !components[j].hideInCharacterSelect) && !flag) { self.rows.Add(Row.FromSkillSlot(self, self.currentDisplayData.bodyIndex, j, components[j])); } } self.rows.Add(Row.FromSkin(self, self.currentDisplayData.bodyIndex)); } catch { orig(self); } } } public class SkillHandler { private struct StateMachine { public string name; public SerializableEntityStateType initial; public SerializableEntityStateType main; } [CompilerGenerated] private static class <>O { public static hook_SetContentPacks <0>__AddSkills; } [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static Func<GenericSkill, bool> <>9__9_2; public static Func<GenericSkill, bool> <>9__9_3; public static hook_FindSkillByFamilyName <>9__9_0; public static Func<GenericSkill, bool> <>9__9_4; public static Func<GenericSkill, bool> <>9__9_5; public static hook_FindSkill <>9__9_1; public static Func<GenericSkill, bool> <>9__10_0; internal GenericSkill <Perform>b__9_0(orig_FindSkillByFamilyName orig, SkillLocator self, string str) { GenericSkill val = orig.Invoke(self, str); if (Object.op_Implicit((Object)(object)val)) { return val; } if (str == "ToolbotBodyPrimary1") { return self.allSkills.First((GenericSkill x) => x.skillName != null && (x.skillName.Contains("FireNailgun") || x.skillName.Contains("Primary"))); } if (str == "ToolbotBodyPrimary2") { return self.allSkills.First((GenericSkill x) => x.skillName != null && x.skillName.Contains("FireSpear")); } return null; } internal bool <Perform>b__9_2(GenericSkill x) { return x.skillName != null && (x.skillName.Contains("FireNailgun") || x.skillName.Contains("Primary")); } internal bool <Perform>b__9_3(GenericSkill x) { return x.skillName != null && x.skillName.Contains("FireSpear"); } internal GenericSkill <Perform>b__9_1(orig_FindSkill orig, SkillLocator self, string str) { GenericSkill val = orig.Invoke(self, str); if (Object.op_Implicit((Object)(object)val)) { return val; } if (str == "SupplyDrop1") { return self.allSkills.First((GenericSkill x) => x.skillName != null && x.skillName.Contains("SD1")); } if (str == "SupplyDrop2") { return self.allSkills.First((GenericSkill x) => x.skillName != null && x.skillName.Contains("SD2")); } return null; } internal bool <Perform>b__9_4(GenericSkill x) { return x.skillName != null && x.skillName.Contains("SD1"); } internal bool <Perform>b__9_5(GenericSkill x) { return x.skillName != null && x.skillName.Contains("SD2"); } internal bool <AddSkills>b__10_0(GenericSkill x) { return x.skillName != null && x.skillName == "FireSpear"; } } private static List<StateMachine> machines = new List<StateMachine>(); private static List<SkillDef> primaries = new List<SkillDef>(); private static List<SkillDef> secondaries = new List<SkillDef>(); private static List<SkillDef> utilites = new List<SkillDef>(); private static List<SkillDef> specials = new List<SkillDef>(); private static List<SkillDef> all = new List<SkillDef>(); private static SurvivorDef heretic; private static List<SurvivorDef> survs = new List<SurvivorDef>(); internal static void Perform() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Expected O, but got Unknown //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_0161: Expected O, but got Unknown //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_0180: Unknown result type (might be due to invalid IL or missing references) //IL_0186: Expected O, but got Unknown heretic = SurvivorDef.Heretic.Load<SurvivorDef>(); object obj = <>O.<0>__AddSkills; if (obj == null) { hook_SetContentPacks val = AddSkills; <>O.<0>__AddSkills = val; obj = (object)val; } ContentManager.SetContentPacks += (hook_SetContentPacks)obj; survs.Add(SurvivorDef.Commando.Load<SurvivorDef>()); survs.Add(SurvivorDef.Bandit2.Load<SurvivorDef>()); survs.Add(SurvivorDef.Mage.Load<SurvivorDef>()); survs.Add(SurvivorDef.Merc.Load<SurvivorDef>()); survs.Add(SurvivorDef.Toolbot.Load<SurvivorDef>()); survs.Add(SurvivorDef.Treebot.Load<SurvivorDef>()); survs.Add(SurvivorDef.VoidSurvivor.Load<SurvivorDef>()); survs.Add(SurvivorDef.Huntress.Load<SurvivorDef>()); survs.Add(SurvivorDef.Railgunner.Load<SurvivorDef>()); survs.Add(SurvivorDef.Loader.Load<SurvivorDef>()); survs.Add(SurvivorDef.Croco.Load<SurvivorDef>()); survs.Add(SurvivorDef.Engi.Load<SurvivorDef>()); survs.Add(SurvivorDef.Captain.Load<SurvivorDef>()); object obj2 = <>c.<>9__9_0; if (obj2 == null) { hook_FindSkillByFamilyName val2 = delegate(orig_FindSkillByFamilyName orig, SkillLocator self, string str) { GenericSkill val5 = orig.Invoke(self, str); if (Object.op_Implicit((Object)(object)val5)) { return val5; } if (str == "ToolbotBodyPrimary1") { return self.allSkills.First((GenericSkill x) => x.skillName != null && (x.skillName.Contains("FireNailgun") || x.skillName.Contains("Primary"))); } return (str == "ToolbotBodyPrimary2") ? self.allSkills.First((GenericSkill x) => x.skillName != null && x.skillName.Contains("FireSpear")) : null; }; <>c.<>9__9_0 = val2; obj2 = (object)val2; } SkillLocator.FindSkillByFamilyName += (hook_FindSkillByFamilyName)obj2; object obj3 = <>c.<>9__9_1; if (obj3 == null) { hook_FindSkill val3 = delegate(orig_FindSkill orig, SkillLocator self, string str) { GenericSkill val4 = orig.Invoke(self, str); if (Object.op_Implicit((Object)(object)val4)) { return val4; } if (str == "SupplyDrop1") { return self.allSkills.First((GenericSkill x) => x.skillName != null && x.skillName.Contains("SD1")); } return (str == "SupplyDrop2") ? self.allSkills.First((GenericSkill x) => x.skillName != null && x.skillName.Contains("SD2")) : null; }; <>c.<>9__9_1 = val3; obj3 = (object)val3; } SkillLocator.FindSkill += (hook_FindSkill)obj3; } private static IEnumerator AddSkills(orig_SetContentPacks orig, List<ReadOnlyContentPack> packs) { yield return orig.Invoke(packs); bool restrictSkills = SkillSwap.config.Bind<bool>("Configuration", "Proper Slots Only", true, "Skills can only be equipped in their usual slots (eg lodr grapple can only be on m2s)").Value; bool enableExtraSlots = SkillSwap.config.Bind<bool>("Configuration", "Enable Extra Slots", true, "Enables the extra skill slots needed by certain skills like Retool and Supply Beacon. Can get cluttery.").Value; SurvivorDef[] survivorDefs = ContentManager.survivorDefs; foreach (SurvivorDef survivor in survivorDefs) { if (!((Object)(object)survivor == (Object)(object)heretic)) { GameObject prefab = survivor.bodyPrefab; SkillLocator locator = prefab.GetComponent<SkillLocator>(); CollectSkills(locator.primary.skillFamily, ref primaries); CollectSkills(locator.secondary.skillFamily, ref secondaries); CollectSkills(locator.utility.skillFamily, ref utilites); CollectSkills(locator.special.skillFamily, ref specials); CollectMachines(prefab); } } SurvivorDef[] survivorDefs2 = ContentManager.survivorDefs; foreach (SurvivorDef survivor2 in survivorDefs2) { if ((Object)(object)survivor2 == (Object)(object)heretic) { continue; } GameObject prefab2 = survivor2.bodyPrefab; SkillLocator locator2 = prefab2.GetComponent<SkillLocator>(); SetupStateMachines(prefab2); if (enableExtraSlots) { HandleSpecialSkills(prefab2); } if (restrictSkills) { ApplySkills(primaries, ref locator2.primary._skillFamily); ApplySkills(secondaries, ref locator2.secondary._skillFamily); ApplySkills(utilites, ref locator2.utility._skillFamily); ApplySkills(specials, ref locator2.special._skillFamily); } else { ApplySkills(all, ref locator2.primary._skillFamily); ApplySkills(all, ref locator2.secondary._skillFamily); ApplySkills(all, ref locator2.utility._skillFamily); ApplySkills(all, ref locator2.special._skillFamily); } if (((Object)prefab2).name == "ToolbotBody") { List<SkillDef> skills = (restrictSkills ? primaries : all); GenericSkill skill = prefab2.GetComponents<GenericSkill>().First((GenericSkill x) => x.skillName != null && x.skillName == "FireSpear"); ApplySkills(skills, ref skill._skillFamily); } if (survs.Contains(survivor2)) { Passives.SetupPassives(prefab2); } } } internal static void CollectSkills(SkillFamily family, ref List<SkillDef> list) { //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) Variant[] variants = family.variants; foreach (Variant val in variants) { list.Add(val.skillDef); all.Add(val.skillDef); } } internal static void ApplySkills(List<SkillDef> skills, ref SkillFamily family) { //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Expected O, but got Unknown //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) foreach (SkillDef skill in skills) { if (family.variants.Where((Variant x) => (Object)(object)x.skillDef == (Object)(object)skill).Count() == 0) { Variant val = default(Variant); val.skillDef = skill; ((Variant)(ref val)).viewableNode = new Node(skill.skillNameToken, false, (Node)null); Variant val2 = val; ArrayUtils.ArrayAppend<Variant>(ref family.variants, ref val2); } } } internal static void HandleSpecialSkills(GameObject survivor) { bool flag = ((Object)survivor).name == "ToolbotBody"; bool flag2 = ((Object)survivor).name == "CaptainBody"; bool value = SkillSwap.config.Bind<bool>("Configuration", "Proper Slots Only", true, "Skills can only be equipped in their usual slots (eg lodr grapple can only be on m2s)").Value; string name = ((Object)survivor).name; if (!flag) { Debug.Log((object)("creating skill firespear for: " + (object)survivor)); List<SkillDef> skills = (value ? primaries : all); CreateGenericSkill(survivor, name + "FireSpear", skills); SkillLocator component = survivor.GetComponent<SkillLocator>(); if (component.primary.skillName != null && !component.primary.skillName.Contains("Primary")) { GenericSkill primary = component.primary; primary.skillName += "Primary"; } } if (!flag2) { Debug.Log((object)("creating sd1/sd2 skills for: " + (object)survivor)); List<SkillDef> skills2 = new List<SkillDef> { SkillDef.CallSupplyDropHealing.Load<SkillDef>(), SkillDef.CallSupplyDropShocking.Load<SkillDef>(), SkillDef.CallSupplyDropEquipmentRestock.Load<SkillDef>(), SkillDef.CallSupplyDropHacking.Load<SkillDef>() }; CreateGenericSkill(survivor, name + "SD1", skills2); CreateGenericSkill(survivor, name + "SD2", skills2); } } internal static void CreateGenericSkill(GameObject survivor, string name, List<SkillDef> skills) { //IL_0039: 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_0067: Expected O, but got Unknown //IL_0068: 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) GenericSkill val = survivor.AddComponent<GenericSkill>(); val.skillName = name; val.hideInCharacterSelect = true; SkillFamily family = ScriptableObject.CreateInstance<SkillFamily>(); ((Object)family).name = name + "Family"; SkillFamily obj = family; Variant[] array = new Variant[1]; Variant val2 = new Variant { skillDef = skills[0] }; ((Variant)(ref val2)).viewableNode = new Node(skills[0].skillNameToken, false, (Node)null); array[0] = val2; obj.variants = (Variant[])(object)array; val._skillFamily = family; ApplySkills(skills, ref family); } internal static void CollectMachines(GameObject survivor) { //IL_003b: 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_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_007b: 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) EntityStateMachine[] components = survivor.GetComponents<EntityStateMachine>(); foreach (EntityStateMachine val in components) { if (!ContainsMachine(val)) { StateMachine item = default(StateMachine); item.name = val.customName; item.initial = val.initialStateType; item.main = val.mainStateType; if (item.name == "Body") { item.initial = new SerializableEntityStateType(typeof(MageCharacterMain)); item.main = item.initial; } machines.Add(item); } } static bool ContainsMachine(EntityStateMachine machine) { if (machine.customName == null) { return true; } foreach (StateMachine machine in machines) { if (machine.name == machine.customName) { return true; } } return false; } } internal static void SetupStateMachines(GameObject survivor) { //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0050: 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) foreach (StateMachine machine in machines) { if (!HasMachine(survivor, machine.name)) { NetworkStateMachine component = survivor.GetComponent<NetworkStateMachine>(); EntityStateMachine val = survivor.AddComponent<EntityStateMachine>(); val.customName = machine.name; val.initialStateType = machine.initial; val.mainStateType = machine.main; List<EntityStateMachine> list = component.stateMachines.ToList(); list.Add(val); component.stateMachines = list.ToArray(); } } } internal static bool HasMachine(GameObject survivor, string name) { //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) EntityStateMachine[] components = survivor.GetComponents<EntityStateMachine>(); foreach (EntityStateMachine val in components) { if (val.customName != null && val.customName == name) { if (val.customName == "Body") { val.initialStateType = new SerializableEntityStateType(typeof(MageCharacterMain)); val.mainStateType = new SerializableEntityStateType(typeof(MageCharacterMain)); } return true; } } return false; } } public class Transforms { [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static hook_Start <>9__0_0; public static hook_FindChild_string <>9__0_1; public static hook_FindChildIndex_string <>9__0_2; internal void <Perform>b__0_0(orig_Start orig, CharacterBody self) { //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Expected O, but got Unknown orig.Invoke(self); ModelLocator component = ((Component)self).GetComponent<ModelLocator>(); if (Object.op_Implicit((Object)(object)component) && Object.op_Implicit((Object)(object)component.modelTransform) && self.isPlayerControlled) { GameObject val = new GameObject("FallbackTransform"); val.transform.SetParent(component.modelTransform); } } internal Transform <Perform>b__0_1(orig_FindChild_string orig, ChildLocator self, string str) { <>c__DisplayClass0_0 CS$<>8__locals0 = new <>c__DisplayClass0_0(); Transform val = orig.Invoke(self, str); if (Object.op_Implicit((Object)(object)val)) { return val; } if (str == "HealthBarOrigin") { return null; } CS$<>8__locals0.muzzles = new List<string>(); self.transformPairs.ToList().ForEach(delegate(NameTransformPair x) { //IL_0001: 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) if (x.name.ToLower().Contains("muzzle")) { CS$<>8__locals0.muzzles.Add(x.name); } }); if (CS$<>8__locals0.muzzles.Count >= 1) { string text = CS$<>8__locals0.muzzles[0]; return orig.Invoke(self, text); } return ((Component)self).transform.Find("FallbackTransform"); } internal int <Perform>b__0_2(orig_FindChildIndex_string orig, ChildLocator self, string str) { <>c__DisplayClass0_1 CS$<>8__locals0 = new <>c__DisplayClass0_1(); int num = orig.Invoke(self, str); if (num != -1) { return num; } CS$<>8__locals0.muzzles = new List<string>(); self.transformPairs.ToList().ForEach(delegate(NameTransformPair x) { //IL_0001: 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) if (x.name.ToLower().Contains("muzzle")) { CS$<>8__locals0.muzzles.Add(x.name); } }); if (CS$<>8__locals0.muzzles.Count >= 1) { string text = CS$<>8__locals0.muzzles[0]; return orig.Invoke(self, text); } return -1; } } [CompilerGenerated] private sealed class <>c__DisplayClass0_0 { public List<string> muzzles; internal void <Perform>b__3(NameTransformPair x) { //IL_0001: 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) if (x.name.ToLower().Contains("muzzle")) { muzzles.Add(x.name); } } } [CompilerGenerated] private sealed class <>c__DisplayClass0_1 { public List<string> muzzles; internal void <Perform>b__4(NameTransformPair x) { //IL_0001: 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) if (x.name.ToLower().Contains("muzzle")) { muzzles.Add(x.name); } } } internal static void Perform() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Expected O, but got Unknown //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Expected O, but got Unknown //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Expected O, but got Unknown object obj = <>c.<>9__0_0; if (obj == null) { hook_Start val = delegate(orig_Start orig, CharacterBody self) { //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Expected O, but got Unknown orig.Invoke(self); ModelLocator component = ((Component)self).GetComponent<ModelLocator>(); if (Object.op_Implicit((Object)(object)component) && Object.op_Implicit((Object)(object)component.modelTransform) && self.isPlayerControlled) { GameObject val5 = new GameObject("FallbackTransform"); val5.transform.SetParent(component.modelTransform); } }; <>c.<>9__0_0 = val; obj = (object)val; } CharacterBody.Start += (hook_Start)obj; object obj2 = <>c.<>9__0_1; if (obj2 == null) { hook_FindChild_string val2 = delegate(orig_FindChild_string orig, ChildLocator self, string str) { Transform val4 = orig.Invoke(self, str); if (Object.op_Implicit((Object)(object)val4)) { return val4; } if (str == "HealthBarOrigin") { return null; } List<string> muzzles2 = new List<string>(); self.transformPairs.ToList().ForEach(delegate(NameTransformPair x) { //IL_0001: 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) if (x.name.ToLower().Contains("muzzle")) { muzzles2.Add(x.name); } }); if (muzzles2.Count >= 1) { string text2 = muzzles2[0]; return orig.Invoke(self, text2); } return ((Component)self).transform.Find("FallbackTransform"); }; <>c.<>9__0_1 = val2; obj2 = (object)val2; } ChildLocator.FindChild_string += (hook_FindChild_string)obj2; object obj3 = <>c.<>9__0_2; if (obj3 == null) { hook_FindChildIndex_string val3 = delegate(orig_FindChildIndex_string orig, ChildLocator self, string str) { int num = orig.Invoke(self, str); if (num != -1) { return num; } List<string> muzzles = new List<string>(); self.transformPairs.ToList().ForEach(delegate(NameTransformPair x) { //IL_0001: 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) if (x.name.ToLower().Contains("muzzle")) { muzzles.Add(x.name); } }); if (muzzles.Count >= 1) { string text = muzzles[0]; return orig.Invoke(self, text); } return -1; }; <>c.<>9__0_2 = val3; obj3 = (object)val3; } ChildLocator.FindChildIndex_string += (hook_FindChildIndex_string)obj3; } } [BepInPlugin("pseudopulse.SkillSwap", "SkillSwap", "1.0.1")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class SkillSwap : BaseUnityPlugin { public const string PluginGUID = "pseudopulse.SkillSwap"; public const string PluginAuthor = "pseudopulse"; public const string PluginName = "SkillSwap"; public const string PluginVersion = "1.0.1"; public static ManualLogSource ModLogger; public static ConfigFile config; public void Awake() { ModLogger = ((BaseUnityPlugin)this).Logger; config = ((BaseUnityPlugin)this).Config; Passives.Setup(); Melee.Perform(); Transforms.Perform(); Components.Perform(); SkillHandler.Perform(); RealPassives.Hook(); } } } namespace SkillSwap.Utils { public static class AddressableUtils { public static T Load<T>(this string path) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) return Addressables.LoadAssetAsync<T>((object)path).WaitForCompletion(); } public static T LoadComponent<T>(this string path) where T : Component { return path.Load<GameObject>().GetComponent<T>(); } } } namespace SkillSwap.Utils.Paths { public static class Texture2D { public static string texAttackSpeedIcon = "RoR2/Base/Achievements/texAttackSpeedIcon.png"; public static string texAutomationActivationIcon = "RoR2/Base/Achievements/texAutomationActivationIcon.png"; public static string texAutomationActivationIconNew = "RoR2/Base/Achievements/texAutomationActivationIcon_New.png"; public static string texBandit2ClearGameMonsoonIcon = "RoR2/Base/Achievements/texBandit2ClearGameMonsoonIcon.png"; public static string texBandit2ConsecutiveResetIcon = "RoR2/Base/Achievements/texBandit2ConsecutiveResetIcon.png"; public static string texBandit2RevolverFinaleIcon = "RoR2/Base/Achievements/texBandit2RevolverFinaleIcon.png"; public static string texBandit2StackSuperBleedIcon = "RoR2/Base/Achievements/texBandit2StackSuperBleedIcon.png"; public static string texBeatArenaIcon = "RoR2/Base/Achievements/texBeatArenaIcon.png"; public static string texBurnToDeathIcon = "RoR2/Base/Achievements/texBurnToDeathIcon.png"; public static string texCaptainBuyMegaDroneIcon = "RoR2/Base/Achievements/texCaptainBuyMegaDroneIcon.png"; public static string texCaptainClearGameMonsoonIcon = "RoR2/Base/Achievements/texCaptainClearGameMonsoonIcon.png"; public static string texCaptainSupplyDropFinaleIcon = "RoR2/Base/Achievements/texCaptainSupplyDropFinaleIcon.png"; public static string texCaptainVisitSeveralStagesIcon = "RoR2/Base/Achievements/texCaptainVisitSeveralStagesIcon.png"; public static string texCarryLunarItemsIcon = "RoR2/Base/Achievements/texCarryLunarItemsIcon.png"; public static string texChargeTeleporterWhileNearDeathIcon = "RoR2/Base/Achievements/texChargeTeleporterWhileNearDeathIcon.png"; public static string texCleanupDutyIcon = "RoR2/Base/Achievements/texCleanupDutyIcon.png"; public static string texCommandoClearGameMonsoonIcon = "RoR2/Base/Achievements/texCommandoClearGameMonsoonIcon.png"; public static string texCommandoFastFirstStageClearIcon = "RoR2/Base/Achievements/texCommandoFastFirstStageClearIcon.png"; public static string texCommandoKillOverloadingWormIcon = "RoR2/Base/Achievements/texCommandoKillOverloadingWormIcon.png"; public static string texCommandoNonLunarEnduranceIcon = "RoR2/Base/Achievements/texCommandoNonLunarEnduranceIcon.png"; public static string texComplete20StagesIcon = "RoR2/Base/Achievements/texComplete20StagesIcon.png"; public static string texComplete30StagesCareerIcon = "RoR2/Base/Achievements/texComplete30StagesCareerIcon.png"; public static string texCompleteMainEndingHardIcon = "RoR2/Base/Achievements/texCompleteMainEndingHardIcon.png"; public static string texCompleteMainEndingIcon = "RoR2/Base/Achievements/texCompleteMainEndingIcon.png"; public static string texCompleteMultiBossShrineIcon = "RoR2/Base/Achievements/texCompleteMultiBossShrineIcon.png"; public static string texCompletePrismaticTrialIcon = "RoR2/Base/Achievements/texCompletePrismaticTrialIcon.png"; public static string texCompleteTeleporterIcon = "RoR2/Base/Achievements/texCompleteTeleporterIcon.png"; public static string texCompleteTeleporterWithoutInjuryIcon = "RoR2/Base/Achievements/texCompleteTeleporterWithoutInjuryIcon.png"; public static string texCompleteThreeStagesIcon = "RoR2/Base/Achievements/texCompleteThreeStagesIcon.png"; public static string texCompleteThreeStagesIconOLD = "RoR2/Base/Achievements/texCompleteThreeStagesIconOLD.png"; public static string texCompleteThreeStagesWithoutHealingIcon = "RoR2/Base/Achievements/texCompleteThreeStagesWithoutHealingIcon.png"; public static string texCompleteUnknownEndingIcon = "RoR2/Base/Achievements/texCompleteUnknownEndingIcon.png"; public static string texCrocoClearGameMonsoonIcon = "RoR2/Base/Achievements/texCrocoClearGameMonsoonIcon.png"; public static string texCrocoKillScavengerIcon = "RoR2/Base/Achievements/texCrocoKillScavengerIcon.png"; public static string texCrocoKillWeakEnemiesMilestoneIcon = "RoR2/Base/Achievements/texCrocoKillWeakEnemiesMilestoneIcon.png"; public static string texCrocoTotalInfectionsMilestoneIcon = "RoR2/Base/Achievements/texCrocoTotalInfectionsMilestoneIcon.png"; public static string texDefeatSuperRoboBallBossIcon = "RoR2/Base/Achievements/texDefeatSuperRoboBallBossIcon.png"; public static string texDie20TimesIcon = "RoR2/Base/Achievements/texDie20TimesIcon.png"; public static string texDie5TimesIcon = "RoR2/Base/Achievements/texDie5TimesIcon.png"; public static string texDiscover10UniqueTier1Icon = "RoR2/Base/Achievements/texDiscover10UniqueTier1Icon.png"; public static string texDiscover5EquipmentIcon = "RoR2/Base/Achievements/texDiscover5EquipmentIcon.png"; public static string texEngiArmyIcon = "RoR2/Base/Achievements/texEngiArmyIcon.png"; public static string texEngiClearGameMonsoonIcon = "RoR2/Base/Achievements/texEngiClearGameMonsoonIcon.png"; public static string texEngiClearTeleporterWithZeroMonstersIcon = "RoR2/Base/Achievements/texEngiClearTeleporterWithZeroMonstersIcon.png"; public static string texEngiKillBossQuickIcon = "RoR2/Base/Achievements/texEngiKillBossQuickIcon.png"; public static string texFailShrineChanceIcon = "RoR2/Base/Achievements/texFailShrineChanceIcon.png"; public static string texFindDevilAltarIcon = "RoR2/Base/Achievements/texFindDevilAltarIcon.png"; public static string texFindTimedChestIcon = "RoR2/Base/Achievements/texFindTimedChestIcon.png"; public static string texFindUniqueNewtStatuesIcon = "RoR2/Base/Achievements/texFindUniqueNewtStatuesIcon.png"; public static string texFreeMageIcon = "RoR2/Base/Achievements/texFreeMageIcon.png"; public static string texHardEliteBossKillIcon = "RoR2/Base/Achievements/texHardEliteBossKillIcon.png"; public static string texHardHitterIcon = "RoR2/Base/Achievements/texHardHitterIcon.png"; public static string texHuntressAllGlaiveBouncesKillIcon = "RoR2/Base/Achievements/texHuntressAllGlaiveBouncesKillIcon.png"; public static string texHuntressAttackSpeedIcon = "RoR2/Base/Achievements/texHuntressAttackSpeedIcon.png"; public static string texHuntressClearGameMonsoonIcon = "RoR2/Base/Achievements/texHuntressClearGameMonsoonIcon.png"; public static string texHuntressCollectCrowbarsIcon = "RoR2/Base/Achievements/texHuntressCollectCrowbarsIcon.png"; public static string texHuntressMaintainFullHealthOnFrozenWallIcon = "RoR2/Base/Achievements/texHuntressMaintainFullHealthOnFrozenWallIcon.png"; public static string texKillBossQuantityInRunIcon = "RoR2/Base/Achievements/texKillBossQuantityInRunIcon.png"; public static string texKillBossQuickIcon = "RoR2/Base/Achievements/texKillBossQuickIcon.png"; public static string texKillElementalLemuriansIcon = "RoR2/Base/Achievements/texKillElementalLemuriansIcon.png"; public static string texKillEliteMonsterIcon = "RoR2/Base/Achievements/texKillEliteMonsterIcon.png"; public static string texKillElitesMilestoneIcon = "RoR2/Base/Achievements/texKillElitesMilestoneIcon.png"; public static string texKillGoldTitanInOneCycleIcon = "RoR2/Base/Achievements/texKillGoldTitanInOneCycleIcon.png"; public static string texKillTotalEnemiesIcon = "RoR2/Base/Achievements/texKillTotalEnemiesIcon.png"; public static string texLoaderBigSlamIcon = "RoR2/Base/Achievements/texLoaderBigSlamIcon.png"; public static string texLoaderClearGameMonsoonIcon = "RoR2/Base/Achievements/texLoaderClearGameMonsoonIcon.png"; public static string texLoaderKillLoadersIcon = "RoR2/Base/Achievements/texLoaderKillLoadersIcon.png"; public static string texLoaderSpeedRunIcon = "RoR2/Base/Achievements/texLoaderSpeedRunIcon.png"; public static string texLoaderThatsWeirdIcon = "RoR2/Base/Achievements/texLoaderThatsWeirdIcon.png"; public static string texLogCollectorIcon = "RoR2/Base/Achievements/texLogCollectorIcon.png"; public static string texLoopOnceIcon = "RoR2/Base/Achievements/texLoopOnceIcon.png"; public static string texMageAirborneMultiKillIcon = "RoR2/Base/Achievements/texMageAirborneMultiKillIcon.png"; public static string texMageClearGameMonsoonIcon = "RoR2/Base/Achievements/texMageClearGameMonsoonIcon.png"; public static string texMageFastBossIcon = "RoR2/Base/Achievements/texMageFastBossIcon.png"; public static string texMageMultiExecuteIcon = "RoR2/Base/Achievements/texMageMultiExecuteIcon.png"; public static string texMageMultiKillIcon = "RoR2/Base/Achievements/texMageMultiKillIcon.png"; public static string texMajorMultikillIcon = "RoR2/Base/Achievements/texMajorMultikillIcon.png"; public static string texMaxHealingShrineIcon = "RoR2/Base/Achievements/texMaxHealingShrineIcon.png"; public static string texMercClearGameMonsoonIcon = "RoR2/Base/Achievements/texMercClearGameMonsoonIcon.png"; public static string texMercCompleteTrialWithFullHealthIcon = "RoR2/Base/Achievements/texMercCompleteTrialWithFullHealthIcon.png"; public static string texMercDontTouchGroundIcon = "RoR2/Base/Achievements/texMercDontTouchGroundIcon.png"; public static string texMercXSkillsInYSecondsIcon = "RoR2/Base/Achievements/texMercXSkillsInYSecondsIcon.png"; public static string texMoveSpeedIcon = "RoR2/Base/Achievements/texMoveSpeedIcon.png"; public static string texMultiCombatShrineIcon = "RoR2/Base/Achievements/texMultiCombatShrineIcon.png"; public static string texNeverBackDownIcon = "RoR2/Base/Achievements/texNeverBackDownIcon.png"; public static string texObtainArtifactBombIcon = "RoR2/Base/Achievements/texObtainArtifactBombIcon.png"; public static string texObtainArtifactCommandIcon = "RoR2/Base/Achievements/texObtainArtifactCommandIcon.png"; public static string texObtainArtifactEliteOnlyIcon = "RoR2/Base/Achievements/texObtainArtifactEliteOnlyIcon.png"; public static string texObtainArtifactEnigmaIcon = "RoR2/Base/Achievements/texObtainArtifactEnigmaIcon.png"; public static string texObtainArtifactFriendlyFireIcon = "RoR2/Base/Achievements/texObtainArtifactFriendlyFireIcon.png"; public static string texObtainArtifactGlassIcon = "RoR2/Base/Achievements/texObtainArtifactGlassIcon.png"; public static string texObtainArtifactMixEnemyIcon = "RoR2/Base/Achievements/texObtainArtifactMixEnemyIcon.png"; public static string texObtainArtifactMonsterTeamGainsItemsIcon = "RoR2/Base/Achievements/texObtainArtifactMonsterTeamGainsItemsIcon.png"; public static string texObtainArtifactRandomSurvivorOnRespawnIcon = "RoR2/Base/Achievements/texObtainArtifactRandomSurvivorOnRespawnIcon.png"; public static string texObtainArtifactSacrificeIcon = "RoR2/Base/Achievements/texObtainArtifactSacrificeIcon.png"; public static string texObtainArtifactShadowCloneIcon = "RoR2/Base/Achievements/texObtainArtifactShadowCloneIcon.png"; public static string texObtainArtifactSingleMonsterTypeIcon = "RoR2/Base/Achievements/texObtainArtifactSingleMonsterTypeIcon.png"; public static string texObtainArtifactSwarmsIcon = "RoR2/Base/Achievements/texObtainArtifactSwarmsIcon.png"; public static string texObtainArtifactTeamDeathIcon = "RoR2/Base/Achievements/texObtainArtifactTeamDeathIcon.png"; public static string texObtainArtifactWeakAssKneesIcon = "RoR2/Base/Achievements/texObtainArtifactWeakAssKneesIcon.png"; public static string texObtainArtifactWispOnDeathIcon = "RoR2/Base/Achievements/texObtainArtifactWispOnDeathIcon.png"; public static string texPlaceholderAchievement = "RoR2/Base/Achievements/texPlaceholderAchievement.png"; public static string texRepeatedlyDuplicateItemsIcon = "RoR2/Base/Achievements/texRepeatedlyDuplicateItemsIcon.png"; public static string texRepeatFirstTeleporterIcon = "RoR2/Base/Achievements/texRepeatFirstTeleporterIcon.png"; public static string texRescueTreebotIcon = "RoR2/Base/Achievements/texRescueTreebotIcon.png"; public static string texStayAlive1Icon = "RoR2/Base/Achievements/texStayAlive1Icon.png"; public static string texSuicideHermitCrabsIcon = "RoR2/Base/Achievements/texSuicideHermitCrabsIcon.png"; public static string texToolbotBeatArenaLaterIcon = "RoR2/Base/Achievements/texToolbotBeatArenaLaterIcon.png"; public static string texToolbotClearGameMonsoonIcon = "RoR2/Base/Achievements/texToolbotClearGameMonsoonIcon.png"; public static string texToolbotGuardTeleporterIcon = "RoR2/Base/Achievements/texToolbotGuardTeleporterIcon.png"; public static string texToolbotKillImpBossWithBfgIcon = "RoR2/Base/Achievements/texToolbotKillImpBossWithBfgIcon.png"; public static string texTotalDronesRepairedIcon = "RoR2/Base/Achievements/texTotalDronesRepairedIcon.png"; public static string texTotalMoneyCollectedIcon = "RoR2/Base/Achievements/texTotalMoneyCollectedIcon.png"; public static string texTreebotBigHealIcon = "RoR2/Base/Achievements/texTreebotBigHealIcon.png"; public static string texTreebotClearGameMonsoonIcon = "RoR2/Base/Achievements/texTreebotClearGameMonsoonIcon.png"; public static string texTreebotDunkClayBossIcon = "RoR2/Base/Achievements/texTreebotDunkClayBossIcon.png"; public static string texTreebotLowHealthTeleporterIcon = "RoR2/Base/Achievements/texTreebotLowHealthTeleporterIcon.png"; public static string texUseThreePortalsIcon = "RoR2/Base/Achievements/texUseThreePortalsIcon.png"; public static string texArtifactCompoundCircleMask = "RoR2/Base/ArtifactCompounds/texArtifactCompoundCircleMask.png"; public static string texArtifactCompoundCircleNormal = "RoR2/Base/ArtifactCompounds/texArtifactCompoundCircleNormal.png"; public static string texArtifactCompoundDiamondMask = "RoR2/Base/ArtifactCompounds/texArtifactCompoundDiamondMask.png"; public static string texArtifactCompoundDiamondNormal = "RoR2/Base/ArtifactCompounds/texArtifactCompoundDiamondNormal.png"; public static string texArtifactCompoundFrameMask = "RoR2/Base/ArtifactCompounds/texArtifactCompoundFrameMask.png"; public static string texArtifactCompoundFrameNormal = "RoR2/Base/ArtifactCompounds/texArtifactCompoundFrameNormal.png"; public static string texArtifactCompoundScavScarMask = "RoR2/Base/ArtifactCompounds/texArtifactCompoundScavScarMask.png"; public static string texArtifactCompoundScavScarNormal = "RoR2/Base/ArtifactCompounds/texArtifactCompoundScavScarNormal.png"; public static string texArtifactCompoundSquareMask = "RoR2/Base/ArtifactCompounds/texArtifactCompoundSquareMask.png"; public static string texArtifactCompoundSquareNormal = "RoR2/Base/ArtifactCompounds/texArtifactCompoundSquareNormal.png"; public static string texArtifactCompoundTriangleMask = "RoR2/Base/ArtifactCompounds/texArtifactCompoundTriangleMask.png"; public static string texArtifactCompoundTriangleNormal = "RoR2/Base/ArtifactCompounds/texArtifactCompoundTriangleNormal.png"; public static string texArtifactBombDisabled = "RoR2/Base/Bomb/texArtifactBombDisabled.png"; public static string texArtifactBombEnabled = "RoR2/Base/Bomb/texArtifactBombEnabled.png"; public static string texArtifactCommandDisabled = "RoR2/Base/Command/texArtifactCommandDisabled.png"; public static string texArtifactCommandEnabled = "RoR2/Base/Command/texArtifactCommandEnabled.png"; public static string texArtifactEliteOnlyDisabled = "RoR2/Base/EliteOnly/texArtifactEliteOnlyDisabled.png"; public static string texArtifactEliteOnlyEnabled = "RoR2/Base/EliteOnly/texArtifactEliteOnlyEnabled.png"; public static string texArtifactRandomEquipmentDisabled = "RoR2/Base/Enigma/texArtifactRandomEquipmentDisabled.png"; public static string texArtifactRandomEquipmentEnabled = "RoR2/Base/Enigma/texArtifactRandomEquipmentEnabled.png"; public static string texArtifactFriendlyFireDisabled = "RoR2/Base/FriendlyFire/texArtifactFriendlyFireDisabled.png"; public static string texArtifactFriendlyFireEnabled = "RoR2/Base/FriendlyFire/texArtifactFriendlyFireEnabled.png"; public static string texArtifactGlassDisabled = "RoR2/Base/Glass/texArtifactGlassDisabled.png"; public static string texArtifactGlassEnabled = "RoR2/Base/Glass/texArtifactGlassEnabled.png"; public static string texArtifactMixEnemyDisabled = "RoR2/Base/MixEnemy/texArtifactMixEnemyDisabled.png"; public static string texArtifactMixEnemyEnabled = "RoR2/Base/MixEnemy/texArtifactMixEnemyEnabled.png"; public static string texArtifactEvolutionDisabled = "RoR2/Base/MonsterTeamGainsItems/texArtifactEvolutionDisabled.png"; public static string texArtifactEvolutionEnabled = "RoR2/Base/MonsterTeamGainsItems/texArtifactEvolutionEnabled.png"; public static string texArtifactMetamorphDisabled = "RoR2/Base/RandomSurvivorOnRespawn/texArtifactMetamorphDisabled.png"; public static string texArtifactMetamorphEnabled = "RoR2/Base/RandomSurvivorOnRespawn/texArtifactMetamorphEnabled.png"; public static string texArtifactSacrificeDisabled = "RoR2/Base/Sacrifice/texArtifactSacrificeDisabled.png"; public static string texArtifactSacrificeEnabled = "RoR2/Base/Sacrifice/texArtifactSacrificeEnabled.png"; public static string texArtifactShadowCloneDisabled = "RoR2/Base/ShadowClone/texArtifactShadowCloneDisabled.png"; public static string texArtifactShadowCloneEnabled = "RoR2/Base/ShadowClone/texArtifactShadowCloneEnabled.png"; public static string texArtifactKinDisabled = "RoR2/Base/SingleMonsterType/texArtifactKinDisabled.png"; public static string texArtifactKinEnabled = "RoR2/Base/SingleMonsterType/texArtifactKinEnabled.png"; public static string texArtifactSwarmsDisabled = "RoR2/Base/Swarms/texArtifactSwarmsDisabled.png"; public static string texArtifactSwarmsEnabled = "RoR2/Base/Swarms/texArtifactSwarmsEnabled.png"; public static string texArtifactDeathDisabled = "RoR2/Base/TeamDeath/texArtifactDeathDisabled.png"; public static string texArtifactDeathEnabled = "RoR2/Base/TeamDeath/texArtifactDeathEnabled.png"; public static string texArtifactFallDamageDisabled = "RoR2/Base/WeakAssKnees/texArtifactFallDamageDisabled.png"; public static string texArtifactFallDamageEnabled = "RoR2/Base/WeakAssKnees/texArtifactFallDamageEnabled.png"; public static string texArtifactWispDisabled = "RoR2/Base/WispOnDeath/texArtifactWispDisabled.png"; public static string texArtifactWispEnabled = "RoR2/Base/WispOnDeath/texArtifactWispEnabled.png"; public static string texUnidentifiedKillerIcon = "RoR2/Base/ArtifactShell/texUnidentifiedKillerIcon.png"; public static string texBanditKnifeEmissive = "RoR2/Base/Bandit2/texBanditKnifeEmissive.png"; public static string texBanditKnifeFresnelMask = "RoR2/Base/Bandit2/texBanditKnifeFresnelMask.png"; public static string texBanditKnifeNormal = "RoR2/Base/Bandit2/texBanditKnifeNormal.png"; public static string texBanditRevolverFresnelMask = "RoR2/Base/Bandit2/texBanditRevolverFresnelMask.png"; public static string texBanditShotgunAltDiffuse = "RoR2/Base/Bandit2/texBanditShotgunAltDiffuse.png"; public static string texBanditShotgunDiffuse = "RoR2/Base/Bandit2/texBanditShotgunDiffuse.png"; public static string texBanditShotgunEmissive = "RoR2/Base/Bandit2/texBanditShotgunEmissive.png"; public static string texBandit2SkillIcons = "RoR2/Base/Bandit2/texBandit2SkillIcons.png"; public static string texBandit2AltEmission = "RoR2/Base/Bandit2/texBandit2AltEmission.png"; public static string texBandit2CoatAltDiffuse = "RoR2/Base/Bandit2/texBandit2CoatAltDiffuse.png"; public static string texBandit2DiffuseAlt = "RoR2/Base/Bandit2/texBandit2DiffuseAlt.png"; public static string texBandit2CoatDiffuse = "RoR2/Base/Bandit2/texBandit2CoatDiffuse.png"; public static string texBandit2CoatNormal = "RoR2/Base/Bandit2/texBandit2CoatNormal.png"; public static string texBandit2Diffuse = "RoR2/Base/Bandit2/texBandit2Diffuse.png"; public static string texBandit2Emission = "RoR2/Base/Bandit2/texBandit2Emission.png"; public static string texBandit2Normal = "RoR2/Base/Bandit2/texBandit2Normal.png"; public static string texBanditCoatDiffuse = "RoR2/Base/Bandit2/texBanditCoatDiffuse.png"; public static string texBanditCoatEmissive = "RoR2/Base/Bandit2/texBanditCoatEmissive.png"; public static string texBanditIcon = "RoR2/Base/Bandit2/texBanditIcon.png"; public static string texBuffBanditSkullIcon = "RoR2/Base/Bandit2/texBuffBanditSkullIcon.tif"; public static string texBuffSuperBleedingIcon = "RoR2/Base/Bandit2/texBuffSuperBleedingIcon.tif"; public static string texBandit2BackstabMask = "RoR2/Base/Bandit2/texBandit2BackstabMask.png"; public static string texBanditSkullMask = "RoR2/Base/Bandit2/texBanditSkullMask.png"; public static string BeetleBody = "RoR2/Base/Beetle/BeetleBody.png"; public static string texSulfurBeetleDiffuse = "RoR2/Base/Beetle/texSulfurBeetleDiffuse.png"; public static string texSulfurBeetleFresnelMask = "RoR2/Base/Beetle/texSulfurBeetleFresnelMask.png"; public static string texBeetleDiffuse = "RoR2/Base/Beetle/texBeetleDiffuse.png"; public static string texBeetleEmission = "RoR2/Base/Beetle/texBeetleEmission.png"; public static string BeetleGuardBody = "RoR2/Base/Beetle/BeetleGuardBody.png"; public static string texSulfurBeetleGuardDiffuse = "RoR2/Base/Beetle/texSulfurBeetleGuardDiffuse.png"; public static string texSulfurBeetleGuardFresnelMask = "RoR2/Base/Beetle/texSulfurBeetleGuardFresnelMask.png"; public static string BeetleQueen2Body = "RoR2/Base/Beetle/BeetleQueen2Body.png"; public static string texAcidDecalDiffuse = "RoR2/Base/Beetle/texAcidDecalDiffuse.png"; public static string texBuggyMask = "RoR2/Base/Beetle/texBuggyMask.png"; public static string texSulfurBeetleQueenDiffuse = "RoR2/Base/Beetle/texSulfurBeetleQueenDiffuse.png"; public static string texSulfurBeetleQueenFresnelMask = "RoR2/Base/Beetle/texSulfurBeetleQueenFresnelMask.png"; public static string texAcidDecalMask = "RoR2/Base/Beetle/texAcidDecalMask.png"; public static string texAcidDecalNormal = "RoR2/Base/Beetle/texAcidDecalNormal.png"; public static string texBeetleDiffuse2 = "RoR2/Base/Beetle/texBeetleDiffuse2.png"; public static string texBeetleGrubRangeIndicator = "RoR2/Base/Beetle/texBeetleGrubRangeIndicator.png"; public static string texBeetleGuardAllyDiffuse = "RoR2/Base/Beetle/texBeetleGuardAllyDiffuse.png"; public static string texBeetleGuardAllyFresnelMask = "RoR2/Base/Beetle/texBeetleGuardAllyFresnelMask.png"; public static string texBeetleGuardDiffuse = "RoR2/Base/Beetle/texBeetleGuardDiffuse.png"; public static string texBeetleGuardEmission = "RoR2/Base/Beetle/texBeetleGuardEmission.png"; public static string texBeetleGuardNormal = "RoR2/Base/Beetle/texBeetleGuardNormal.png"; public static string texBeetleGuardShellMask = "RoR2/Base/Beetle/texBeetleGuardShellMask.png"; public static string texBeetleNormal = "RoR2/Base/Beetle/texBeetleNormal.png"; public static string texBeetleQueenDiffuse = "RoR2/Base/Beetle/texBeetleQueenDiffuse.png"; public static string texBeetleQueenEyeMask = "RoR2/Base/Beetle/texBeetleQueenEyeMask.png"; public static string texBeetleQueenNormal = "RoR2/Base/Beetle/texBeetleQueenNormal.png"; public static string texBeetleQueenSplatmap = "RoR2/Base/Beetle/texBeetleQueenSplatmap.png"; public static string texBeetleStrike = "RoR2/Base/Beetle/texBeetleStrike.png"; public static string texBuffBeetleJuiceIcon = "RoR2/Base/Beetle/texBuffBeetleJuiceIcon.tif"; public static string BellBody = "RoR2/Base/Bell/BellBody.png"; public static string texBellBallDiffuse = "RoR2/Base/Bell/texBellBallDiffuse.png"; public static string texBellBallNormal = "RoR2/Base/Bell/texBellBallNormal.png"; public static string texBellDeviceDiffuse = "RoR2/Base/Bell/texBellDeviceDiffuse.png"; public static string texBellDeviceNormal = "RoR2/Base/Bell/texBellDeviceNormal.png"; public static string texBellDiffuse = "RoR2/Base/Bell/texBellDiffuse.png"; public static string texBellNormal = "RoR2/Base/Bell/texBellNormal.png"; public static string texBirdsharkDiffuse = "RoR2/Base/Birdshark/texBirdsharkDiffuse.png"; public static string BisonBody = "RoR2/Base/Bison/BisonBody.png"; public static string texBisonDiffuse = "RoR2/Base/Bison/texBisonDiffuse.png"; public static string texBisonHairDiffuse = "RoR2/Base/Bison/texBisonHairDiffuse.png"; public static string texBisonNormal = "RoR2/Base/Bison/texBisonNormal.png"; public static string texBrotherIcon = "RoR2/Base/Brother/texBrotherIcon.png"; public static string texBrotherClothRipped = "RoR2/Base/Brother/texBrotherClothRipped.png"; public static string texBrotherDiffuse = "RoR2/Base/Brother/texBrotherDiffuse.png"; public static string texBrotherEyeDiffuse = "RoR2/Base/Brother/texBrotherEyeDiffuse.png"; public static string texBrotherEyeHurtDiffuse = "RoR2/Base/Brother/texBrotherEyeHurtDiffuse.png"; public static string texBrotherNormal = "RoR2/Base/Brother/texBrotherNormal.png"; public static string texCaptainSupplyRadius = "RoR2/Base/Captain/texCaptainSupplyRadius.png"; public static string texCrosshairDrone1 = "RoR2/Base/Captain/texCrosshairDrone1.png"; public static string texScanlineMask = "RoR2/Base/Captain/texScanlineMask.jpg"; public static string texWarning = "RoR2/Base/Captain/texWarning.png"; public static string texCaptainJacketDiffuse = "RoR2/Base/Captain/texCaptainJacketDiffuse.png"; public static string texCaptainJacketDiffuseAlt = "RoR2/Base/Captain/texCaptainJacketDiffuseAlt.png"; public static string texCaptainJacketNormal = "RoR2/Base/Captain/texCaptainJacketNormal.png"; public static string texCaptainPalette = "RoR2/Base/Captain/texCaptainPalette.psd"; public static string texCaptainPaletteAlt = "RoR2/Base/Captain/texCaptainPaletteAlt.psd"; public static string texCaptainCrosshairInner = "RoR2/Base/Captain/texCaptainCrosshairInner.png"; public static string texCaptainCrosshairOuter = "RoR2/Base/Captain/texCaptainCrosshairOuter.png"; public static string texCaptainSkillIcons = "RoR2/Base/Captain/texCaptainSkillIcons.png"; public static string texCaptainIcon = "RoR2/Base/Captain/texCaptainIcon.png"; public static string texRampCrosshair2 = "RoR2/Base/Captain/texRampCrosshair2.png"; public static string texClayFlowmap = "RoR2/Base/Clay/texClayFlowmap.png"; public static string ClayBossBody = "RoR2/Base/ClayBoss/ClayBossBody.png"; public static string texClayBossDiffuse = "RoR2/Base/ClayBoss/texClayBossDiffuse.png"; public static string texClayBossNormal = "RoR2/Base/ClayBoss/texClayBossNormal.png"; public static string texClayProjectileDiffuse = "RoR2/Base/ClayBoss/texClayProjectileDiffuse.png"; public static string texClayProjectileMask = "RoR2/Base/ClayBoss/texClayProjectileMask.png"; public static string ClayBruiserBody = "RoR2/Base/ClayBruiser/ClayBruiserBody.png"; public static string texClayBruiserDeathDecalMask = "RoR2/Base/ClayBruiser/texClayBruiserDeathDecalMask.png"; public static string texClayBruiserDiffuse = "RoR2/Base/ClayBruiser/texClayBruiserDiffuse.png"; public static string texClayBruiserNormal = "RoR2/Base/ClayBruiser/texClayBruiserNormal.png"; public static string texCommandoSkillIcons = "RoR2/Base/Commando/texCommandoSkillIcons.png"; public static string texCommandoIcon = "RoR2/Base/Commando/texCommandoIcon.png"; public static string texCommandoPaletteDiffuse = "RoR2/Base/Commando/texCommandoPaletteDiffuse.png"; public static string texCommandoPaletteDiffuseAlt = "RoR2/Base/Commando/texCommandoPaletteDiffuseAlt.psd"; public static string texCommandoPaletteEmission = "RoR2/Base/Commando/texCommandoPaletteEmission.png"; public static string CrocoBody = "RoR2/Base/Croco/CrocoBody.png"; public static string texCrocoSkillIcons = "RoR2/Base/Croco/texCrocoSkillIcons.png"; public static string texBuffRegenBoostIcon = "RoR2/Base/Croco/texBuffRegenBoostIcon.tif"; public static string texCrocoAltDiffuse = "RoR2/Base/Croco/texCrocoAltDiffuse.png"; public static string texCrocoBiteMask = "RoR2/Base/Croco/texCrocoBiteMask.png"; public static string texCrocoDecalMask = "RoR2/Base/Croco/texCrocoDecalMask.png"; public static string texCrocoDiffuse = "RoR2/Base/Croco/texCrocoDiffuse.png"; public static string texCrocoEmission = "RoR2/Base/Croco/texCrocoEmission.png"; public static string texCrocoNormal = "RoR2/Base/Croco/texCrocoNormal.png"; public static string texCrocoPoisonMask = "RoR2/Base/Croco/texCrocoPoisonMask.png"; public static string texCrocoSlashMask1 = "RoR2/Base/Croco/texCrocoSlashMask 1.png"; public static string texCrocoSlashMask = "RoR2/Base/Croco/texCrocoSlashMask.png"; public static string texCrocoSlashMaskSharp = "RoR2/Base/Croco/texCrocoSlashMaskSharp.png"; public static string texCrocoSpinesDiffuse = "RoR2/Base/Croco/texCrocoSpinesDiffuse.png"; public static string texCrocoSpinesMask = "RoR2/Base/Croco/texCrocoSpinesMask.png"; public static string texPoisonMask = "RoR2/Base/Croco/texPoisonMask.png"; public static string texPoisonNormal = "RoR2/Base/Croco/texPoisonNormal.png"; public static string texBackupDroneBodyIcon = "RoR2/Base/Drones/texBackupDroneBodyIcon.png"; public static string texDrone1Icon = "RoR2/Base/Drones/texDrone1Icon.png"; public static string texDrone2Icon = "RoR2/Base/Drones/texDrone2Icon.png"; public static string EmergencyDroneBody = "RoR2/Base/Drones/EmergencyDroneBody.png"; public static string EquipmentDroneBody = "RoR2/Base/Drones/EquipmentDroneBody.png"; public static string FlameDroneBody = "RoR2/Base/Drones/FlameDroneBody.png"; public static string MegaDroneBody = "RoR2/Base/Drones/MegaDroneBody.png"; public static string texMissileDroneIcon = "RoR2/Base/Drones/texMissileDroneIcon.png"; public static string texDroneBlades = "RoR2/Base/Drones/texDroneBlades.png"; public static string texTurret1Diffuse = "RoR2/Base/Drones/texTurret1Diffuse.png"; public static string texTurret1Icon = "RoR2/Base/Drones/texTurret1Icon.png"; public static string ElectricWormBody = "RoR2/Base/ElectricWorm/ElectricWormBody.png"; public static string texEngiSkillIcons = "RoR2/Base/Engi/texEngiSkillIcons.png"; public static string texEngiIcon = "RoR2/Base/Engi/texEngiIcon.png"; public static string texUIEngiMissileLockedOn = "RoR2/Base/Engi/texUIEngiMissileLockedOn.png"; public static string texUIEngiMissilePaint = "RoR2/Base/Engi/texUIEngiMissilePaint.png"; public static string texEngiTurretDiffuse = "RoR2/Base/Engi/texEngiTurretDiffuse.png"; public static string texEngiTurretEmission = "RoR2/Base/Engi/texEngiTurretEmission.png"; public static string texEngiTurretIcon = "RoR2/Base/Engi/texEngiTurretIcon.png"; public static string texEngiFlare = "RoR2/Base/Engi/texEngiFlare.png"; public static string texEngiDiffuse = "RoR2/Base/Engi/texEngiDiffuse.png"; public static string texEngiDiffuseAlt = "RoR2/Base/Engi/texEngiDiffuseAlt.png"; public static string texEngiEmission = "RoR2/Base/Engi/texEngiEmission.png"; public static string texEngiEmissionAlt = "RoR2/Base/Engi/texEngiEmissionAlt.png"; public static string texEngiShield = "RoR2/Base/Engi/texEngiShield.png"; public static string texEngiShieldBlurred = "RoR2/Base/Engi/texEngiShieldBlurred.png"; public static string GolemBody = "RoR2/Base/Golem/GolemBody.png"; public static string texGolemNormal1 = "RoR2/Base/Golem/texGolemNormal 1.png"; public static string texNatureGolemDiffuse = "RoR2/Base/Golem/texNatureGolemDiffuse.png"; public static string texSandyGolemDiffuse = "RoR2/Base/Golem/texSandyGolemDiffuse.png"; public static string texZap1Mask = "RoR2/Base/Golem/texZap1Mask.png"; public static string texSnowyGolemDiffuse = "RoR2/Base/Golem/texSnowyGolemDiffuse.png"; public static string texGolemDiffuse = "RoR2/Base/Golem/texGolemDiffuse.png"; public static string texGolemEmission = "RoR2/Base/Golem/texGolemEmission.png"; public static string texGolemNormal = "RoR2/Base/Golem/texGolemNormal.png"; public static string GrandparentBody = "RoR2/Base/Grandparent/GrandparentBody.png"; public static string texBuffOverheat = "RoR2/Base/Grandparent/texBuffOverheat.tif"; public static string texGrandparentDetailBDiffuse = "RoR2/Base/Grandparent/texGrandparentDetailBDiffuse.png"; public static string texGrandparentDetailBNormal = "RoR2/Base/Grandparent/texGrandparentDetailBNormal.png"; public static string texGrandparentDetailGDiffuse = "RoR2/Base/Grandparent/texGrandparentDetailGDiffuse.png"; public static string texGrandparentDetailGNormal = "RoR2/Base/Grandparent/texGrandparentDetailGNormal.png"; public static string texGrandparentDiffuse = "RoR2/Base/Grandparent/texGrandparentDiffuse.png"; public static string texGrandparentEmission = "RoR2/Base/Grandparent/texGrandparentEmission.png"; public static string texGrandparentNormal = "RoR2/Base/Grandparent/texGrandparentNormal.png"; public static string texGrandparentSplat = "RoR2/Base/Grandparent/texGrandparentSplat.png"; public static string GravekeeperBody = "RoR2/Base/Gravekeeper/GravekeeperBody.png"; public static string texChainTrailMask = "RoR2/Base/Gravekeeper/texChainTrailMask.png"; public static string texChainTrailNormal = "RoR2/Base/Gravekeeper/texChainTrailNormal.png"; public static string texGravekeeperFurDiffuse = "RoR2/Base/Gravekeeper/texGravekeeperFurDiffuse.png"; public static string texGravekeeperTestDiffuse = "RoR2/Base/Gravekeeper/texGravekeeperTestDiffuse.png"; public static string GreaterWispBody = "RoR2/Base/GreaterWisp/GreaterWispBody.png"; public static string texGreaterWispCracks = "RoR2/Base/GreaterWisp/texGreaterWispCracks.png"; public static string texGreaterWispDiffuse = "RoR2/Base/GreaterWisp/texGreaterWispDiffuse.png"; public static string texHandDiffuse = "RoR2/Base/HAND/texHandDiffuse.png"; public static string texHandEmission = "RoR2/Base/HAND/texHandEmission.png"; public static string texHereticBodyDiffuse = "RoR2/Base/Heretic/texHereticBody_Diffuse.png"; public static string texHereticBodyEmission = "RoR2/Base/Heretic/texHereticBody_Emission.png"; public static string texHereticBodyNormals = "RoR2/Base/Heretic/texHereticBody_Normals.png"; public static string texHereticClothesDiffuse = "RoR2/Base/Heretic/texHereticClothes_Diffuse.png"; public static string texHereticClothesNormal = "RoR2/Base/Heretic/texHereticClothes_Normal.png"; public static string texHereticFeather = "RoR2/Base/Heretic/texHereticFeather.png"; public static string texHereticFeatherEmission = "RoR2/Base/Heretic/texHereticFeatherEmission.png"; public static string texHereticIcon = "RoR2/Base/Heretic/texHereticIcon.png"; public static string HermitCrabBody = "RoR2/Base/HermitCrab/HermitCrabBody.png"; public static string texHermitCrabDiffuse = "RoR2/Base/HermitCrab/texHermitCrabDiffuse.png"; public static string texHermitCrabNormal = "RoR2/Base/HermitCrab/texHermitCrabNormal.png"; public static string texHuntressDiffuseAlt = "RoR2/Base/Huntress/texHuntressDiffuseAlt.png"; public static string texHuntressSkillIcons = "RoR2/Base/Huntress/texHuntressSkillIcons.png"; public static string texBowDiffuse = "RoR2/Base/Huntress/texBowDiffuse.png"; public static string texBowEmission = "RoR2/Base/Huntress/texBowEmission.png"; public static string texHuntressArrowBigMask = "RoR2/Base/Huntress/texHuntressArrowBigMask.png"; public static string texHuntressArrowMask = "RoR2/Base/Huntress/texHuntressArrowMask.png"; public static string texHuntressDiffuse = "RoR2/Base/Huntress/texHuntressDiffuse.png"; public static string texHuntressEmission = "RoR2/Base/Huntress/texHuntressEmission.png"; public static string texHuntressIcon = "RoR2/Base/Huntress/texHuntressIcon.png"; public static string texHuntressNormal = "RoR2/Base/Huntress/texHuntressNormal.png"; public static string texHuntressScarfDiffuseAlt = "RoR2/Base/Huntress/texHuntressScarfDiffuseAlt.png"; public static string ImpBody = "RoR2/Base/Imp/ImpBody.png"; public static string texImpBossDiffuse = "RoR2/Base/Imp/texImpBossDiffuse.png"; public static string texImpBossEmission = "RoR2/Base/Imp/texImpBossEmission.png"; public static string texImpBossNormals = "RoR2/Base/Imp/texImpBossNormals.png"; public static string texImpDiffuse = "RoR2/Base/Imp/texImpDiffuse.png"; public static string texImpEmission = "RoR2/Base/Imp/texImpEmission.png"; public static string texImpNormal = "RoR2/Base/Imp/texImpNormal.png"; public static string texImpSwipeMask = "RoR2/Base/Imp/texImpSwipeMask.png"; public static string ImpBossBody = "RoR2/Base/ImpBoss/ImpBossBody.png"; public static string JellyfishBody = "RoR2/Base/Jellyfish/JellyfishBody.png"; public static string texJellyfishAO = "RoR2/Base/Jellyfish/texJellyfishAO.png"; public static string texJellyfishDiffuse = "RoR2/Base/Jellyfish/texJellyfishDiffuse.png"; public static string texJellyfishEmission = "RoR2/Base/Jellyfish/texJellyfishEmission.png"; public static string texJellyfishNormal = "RoR2/Base/Jellyfish/texJellyfishNormal.png"; public static string LemurianBody = "RoR2/Base/Lemurian/LemurianBody.png"; public static string texLemurianBruiserDiffuse = "RoR2/Base/Lemurian/texLemurianBruiserDiffuse.png"; public static string texLemurianBruiserEmission = "RoR2/Base/Lemurian/texLemurianBruiserEmission.png"; public static string texLemurianBruiserNormal = "RoR2/Base/Lemurian/texLemurianBruiserNormal.png"; public static string texLemurianDiffuse = "RoR2/Base/Lemurian/texLemurianDiffuse.tga"; public static string texLemurianEmission = "RoR2/Base/Lemurian/texLemurianEmission.png"; public static string texLemurianNormal = "RoR2/Base/Lemurian/texLemurianNormal.png"; public static string texLemurianSlash = "RoR2/Base/Lemurian/texLemurianSlash.png"; public static string LemurianBruiserBody = "RoR2/Base/LemurianBruiser/LemurianBruiserBody.png"; public static string LoaderBody = "RoR2/Base/Loader/LoaderBody.png"; public static string texLoaderSkillIcons = "RoR2/Base/Loader/texLoaderSkillIcons.png"; public static string texLoaderPilotDiffuse = "RoR2/Base/Loader/texLoaderPilotDiffuse.png"; public static string texLoaderPilotDiffuseAlt = "RoR2/Base/Loader/texLoaderPilotDiffuseAlt.png"; public static string texLoaderPilotEmission = "RoR2/Base/Loader/texLoaderPilotEmission.png"; public static string texLoaderRopeNormal = "RoR2/Base/Loader/texLoaderRopeNormal.png"; public static string LunarExploderBody = "RoR2/Base/LunarExploder/LunarExploderBody.png"; public static string LunarGolemBody = "RoR2/Base/LunarGolem/LunarGolemBody.png"; public static string texBuffLunarShellIcon = "RoR2/Base/LunarGolem/texBuffLunarShellIcon.tif"; public static string texLunarGolemDiffuse = "RoR2/Base/LunarGolem/texLunarGolemDiffuse.png"; public static string texLunarGolemEmmission = "RoR2/Base/LunarGolem/texLunarGolemEmmission.png"; public static string texLunarGolemNormal = "RoR2/Base/LunarGolem/texLunarGolemNormal.png"; public static string LunarWispBody = "RoR2/Base/LunarWisp/LunarWispBody.png"; public static string texChargeRing = "RoR2/Base/LunarWisp/texChargeRing.png"; public static string texLunarWispDiffuse = "RoR2/Base/LunarWisp/texLunarWispDiffuse.png"; public static string texLunarWispNormal = "RoR2/Base/LunarWisp/texLunarWispNormal.png"; public static string texLunarWispTracerLead = "RoR2/Base/LunarWisp/texLunarWispTracerLead.png"; public static string texMageMatrixMask = "RoR2/Base/Mage/texMageMatrixMask.png"; public static string texMageMatrixMaskDirectional = "RoR2/Base/Mage/texMageMatrixMaskDirectional.png"; public static string texMageMatrixTri = "RoR2/Base/Mage/texMageMatrixTri.png"; public static string texMageSkillIcons = "RoR2/Base/Mage/texMageSkillIcons.png"; public static string texMageDiffuse = "RoR2/Base/Mage/texMageDiffuse.png"; public static string texMageDiffuseAlt = "RoR2/Base/Mage/texMageDiffuseAlt.png"; public static string texMageIcon = "RoR2/Base/Mage/texMageIcon.png"; public static string texMageMask = "RoR2/Base/Mage/texMageMask.png"; public static string MagmaWormBody = "RoR2/Base/MagmaWorm/MagmaWormBody.png"; public static string texMagma1 = "RoR2/Base/MagmaWorm/texMagma1.png"; public static string texMagmaWormDiffuse = "RoR2/Base/MagmaWorm/texMagmaWormDiffuse.png"; public static string texMagmaWormDiffuseOff = "RoR2/Base/MagmaWorm/texMagmaWormDiffuseOff.png"; public static string texMagmaWormHeight = "RoR2/Base/MagmaWorm/texMagmaWormHeight.png"; public static string texMagmaWormHeight2 = "RoR2/Base/MagmaWorm/texMagmaWormHeight2.png"; public static string texMagmaWormNormal = "RoR2/Base/MagmaWorm/texMagmaWormNormal.png"; public static string texMagmaWormSplat = "RoR2/Base/MagmaWorm/texMagmaWormSplat.png"; public static string texMercSkillIcons = "RoR2/Base/Merc/texMercSkillIcons.png"; public static string texBuffMercExposeIcon = "RoR2/Base/Merc/texBuffMercExposeIcon.tif"; public static string texMercAltDiffuse = "RoR2/Base/Merc/texMercAltDiffuse.png"; public static string texMercAltEmission = "RoR2/Base/Merc/texMercAltEmission.png"; public static string texMercDiffuse = "RoR2/Base/Merc/texMercDiffuse.png"; public static string texMercExposedMask = "RoR2/Base/Merc/texMercExposedMask.png"; public static string texMercIcon = "RoR2/Base/Merc/texMercIcon.png"; public static string texMercNormal = "RoR2/Base/Merc/texMercNormal.png"; public static string texMercSwipeMask = "RoR2/Base/Merc/texMercSwipeMask.png"; public static string texMercSwordDiffuse = "RoR2/Base/Merc/texMercSwordDiffuse.png"; public static string texMercSwordMask = "RoR2/Base/Merc/texMercSwordMask.png"; public static string texMercTestingDiffuse = "RoR2/Base/Merc/texMercTestingDiffuse.png"; public static string MiniMushroomBody = "RoR2/Base/MiniMushroom/MiniMushroomBody.png"; public static string texMiniMushroomDiffuse = "RoR2/Base/MiniMushroom/texMiniMushroomDiffuse.png"; public static string texMiniMushroomEmission = "RoR2/Base/MiniMushroom/texMiniMushroomEmission.png"; public static string texMiniMushroomNormal = "RoR2/Base/MiniMushroom/texMiniMushroomNormal.png"; public static string texMushDecalMask = "RoR2/Base/MiniMushroom/texMushDecalMask.png"; public static string texNullifierAllyDiffuse = "RoR2/Base/Nullifier/texNullifierAllyDiffuse.png"; public static string NullifierAllyBody = "RoR2/Base/Nullifier/NullifierAllyBody.png"; public static string NullifierBody = "RoR2/Base/Nullifier/NullifierBody.png"; public static string texBuffNullifiedIcon = "RoR2/Base/Nullifier/texBuffNullifiedIcon.tif"; public static string texBuffNullifyStackIcon = "RoR2/Base/Nullifier/texBuffNullifyStackIcon.tif"; public static string texNullifierDiffuse = "RoR2/Base/Nullifier/texNullifierDiffuse.png"; public static string texNullifierDiffuse2 = "RoR2/Base/Nullifier/texNullifierDiffuse2.png"; public static string texNullifierEmission = "RoR2/Base/Nullifier/texNullifierEmission.png"; public static string texNullifierNormal = "RoR2/Base/Nullifier/texNullifierNormal.png"; public static string texNullifierSky = "RoR2/Base/Nullifier/texNullifierSky.png"; public static string texNullifierSky2 = "RoR2/Base/Nullifier/texNullifierSky2.png"; public static string texNullifierSky3Alpha = "RoR2/Base/Nullifier/texNullifierSky3Alpha.png"; public static string texNullifierSkySparse = "RoR2/Base/Nullifier/texNullifierSkySparse.png"; public static string ParentBody = "RoR2/Base/Parent/ParentBody.png"; public static string texParentDiffuse = "RoR2/Base/Parent/texParentDiffuse.png"; public static string texParentEmission = "RoR2/Base/Parent/texParentEmission.png"; public static string texParentEyeMask = "RoR2/Base/Parent/texParentEyeMask.png"; public static string texParentNormal = "RoR2/Base/Parent/texParentNormal.png"; public static string RoboBallBossBody = "RoR2/Base/RoboBallBoss/RoboBallBossBody.png"; public static string RoboBallMiniBody = "RoR2/Base/RoboBallBoss/RoboBallMiniBody.png"; public static string SuperRoboBallBossBody = "RoR2/Base/RoboBallBoss/SuperRoboBallBossBody.png"; public static string texBuffEngiShieldIcon = "RoR2/Base/RoboBallBoss/texBuffEngiShieldIcon.tif"; public static string ScavBody = "RoR2/Base/Scav/ScavBody.png"; public static string texScavBackpackDiffuse = "RoR2/Base/Scav/texScavBackpackDiffuse.png"; public static string texScavBackpackNormal = "RoR2/Base/Scav/texScavBackpackNormal.png"; public static string texScavDiffuse = "RoR2/Base/Scav/texScavDiffuse.png"; public static string texScavEyeDiffuse = "RoR2/Base/Scav/texScavEyeDiffuse.png"; public static string texScavEyeMask = "RoR2/Base/Scav/texScavEyeMask.png"; public static string texScavEyeNormal = "RoR2/Base/Scav/texScavEyeNormal.png"; public static string texS