Decompiled source of RainstormRefinery v1.3.0

plugins/RainstormRefinery/RainstormRefinery.dll

Decompiled 2 weeks ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using System.Text.RegularExpressions;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Configuration;
using BepInEx.Logging;
using DefenseMatrixManager;
using EntityStates;
using EntityStates.Captain.Weapon;
using EntityStates.CaptainDefenseMatrixItem;
using EntityStates.CaptainSupplyDrop;
using EntityStates.Chef;
using EntityStates.Commando;
using EntityStates.Croco;
using EntityStates.Drone.Command;
using EntityStates.Drone.DroneWeapon;
using EntityStates.Engi.Mine;
using EntityStates.FalseSon;
using EntityStates.Headstompers;
using EntityStates.Heretic;
using EntityStates.LaserTurbine;
using EntityStates.LemurianMonster;
using EntityStates.Loader;
using EntityStates.Mage;
using EntityStates.Seeker;
using EntityStates.TeleporterHealNovaController;
using EntityStates.Toolbot;
using EntityStates.VagrantNovaItem;
using EntityStates.VoidSurvivor;
using Grumpy;
using HG;
using HG.GeneralSerializer;
using HG.Reflection;
using HarmonyLib;
using HereticMod;
using HuntressAutoaimFix;
using IL.EntityStates;
using IL.EntityStates.Bandit2.Weapon;
using IL.EntityStates.Captain.Weapon;
using IL.EntityStates.Chef;
using IL.EntityStates.Commando;
using IL.EntityStates.Croco;
using IL.EntityStates.Drone.Command;
using IL.EntityStates.Drone.DroneWeapon;
using IL.EntityStates.Engi.Mine;
using IL.EntityStates.FalseSon;
using IL.EntityStates.Geode;
using IL.EntityStates.Headstompers;
using IL.EntityStates.Heretic;
using IL.EntityStates.LaserTurbine;
using IL.EntityStates.LemurianBruiserMonster;
using IL.EntityStates.Loader;
using IL.EntityStates.Mage;
using IL.EntityStates.Merc;
using IL.EntityStates.Seeker;
using IL.EntityStates.TeleporterHealNovaController;
using IL.EntityStates.Toolbot;
using IL.EntityStates.Treebot.Weapon;
using IL.EntityStates.VagrantNovaItem;
using IL.EntityStates.VoidSurvivor;
using IL.EntityStates.VoidSurvivor.Weapon;
using IL.RoR2;
using IL.RoR2.Items;
using IL.RoR2.Projectile;
using IL.RoR2.Skills;
using IL.RoR2.UI;
using KinematicCharacterController;
using Microsoft.CodeAnalysis;
using Mono.Cecil;
using Mono.Cecil.Cil;
using MonoMod.Cil;
using MonoMod.RuntimeDetour;
using NetworkedPrayerBeads;
using On;
using On.EntityStates;
using On.EntityStates.Captain.Weapon;
using On.EntityStates.CaptainDefenseMatrixItem;
using On.EntityStates.CaptainSupplyDrop;
using On.EntityStates.Chef;
using On.EntityStates.Commando;
using On.EntityStates.Croco;
using On.EntityStates.FalseSon;
using On.EntityStates.Headstompers;
using On.EntityStates.LemurianMonster;
using On.EntityStates.Mage;
using On.EntityStates.Seeker;
using On.EntityStates.TeleporterHealNovaController;
using On.EntityStates.Toolbot;
using On.EntityStates.VagrantNovaItem;
using On.RoR2;
using On.RoR2.Items;
using On.RoR2.Orbs;
using On.RoR2.Projectile;
using On.RoR2.Skills;
using R2API;
using R2API.Utils;
using RainstormRefinery.Difficulty;
using RainstormRefinery.Drones;
using RainstormRefinery.Generic;
using RainstormRefinery.Items;
using RainstormRefinery.Items.BossTier;
using RainstormRefinery.Items.CommonTier;
using RainstormRefinery.Items.EquipmentTier;
using RainstormRefinery.Items.LegendaryTier;
using RainstormRefinery.Items.LunarTier;
using RainstormRefinery.Items.UncommonTier;
using RainstormRefinery.Items.VoidTier;
using RainstormRefinery.Survivors;
using RainstormRefinery.Survivors.Acrid;
using RainstormRefinery.Survivors.Artificer;
using RainstormRefinery.Survivors.Bandit;
using RainstormRefinery.Survivors.Captain;
using RainstormRefinery.Survivors.Chef;
using RainstormRefinery.Survivors.Commando;
using RainstormRefinery.Survivors.Engineer;
using RainstormRefinery.Survivors.FalseSon;
using RainstormRefinery.Survivors.Heretic;
using RainstormRefinery.Survivors.Huntress;
using RainstormRefinery.Survivors.Loader;
using RainstormRefinery.Survivors.Mercenary;
using RainstormRefinery.Survivors.MulT;
using RainstormRefinery.Survivors.Railgunner;
using RainstormRefinery.Survivors.Rex;
using RainstormRefinery.Survivors.Seeker;
using RainstormRefinery.Survivors.VoidFiend;
using RainstormRefinery.Utils;
using RainstormRefinery.Utils.AssetLibrary;
using RoR2;
using RoR2.CharacterAI;
using RoR2.Items;
using RoR2.Orbs;
using RoR2.Projectile;
using RoR2.Skills;
using RoR2.UI;
using TMPro;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.AddressableAssets.ResourceLocators;
using UnityEngine.Events;
using UnityEngine.Networking;
using UnityEngine.Rendering.PostProcessing;
using UnityEngine.UI;

