Decompiled source of SkillSwap v2.3.7
SkillSwap.dll
Decompiled 2 weeks 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