[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("RainstormRefinery")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+d874f7401ea7b76fbe552322cbcccf3192f3322d")]
[assembly: AssemblyProduct("RainstormRefinery")]
[assembly: AssemblyTitle("RainstormRefinery")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableAttribute : Attribute
	{
		public readonly byte[] NullableFlags;

		public NullableAttribute(byte P_0)
		{
			NullableFlags = new byte[1] { P_0 };
		}

		public NullableAttribute(byte[] P_0)
		{
			NullableFlags = P_0;
		}
	}
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableContextAttribute : Attribute
	{
		public readonly byte Flag;

		public NullableContextAttribute(byte P_0)
		{
			Flag = P_0;
		}
	}
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
namespace RainstormRefinery
{
	public static class ConfigSetup
	{
		public static ConfigFile SurvivorCfg;

		public static ConfigFile ItemCfg;

		public static ConfigFile DifficultyCfg;

		private const string commandoString = "Survivors - Commando";

		private const string huntressString = "Survivors - Huntress";

		private const string banditString = "Survivors - Bandit";

		private const string toolbotString = "Survivors - MUL-T";

		private const string engiString = "Survivors - Engineer";

		private const string mageString = "Survivors - Artificer";

		private const string mercString = "Survivors - Mercenary";

		private const string treebotString = "Survivors - REX";

		private const string loaderString = "Survivors - Loader";

		private const string crocoString = "Survivors - Acrid";

		private const string captainString = "Survivors - Captain";

		private const string railgunnerString = "Survivors - Railgunner";

		private const string viendString = "Survivors - Void Fiend";

		private const string seekerString = "Survivors - Seeker";

		private const string chefString = "Survivors - Chef";

		private const string falseSonString = "Survivors - False Son";

		private const string commonString = "Items - Common";

		private const string uncommonString = "Items - Uncommon";

		private const string legendaryString = "Items - Legendary";

		private const string voidString = "Items - Void";

		private const string bossString = "Items - Boss";

		private const string lunarString = "Items - Lunar";

		private const string equipmentString = "Items - Equipment";

		private const string difficultyString = "Base Difficulty";

		public static string ConfigFolderPath => Path.Combine(Paths.ConfigPath, RainstormRefinery.pluginInfo.Metadata.GUID);

		public static void Init()
		{
			SetupConfigSurvivors();
			SetupConfigItems();
			SetupConfigDifficulty();
		}

		private static void SetupConfigSurvivors()
		{
			//IL_0011: Unknown result type (might be due to invalid IL or missing references)
			//IL_001b: Expected O, but got Unknown
			SurvivorCfg = new ConfigFile(Path.Combine(ConfigFolderPath, "RainstormRefinery_Survivors.cfg"), true);
			ConfigCommando();
			ConfigHuntress();
			ConfigBandit();
			ConfigMULT();
			ConfigEngi();
			ConfigArtificer();
			ConfigMercenary();
			ConfigRex();
			ConfigLoader();
			ConfigAcrid();
			ConfigCaptain();
			ConfigRailgunner();
			ConfigViend();
			ConfigSeeker();
			ConfigChef();
			ConfigFalseSon();
		}

		private static void ConfigCommando()
		{
			MagneticGrenade.enabled = SurvivorCfg.Bind<bool>("Survivors - Commando", "Frag Grenade -> Magnetic Grenade", true, "Sticks to enemies.").Value;
		}

		private static void ConfigHuntress()
		{
		}

		private static void ConfigBandit()
		{
			BanditRefined.enabledSecondaries = SurvivorCfg.Bind<bool>("Survivors - Bandit", "Serrated Dagger/Shiv", true, "Various tweaks including having multiple variants of hemorrhage.").Value;
		}

		private static void ConfigMULT()
		{
			PowerMode.enabled = SurvivorCfg.Bind<bool>("Survivors - MUL-T", "Power Mode", true, "Power Mode has a limited duration and increased cooldown.").Value;
		}

		private static void ConfigEngi()
		{
			BubbleShield.enabled = SurvivorCfg.Bind<bool>("Survivors - Engineer", "Bubble Shield", true, "Bubble Shield received several adjustments to make it more flexible.").Value;
		}

		private static void ConfigArtificer()
		{
			IonSurge.changeToUtility = SurvivorCfg.Bind<bool>("Survivors - Artificer", "Ion Surge - Utility", true, "Ion Surge moved to a utility skill.").Value;
			IonSurge.enabled = SurvivorCfg.Bind<bool>("Survivors - Artificer", "Ion Surge - Hit and Run", true, "Ion Surge made to fit a hit and run playstyle, has a short cooldown but only recharges on the ground.").Value;
		}

		private static void ConfigMercenary()
		{
		}

		private static void ConfigRex()
		{
			RexRefined.enableHealthCosts = SurvivorCfg.Bind<bool>("Survivors - REX", "Plant Skills", true, "Skills with a health cost have slightly reduced costs, but ignore armor and block chance. However, they also are unaffected by E8 permanent damage.").Value;
		}

		private static void ConfigLoader()
		{
			GrappleFist.enabled = SurvivorCfg.Bind<bool>("Survivors - Loader", "Spiked Fist", true, "Physics of the alt grapple are reworked.").Value;
		}

		private static void ConfigAcrid()
		{
		}

		private static void ConfigCaptain()
		{
			DiabloStrike.enabled = SurvivorCfg.Bind<bool>("Survivors - Captain", "Diablo Strike", true, "Diablo strike deals less damage but has a shorter cooldown and falls much faster.").Value;
			RechargingBeacons.enabled = SurvivorCfg.Bind<bool>("Survivors - Captain", "Supply Drops", true, "Supply drops are no longer single-use, instead recharging over 3 minutes.").Value;
		}

		private static void ConfigRailgunner()
		{
		}

		private static void ConfigViend()
		{
			CorruptionRework.enabled = SurvivorCfg.Bind<bool>("Survivors - Void Fiend", "Corruption rework", true, "Corruption is no longer affected by damage, healing, or crits, and has modified interactions with void items.").Value;
			Suppress.enableCooldown = SurvivorCfg.Bind<bool>("Survivors - Void Fiend", "Suppress Cooldown", true, "Both forms of Suppress now have a cooldown, but Corrupted Suppress no longer has limited uses.").Value;
		}

		private static void ConfigSeeker()
		{
			SeekerRevive.enabled = SurvivorCfg.Bind<bool>("Survivors - Seeker", "Saving Grace", true, "Major nerfs to Seeker's revive to make it more limited in use.").Value;
		}

		private static void ConfigChef()
		{
			RollingPin.enabled = SurvivorCfg.Bind<bool>("Survivors - Chef", "Rolling Pin", true, "Major changes to rolling pin and entirely reworked boosted version to be synergistic with the rest of CHEF's kit.").Value;
		}

		private static void ConfigFalseSon()
		{
		}

		private static void SetupConfigItems()
		{
			//IL_0011: Unknown result type (might be due to invalid IL or missing references)
			//IL_001b: Expected O, but got Unknown
			ItemCfg = new ConfigFile(Path.Combine(ConfigFolderPath, "RainstormRefinery_Items.cfg"), true);
			ConfigCommonItems();
			ConfigUncommonItems();
			ConfigLegendaryItems();
			ConfigBossItems();
			ConfigVoidItems();
			ConfigLunarItems();
			ConfigEquipment();
		}

		private static void ConfigCommonItems()
		{
			Fireworks.enabled = ItemCfg.Bind<bool>("Items - Common", "Fireworks", true, "Fireworks ignite enemies.").Value;
			RollOfPennies.enabled = ItemCfg.Bind<bool>("Items - Common", "Roll of Pennies", true, "Reworked gold calculations and now grants armor based on recently collected gold.").Value;
			StunGrenade.enabled = ItemCfg.Bind<bool>("Items - Common", "Stun Grenade", true, "Deals damage on proc.").Value;
			WarBanner.enabled = ItemCfg.Bind<bool>("Items - Common", "Warbanner", true, "Completely reworked to trigger upon entering combat.").Value;
		}

		private static void ConfigUncommonItems()
		{
			Bandolier.enabled = ItemCfg.Bind<bool>("Items - Uncommon", "Bandolier", true, "Can overstock skills.").Value;
			BreachingFin.enabled = ItemCfg.Bind<bool>("Items - Uncommon", "Breaching Fin", true, "Reworked to be a chance on hit.").Value;
			ConsumableInfusion.enabled = ItemCfg.Bind<bool>("Items - Uncommon", "Infusion", true, "Item is consumed when maxed out to grant bonus regen.").Value;
			DeathMark.enabled = ItemCfg.Bind<bool>("Items - Uncommon", "Death Mark", true, "Debuff strength reduced but grants a passive damage increase per afflicted debuff.").Value;
			HarvestersScythe.enabled = ItemCfg.Bind<bool>("Items - Uncommon", "Harvesters Scythe", true, "Heals a percentage of damage dealt.").Value;
			HuntersHarpoon.enabled = ItemCfg.Bind<bool>("Items - Uncommon", "Hunters Harpoon", true, "Duration can be extended like in Returns.").Value;
			LeechingSeed.enabled = ItemCfg.Bind<bool>("Items - Uncommon", "Leeching Seed", true, "Doubled healing and partially unaffected by proc coefficient.").Value;
			Stealthkit.enabled = ItemCfg.Bind<bool>("Items - Uncommon", "Old War Stealthkit", true, "Reworked to have a chance to trigger when hurt.").Value;
			UnstableTransmitter.enabled = ItemCfg.Bind<bool>("Items - Uncommon", "Unstable Transmitter", true, "Returned to being a cooldown.").Value;
		}

		private static void ConfigLegendaryItems()
		{
			DiosBestFriend.enabled = ItemCfg.Bind<bool>("Items - Legendary", "Dios Best Friend", true, "Drops 3 common items upon reviving a player.").Value;
			FrostRelic.enabled = ItemCfg.Bind<bool>("Items - Legendary", "Frost Relic", true, "Reduced damage but inflicts the Frost debuff.").Value;
			FrostRelic.disableCamera = ItemCfg.Bind<bool>("Items - Legendary", "Frost Relic - Disable Camera Change", true, "Disable the zoomout that occurs while Frost Relic is active.").Value;
			LaserScope.enabled = ItemCfg.Bind<bool>("Items - Legendary", "Laser Scope", true, "Reworked to trigger additional hits on critical strikes.").Value;
			PocketICBM.enabled = ItemCfg.Bind<bool>("Items - Legendary", "Pocket ICBM", true, "Reworked stacking behavior, now fires missiles while in combat.").Value;
			SoulboundCatalyst.enabled = ItemCfg.Bind<bool>("Items - Legendary", "Soulbound Catalyst", true, "Complete rework into a damage item while maintaining its on-kill and equipment synergies.").Value;
			SpareDroneParts.doBlacklist = ItemCfg.Bind<bool>("Items - Legendary", "Spare Drone Parts", true, "Only affects actual drones and solus allies from items (also applies to Box of Dynamite).").Value;
			HappiestMaskYellow.changeToYellow = ItemCfg.Bind<bool>("Items - Legendary", "Happiest Mask", true, "Make this a yellow item that drops from Hordes of Many.").Value;
		}

		private static void ConfigBossItems()
		{
			QueensGland.enabled = ItemCfg.Bind<bool>("Items - Boss", "Queens Gland", true, "Spawns up to 2 more offensively-oriented Beetle Guards with a functioning respawn timer.").Value;
			Shatterspleen.enabled = ItemCfg.Bind<bool>("Items - Boss", "Shatterspleen", true, "Grants flat bleed chance instead of being an on-crit item.").Value;
			TitanicKnurl.enabled = ItemCfg.Bind<bool>("Items - Boss", "Titanic Knurl", true, "Grants additional unconditional armor.").Value;
		}

		private static void ConfigVoidItems()
		{
			BenthicBloom.enabled = ItemCfg.Bind<bool>("Items - Void", "Benthic Bloom", true, "Converts individual items at consistent rates.").Value;
			VoidGlasses.enabled = ItemCfg.Bind<bool>("Items - Void", "Lost Seers Lenses", true, "Deals damage on proc with reworked execute mechanics.").Value;
		}

		private static void ConfigLunarItems()
		{
			NeutroniumWeight.enabled = ItemCfg.Bind<bool>("Items - Lunar", "Neutronium Weight", true, "Rework that makes it permanent and simply transfers a debuff around.").Value;
		}

		private static void ConfigEquipment()
		{
			ExecutiveCard.enabled = ItemCfg.Bind<bool>("Items - Equipment", "Executive Card", true, "Reworked into an active equipment, has a cooldown but grants more money back.").Value;
		}

		private static void SetupConfigDifficulty()
		{
			//IL_0011: Unknown result type (might be due to invalid IL or missing references)
			//IL_001b: Expected O, but got Unknown
			DifficultyCfg = new ConfigFile(Path.Combine(ConfigFolderPath, "RainstormRefinery_Difficulty.cfg"), true);
			GoldScaling.enabled = DifficultyCfg.Bind<bool>("Base Difficulty", "Reduced Gold Scaling", true, "Gold drops from enemies slightly increased at base, but drastically fall off as the run goes on to make up for the fact that more enemies are spawning.").Value;
			EclipseChanges.enabled = DifficultyCfg.Bind<bool>("Base Difficulty", "Modify Eclipse Levels", true, "Change eclipse level 1 to be more engaging. If using some other eclipse balancing mod, probably turn this off.").Value;
		}
	}
	internal static class Log
	{
		private static ManualLogSource _logSource;

		internal static void Init(ManualLogSource logSource)
		{
			_logSource = logSource;
		}

		internal static void Debug(object data)
		{
			_logSource.LogDebug(data);
		}

		internal static void Error(object data)
		{
			_logSource.LogError(data);
		}

		internal static void Fatal(object data)
		{
			_logSource.LogFatal(data);
		}

		internal static void Info(object data)
		{
			_logSource.LogInfo(data);
		}

		internal static void Message(object data)
		{
			_logSource.LogMessage(data);
		}

		internal static void Warning(object data)
		{
			_logSource.LogWarning(data);
		}
	}
	internal class ModAssets
	{
		public static AssetBundle mainBundle;

		public const string bundleName = "RainstormRefinery.refineryAssetBundle";

		public static void Init()
		{
			using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("RainstormRefinery.refineryAssetBundle");
			mainBundle = AssetBundle.LoadFromStream(stream);
		}
	}
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInPlugin("OblivionAXiS.RainstormRefinery", "RainstormRefinery", "1.3.0")]
	[NetworkCompatibility(/*Could not decode attribute arguments.*/)]
	public class RainstormRefinery : BaseUnityPlugin
	{
		public const string PluginGUID = "OblivionAXiS.RainstormRefinery";

		public const string PluginAuthor = "OblivionAXiS";

		public const string PluginName = "RainstormRefinery";

		public const string PluginVersion = "1.3.0";

		public static PluginInfo pluginInfo;

		public static bool PrayerBeadsLoaded = false;

		public static bool HIFUAutoaimLoaded = false;

		public static bool WolfoTweaksLoaded = false;

		public static bool WolfoClientQOLLoaded = false;

		public static bool RedAlertLoaded = false;

		public static bool HereticReworkLoaded = false;

		public static bool inBazaar = false;

		private static readonly SceneDef bazaarScene = SceneDef.bazaar.Load<SceneDef>();

		public void Awake()
		{
			Log.Init(((BaseUnityPlugin)this).Logger);
			ModAssets.Init();
			pluginInfo = ((BaseUnityPlugin)this).Info;
			ConfigSetup.Init();
			PrayerBeadsLoaded = Chainloader.PluginInfos.ContainsKey("com.Moffein.NetworkedPrayerBeads");
			HIFUAutoaimLoaded = Chainloader.PluginInfos.ContainsKey("HIFU.HuntressAutoaimFix");
			WolfoTweaksLoaded = Chainloader.PluginInfos.ContainsKey("com.Wolfo.WolfFixes");
			WolfoClientQOLLoaded = Chainloader.PluginInfos.ContainsKey("Wolfo.WolfoQoL_Client");
			RedAlertLoaded = Chainloader.PluginInfos.ContainsKey("com.TheTimesweeper.RedAlert");
			HereticReworkLoaded = Chainloader.PluginInfos.ContainsKey("com.Moffein.Heretic");
			new SurvivorsRefined();
			new ItemsRefined();
			new DifficultyController();
			new GenericChanges();
			new AllySkillDamage();
			SharedHooks.Setup();
			Stage.onStageStartGlobal += Stage_onStageStartGlobal;
		}

		private void Stage_onStageStartGlobal(Stage obj)
		{
			inBazaar = false;
			if ((Object)(object)SceneCatalog.GetSceneDefForCurrentScene() == (Object)(object)bazaarScene)
			{
				inBazaar = true;
			}
		}

		public void Start()
		{
			if (WolfoTweaksLoaded)
			{
				Debug.Log((object)"RainstormRefinery: WolfoFixes why do you have to be weird and load your changes in Start() rather than Awake(), it makes things super annoying to adjust.");
				EquipmentDef.MultiShopCard.Load<EquipmentDef>().cooldown = ExecutiveCard.cardCooldown;
			}
		}
	}
}
namespace RainstormRefinery.Utils
{
	public static class GetAssetPaths
	{
		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
		{
			//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 ((Component)Addressables.LoadAssetAsync<T>((object)path).WaitForCompletion()).GetComponent<T>();
		}
	}
	internal class AssetReferencer
	{
		public static void GenerateMap()
		{
			//IL_01db: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e0: Unknown result type (might be due to invalid IL or missing references)
			string path = Assembly.GetExecutingAssembly().Location.Replace("RainstormRefinery.dll", "AssetLibrary.cs");
			string text = "";
			text += "namespace RainstormRefinery.Utils.AssetLibrary {\n";
			List<string> list = new List<string>();
			Dictionary<string, string> dictionary = new Dictionary<string, string>();
			List<string> list2 = new List<string>();
			foreach (IResourceLocator resourceLocator in Addressables.ResourceLocators)
			{
				foreach (object key in resourceLocator.Keys)
				{
					if (key.ToString().ToLower().Contains("bundle") || !key.ToString().Contains("/") || !key.ToString().StartsWith("RoR2"))
					{
						continue;
					}
					try
					{
						string text2 = key.ToString().Split('/')[key.ToString().Split('/').Length - 1];
						string[] array = text2.Split('.');
						int num = array.Length - 1;
						string text3 = "";
						for (int i = 0; i < num; i++)
						{
							text3 += array[i];
						}
						text3.Replace(".", "");
						text3 = Regex.Replace(text3, "[^a-zA-Z0-9]", "");
						text3 = text3.Replace(" ", "");
						if (text3.Length > 3 && !char.IsDigit(text3[0]))
						{
							if (list.Contains(text3))
							{
								text3 += Random.Range(0, 37);
							}
							list.Add(text3);
							Object val = Addressables.LoadAssetAsync<Object>((object)key.ToString()).WaitForCompletion();
							string text4 = ((object)val).GetType().ToString();
							text4 = text4.Split('.')[text4.Split('.').Length - 1];
							dictionary.Add("            public static string " + text3 + " = \"" + key.ToString() + "\";\n", text4);
						}
					}
					catch
					{
					}
				}
			}
			List<KeyValuePair<string, string>> list3 = new List<KeyValuePair<string, string>>();
			string currentType = "";
			string text5 = "";
			foreach (KeyValuePair<string, string> item2 in dictionary)
			{
				list3.Add(item2);
			}
			do
			{
				if (currentType == "")
				{
					list2.Add(text5);
					currentType = list3[0].Value;
					text5 = "";
					text5 = text5 + "  public static class " + currentType + " {\n";
				}
				try
				{
					KeyValuePair<string, string> item = list3.First((KeyValuePair<string, string> x) => x.Value == currentType);
					text5 += item.Key;
					list3.Remove(item);
				}
				catch
				{
					currentType = "";
					text5 += "\n    }\n";
				}
			}
			while (list3.Count > 1);
			foreach (string item3 in list2)
			{
				text += item3;
			}
			File.WriteAllText(path, text);
		}
	}
	public class SharedHooks
	{
		public delegate void Handle_GetStatCoefficients(CharacterBody sender, StatHookEventArgs args, Inventory inventory);

		public delegate void Handle_GlobalKillEvent(DamageReport damageReport);

		public delegate void Handle_GlobalDamageEvent(DamageReport damageReport);

		public delegate void Handle_GlobalHitEvent(CharacterBody victim, CharacterBody attacker, DamageInfo damageInfo);

		public delegate void Handle_CharacterMaster_OnBodyDeath(CharacterMaster master, CharacterBody body);

		public delegate void Handle_GlobalInventoryChangedEvent(CharacterBody self);

		public delegate void Handle_PreTakeDamageProcessEvent(HealthComponent self, ref DamageInfo damageInfo);

		public delegate void Handle_PostTakeDamageProcessEvent(HealthComponent self, DamageInfo damageInfo, CharacterBody? attackerBody);

		public delegate void Handle_AddRefreshBuffStackBuffs(ILContext il);

		[CompilerGenerated]
		private static class <>O
		{
			public static StatHookEventHandler <0>__GetStatCoefficients;

			public static Action<DamageReport> <1>__GlobalEventManager_onCharacterDeathGlobal;

			public static Action<DamageReport> <2>__GlobalEventManager_DamageDealt;

			public static hook_OnHitEnemy <3>__GlobalEventManager_HitEnemy;

			public static Action<CharacterBody> <4>__GlobalEventManager_OnInventoryChanged;

			public static hook_OnBodyDeath <5>__CharacterMaster_OnBodyDeath;

			public static hook_TakeDamageProcess <6>__HealthComponent_PreTakeDamageProcess;

			public static hook_TakeDamageProcess <7>__HealthComponent_PostTakeDamageProcess;

			public static Manipulator <8>__CharacterBody_AddTimedBuff_BuffDef_float;
		}

		public static Handle_GetStatCoefficients Handle_GetStatCoefficients_Actions;

		public static Handle_GlobalKillEvent Handle_GlobalKillEvent_Actions;

		public static Handle_GlobalDamageEvent Handle_GlobalDamageEvent_Actions;

		public static Handle_GlobalHitEvent Handle_GlobalHitEvent_Actions;

		public static Handle_CharacterMaster_OnBodyDeath Handle_CharacterMaster_OnBodyDeath_Actions;

		public static Handle_GlobalInventoryChangedEvent Handle_GlobalInventoryChangedEvent_Actions;

		public static Handle_PreTakeDamageProcessEvent Handle_PreTakeDamageProcess_Actions;

		public static Handle_PostTakeDamageProcessEvent Handle_PostTakeDamageProcess_Actions;

		public static List<BuffDef> List_AddRefreshBuffStackBuffs = new List<BuffDef>();

		public static void Setup()
		{
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_0029: Expected O, but got Unknown
			//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b6: Expected O, but got Unknown
			//IL_010d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0112: Unknown result type (might be due to invalid IL or missing references)
			//IL_0118: Expected O, but got Unknown
			//IL_013e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0143: Unknown result type (might be due to invalid IL or missing references)
			//IL_0149: Expected O, but got Unknown
			//IL_016f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0174: Unknown result type (might be due to invalid IL or missing references)
			//IL_017a: Expected O, but got Unknown
			//IL_01a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b0: Expected O, but got Unknown
			if (Handle_GetStatCoefficients_Actions != null)
			{
				object obj = <>O.<0>__GetStatCoefficients;
				if (obj == null)
				{
					StatHookEventHandler val = GetStatCoefficients;
					<>O.<0>__GetStatCoefficients = val;
					obj = (object)val;
				}
				RecalculateStatsAPI.GetStatCoefficients += (StatHookEventHandler)obj;
			}
			if (Handle_GlobalKillEvent_Actions != null)
			{
				GlobalEventManager.onCharacterDeathGlobal += GlobalEventManager_onCharacterDeathGlobal;
			}
			if (Handle_GlobalDamageEvent_Actions != null)
			{
				GlobalEventManager.onServerDamageDealt += GlobalEventManager_DamageDealt;
			}
			if (Handle_GlobalHitEvent_Actions != null)
			{
				object obj2 = <>O.<3>__GlobalEventManager_HitEnemy;
				if (obj2 == null)
				{
					hook_OnHitEnemy val2 = GlobalEventManager_HitEnemy;
					<>O.<3>__GlobalEventManager_HitEnemy = val2;
					obj2 = (object)val2;
				}
				GlobalEventManager.OnHitEnemy += (hook_OnHitEnemy)obj2;
			}
			if (Handle_GlobalInventoryChangedEvent_Actions != null)
			{
				CharacterBody.onBodyInventoryChangedGlobal += GlobalEventManager_OnInventoryChanged;
			}
			if (Handle_CharacterMaster_OnBodyDeath_Actions != null)
			{
				object obj3 = <>O.<5>__CharacterMaster_OnBodyDeath;
				if (obj3 == null)
				{
					hook_OnBodyDeath val3 = CharacterMaster_OnBodyDeath;
					<>O.<5>__CharacterMaster_OnBodyDeath = val3;
					obj3 = (object)val3;
				}
				CharacterMaster.OnBodyDeath += (hook_OnBodyDeath)obj3;
			}
			if (Handle_PreTakeDamageProcess_Actions != null)
			{
				object obj4 = <>O.<6>__HealthComponent_PreTakeDamageProcess;
				if (obj4 == null)
				{
					hook_TakeDamageProcess val4 = HealthComponent_PreTakeDamageProcess;
					<>O.<6>__HealthComponent_PreTakeDamageProcess = val4;
					obj4 = (object)val4;
				}
				HealthComponent.TakeDamageProcess += (hook_TakeDamageProcess)obj4;
			}
			if (Handle_PostTakeDamageProcess_Actions != null)
			{
				object obj5 = <>O.<7>__HealthComponent_PostTakeDamageProcess;
				if (obj5 == null)
				{
					hook_TakeDamageProcess val5 = HealthComponent_PostTakeDamageProcess;
					<>O.<7>__HealthComponent_PostTakeDamageProcess = val5;
					obj5 = (object)val5;
				}
				HealthComponent.TakeDamageProcess += (hook_TakeDamageProcess)obj5;
			}
			if (List_AddRefreshBuffStackBuffs.Count > 0)
			{
				object obj6 = <>O.<8>__CharacterBody_AddTimedBuff_BuffDef_float;
				if (obj6 == null)
				{
					Manipulator val6 = CharacterBody_AddTimedBuff_BuffDef_float;
					<>O.<8>__CharacterBody_AddTimedBuff_BuffDef_float = val6;
					obj6 = (object)val6;
				}
				CharacterBody.AddTimedBuff_BuffDef_float += (Manipulator)obj6;
			}
		}

		internal static void GetStatCoefficients(CharacterBody sender, StatHookEventArgs args)
		{
			if (Object.op_Implicit((Object)(object)sender.inventory))
			{
				Handle_GetStatCoefficients_Actions(sender, args, sender.inventory);
			}
		}

		internal static void GlobalEventManager_onCharacterDeathGlobal(DamageReport damageReport)
		{
			if (NetworkServer.active && Object.op_Implicit((Object)(object)damageReport.attacker) && Object.op_Implicit((Object)(object)damageReport.attackerBody))
			{
				Handle_GlobalKillEvent_Actions(damageReport);
			}
		}

		internal static void GlobalEventManager_DamageDealt(DamageReport damageReport)
		{
			if (NetworkServer.active && Object.op_Implicit((Object)(object)damageReport.attacker) && Object.op_Implicit((Object)(object)damageReport.attackerBody))
			{
				Handle_GlobalDamageEvent_Actions(damageReport);
			}
		}

		internal static void GlobalEventManager_HitEnemy(orig_OnHitEnemy orig, GlobalEventManager self, DamageInfo damageInfo, GameObject victim)
		{
			orig.Invoke(self, damageInfo, victim);
			if (NetworkServer.active && Object.op_Implicit((Object)(object)victim) && Object.op_Implicit((Object)(object)damageInfo.attacker))
			{
				CharacterBody component = damageInfo.attacker.GetComponent<CharacterBody>();
				CharacterBody component2 = victim.GetComponent<CharacterBody>();
				if (Object.op_Implicit((Object)(object)component) && Object.op_Implicit((Object)(object)component2))
				{
					Handle_GlobalHitEvent_Actions(component2, component, damageInfo);
				}
			}
		}

		internal static void CharacterMaster_OnBodyDeath(orig_OnBodyDeath orig, CharacterMaster self, CharacterBody body)
		{
			orig.Invoke(self, body);
			if (NetworkServer.active)
			{
				Handle_CharacterMaster_OnBodyDeath_Actions(self, body);
			}
		}

		internal static void GlobalEventManager_OnInventoryChanged(CharacterBody self)
		{
			if (NetworkServer.active)
			{
				Handle_GlobalInventoryChangedEvent_Actions(self);
			}
		}

		internal static void HealthComponent_PreTakeDamageProcess(orig_TakeDamageProcess orig, HealthComponent self, DamageInfo damageInfo)
		{
			if (NetworkServer.active)
			{
				Handle_PreTakeDamageProcess_Actions(self, ref damageInfo);
			}
			orig.Invoke(self, damageInfo);
		}

		internal static void HealthComponent_PostTakeDamageProcess(orig_TakeDamageProcess orig, HealthComponent self, DamageInfo damageInfo)
		{
			orig.Invoke(self, damageInfo);
			if (NetworkServer.active && !self.body.HasBuff(Buffs.HiddenRejectAllDamage) && !damageInfo.rejected && self.alive && !self.godMode && !(self.ospTimer > 0f))
			{
				CharacterBody attackerBody = null;
				if (Object.op_Implicit((Object)(object)damageInfo.attacker))
				{
					attackerBody = damageInfo.attacker.GetComponent<CharacterBody>();
				}
				Handle_PostTakeDamageProcess_Actions(self, damageInfo, attackerBody);
			}
		}

		internal static void CharacterBody_AddTimedBuff_BuffDef_float(ILContext il)
		{
			//IL_0002: Unknown result type (might be due to invalid IL or missing references)
			//IL_0008: Expected O, but got Unknown
			ILCursor val = new ILCursor(il);
			if (!val.TryGotoNext(new Func<Instruction, bool>[1]
			{
				(Instruction x) => ILPatternMatchingExt.MatchLdsfld(x, typeof(Buffs).GetField("Overheat"))
			}))
			{
				Debug.LogError((object)"RainstormRefinery.Utils.SharedHooks: Handle_AddRefreshBuffStackBuffs hook failed");
				return;
			}
			int index = val.Index;
			val.Index = index + 1;
			val.EmitDelegate<Func<BuffDef, BuffDef, bool>>((Func<BuffDef, BuffDef, bool>)((BuffDef buffDef, BuffDef overheatDef) => List_AddRefreshBuffStackBuffs.Contains(buffDef) || (Object)(object)buffDef == (Object)(object)overheatDef));
			val.Remove();
		}
	}
	public static class SkillUtils
	{
		public static void ReorderSkillDrivers(this GameObject master, int targetIdx)
		{
			AISkillDriver[] components = master.GetComponents<AISkillDriver>();
			master.ReorderSkillDrivers(components, components.Length - 1, targetIdx);
		}

		public static void ReorderSkillDrivers(this GameObject master, AISkillDriver targetSkill, int targetIdx)
		{
			AISkillDriver[] components = master.GetComponents<AISkillDriver>();
			master.ReorderSkillDrivers(components, Array.IndexOf(components, targetSkill), targetIdx);
		}

		public static void ReorderSkillDrivers(this GameObject master, AISkillDriver[] skills, int currentIdx, int targetIdx)
		{
			if (currentIdx < 0 || currentIdx >= skills.Length)
			{
				Log.Error($"{currentIdx} index not found or out of range. Must be less than {skills.Length}");
				return;
			}
			string targetName = skills[currentIdx].customName;
			if (targetIdx < 0 || targetIdx >= skills.Length)
			{
				Log.Error($"Unable to reorder skilldriver {targetName} into position {targetIdx}. target must be less than {skills.Length}");
				return;
			}
			if (targetIdx == currentIdx)
			{
				Log.Warning($"Skilldriver {targetName} already has the target index of {targetIdx}");
				return;
			}
			Dictionary<string, string> dictionary = skills.Where((AISkillDriver s) => (Object)(object)s.nextHighPriorityOverride != (Object)null).ToDictionary((AISkillDriver s) => s.customName, (AISkillDriver s) => s.nextHighPriorityOverride.customName);
			if (targetIdx > currentIdx)
			{
				master.AddComponentCopy<AISkillDriver>(skills[currentIdx]);
				Object.DestroyImmediate((Object)(object)skills[currentIdx]);
			}
			for (int i = targetIdx; i < skills.Length; i++)
			{
				if (i != currentIdx)
				{
					master.AddComponentCopy<AISkillDriver>(skills[i]);
					Object.DestroyImmediate((Object)(object)skills[i]);
				}
			}
			skills = master.GetComponents<AISkillDriver>();
			AISkillDriver val = ((IEnumerable<AISkillDriver>)skills).FirstOrDefault((Func<AISkillDriver, bool>)((AISkillDriver s) => s.customName == targetName));
			if ((Object)(object)val != (Object)null && Array.IndexOf(skills, val) == targetIdx)
			{
				Log.Debug($"Successfully set {targetName} to {targetIdx}");
			}
			else
			{
				Log.Error($"Done fucked it up on {targetName} with {targetIdx}");
			}
			if (!dictionary.Any())
			{
				return;
			}
			foreach (AISkillDriver val2 in skills)
			{
				if (Object.op_Implicit((Object)(object)val2) && dictionary.TryGetValue(val2.customName, out var target))
				{
					AISkillDriver val3 = ((IEnumerable<AISkillDriver>)skills).FirstOrDefault((Func<AISkillDriver, bool>)((AISkillDriver s) => s.customName == target));
					if ((Object)(object)val3 == (Object)null)
					{
						Log.Error("Unable to reset skill override for " + val2.customName + " targeting " + target);
						continue;
					}
					val2.nextHighPriorityOverride = val3;
					Log.Debug("successfully reset override for " + val2.customName + " targeting " + target);
				}
			}
		}

		public static void RemoveComponent<T>(this GameObject go) where T : Component
		{
			T val = default(T);
			if (go.TryGetComponent<T>(ref val))
			{
				Object.Destroy((Object)(object)val);
			}
		}

		public static void RemoveComponents<T>(this GameObject go) where T : Component
		{
			T[] components = go.GetComponents<T>();
			for (int i = 0; i < components.Length; i++)
			{
				Object.Destroy((Object)(object)components[i]);
			}
		}

		public static T GetCopyOf<T>(this Component comp, T other) where T : Component
		{
			Type type = ((object)comp).GetType();
			if (type != ((object)other).GetType())
			{
				return default(T);
			}
			BindingFlags bindingAttr = BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
			PropertyInfo[] properties = type.GetProperties(bindingAttr);
			PropertyInfo[] array = properties;
			foreach (PropertyInfo propertyInfo in array)
			{
				if (propertyInfo.CanWrite)
				{
					try
					{
						propertyInfo.SetValue(comp, propertyInfo.GetValue(other, null), null);
					}
					catch
					{
					}
				}
			}
			FieldInfo[] fields = type.GetFields(bindingAttr);
			FieldInfo[] array2 = fields;
			foreach (FieldInfo fieldInfo in array2)
			{
				fieldInfo.SetValue(comp, fieldInfo.GetValue(other));
			}
			return (T)(object)((comp is T) ? comp : null);
		}

		public static T GetCopyOf<T>(this ScriptableObject comp, T other) where T : ScriptableObject
		{
			Type type = ((object)comp).GetType();
			if (type != ((object)other).GetType())
			{
				return default(T);
			}
			BindingFlags bindingAttr = BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
			PropertyInfo[] properties = type.GetProperties(bindingAttr);
			PropertyInfo[] array = properties;
			foreach (PropertyInfo propertyInfo in array)
			{
				if (propertyInfo.CanWrite)
				{
					try
					{
						propertyInfo.SetValue(comp, propertyInfo.GetValue(other, null), null);
					}
					catch
					{
					}
				}
			}
			FieldInfo[] fields = type.GetFields(bindingAttr);
			FieldInfo[] array2 = fields;
			foreach (FieldInfo fieldInfo in array2)
			{
				fieldInfo.SetValue(comp, fieldInfo.GetValue(other));
			}
			return (T)(object)((comp is T) ? comp : null);
		}

		public static T AddComponentCopy<T>(this GameObject go, T toAdd) where T : Component
		{
			return ((Component)(object)go.AddComponent<T>()).GetCopyOf(toAdd);
		}

		public static bool TryModifyFieldValue<T>(this EntityStateConfiguration entityStateConfiguration, string fieldName, T value)
		{
			ref SerializedField orCreateField = ref ((SerializedFieldCollection)(ref entityStateConfiguration.serializedFieldsCollection)).GetOrCreateField(fieldName);
			if (Object.op_Implicit(orCreateField.fieldValue.objectValue) && typeof(Object).IsAssignableFrom(typeof(T)))
			{
				ref Object objectValue = ref orCreateField.fieldValue.objectValue;
				object obj = value;
				objectValue = (Object)((obj is Object) ? obj : null);
				return true;
			}
			if (orCreateField.fieldValue.stringValue != null && StringSerializer.CanSerializeType(typeof(T)))
			{
				orCreateField.fieldValue.stringValue = StringSerializer.Serialize(typeof(T), (object)value);
				return true;
			}
			Debug.LogError((object)("Failed to modify field " + fieldName));
			return false;
		}

		public static bool TryGetFieldValue<T>(this EntityStateConfiguration entityStateConfiguration, string fieldName, out T value) where T : Object
		{
			ref SerializedField orCreateField = ref ((SerializedFieldCollection)(ref entityStateConfiguration.serializedFieldsCollection)).GetOrCreateField(fieldName);
			if (Object.op_Implicit(orCreateField.fieldValue.objectValue) && typeof(Object).IsAssignableFrom(typeof(T)))
			{
				value = (T)(object)orCreateField.fieldValue.objectValue;
				return true;
			}
			if (!string.IsNullOrEmpty(orCreateField.fieldValue.stringValue))
			{
				Debug.LogError((object)("Failed to return " + fieldName + " as an Object, try getting the string value instead."));
			}
			else
			{
				Debug.LogError((object)("Field is null " + fieldName));
			}
			value = default(T);
			return false;
		}

		public static bool TryGetFieldValueString<T>(this EntityStateConfiguration entityStateConfiguration, string fieldName, out T value) where T : IEquatable<T>
		{
			ref SerializedField orCreateField = ref ((SerializedFieldCollection)(ref entityStateConfiguration.serializedFieldsCollection)).GetOrCreateField(fieldName);
			if (orCreateField.fieldValue.stringValue != null && StringSerializer.CanSerializeType(typeof(T)))
			{
				value = (T)StringSerializer.Deserialize(typeof(T), orCreateField.fieldValue.stringValue);
				return true;
			}
			if (Object.op_Implicit(orCreateField.fieldValue.objectValue))
			{
				Debug.LogError((object)("Failed to return " + fieldName + " as a string, try getting the Object value instead."));
			}
			else
			{
				Debug.LogError((object)("Field is null " + fieldName));
			}
			value = default(T);
			return false;
		}
	}
	internal class SneedUtils
	{
		public static bool SetEntityStateField(string entityStateName, string fieldName, GameObject newObject)
		{
			EntityStateConfiguration val = LegacyResourcesAPI.Load<EntityStateConfiguration>("entitystateconfigurations/" + entityStateName);
			for (int i = 0; i < val.serializedFieldsCollection.serializedFields.Length; i++)
			{
				if (val.serializedFieldsCollection.serializedFields[i].fieldName == fieldName)
				{
					val.serializedFieldsCollection.serializedFields[i].fieldValue.objectValue = (Object)(object)newObject;
					return true;
				}
			}
			return false;
		}

		public static bool SetAddressableEntityStateField(string fullEntityStatePath, string fieldName, string value)
		{
			//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)
			EntityStateConfiguration val = Addressables.LoadAssetAsync<EntityStateConfiguration>((object)fullEntityStatePath).WaitForCompletion();
			for (int i = 0; i < val.serializedFieldsCollection.serializedFields.Length; i++)
			{
				if (val.serializedFieldsCollection.serializedFields[i].fieldName == fieldName)
				{
					val.serializedFieldsCollection.serializedFields[i].fieldValue.stringValue = value;
					return true;
				}
			}
			return false;
		}

		public static bool GetKeyPressed(ConfigEntry<KeyboardShortcut> entry)
		{
			//IL_0003: Unknown result type (might be due to invalid IL or missing references)
			//IL_0008: Unknown result type (might be due to invalid IL or missing references)
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			KeyboardShortcut value = entry.Value;
			foreach (KeyCode modifier in ((KeyboardShortcut)(ref value)).Modifiers)
			{
				if (!Input.GetKey(modifier))
				{
					return false;
				}
			}
			value = entry.Value;
			return Input.GetKeyDown(((KeyboardShortcut)(ref value)).MainKey);
		}

		public static BuffDef CreateBuffDef(string name, bool canStack, bool isCooldown, bool isDebuff, bool isBuff, Color color, Sprite iconSprite, bool isHidden = false)
		{
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			BuffDef val = ScriptableObject.CreateInstance<BuffDef>();
			((Object)val).name = name;
			val.canStack = canStack;
			val.isCooldown = isCooldown;
			val.isDebuff = isDebuff;
			val.ignoreGrowthNectar = !isBuff;
			val.buffColor = color;
			val.iconSprite = iconSprite;
			val.isHidden = isHidden;
			ContentAddition.AddBuffDef(val);
			((Object)val).name = ((Object)val).name;
			return val;
		}

		public static void DumpEntityStateConfig(EntityStateConfiguration esc)
		{
			for (int i = 0; i < esc.serializedFieldsCollection.serializedFields.Length; i++)
			{
				if (Object.op_Implicit(esc.serializedFieldsCollection.serializedFields[i].fieldValue.objectValue))
				{
					Debug.Log((object)(esc.serializedFieldsCollection.serializedFields[i].fieldName + " - " + (object)esc.serializedFieldsCollection.serializedFields[i].fieldValue.objectValue));
				}
				else
				{
					Debug.Log((object)(esc.serializedFieldsCollection.serializedFields[i].fieldName + " - " + esc.serializedFieldsCollection.serializedFields[i].fieldValue.stringValue));
				}
			}
		}

		public static void DumpEntityStateConfig(string entityStateName)
		{
			EntityStateConfiguration esc = LegacyResourcesAPI.Load<EntityStateConfiguration>("entitystateconfigurations/" + entityStateName);
			DumpEntityStateConfig(esc);
		}

		public static void DumpAddressableEntityStateConfig(string addressablePath)
		{
			//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)
			EntityStateConfiguration esc = Addressables.LoadAssetAsync<EntityStateConfiguration>((object)addressablePath).WaitForCompletion();
			DumpEntityStateConfig(esc);
		}

		public static void RemoveItemTag(ItemDef itemDef, ItemTag tag)
		{
			//IL_0002: 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)
			if (itemDef.ContainsTag(tag))
			{
				List<ItemTag> list = itemDef.tags.ToList();
				list.Remove(tag);
				itemDef.tags = list.ToArray();
			}
			else
			{
				Log.Warning("RainstormRefinery: failed to remove item tag from " + itemDef.nameToken + "; tag not present");
			}
		}

		public static void AddItemTag(ItemDef itemDef, ItemTag tag)
		{
			//IL_0002: 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)
			if (!itemDef.ContainsTag(tag))
			{
				List<ItemTag> list = itemDef.tags.ToList();
				list.Add(tag);
				itemDef.tags = list.ToArray();
			}
			else
			{
				Log.Warning("RainstormRefinery: failed to add item tag to " + itemDef.nameToken + "; tag already present");
			}
		}
	}
}
namespace RainstormRefinery.Utils.AssetLibrary
{
	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 texBandit2ClearPMIcon = "RoR2/Base/Achievements/texBandit2ClearPMIcon.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 texCaptainClearPMIcon = "RoR2/Base/Achievements/texCaptainClearPMIcon.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 texChefClearGameMonsoonIcon = "RoR2/Base/Achievements/texChefClearGameMonsoonIcon.png";

		public static string texChefSearBisonIcon = "RoR2/Base/Achievements/texChefSearBisonIcon.png";

		public static string texCleanupDutyIcon = "RoR2/Base/Achievements/texCleanupDutyIcon.png";

		public static string texCommandoClearGameMonsoonIcon = "RoR2/Base/Achievements/texCommandoClearGameMonsoonIcon.png";

		public static string texCommandoClearPMIcon = "RoR2/Base/Achievements/texCommandoClearPMIcon.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 texCompleteThreeStagesIcon240 = "RoR2/Base/Achievements/texCompleteThreeStagesIcon240.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 texCrocoClearPMIcon = "RoR2/Base/Achievements/texCrocoClearPMIcon.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 texDrifterTornadoIcon = "RoR2/Base/Achievements/texDrifterTornadoIcon.jpg";

		public static string texDroneTechAltDrone = "RoR2/Base/Achievements/texDroneTechAltDrone.png";

		public static string texDroneTechNanoBombIcon = "RoR2/Base/Achievements/texDroneTechNanoBombIcon.jpg";

		public static string texDroneTechShieldIcon = "RoR2/Base/Achievements/texDroneTechShieldIcon.jpg";

		public static string texEngiArmyIcon = "RoR2/Base/Achievements/texEngiArmyIcon.png";

		public static string texEngiClearGameMonsoonIcon = "RoR2/Base/Achievements/texEngiClearGameMonsoonIcon.png";

		public static string texEngiClearPMIcon = "RoR2/Base/Achievements/texEngiClearPMIcon.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 texFalseSonClearGameMonsoonIcon = "RoR2/Base/Achievements/texFalseSonClearGameMonsoonIcon.png";

		public static string texFalseSonOneLaserMultiKillIcon = "RoR2/Base/Achievements/texFalseSonOneLaserMultiKillIcon.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 texHuntressClearPMIcon = "RoR2/Base/Achievements/texHuntressClearPMIcon.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 texLoaderClearPMIcon = "RoR2/Base/Achievements/texLoaderClearPMIcon.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 texMageClearPMIcon = "RoR2/Base/Achievements/texMageClearPMIcon.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 texMercClearPMIcon = "RoR2/Base/Achievements/texMercClearPMIcon.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 texObtainArtifactExtraDronesIcon = "RoR2/Base/Achievements/texObtainArtifactExtraDronesIcon.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 texRailgunnerClearPMIcon = "RoR2/Base/Achievements/texRailgunnerClearPMIcon.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 texSeekerClearGameMonsoonIcon = "RoR2/Base/Achievements/texSeekerClearGameMonsoonIcon.png";

		public static string texSeekerMultiKillAirborneEnemyIcon = "RoR2/Base/Achievements/texSeekerMultiKillAirborneEnemyIcon.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 texToolbotClearPMIcon = "RoR2/Base/Achievements/texToolbotClearPMIcon.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 texTreebotClearPMIcon = "RoR2/Base/Achievements/texTreebotClearPMIcon.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 texVoidSurvivorClearPMIcon = "RoR2/Base/Achievements/texVoidSurvivorClearPMIcon.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 texAltarSkeletonBody = "RoR2/Base/AltarSkeleton/texAltarSkeletonBody.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 texBandit2AltColossusDiffuse = "RoR2/Base/Bandit2/texBandit2AltColossusDiffuse.png";

		public static string texBandit2AltColossusEmissive = "RoR2/Base/Bandit2/texBandit2AltColossusEmissive.png";

		public static string texBandit2AltColossusNormal = "RoR2/Base/Bandit2/texBandit2AltColossusNormal.png";

		public static string texBandit2AltColossusWeaponsDiffuse = "RoR2/Base/Bandit2/texBandit2AltColossusWeaponsDiffuse.tga";

		public static string texBandit2AltColossusWeaponsEmissive = "RoR2/Base/Bandit2/texBandit2AltColossusWeaponsEmissive.png";

		public static string texBandit2AltColossusWeaponsMask = "RoR2/Base/Bandit2/texBandit2AltColossusWeaponsMask.png";

		public static string texBandit2AltColossusWeaponsNormal = "RoR2/Base/Bandit2/texBandit2AltColossusWeaponsNormal.png";

		public static string texRampSolusBandit = "RoR2/Base/Bandit2/texRampSolusBandit.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/BeetleGuard/BeetleGuardBody.png";

		public static string texSulfurBeetleGuardDiffuse = "RoR2/Base/BeetleGuard/texSulfurBeetleGuardDiffuse.png";

		public static string texSulfurBeetleGuardFresnelMask = "RoR2/Base/BeetleGuard/texSulfurBeetleGuardFresnelMask.png";

		public static string BeetleQueen2Body = "RoR2/Base/BeetleQueen/BeetleQueen2Body.png";

		public static string texAcidDecalDiffuse = "RoR2/Base/BeetleQueen/texAcidDecalDiffuse.png";

		public static string texBuggyMask = "RoR2/Base/BeetleQueen/texBuggyMask.png";

		public static string texSulfurBeetleQueenDiffuse = "RoR2/Base/BeetleQueen/texSulfurBeetleQueenDiffuse.png";

		public static string texSulfurBeetleQueenFresnelMask = "RoR2/Base/BeetleQueen/texSulfurBeetleQueenFresnelMask.png";

		public static string texBeetleWardIcon = "RoR2/Base/BeetleGroup/BeetleWard/texBeetleWardIcon.png";

		public static string texAcidDecalMask = "RoR2/Base/BeetleGroup/texAcidDecalMask.png";

		public static string texAcidDecalNormal = "RoR2/Base/BeetleGroup/texAcidDecalNormal.png";

		public static string texBeetleDiffuse2 = "RoR2/Base/BeetleGroup/texBeetleDiffuse2.png";

		public static string texBeetleGrubRangeIndicator = "RoR2/Base/BeetleGroup/texBeetleGrubRangeIndicator.png";

		public static string texBeetleGuardAllyDiffuse = "RoR2/Base/BeetleGroup/texBeetleGuardAllyDiffuse.png";

		public static string texBeetleGuardAllyFresnelMask = "RoR2/Base/BeetleGroup/texBeetleGuardAllyFresnelMask.png";

		public static string texBeetleGuardDiffuse = "RoR2/Base/BeetleGroup/texBeetleGuardDiffuse.png";

		public static string texBeetleGuardEmission = "RoR2/Base/BeetleGroup/texBeetleGuardEmission.png";

		public static string texBeetleGuardNormal = "RoR2/Base/BeetleGroup/texBeetleGuardNormal.png";

		public static string texBeetleGuardShellMask = "RoR2/Base/BeetleGroup/texBeetleGuardShellMask.png";

		public static string texBeetleNormal = "RoR2/Base/BeetleGroup/texBeetleNormal.png";

		public static string texBeetleQueenDiffuse = "RoR2/Base/BeetleGroup/texBeetleQueenDiffuse.png";

		public static string texBeetleQueenEyeMask = "RoR2/Base/BeetleGroup/texBeetleQueenEyeMask.png";

		public static string texBeetleQueenNormal = "RoR2/Base/BeetleGroup/texBeetleQueenNormal.png";

		public static string texBeetleQueenSplatmap = "RoR2/Base/BeetleGroup/texBeetleQueenSplatmap.png";

		public static string texBeetleStrike = "RoR2/Base/BeetleGroup/texBeetleStrike.png";

		public static string texBuffBeetleJuiceIcon = "RoR2/Base/BeetleGroup/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 texBirdsharkBody = "RoR2/Base/Birdshark/texBirdsharkBody.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 texCaptainColossusClothesDiffuse = "RoR2/Base/Captain/texCaptainColossusClothesDiffuse.png";

		public static string texCaptainColossusClothesNormal = "RoR2/Base/Captain/texCaptainColossusClothesNormal.png";

		public static string texCaptainColossusDiffuse = "RoR2/Base/Captain/texCaptainColossusDiffuse.png";

		public static string texCaptainColossusFresnelMask = "RoR2/Base/Captain/texCaptainColossusFresnelMask.png";

		public static string texCaptainColossusNormal = "RoR2/Base/Captain/texCaptainColossusNormal.png";

		public static string texRampSolusCaptain = "RoR2/Base/Captain/texRampSolusCaptain.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 texCommandoAltColossusDiffuse = "RoR2/Base/Commando/texCommandoAltColossusDiffuse.png";

		public static string texCommandoAltColossusEmissive = "RoR2/Base/Commando/texCommandoAltColossusEmissive.png";

		public static string texCommandoAltColossusFresnel = "RoR2/Base/Commando/texCommandoAltColossusFresnel.png";

		public static string texCommandoAltColossusNormal = "RoR2/Base/Commando/texCommandoAltColossusNormal.png";

		public static string texCommandoVultureDiffuse = "RoR2/Base/Commando/texCommandoVultureDiffuse.png";

		public static string texCommandoVultureEmissive = "RoR2/Base/Commando/texCommandoVultureEmissive.png";

		public static string texCommandoSkillIcons = "RoR2/Base/Commando/texCommandoSkillIcons.png";

		public static string texCommandoColorShiftDiffuse01 = "RoR2/Base/Commando/texCommandoColorShiftDiffuse01.png";

		public static string texCommandoColorShiftDiffuse02 = "RoR2/Base/Commando/texCommandoColorShiftDiffuse02.png";

		public static string texCommandoColorShiftDiffuse03 = "RoR2/Base/Commando/texCommandoColorShiftDiffuse03.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 texCrocoColossusDiffuse = "RoR2/Base/Croco/texCrocoColossusDiffuse.png";

		public static string texCrocoColossusEmissive = "RoR2/Base/Croco/texCrocoColossusEmissive.png";

		public static string texCrocoColossusFlow = "RoR2/Base/Croco/texCrocoColossusFlow.bmp";

		public static string texCrocoColossusNormal = "RoR2/Base/Croco/texCrocoColossusNormal.png";

		public static string texCrocoVultureDiffuse = "RoR2/Base/Croco/texCrocoVultureDiffuse.png";

		public static string texCrocoVultureEmission = "RoR2/Base/Croco/texCrocoVultureEmission.png";

		public static string texCrocoVultureNormal = "RoR2/Base/Croco/texCrocoVultureNormal.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 texCrocoColorShiftDiffuse01 = "RoR2/Base/Croco/texCrocoColorShiftDiffuse01.png";

		public static string texCrocoColorShiftDiffuse02 = "RoR2/Base/Croco/texCrocoColorShiftDiffuse02.png";

		public static string texCrocoColorShiftDiffuse03 = "RoR2/Base/Croco/texCrocoColorShiftDiffuse03.png";

		public static string texCrocoColorShiftEmission = "RoR2/Base/Croco/texCrocoColorShiftEmission.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 texCrocoSpinesColorShiftDiffuse01 = "RoR2/Base/Croco/texCrocoSpinesColorShiftDiffuse01.png";

		public static string texCrocoSpinesColorShiftDiffuse02 = "RoR2/Base/Croco/texCrocoSpinesColorShiftDiffuse02.png";

		public static string texCrocoSpinesColorShiftDiffuse03 = "RoR2/Base/Croco/texCrocoSpinesColorShiftDiffuse03.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 texStrikeDroneIcon = "RoR2/Base/Drones/texStrikeDroneIcon.png";

		public static string texBackupDroneBodyIcon = "RoR2/Base/Drones/texBackupDroneBodyIcon.png";

		public static string texSkillGunnerDroneIcon = "RoR2/Base/Drones/texSkillGunnerDroneIcon.png";

		public static string texDrone1Icon = "RoR2/Base/Drones/texDrone1Icon.png";

		public static string texDrone2Icon = "RoR2/Base/Drones/texDrone2Icon.png";

		public static string texEmergencyDroneIcon = "RoR2/Base/Drones/texEmergencyDroneIcon.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 texSkillProtoDroneIcon = "RoR2/Base/Drones/texSkillProtoDroneIcon.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 texEngiAltColossusDiffuse = "RoR2/Base/Engi/texEngiAltColossusDiffuse.png";

		public static string texEngiAltColossusEmi = "RoR2/Base/Engi/texEngiAltColossusEmi.png";

		public static string texEngiAltColossusFlow = "RoR2/Base/Engi/texEngiAltColossusFlow.png";

		public static string texEngiAltColossusFresnel = "RoR2/Base/Engi/texEngiAltColossusFresnel.png";

		public static string texEngiAltColossusNormal = "RoR2/Base/Engi/texEngiAltColossusNormal.png";

		public static string texEngiAltColossusToolsDiffuse = "RoR2/Base/Engi/texEngiAltColossusToolsDiffuse.png";

		public static string texEngiAltColossusToolsEmi = "RoR2/Base/Engi/texEngiAltColossusToolsEmi.png";

		public static string texEngiVultureDiffuse = "RoR2/Base/Engi/texEngiVultureDiffuse.png";

		public static string texEngiVultureEmission = "RoR2/Base/Engi/texEngiVultureEmission.png";

		public static string texEngiVultureTurretDiffuse = "RoR2/Base/Engi/texEngiVultureTurretDiffuse.png";

		public static string texEngiVultureTurretEmission = "RoR2/Base/Engi/texEngiVultureTurretEmission.png";

		public static string texRampEngiAltVulture = "RoR2/Base/Engi/texRampEngiAltVulture.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 texExplosivePotDestructibleBody = "RoR2/Base/ExplosivePotDestructible/texExplosivePotDestructibleBody.png";

		public static string texFusionCellBody = "RoR2/Base/FusionCellDestructible/texFusionCellBody.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 texHuntressAltColossusDiffuse = "RoR2/Base/Huntress/texHuntressAltColossusDiffuse.png";

		public static string texHuntressAltColossusEmi = "RoR2/Base/Huntress/texHuntressAltColossusEmi.png";

		public static string texHuntressAltColossusFresnel = "RoR2/Base/Huntress/texHuntressAltColossusFresnel.png";

		public static string texHuntressAltColossusNormal = "RoR2/Base/Huntress/texHuntressAltColossusNormal.png";

		public static string texRampHuntressAltColossus = "RoR2/Base/Huntress/texRampHuntressAltColossus.png";

		public static string texRampHuntressAltColossusArrow = "RoR2/Base/Huntress/texRampHuntressAltColossusArrow.png";

		public static string texHuntressVultureDiffuse = "RoR2/Base/Huntress/texHuntressVultureDiffuse.png";

		public static string texHuntressVultureEmission = "RoR2/Base/Huntress/texHuntressVultureEmission.png";

		public static string texHuntressVultureNormal = "RoR2/Base/Huntress/texHuntressVultureNormal.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 texLoaderAltColossusDiffuse = "RoR2/Base/Loader/texLoaderAltColossusDiffuse.png";

		public static string texLoaderAltColossusEMIMask = "RoR2/Base/Loader/texLoaderAltColossusEMIMask.png";

		public static string texLoaderAltColossusFlowMask = "RoR2/Base/Loader/texLoaderAltColossusFlowMask.png";

		public static string texLoaderAltColossusNormal = "RoR2/Base/Loader/texLoaderAltColossusNormal.png";

		public static string texRampSolusLoader = "RoR2/Base/Loader/texRampSolusLoader.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 texMageAltColossusDiffuse = "RoR2/Base/Mage/texMageAltColossusDiffuse.png";

		public static string texMageAltColossusFlowMask = "RoR2/Base/Mage/texMageAltColossusFlowMask.bmp";

		public static string texMageAltColossusFresnelMask = "RoR2/Base/Mage/texMageAltColossusFresnelMask.png";

		public static string texMageAltColossusNormal = "RoR2/Base/Mage/texMageAltColossusNormal.png";

		public static string texRampSolusArtificer = "RoR2/Base/Mage/texRampSolusArtificer.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 texMageColorShiftDiffuse01 = "RoR2/Base/Mage/texMageColorShiftDiffuse01.png";

		public static string texMageColorShiftDiffuse02 = "RoR2/Base/Mage/texMageColorShiftDiffuse02.png";

		public static string texMageColorShiftDiffuse03 = "RoR2/Base/Mage/texMageColorShiftDiffuse03.png";

		public static string texMageColorShiftFresnelMask01 = "RoR2/Base/Mage/texMageColorShiftFresnelMask01.png";

		public static string texMageColorShiftFresnelMask02 = "RoR2/Base/Mage/texMageColorShiftFresnelMask02.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 texMagmaWorm