Decompiled source of CustomUI v1.0.2

CustomHud.dll

Decompiled 2 weeks ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Text.RegularExpressions;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Configuration;
using BepInEx.Unity.IL2CPP;
using CellMenu;
using Enemies;
using GTFO.API.Utilities;
using Gear;
using HarmonyLib;
using Il2CppInterop.Runtime.InteropTypes;
using Il2CppInterop.Runtime.InteropTypes.Arrays;
using Il2CppSystem;
using Il2CppSystem.Collections.Generic;
using Il2CppSystem.IO;
using Localization;
using Microsoft.CodeAnalysis;
using Player;
using SNetwork;
using TMPro;
using UnityEngine;
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: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("CustomHud")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("CustomHud")]
[assembly: AssemblyTitle("CustomHud")]
[assembly: AssemblyVersion("1.0.0.0")]
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;
		}
	}
}
namespace JadiePop.CustomHud
{
	[BepInPlugin("JadiePop.CustomHud", "CustomHud", "1.0.1")]
	public class Plugin : BasePlugin
	{
		public override void Load()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BasePlugin)this).Log.LogInfo((object)"CustomHud is up and running :3");
			new Harmony("JadiePop.CustomHud").PatchAll();
		}
	}
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[HarmonyPatch]
	internal static class Patch
	{
		internal static float minimal_ui_current_alpha = 1f;

		private static bool better_text_chat = ((BaseChainloader<BasePlugin>)(object)IL2CPPChainloader.Instance).Plugins.ContainsKey("Andocas.BetterTextChat");

		public static bool archive_loaded = ((BaseChainloader<BasePlugin>)(object)IL2CPPChainloader.Instance).Plugins.ContainsKey("dev.AuriRex.gtfo.TheArchive");

		public static bool accuracyshow_loaded = ((BaseChainloader<BasePlugin>)(object)IL2CPPChainloader.Instance).Plugins.ContainsKey("com.catrice.AccuracyShow");

		public static bool damageindicator_loaded = ((BaseChainloader<BasePlugin>)(object)IL2CPPChainloader.Instance).Plugins.ContainsKey("com.catrice.DamageIndicator");

		internal static int All;

		internal static int current_accuracy_index;

		internal static Vector3 default_separation = new Vector3(0f, 30f, 0f);

		internal static Vector3 default_position_aoiyuki = new Vector3(-70f, -52f, 0f);

		internal static Vector3 flashlight_pos_storage = Vector3.one;

		internal static int? combatindicator_hash;

		internal static bool AoiYukiSetup = false;

		internal static bool scream_cd_object_setup = false;

		internal static bool scream_cd_config_change = false;

		internal static GameObject? scream_cd = null;

		internal static TextMeshPro? scream_cd_text_component = null;

		public static void setup_aoiyuki_indexes()
		{
			All = 4;
			if (accuracyshow_loaded)
			{
				All++;
			}
			if (damageindicator_loaded)
			{
				All += 4;
			}
			if (Config.aoiyuki_inverse_order.Value)
			{
				current_accuracy_index = All - 1;
			}
			else
			{
				current_accuracy_index = 4;
			}
		}

		[HarmonyPatch(typeof(CellSettingsManager), "LoadFromDisk")]
		[HarmonyPostfix]
		public static void start_config()
		{
			_ = Config.lowammo_selected_selected_bg_full_arrow;
		}

		public static void lerp_fixes(PUI_LocalPlayerStatus __instance)
		{
			__instance.UpdateInfection(__instance.m_infectionValueRef, 0f);
			__instance.UpdateHealth(__instance.m_currentHealthRel, __instance.m_meleeBuffActive);
		}

		public static void recolor_selected_lowammo_method(PUI_InventoryItem __instance)
		{
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0036: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Unknown result type (might be due to invalid IL or missing references)
			//IL_0069: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
			Transform child = __instance.m_selected_root.transform.GetChild(0);
			((Component)child.GetChild(0)).GetComponent<SpriteRenderer>().color = Config.lowammo_selected_selected_bg_full_arrow_parse;
			((Component)child.GetChild(1)).GetComponent<SpriteRenderer>().color = Config.lowammo_selected_selected_bg_full_bg_full_parse;
			((Graphic)__instance.m_selected_archetypeName).color = Config.lowammo_selected_selected_info_content_archetypeName_parse;
			((Graphic)__instance.m_selected_detailedName).color = Config.lowammo_selected_selected_info_content_detailedname_parse;
			((Graphic)__instance.m_selected_ammoClip).color = Config.lowammo_selected_selected_info_content_ammoclip_parse;
			__instance.m_selected_icon.color = Config.lowammo_selected_selected_info_content_icon_parse;
			((Component)__instance.m_selected_root.transform.GetChild(2).GetChild(0)).GetComponent<SpriteRenderer>().color = Config.lowammo_selected_selected_slim_bg_slim_parse;
			((Graphic)__instance.m_selected_ammoTotal).color = Config.lowammo_selected_selected_slim_ammo_percent_parse;
		}

		public static void recolor_unselected_lowammo_method(PUI_InventoryItem __instance)
		{
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0036: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Unknown result type (might be due to invalid IL or missing references)
			//IL_0069: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
			Transform child = __instance.m_selected_root.transform.GetChild(0);
			((Component)child.GetChild(0)).GetComponent<SpriteRenderer>().color = Config.lowammo_unselected_selected_bg_full_arrow_parse;
			((Component)child.GetChild(1)).GetComponent<SpriteRenderer>().color = Config.lowammo_unselected_selected_bg_full_bg_full_parse;
			((Graphic)__instance.m_selected_archetypeName).color = Config.lowammo_unselected_selected_info_content_archetypeName_parse;
			((Graphic)__instance.m_selected_detailedName).color = Config.lowammo_unselected_selected_info_content_detailedname_parse;
			((Graphic)__instance.m_selected_ammoClip).color = Config.lowammo_unselected_selected_info_content_ammoclip_parse;
			__instance.m_selected_icon.color = Config.lowammo_unselected_selected_info_content_icon_parse;
			((Component)__instance.m_selected_root.transform.GetChild(2).GetChild(0)).GetComponent<SpriteRenderer>().color = Config.lowammo_unselected_selected_slim_bg_slim_parse;
			((Graphic)__instance.m_selected_ammoTotal).color = Config.lowammo_unselected_selected_slim_ammo_percent_parse;
		}

		public static void recolor_lowammo_slims_method(PUI_InventoryItem __instance)
		{
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Unknown result type (might be due to invalid IL or missing references)
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			Transform child = __instance.m_slim_root.transform.GetChild(0);
			((Component)child.GetChild(2)).GetComponent<SpriteRenderer>().color = Config.lowammo_unselected_slim_bg_small_parse;
			((Graphic)__instance.m_slim_ammoTotal).color = Config.lowammo_unselected_slim_ammo_percent_parse;
			((Component)child.GetChild(0)).GetComponent<SpriteRenderer>().color = Config.lowammo_unselected_slim_arrow_parse;
			((Graphic)__instance.m_slim_archetypeName).color = Config.lowammo_unselected_slim_archetypeName_parse;
			((Component)child.GetChild(5)).GetComponent<SpriteRenderer>().color = Config.lowammo_unselected_slim_bg_big_parse;
		}

		public static void recolor_selected_highammo_method(PUI_InventoryItem __instance)
		{
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0036: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Unknown result type (might be due to invalid IL or missing references)
			//IL_0069: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0090: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
			Transform child = __instance.m_selected_root.transform.GetChild(0);
			((Component)child.GetChild(0)).GetComponent<SpriteRenderer>().color = Config.selected_selected_bg_full_arrow_parse;
			((Component)child.GetChild(1)).GetComponent<SpriteRenderer>().color = Config.selected_selected_bg_full_bg_full_parse;
			((Graphic)__instance.m_selected_archetypeName).color = Config.selected_selected_info_content_archetypeName_parse;
			((Graphic)__instance.m_selected_detailedName).color = Config.selected_selected_info_content_detailedname_parse;
			((Graphic)__instance.m_selected_ammoClip).color = Config.selected_selected_info_content_ammoclip_parse;
			__instance.m_selected_icon.color = Config.selected_selected_info_content_icon_parse;
			((Graphic)__instance.m_selected_infiniteAmmo.GetComponent<TextMeshPro>()).color = Config.selected_selected_slim_infinite_parse;
			((Component)__instance.m_selected_root.transform.GetChild(2).GetChild(0)).GetComponent<SpriteRenderer>().color = Config.selected_selected_slim_bg_slim_parse;
			((Graphic)__instance.m_selected_ammoTotal).color = Config.selected_selected_slim_ammo_percent_parse;
		}

		public static void recolor_unselected_highammo_method(PUI_InventoryItem __instance)
		{
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0049: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Unknown result type (might be due to invalid IL or missing references)
			//IL_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_008f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
			Transform child = __instance.m_selected_root.transform.GetChild(0);
			((Component)child.GetChild(0)).GetComponent<SpriteRenderer>().color = Config.selected_bg_full_arrow_parse;
			((Renderer)((Component)child.GetChild(0)).GetComponent<SpriteRenderer>()).sortingOrder = -1;
			((Component)child.GetChild(1)).GetComponent<SpriteRenderer>().color = Config.selected_bg_full_bg_full_parse;
			((Renderer)((Component)child.GetChild(1)).GetComponent<SpriteRenderer>()).sortingOrder = -1;
			((Graphic)__instance.m_selected_archetypeName).color = Config.selected_info_content_archetypeName_parse;
			((Graphic)__instance.m_selected_detailedName).color = Config.selected_info_content_detailedname_parse;
			((Graphic)__instance.m_selected_ammoClip).color = Config.selected_info_content_ammoclip_parse;
			__instance.m_selected_icon.color = Config.selected_info_content_icon_parse;
			((Graphic)__instance.m_selected_infiniteAmmo.GetComponent<TextMeshPro>()).color = Config.selected_slim_infinite_parse;
			((Component)__instance.m_selected_root.transform.GetChild(2).GetChild(0)).GetComponent<SpriteRenderer>().color = Config.selected_slim_bg_slim_parse;
			((Graphic)__instance.m_selected_ammoTotal).color = Config.selected_slim_ammo_percent_parse;
		}

		public static void recolor_highammo_slims_method(PUI_InventoryItem __instance)
		{
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Unknown result type (might be due to invalid IL or missing references)
			//IL_0098: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0114: Unknown result type (might be due to invalid IL or missing references)
			Transform child = __instance.m_slim_root.transform.GetChild(0);
			((Component)child.GetChild(2)).GetComponent<SpriteRenderer>().color = Config.slim_bg_small_parse;
			((Graphic)__instance.m_slim_ammoTotal).color = Config.slim_ammo_percent_parse;
			__instance.m_slim_ammoTotal.transform.localPosition = Config.slim_slim_ammo_pos_parse;
			__instance.m_slim_ammoTotal.transform.localScale = Vector3.one * Config.slim_slim_ammo_scale.Value;
			((Component)child.GetChild(0)).GetComponent<SpriteRenderer>().color = Config.slim_arrow_parse;
			((Graphic)__instance.m_slim_infiniteAmmo.GetComponent<TextMeshPro>()).color = Config.slim_infinite_parse;
			__instance.m_slim_infiniteAmmo.transform.localPosition = Config.slim_slim_ammo_pos_parse + new Vector3(-27.53f, 0f, 0f);
			__instance.m_slim_infiniteAmmo.transform.localScale = Vector3.one * Config.slim_slim_infinite_scale.Value;
			((Graphic)__instance.m_slim_archetypeName).color = Config.slim_archetypeName_parse;
			((Component)child.GetChild(5)).GetComponent<SpriteRenderer>().color = Config.slim_bg_big_parse;
		}

		public static void initial_setup(PUI_InventoryItem __instance)
		{
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_0109: Unknown result type (might be due to invalid IL or missing references)
			//IL_011d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0122: Unknown result type (might be due to invalid IL or missing references)
			//IL_0133: Unknown result type (might be due to invalid IL or missing references)
			//IL_0142: Unknown result type (might be due to invalid IL or missing references)
			//IL_0179: Unknown result type (might be due to invalid IL or missing references)
			//IL_0180: Unknown result type (might be due to invalid IL or missing references)
			//IL_0197: Unknown result type (might be due to invalid IL or missing references)
			//IL_019e: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bc: Unknown result type (might be due to invalid IL or missing references)
			Transform transform = __instance.m_selected_root.transform;
			Transform transform2 = __instance.m_empty_root.transform;
			recolor_highammo_slims_method(__instance);
			((Renderer)((Component)__instance.m_slim_root.transform.GetChild(0).GetChild(2)).GetComponent<SpriteRenderer>()).sortingOrder = -1;
			((TMP_Text)__instance.m_slim_archetypeName).rectTransform.sizeDelta = Config.confine_archetypename_parse;
			((Renderer)((Component)transform.GetChild(0).GetChild(1)).GetComponent<SpriteRenderer>()).sortingOrder = -1;
			((TMP_Text)__instance.m_selected_archetypeName).rectTransform.sizeDelta = Config.confine_archetypename_parse;
			((Renderer)((Component)transform.GetChild(0).GetChild(1)).GetComponent<SpriteRenderer>()).sortingOrder = -1;
			((Renderer)((Component)transform.GetChild(2).GetChild(0)).GetComponent<SpriteRenderer>()).sortingOrder = -1;
			Transform transform3 = __instance.m_selected_ammoTotal.transform;
			((Component)transform3).transform.localPosition = Config.slim_ammo_pos_parse;
			((Component)transform3).transform.localScale = Vector3.one * Config.slim_ammo_scale.Value;
			TextMeshPro component = __instance.m_selected_infiniteAmmo.GetComponent<TextMeshPro>();
			component.transform.localPosition = Config.slim_ammo_pos_parse + new Vector3(-29.5f, 0f, 0f);
			component.transform.localScale = Vector3.one * Config.slim_infinite_scale.Value;
			float num = 1f;
			if (Config.inventory_remove_empty.Value)
			{
				num = 0f;
			}
			((Component)transform2.GetChild(0)).GetComponent<SpriteRenderer>().color = Config.empty_arrow_parse * num;
			((Component)transform2.GetChild(1)).GetComponent<SpriteRenderer>().color = Config.empty_slim_bg_parse * num;
			((Component)transform2.GetChild(2)).GetComponent<SpriteRenderer>().color = Config.empty_long_bg_parse * num;
		}

		public static void minimal_ui_changes(PUI_GameObjectives __instance, bool invert)
		{
			//IL_0118: Unknown result type (might be due to invalid IL or missing references)
			//IL_0123: Unknown result type (might be due to invalid IL or missing references)
			//IL_012e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0148: Unknown result type (might be due to invalid IL or missing references)
			//IL_019b: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_01cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_032f: Unknown result type (might be due to invalid IL or missing references)
			//IL_033b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0347: Unknown result type (might be due to invalid IL or missing references)
			//IL_0361: Unknown result type (might be due to invalid IL or missing references)
			//IL_0240: Unknown result type (might be due to invalid IL or missing references)
			//IL_024c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0258: Unknown result type (might be due to invalid IL or missing references)
			//IL_0272: Unknown result type (might be due to invalid IL or missing references)
			if (((Object)((Component)__instance).transform.parent).name != "MovementRoot")
			{
				return;
			}
			float num = ((!invert) ? (1f / Config.minimal_ui_speed.Value) : (1f / (0f - Config.minimal_ui_speed_disable.Value)));
			List<PUI_ProgressionObjective> progressionObjectives = __instance.m_progressionObjectives;
			float num2 = num * Time.deltaTime;
			minimal_ui_current_alpha = Mathf.Clamp(minimal_ui_current_alpha + num2, 0f, 1f);
			for (int i = 0; i < progressionObjectives.Count; i++)
			{
				((TMP_Text)progressionObjectives[i].m_text).alpha = minimal_ui_current_alpha * Config.obj_progression_subtext_text_parse.a;
				((TMP_Text)progressionObjectives[i].m_header).alpha = minimal_ui_current_alpha * Config.obj_progression_header_text_parse.a;
			}
			((TMP_Text)__instance.m_header).alpha = minimal_ui_current_alpha * Config.obj_header_text_parse.a;
			SpriteRenderer component = ((Component)__instance.m_headerHolder.transform.GetChild(1)).GetComponent<SpriteRenderer>();
			component.color = new Color(component.color.r, component.color.g, component.color.b, minimal_ui_current_alpha * Config.obj_header_bg_parse.a);
			((TMP_Text)((Component)__instance.m_itemsHeader.transform.GetChild(0)).GetComponent<TextMeshPro>()).alpha = minimal_ui_current_alpha * Config.obj_header_text_parse.a;
			SpriteRenderer component2 = ((Component)__instance.m_itemsHeader.transform.GetChild(1)).GetComponent<SpriteRenderer>();
			component2.color = new Color(component2.color.r, component2.color.g, component2.color.b, minimal_ui_current_alpha * Config.obj_item_bg_parse.a);
			((TMP_Text)__instance.m_items).alpha = minimal_ui_current_alpha;
			Transform child = ((Component)__instance).transform.parent.GetChild(6).GetChild(0);
			for (int j = 0; j < child.childCount - 1; j++)
			{
				Transform child2 = child.GetChild(j);
				if (((Object)child2).name == "PUI_Compass_Line(Clone)")
				{
					SpriteRenderer component3 = ((Component)child2).gameObject.GetComponent<SpriteRenderer>();
					component3.color = new Color(component3.color.r, component3.color.g, component3.color.b, minimal_ui_current_alpha * Config.compass_line_color_parse.a);
				}
				else if (((Object)child2).name == "PUI_Compass_Letter(Clone)")
				{
					((TMP_Text)((Component)child2).gameObject.GetComponent<TextMeshPro>()).alpha = minimal_ui_current_alpha * Config.compass_letter_color_parse.a;
				}
				else
				{
					((TMP_Text)((Component)child2).gameObject.GetComponent<TextMeshPro>()).alpha = minimal_ui_current_alpha * Config.compass_number_color_parse.a;
				}
			}
			SpriteRenderer component4 = ((Component)((Component)((Component)__instance).transform.parent.GetChild(6)).transform.FindChild("PUI_Compass_Arrow(Clone)").GetChild(1)).GetComponent<SpriteRenderer>();
			component4.color = new Color(component4.color.r, component4.color.g, component4.color.b, minimal_ui_current_alpha * Config.compass_arrow_color_parse.a);
		}

		public static void nuke_helper(PUI_GameEventLog __instance)
		{
			((TMP_Text)__instance.m_txtHelp).text = "";
		}

		[HarmonyPatch(typeof(PUI_InventoryItem), "Setup")]
		[HarmonyPostfix]
		public static void MyOtherPatch(PUI_InventoryItem __instance)
		{
			if (((Component)__instance).transform.IsChildOf(((GuiLayer)GuiManager.PlayerLayer).CanvasTrans))
			{
				initial_setup(__instance);
				recolor_unselected_highammo_method(__instance);
				if (Config.LowAmmo_patch.Value || Config.inventory_permaselect.Value)
				{
					__instance.m_meleeStaminaHeight = 0f;
				}
			}
		}

		[HarmonyPatch(typeof(PUI_Inventory), "SetMeleeStamina")]
		[HarmonyPrefix]
		public static void nuke_stam_updt2(ref bool __runOriginal, PUI_Inventory __instance)
		{
			if (Config.recolor_melee_infinite.Value)
			{
				__runOriginal = false;
			}
		}

		[HarmonyPatch(typeof(PUI_Inventory), "Setup", new Type[] { typeof(GuiLayer) })]
		[HarmonyPostfix]
		[HarmonyPriority(int.MinValue)]
		public static void flashlight_icon(PUI_Inventory __instance)
		{
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			if (((Component)__instance).transform.IsChildOf(((GuiLayer)GuiManager.PlayerLayer).CanvasTrans))
			{
				Transform child = ((Component)__instance.m_iconDisplay).transform.GetChild(0).GetChild(0);
				((Component)child.GetChild(0)).GetComponent<SpriteRenderer>().color = Config.light_enabled_parse;
				((Component)child.GetChild(1)).GetComponent<SpriteRenderer>().color = Config.light_disabled_parse;
				((Component)child.GetChild(2)).GetComponent<SpriteRenderer>().color = Config.light_bg_parse;
			}
		}

		[HarmonyPatch(typeof(GuiManager), "Setup")]
		[HarmonyPostfix]
		public static void move_all(GuiManager __instance)
		{
			//IL_0011: Unknown result type (might be due to invalid IL or missing references)
			((Component)__instance.m_playerLayer.Inventory).transform.localPosition = Config.inventory_pos_parse;
		}

		[HarmonyPatch(typeof(PUI_InventoryItem), "SetState")]
		[HarmonyPrefix]
		public static void perma_select(PUI_InventoryItem __instance, ref ePUI_InventortyItemState state)
		{
			if (Config.inventory_permaselect.Value)
			{
				PUI_Inventory component = ((Component)((Component)__instance).transform.parent).GetComponent<PUI_Inventory>();
				if (component != null && ((Il2CppObjectBase)component.m_baseLayer).TryCast<PlayerGuiLayer>() != null && (int)state == 1)
				{
					state = (ePUI_InventortyItemState)2;
				}
			}
		}

		[HarmonyPatch(typeof(PUI_Inventory), "UpdateInfoForItem")]
		[HarmonyPostfix]
		public static void state_manager(PUI_Inventory __instance, BackpackItem bpItem, InventorySlot selectedSlot)
		{
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			//IL_00de: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e5: Invalid comparison between Unknown and I4
			//IL_00ff: Unknown result type (might be due to invalid IL or missing references)
			if ((!Config.recolor_selected.Value && !Config.LowAmmo_patch.Value) || !__instance.m_inventorySlots.ContainsKey(bpItem.Instance.ItemDataBlock.inventorySlot))
			{
				return;
			}
			PUI_InventoryItem val = __instance.m_inventorySlots[bpItem.Instance.ItemDataBlock.inventorySlot];
			if (selectedSlot == bpItem.Instance.ItemDataBlock.inventorySlot && Config.recolor_selected.Value)
			{
				if (val.m_offsetX == 3f)
				{
					return;
				}
				val.m_offsetX = 1f;
			}
			else
			{
				if (val.m_offsetX == 2f)
				{
					return;
				}
				val.m_offsetX = 0f;
			}
			if ((int)bpItem.Instance.ItemDataBlock.inventorySlot == 10)
			{
				__instance.m_inventorySlots[bpItem.Instance.ItemDataBlock.inventorySlot].OnAmmoUpdated();
			}
		}

		[HarmonyPatch(typeof(PUI_Inventory), "UpdateSlotPositions")]
		[HarmonyPrefix]
		[HarmonyPriority(int.MinValue)]
		public static void inventory_order(ref bool __runOriginal, PUI_Inventory __instance)
		{
			//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_003e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0045: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Unknown result type (might be due to invalid IL or missing references)
			//IL_014a: Unknown result type (might be due to invalid IL or missing references)
			//IL_014f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0129: Unknown result type (might be due to invalid IL or missing references)
			//IL_012e: Unknown result type (might be due to invalid IL or missing references)
			//IL_025a: Unknown result type (might be due to invalid IL or missing references)
			//IL_025f: Unknown result type (might be due to invalid IL or missing references)
			//IL_007b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_0158: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_016f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0190: Unknown result type (might be due to invalid IL or missing references)
			//IL_03a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_0340: Unknown result type (might be due to invalid IL or missing references)
			//IL_0350: Unknown result type (might be due to invalid IL or missing references)
			//IL_0372: Unknown result type (might be due to invalid IL or missing references)
			//IL_0382: Unknown result type (might be due to invalid IL or missing references)
			//IL_0387: Unknown result type (might be due to invalid IL or missing references)
			//IL_038c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0399: Unknown result type (might be due to invalid IL or missing references)
			//IL_039e: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0484: Unknown result type (might be due to invalid IL or missing references)
			//IL_0443: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_04b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_04b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_049d: Unknown result type (might be due to invalid IL or missing references)
			//IL_049f: Unknown result type (might be due to invalid IL or missing references)
			//IL_04a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_04a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_046b: Unknown result type (might be due to invalid IL or missing references)
			//IL_046d: Unknown result type (might be due to invalid IL or missing references)
			//IL_046f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0474: Unknown result type (might be due to invalid IL or missing references)
			//IL_045c: Unknown result type (might be due to invalid IL or missing references)
			//IL_045e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0460: Unknown result type (might be due to invalid IL or missing references)
			//IL_0465: Unknown result type (might be due to invalid IL or missing references)
			if (((Il2CppObjectBase)__instance.m_baseLayer).TryCast<PlayerGuiLayer>() == null)
			{
				return;
			}
			__runOriginal = false;
			if (Config.move_each_inventory_slot.Value)
			{
				for (int i = 0; (float)i < Mathf.Min((float)((Il2CppArrayBase<InventorySlot>)(object)__instance.m_slotGUIOrder).Length, 6f); i++)
				{
					InventorySlot val = ((Il2CppArrayBase<InventorySlot>)(object)__instance.m_slotGUIOrder)[i];
					if (__instance.m_inventorySlots.ContainsKey(val))
					{
						PUI_InventoryItem val2 = __instance.m_inventorySlots[val];
						if (((Component)val2).gameObject.activeSelf)
						{
							((RectTransformComp)val2).SetPosition(Vector2.op_Implicit(Config.move_weapons_parse[i]));
						}
					}
				}
			}
			else if (!Config.inventory_horizontal.Value)
			{
				float num = __instance.m_invSlotStartPos.y;
				__instance.m_invSlotStartOffsetY = Config.inventory_vertical_offset.Value;
				for (int num2 = ((Il2CppArrayBase<InventorySlot>)(object)__instance.m_slotGUIOrder).Length - 1; num2 >= 0; num2--)
				{
					InventorySlot val3 = ((!(Config.inventory_invert.Value ^ Config.inventory_invert_anchor.Value)) ? ((Il2CppArrayBase<InventorySlot>)(object)__instance.m_slotGUIOrder)[((Il2CppArrayBase<InventorySlot>)(object)__instance.m_slotGUIOrder).Length - 1 - num2] : ((Il2CppArrayBase<InventorySlot>)(object)__instance.m_slotGUIOrder)[num2]);
					if (__instance.m_inventorySlots.ContainsKey(val3))
					{
						PUI_InventoryItem val4 = __instance.m_inventorySlots[val3];
						if (((Component)val4).gameObject.activeSelf)
						{
							float num3 = (((int)val4.CurrentState != 0 || !Config.inventory_remove_empty.Value) ? 1f : 0f);
							if (Config.inventory_invert_anchor.Value)
							{
								num += (__instance.m_invSlotStartOffsetY + val4.CurrentHeight) * num3;
							}
							((RectTransformComp)val4).SetPosition(new Vector2(__instance.m_invSlotStartPos.x, num));
							if (!Config.inventory_invert_anchor.Value)
							{
								num -= (__instance.m_invSlotStartOffsetY + val4.CurrentHeight) * num3;
							}
						}
					}
				}
				if (Config.move_flashlight.Value)
				{
					((RectTransformComp)__instance.m_iconDisplay).SetPosition(Vector2.op_Implicit(Config.move_flashlight_pos_parse));
				}
				else
				{
					if (Config.inventory_invert_anchor.Value)
					{
						num += __instance.m_invSlotStartOffsetY + __instance.m_iconDisplay.Height * 2f;
					}
					((RectTransformComp)__instance.m_iconDisplay).SetPosition(new Vector2(__instance.m_invSlotStartPos.x, num));
				}
			}
			else
			{
				alt_inventory_fix(__instance);
			}
			if ((!accuracyshow_loaded && !damageindicator_loaded) || (!Config.aoiyuki_pos_override.Value && !Config.reset_aoiyuki_pos))
			{
				return;
			}
			Transform child = ((Component)GuiManager.PlayerLayer.Inventory.m_iconDisplay).transform.GetChild(0).GetChild(0);
			if (child.GetChild(4) == null)
			{
				return;
			}
			Vector3 val5;
			if (Config.aoiyuki_pos_override.Value)
			{
				if (flashlight_pos_storage == ((Component)__instance.m_iconDisplay).transform.localPosition && !Config.reset_aoiyuki_pos)
				{
					return;
				}
				val5 = Config.accuracyshow_damageindicator_pos_parse - ((Component)__instance.m_iconDisplay).transform.localPosition;
				flashlight_pos_storage = ((Component)__instance.m_iconDisplay).transform.localPosition;
			}
			else
			{
				val5 = default_position_aoiyuki;
			}
			Config.reset_aoiyuki_pos = false;
			float num4 = 0f;
			float num5 = 0f;
			if (Config.aoiyuki_horizontal_build.Value)
			{
				num4 = 215f * Config.accuracyshow_scale.Value;
			}
			else
			{
				num5 = 35f * Config.accuracyshow_scale.Value;
			}
			Vector3 val6 = default(Vector3);
			((Vector3)(ref val6))..ctor(num4, num5, 0f);
			for (int j = 4; j < All; j++)
			{
				if (Config.aoiyuki_inverse_order.Value ^ Config.aoiyuki_inverse_order_anchor.Value)
				{
					child.GetChild(All - j + 3).localPosition = val5;
					val5 = ((!Config.aoiyuki_inverse_order_anchor.Value) ? (val5 - val6) : (val5 + val6));
				}
				else
				{
					child.GetChild(j).localPosition = val5;
					val5 = ((!Config.aoiyuki_inverse_order_anchor.Value) ? (val5 - val6) : (val5 + val6));
				}
			}
		}

		public static void alt_inventory_fix(PUI_Inventory __instance)
		{
			//IL_008d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0092: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0072: Unknown result type (might be due to invalid IL or missing references)
			//IL_0187: Unknown result type (might be due to invalid IL or missing references)
			//IL_0165: Unknown result type (might be due to invalid IL or missing references)
			//IL_016a: Unknown result type (might be due to invalid IL or missing references)
			//IL_009b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e5: Unknown result type (might be due to invalid IL or missing references)
			__instance.m_invSlotStartOffsetX = Config.inventory_horizontal_offset.Value;
			float num = 0f;
			float num2 = ((!Config.inventory_invert_anchor.Value) ? 1f : (-1f));
			for (int num3 = ((Il2CppArrayBase<InventorySlot>)(object)__instance.m_slotGUIOrder).Length - 1; num3 >= 0; num3--)
			{
				InventorySlot val = ((!(Config.inventory_invert.Value ^ Config.inventory_invert_anchor.Value)) ? ((Il2CppArrayBase<InventorySlot>)(object)__instance.m_slotGUIOrder)[((Il2CppArrayBase<InventorySlot>)(object)__instance.m_slotGUIOrder).Length - 1 - num3] : ((Il2CppArrayBase<InventorySlot>)(object)__instance.m_slotGUIOrder)[num3]);
				if (__instance.m_inventorySlots.ContainsKey(val))
				{
					PUI_InventoryItem val2 = __instance.m_inventorySlots[val];
					if (((Component)val2).gameObject.activeSelf)
					{
						((RectTransformComp)val2).SetPosition(new Vector2(num * num2, 0f));
						int num4 = (((int)val2.CurrentState != 0 || !Config.inventory_remove_empty.Value) ? 1 : 0);
						num = ((!Config.inventory_invert.Value) ? (num + __instance.m_invSlotStartOffsetX * (float)num4) : (num - __instance.m_invSlotStartOffsetX * (float)num4));
					}
				}
			}
			if (Config.move_flashlight.Value)
			{
				((RectTransformComp)__instance.m_iconDisplay).SetPosition(Vector2.op_Implicit(Config.move_flashlight_pos_parse));
			}
			else
			{
				((RectTransformComp)__instance.m_iconDisplay).SetPosition(new Vector2(num * num2, 0f));
			}
		}

		[HarmonyPatch(typeof(PlayerGuiLayer), "UpdateGUIElementsVisibility")]
		[HarmonyPostfix]
		public static void inv_scale(PlayerGuiLayer __instance)
		{
			((RectTransformComp)__instance.Inventory).SetScaleFactor(CellSettingsManager.SettingsData.HUD.Inventory_scale.Value * 0.75f * Config.inventory_scale.Value);
		}

		[HarmonyPatch(typeof(PUI_LocalPlayerStatus), "UpdateHealth")]
		[HarmonyPostfix]
		[HarmonyAfter(new string[] { "Andocas.PreciseUI" })]
		public static void health_text(PUI_LocalPlayerStatus __instance)
		{
			if (Config.no_percent.Value)
			{
				((TMP_Text)__instance.m_healthText).text = ((TMP_Text)__instance.m_healthText).text.Replace("%", "");
			}
		}

		[HarmonyPatch(typeof(PUI_LocalPlayerStatus), "UpdateInfection")]
		[HarmonyPostfix]
		[HarmonyAfter(new string[] { "Andocas.PreciseUI" })]
		public static void infection_text(PUI_LocalPlayerStatus __instance)
		{
			if (Config.no_percent.Value)
			{
				((TMP_Text)__instance.m_infectionText).text = ((TMP_Text)__instance.m_infectionText).text.Replace("%", "");
			}
		}

		[HarmonyPatch(typeof(PUI_LocalPlayerStatus), "Start")]
		[HarmonyPostfix]
		public static void health_pos(PUI_LocalPlayerStatus __instance)
		{
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0081: Unknown result type (might be due to invalid IL or missing references)
			//IL_0097: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0103: Unknown result type (might be due to invalid IL or missing references)
			//IL_010f: Unknown result type (might be due to invalid IL or missing references)
			//IL_011b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0127: Unknown result type (might be due to invalid IL or missing references)
			//IL_013d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0153: Unknown result type (might be due to invalid IL or missing references)
			//IL_0162: Unknown result type (might be due to invalid IL or missing references)
			//IL_0178: Unknown result type (might be due to invalid IL or missing references)
			//IL_0189: Unknown result type (might be due to invalid IL or missing references)
			//IL_0195: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_01fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0206: Unknown result type (might be due to invalid IL or missing references)
			//IL_0217: Unknown result type (might be due to invalid IL or missing references)
			//IL_0234: Unknown result type (might be due to invalid IL or missing references)
			//IL_0240: Unknown result type (might be due to invalid IL or missing references)
			//IL_024c: Unknown result type (might be due to invalid IL or missing references)
			//IL_025d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0269: Unknown result type (might be due to invalid IL or missing references)
			//IL_0275: Unknown result type (might be due to invalid IL or missing references)
			//IL_0286: Unknown result type (might be due to invalid IL or missing references)
			//IL_029c: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_02fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0307: Unknown result type (might be due to invalid IL or missing references)
			//IL_031f: Unknown result type (might be due to invalid IL or missing references)
			//IL_032b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0337: Unknown result type (might be due to invalid IL or missing references)
			//IL_0343: Unknown result type (might be due to invalid IL or missing references)
			//IL_034f: Unknown result type (might be due to invalid IL or missing references)
			//IL_035b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0367: Unknown result type (might be due to invalid IL or missing references)
			//IL_0373: Unknown result type (might be due to invalid IL or missing references)
			//IL_037f: Unknown result type (might be due to invalid IL or missing references)
			((Component)__instance).transform.localPosition = Config.status_pos_parse;
			if (Config.booster_static.Value)
			{
				__instance.m_boosterIconActiveDisplayYPosInfection = __instance.m_boosterIconActiveDisplayYPosNoInfection;
			}
			((Component)__instance.m_boosterIconActiveDisplay).transform.localPosition = Config.booster_pos_parse;
			((Component)__instance.m_boosterIconActiveDisplay).gameObject.SetActive(!Config.no_booster.Value);
			((Graphic)__instance.m_pulseText).color = Config.stamina_text_color_parse;
			__instance.m_pulseText.transform.localPosition = Config.stamina_pos_parse;
			__instance.m_pulseText.transform.localScale = Vector3.one * Config.stamina_scale.Value;
			((Component)__instance.m_warning).transform.localPosition = Config.pulsing_warning_pos_parse;
			((Component)__instance.m_warning).transform.localScale = Vector3.one * Config.pulsing_warning_scale.Value;
			((TMP_Text)__instance.m_pulseText).alignment = Config.stamina_align_text.Value;
			__instance.m_staminaBad = Config.stamina_low_health_color_parse;
			__instance.m_staminaBadPulse = Config.stamina_low_health_color_parse;
			__instance.m_staminaWarningBright = Config.stamina_warning_bright_parse;
			__instance.m_staminaWarningDark = Config.stamina_warning_dark_parse;
			__instance.m_healthText.transform.localPosition = Config.health_text_pos_parse;
			__instance.m_healthText.transform.localScale = Vector3.one * Config.health_text_scale.Value;
			((TMP_Text)__instance.m_healthText).alignment = Config.health_text_alignment.Value;
			((Graphic)__instance.m_healthText).color = Config.health_good_parse;
			__instance.m_healthBad = Config.health_bad_parse;
			__instance.m_healthGood = Config.health_good_parse;
			__instance.m_healthMeleeBuff = Config.health_melee_buff_parse;
			__instance.m_healthBadPulse = Config.health_bad_pulse_parse;
			__instance.m_healthWarningBright = Config.health_warning_bright_parse;
			__instance.m_healthWarningDark = Config.health_warning_dark_parse;
			Transform parent = ((Component)__instance.m_health1).transform.parent;
			parent.localRotation = Config.right_health_rot_parse;
			parent.localPosition = Config.right_health_pos_parse;
			parent.localScale = Config.right_health_scale_parse;
			__instance.m_health1.color = Config.health_good_parse;
			Transform parent2 = ((Component)__instance.m_health2).transform.parent;
			parent2.localRotation = Config.left_health_rot_parse;
			parent2.localPosition = Config.left_health_pos_parse;
			parent2.localScale = Config.left_health_scale_parse;
			__instance.m_health2.color = Config.health_good_parse;
			__instance.m_infectionHigh = Config.infection_high_parse;
			__instance.m_infectionLow = Config.infection_low_parse;
			((Graphic)__instance.m_infectionText).color = Config.infection_low_parse;
			((TMP_Text)__instance.m_infectionText).alignment = Config.infection_text_alignment.Value;
			__instance.m_infectionText.transform.localPosition = Config.infection_text_pos_parse;
			__instance.m_infectionText.transform.localScale = Vector3.one * Config.infection_text_scale.Value;
			Transform transform = ((Component)__instance.m_infection1).transform;
			transform.localRotation = Config.right_infection_rot_parse;
			transform.localScale = Config.right_infection_scale_parse;
			transform.localPosition = Config.right_infection_pos_parse;
			Transform transform2 = ((Component)__instance.m_infection2).transform;
			transform2.localRotation = Config.left_infection_rot_parse;
			transform2.localScale = Config.left_infection_scale_parse;
			transform2.localPosition = Config.left_infection_pos_parse;
			__instance.m_BPMMinColorPulseLow = Config.pulse_low_parse;
			__instance.m_BPMMinColorPulseHigh = Config.pulse_low_parse;
			__instance.m_BPMMidColorPulseLow = Config.pulse_mid_parse;
			__instance.m_BPMMidColorPulseHigh = Config.pulse_mid_parse;
			__instance.m_BPMMaxColorPulseHigh = Config.pulse_high_parse;
			__instance.m_BPMMaxColorPulseHigh = Config.pulse_high_parse;
		}

		[HarmonyPatch(typeof(PUI_GameEventLog), "Update")]
		[HarmonyPostfix]
		[HarmonyAfter(new string[] { "Andocas.BetterTextChat" })]
		public static void helper_text_nuker_with_btc(PUI_GameEventLog __instance)
		{
			if (Config.remove_helper.Value)
			{
				nuke_helper(__instance);
			}
		}

		[HarmonyPatch(typeof(PUI_GameEventLog), "UpdateHelpText")]
		[HarmonyPostfix]
		public static void chat_helper(PUI_GameEventLog __instance)
		{
			if (Config.remove_helper.Value)
			{
				nuke_helper(__instance);
			}
		}

		[HarmonyPatch(typeof(PUI_Subtitles), "Awake")]
		[HarmonyPostfix]
		public static void subtitles(PUI_Subtitles __instance)
		{
			//IL_0007: 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_003f: Unknown result type (might be due to invalid IL or missing references)
			((Component)__instance).transform.localPosition = Config.subtitle_pos_parse;
			((Graphic)((Component)((Component)__instance).transform.GetChild(0)).GetComponent<TextMeshPro>()).color = Config.subtitle_color_parse;
			((Graphic)((Component)((Component)__instance).transform.GetChild(1)).GetComponent<TextMeshPro>()).color = Config.subtitle_color_parse;
		}

		[HarmonyPatch(typeof(PUI_GameObjectives), "Setup")]
		[HarmonyPostfix]
		public static void warden_objective(PUI_GameObjectives __instance)
		{
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_0028: Unknown result type (might be due to invalid IL or missing references)
			//IL_0049: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			((Graphic)__instance.m_header).color = Config.obj_header_text_parse;
			((Component)__instance.m_headerHolder.transform.GetChild(1)).GetComponent<SpriteRenderer>().color = Config.obj_header_bg_parse;
			((Component)__instance.m_itemsHeader.transform.GetChild(1)).GetComponent<SpriteRenderer>().color = Config.obj_item_text_parse;
			((Graphic)__instance.m_items).color = Config.obj_item_bg_parse;
		}

		[HarmonyPatch(typeof(PUI_GameObjectives), "SetProgressionObjective")]
		[HarmonyPostfix]
		public static void warden_description(PUI_GameObjectives __instance)
		{
			//IL_009b: Unknown result type (might be due to invalid IL or missing references)
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			List<PUI_ProgressionObjective> progressionObjectives = __instance.m_progressionObjectives;
			for (int i = 0; i < progressionObjectives.Count; i++)
			{
				if ((Object)(object)progressionObjectives[i] != (Object)null)
				{
					((Graphic)progressionObjectives[i].m_text).color = Config.obj_progression_subtext_text_parse;
					((TMP_Text)progressionObjectives[i].m_text).text = ((TMP_Text)progressionObjectives[i].m_text).text.Replace("<color=#ffffffa6>", "");
					((Graphic)progressionObjectives[i].m_header).color = Config.obj_progression_header_text_parse;
				}
			}
			((Component)__instance).transform.localPosition = Config.obj_pos_parse;
			if (Config.minimal_ui_enabled.Value)
			{
				minimal_ui_changes(__instance, invert: true);
			}
		}

		[HarmonyPatch(typeof(PUI_GameObjectives), "Update")]
		[HarmonyPostfix]
		public static void fading_obj(PUI_GameObjectives __instance)
		{
			//IL_0018: Unknown result type (might be due to invalid IL or missing references)
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			if (!Config.minimal_ui_enabled.Value)
			{
				return;
			}
			if (Input.GetKey(Config.minimal_ui_key.Value) && ((TMP_Text)__instance.m_header).alpha < 1f)
			{
				minimal_ui_changes(__instance, invert: false);
				return;
			}
			if (((TMP_Text)__instance.m_header).alpha >= 0f && !Input.GetKey(Config.minimal_ui_key.Value))
			{
				minimal_ui_changes(__instance, invert: true);
				return;
			}
			if (((TMP_Text)((Component)__instance.m_itemsHeader.transform.GetChild(0)).GetComponent<TextMeshPro>()).alpha > 0f && ((TMP_Text)__instance.m_header).alpha <= 0f)
			{
				((TMP_Text)((Component)__instance.m_itemsHeader.transform.GetChild(0)).GetComponent<TextMeshPro>()).alpha = 0f;
			}
			if (((TMP_Text)__instance.m_progressionObjectives[0].m_text).alpha > 0f && ((TMP_Text)__instance.m_header).alpha <= 0f)
			{
				List<PUI_ProgressionObjective> progressionObjectives = __instance.m_progressionObjectives;
				for (int i = 0; i < progressionObjectives.Count; i++)
				{
					((TMP_Text)progressionObjectives[i].m_text).alpha = 0f;
					((TMP_Text)progressionObjectives[i].m_header).alpha = 0f;
				}
			}
		}

		[HarmonyPatch(typeof(PUI_GameObjectives), "SetProgressionObjective")]
		[HarmonyPostfix]
		public static void fading_obj_extension(PUI_GameObjectives __instance, int ID)
		{
			((TMP_Text)__instance.m_progressionObjectiveMap[ID].m_text).alpha = ((TMP_Text)__instance.m_progressionObjectives[0].m_text).alpha;
			((TMP_Text)__instance.m_progressionObjectiveMap[ID].m_header).alpha = ((TMP_Text)__instance.m_progressionObjectives[0].m_header).alpha;
		}

		[HarmonyPatch(typeof(PUI_CommunicationMenu), "Setup")]
		[HarmonyPostfix]
		public static void q_menu(PUI_CommunicationMenu __instance)
		{
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_0036: Unknown result type (might be due to invalid IL or missing references)
			((Component)__instance).transform.localPosition = Config.comms_pos_parse;
			((Component)__instance).transform.localScale = new Vector3(0.5f, 0.5f, 0.5f) * Config.comms_scale.Value;
		}

		[HarmonyPatch(typeof(PUI_Compass), "UpdateFontMaskSize")]
		[HarmonyPrefix]
		public static void compASS_mask_fix(ref bool __runOriginal, PUI_Compass __instance, float scaleX)
		{
			//IL_0040: Unknown result type (might be due to invalid IL or missing references)
			__runOriginal = false;
			float num = __instance.m_compassWidth * scaleX / 2f;
			__instance.m_fontMaterial.SetVector("_ClipRect", new Vector4(Config.compass_pos_parse.x - num, 500f, Config.compass_pos_parse.x + num, 500f));
		}

		[HarmonyPatch(typeof(PUI_Compass), "Setup")]
		[HarmonyPostfix]
		public static void compASS(PUI_Compass __instance)
		{
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_010f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
			((Component)__instance).transform.localPosition = Config.compass_pos_parse;
			__instance.m_compassWidth = Config.compass_length.Value;
			Transform root = __instance.m_root;
			for (int i = 0; i < root.childCount - 1; i++)
			{
				Transform child = root.GetChild(i);
				if (((Object)child).name == "PUI_Compass_Line(Clone)")
				{
					((Component)child).gameObject.GetComponent<SpriteRenderer>().color = Config.compass_line_color_parse;
					((Component)child).gameObject.GetComponent<SpriteRenderer>().maskInteraction = (SpriteMaskInteraction)0;
					((Renderer)((Component)child).gameObject.GetComponent<SpriteRenderer>()).material = __instance.m_fontMaterial;
				}
				else if (((Object)child).name == "PUI_Compass_Letter(Clone)")
				{
					((Graphic)((Component)child).gameObject.GetComponent<TextMeshPro>()).color = Config.compass_letter_color_parse;
				}
				else
				{
					((Graphic)((Component)child).gameObject.GetComponent<TextMeshPro>()).color = Config.compass_number_color_parse;
				}
			}
			((Component)((Component)__instance).transform.FindChild("PUI_Compass_Arrow(Clone)").GetChild(1)).GetComponent<SpriteRenderer>().color = Config.compass_arrow_color_parse;
			bool __runOriginal = true;
			compASS_mask_fix(ref __runOriginal, __instance, CellSettingsManager.SettingsData.HUD.Compass_scale.Value * ((GuiLayer)GuiManager.PlayerLayer).GuiLayerBase.m_cellUICanvas.CanvasScale);
		}

		[HarmonyPatch(typeof(PUI_WardenIntel), "SetVisible")]
		[HarmonyPostfix]
		public static void warden_intel(PUI_WardenIntel __instance)
		{
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Unknown result type (might be due to invalid IL or missing references)
			//IL_0087: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
			((Component)__instance).transform.localPosition = Config.wrdn_intel_pos_parse;
			((Graphic)__instance.m_intelText).color = Config.wrdn_intel_color_parse;
			if (Config.wrdn_intel_override_red_text.Value)
			{
				((TMP_Text)__instance.m_intelText).text = ((TMP_Text)__instance.m_intelText).text.Replace("<color=red>", "");
			}
			if (Config.no_whitebox_flash.Value)
			{
				__instance.m_whiteBox.GetComponent<SpriteRenderer>().color = new Color(1f, 1f, 1f, 0f);
				__instance.m_whiteBoxWide.GetComponent<SpriteRenderer>().color = new Color(1f, 1f, 1f, 0f);
			}
		}

		[HarmonyPatch(typeof(PUI_SkipText), "Setup")]
		[HarmonyPostfix]
		public static void skip_indicator(PUI_SkipText __instance)
		{
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Unknown result type (might be due to invalid IL or missing references)
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			((Component)__instance).transform.localPosition = Config.skip_pos_parse;
			((Graphic)__instance.m_intelText).color = Config.skip_text_color_parse;
			__instance.m_progressSprite.color = Config.skip_bg_color_parse;
		}

		[HarmonyPatch(typeof(PUI_ObjectiveTimer), "UpdateTimerText")]
		[HarmonyPostfix]
		public static void mission_timer(PUI_ObjectiveTimer __instance)
		{
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Unknown result type (might be due to invalid IL or missing references)
			((Graphic)__instance.m_titleText).color = Config.mission_timer_color_parse;
			((Component)__instance).transform.localPosition = Config.mission_timer_pos_parse;
		}

		[HarmonyPatch(typeof(PUI_Watermark), "UpdateWatermark")]
		[HarmonyPostfix]
		[HarmonyPriority(int.MinValue)]
		public static void watermark(PUI_Watermark __instance)
		{
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_0044: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			((Graphic)__instance.m_fpsText).color = Config.fps_color_parse;
			__instance.m_fpsText.transform.localPosition = Config.fps_pos_parse;
			__instance.m_fpsText.transform.localScale = Config.fps_scale_parse;
			((Graphic)__instance.m_watermarkText).color = Config.watermark_color_parse;
			__instance.m_watermarkText.transform.localPosition = Config.watermark_pos_parse;
		}

		[HarmonyPatch(typeof(PUI_Watermark), "UpdateWatermark")]
		[HarmonyPostfix]
		[HarmonyPriority(int.MinValue)]
		public static void watermark_text(PUI_Watermark __instance)
		{
			if (Config.watermark_text.Value == "")
			{
				((TMP_Text)__instance.m_watermarkText).text = Text.Format(35u, (Object[])(object)new Object[2]
				{
					Object.op_Implicit(__instance.m_rundownKey),
					Object.op_Implicit(__instance.m_revision)
				});
			}
			else
			{
				((TMP_Text)__instance.m_watermarkText).text = Config.watermark_text.Value;
			}
		}

		[HarmonyPatch(typeof(PUI_InteractionPrompt), "Setup")]
		[HarmonyPrefix]
		public static void interaction_button(PUI_InteractionPrompt __instance)
		{
			//IL_004c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0051: Unknown result type (might be due to invalid IL or missing references)
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_002c: Unknown result type (might be due to invalid IL or missing references)
			if ((Object)(object)__instance == (Object)(object)GuiManager.InteractionLayer.m_message)
			{
				((Component)((Component)__instance).transform.GetChild(3)).GetComponent<SpriteRenderer>().size = Vector2.op_Implicit(Config.interaction_bar_scale_parse);
			}
			else
			{
				((Component)((Component)__instance).transform.GetChild(3)).GetComponent<SpriteRenderer>().size = Vector2.op_Implicit(Config.bioscan_bar_scale_parse);
			}
		}

		[HarmonyPatch(typeof(PUI_InteractionPrompt), "Setup")]
		[HarmonyPostfix]
		public static void interaction(PUI_InteractionPrompt __instance)
		{
			//IL_005e: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
			if ((Object)(object)__instance == (Object)(object)GuiManager.InteractionLayer.m_interactPrompt)
			{
				__instance.m_colTextBioscan = Config.bioscan_text_hex.Value;
				__instance.m_colTextBioscanAlarm = Config.bioscanalarm_text_hex.Value;
				__instance.m_colTextButtonPrompt = Config.buttonprompt_text_hex.Value;
				__instance.m_colTextMessage = Config.message_text_hex.Value;
				__instance.m_colorButtonPrompt = Config.interact_timer_fg_parse;
				((Component)((Component)__instance).transform.GetChild(3)).GetComponent<SpriteRenderer>().color = Config.interact_timer_bg_parse;
				((Component)__instance).transform.localRotation = Config.interact_rotation_parse;
				__instance.m_headerText.transform.localRotation = Config.interact_rotation_text_cancel_parse;
				((TMP_Text)__instance.m_headerText).alignment = Config.interaction_vert_align.Value;
				((TMP_Text)__instance.m_headerText).horizontalAlignment = Config.interaction_horizontal_align.Value;
				__instance.m_headerText.transform.localPosition = Config.interact_text_pos_parse;
				__instance.m_timerWidthMax = Config.interaction_bar_scale_parse.x;
			}
		}

		[HarmonyPatch(typeof(PUI_InteractionPrompt), "SetStyle")]
		[HarmonyPostfix]
		public static void interaction_move_all(PUI_InteractionPrompt __instance)
		{
			//IL_0104: Unknown result type (might be due to invalid IL or missing references)
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0026: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0075: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Unknown result type (might be due to invalid IL or missing references)
			//IL_009c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00de: Unknown result type (might be due to invalid IL or missing references)
			if ((Object)(object)__instance == (Object)(object)GuiManager.InteractionLayer.m_message)
			{
				__instance.m_colorBioscan = Config.bioscan_bioscan_color_parse;
				__instance.m_colorBioscanAlarm = Config.bioscan_bioscanalarm_color_parse;
				__instance.m_colTextBioscan = Config.bioscan_bioscan_text_hex.Value;
				__instance.m_colTextBioscanAlarm = Config.bioscan_bioscanalarm_text_hex.Value;
				((Component)__instance).transform.localPosition = Config.bioscan_pos_parse;
				((Component)((Component)__instance).transform.GetChild(3)).GetComponent<SpriteRenderer>().color = Config.bioscan_timer_bg_parse;
				((Component)__instance).transform.localRotation = Config.bioscan_rotation_parse;
				__instance.m_headerText.transform.localRotation = Config.bioscan_rotation_text_cancel_parse;
				((TMP_Text)__instance.m_headerText).alignment = Config.bioscan_vert_align.Value;
				((TMP_Text)__instance.m_headerText).horizontalAlignment = Config.bioscan_horizontal_align.Value;
				__instance.m_headerText.transform.localPosition = Config.bioscan_text_pos_parse;
				__instance.m_timerWidthMax = Config.bioscan_bar_scale_parse.x;
			}
			else
			{
				((Component)__instance).transform.localPosition = Config.interact_pos_parse;
			}
		}

		[HarmonyPatch(typeof(PUI_InteractionPrompt), "PlayIntro")]
		[HarmonyPrefix]
		public static void nuke_that_whitebox(ref bool __runOriginal)
		{
			if (Config.no_whitebox_flash.Value)
			{
				__runOriginal = false;
			}
		}

		[HarmonyPatch(typeof(PUI_GameEventLog), "ShowAndUpdateItemPositions")]
		[HarmonyPostfix]
		public static void reverse_chat(ref bool __runOriginal, PUI_GameEventLog __instance)
		{
			//IL_01a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c3: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_007c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0125: Unknown result type (might be due to invalid IL or missing references)
			//IL_016a: Unknown result type (might be due to invalid IL or missing references)
			if (!(((Object)((Component)__instance).transform.parent).name == "MovementRoot"))
			{
				return;
			}
			__runOriginal = false;
			float num = 0f;
			int num2 = 0;
			if (__instance.m_logItems.Count > 0)
			{
				Debug.Log(Object.op_Implicit("ran"));
				if (__instance.m_chatActiveRoot.activeSelf && !__instance.m_isYOffsetted)
				{
					__instance.m_itemAlign.localPosition = Config.chat_message_pos_parse;
					__instance.m_isYOffsetted = false;
				}
				else if (!__instance.m_chatActiveRoot.activeSelf && !__instance.m_isYOffsetted)
				{
					__instance.m_itemAlign.localPosition = Config.chat_message_pos_offset_parse;
					__instance.m_isYOffsetted = true;
				}
				for (int num3 = __instance.m_logItems.Count - 1; num3 >= 0; num3--)
				{
					num2 = ((!Config.inverse_chat_order.Value) ? num3 : (__instance.m_logItems.Count - 1 - num3));
					((Component)__instance.m_logItems[num2]).transform.localPosition = new Vector3(0f, num, 0f);
					num = ((!Config.inverse_chat_anchor.Value) ? (num + 20f) : (num - 20f));
					((TMP_Text)__instance.m_logItems[num2].m_text).m_HorizontalAlignment = Config.chat_logs_horizontal_align.Value;
				}
			}
			Transform child = __instance.m_chatActiveRoot.transform.GetChild(2);
			child.localPosition = Config.typing_box_pos_parse;
			child.localRotation = Config.typing_box_rotation_parse;
			((TMP_Text)__instance.m_txtInput).m_HorizontalAlignment = Config.user_input_horizontal_align.Value;
			__instance.m_txtInput.transform.localPosition = Config.user_input_pos_parse;
			((Component)child).gameObject.GetComponent<SpriteRenderer>().color = Config.typing_box_color_parse;
		}

		[HarmonyPatch(typeof(PUI_GameEventLog), "UpdateHeightOffset")]
		[HarmonyPrefix]
		public static void kaboom(ref bool __runOriginal, PUI_GameEventLog __instance)
		{
			__runOriginal = false;
			__instance.ShowAndUpdateItemPositions();
		}

		[HarmonyPatch(typeof(PUI_GameEventLog), "Setup")]
		[HarmonyPostfix]
		public static void moving_chat(PUI_GameEventLog __instance)
		{
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			//IL_007c: Unknown result type (might be due to invalid IL or missing references)
			if (((Object)((Component)__instance).transform.parent).name == "MovementRoot")
			{
				Transform child = __instance.m_chatActiveRoot.transform.GetChild(2);
				child.localPosition = Config.typing_box_pos_parse;
				child.localRotation = Config.typing_box_rotation_parse;
				((TMP_Text)__instance.m_txtInput).m_HorizontalAlignment = Config.user_input_horizontal_align.Value;
				__instance.m_txtInput.transform.localPosition = Config.user_input_pos_parse;
				__instance.m_itemAlign.localPosition = Config.chat_message_pos_offset_parse;
			}
		}

		[HarmonyPatch(typeof(PUI_GameEventLog), "Update")]
		[HarmonyPrefix]
		public static void no_blink_chat_inactive_scale(PUI_GameEventLog __instance)
		{
			if (Config.remove_chat_underscore.Value)
			{
				__instance.m_blink = true;
			}
			if (!__instance.m_logHidden && Clock.Time > __instance.m_hideLogTimer)
			{
				for (int i = 0; i < __instance.m_logItems.Count; i++)
				{
					__instance.m_logItems[i].SetAlphaScale(Config.chat_hidden_alpha.Value);
				}
				__instance.m_logHidden = true;
			}
		}

		[HarmonyPatch(typeof(PUI_GameEventLog), "Update")]
		[HarmonyPostfix]
		public static void moving_chat_statebased(PUI_GameEventLog __instance)
		{
			//IL_00d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
			if (Config.move_chat_open.Value != Config.chat_message_vertical.Disabled)
			{
				if (((Object)((Component)__instance).transform.parent).name == "MovementRoot")
				{
					Debug.Log(Object.op_Implicit(__instance.m_isYOffsetted));
					if (__instance.m_chatActiveRoot.activeSelf && __instance.m_isYOffsetted)
					{
						__instance.m_itemAlign.localPosition = Config.chat_message_pos_parse;
						__instance.m_isYOffsetted = false;
					}
					else if (!__instance.m_chatActiveRoot.activeSelf && !__instance.m_isYOffsetted)
					{
						__instance.m_itemAlign.localPosition = Config.chat_message_pos_offset_parse;
						__instance.m_isYOffsetted = true;
					}
				}
			}
			else if (__instance.m_isYOffsetted)
			{
				__instance.m_itemAlign.localPosition = Config.chat_message_pos_parse;
				__instance.m_isYOffsetted = false;
			}
		}

		[HarmonyPatch(typeof(PUI_InventoryItem), "OnAmmoUpdated")]
		[HarmonyPostfix]
		public static void low_ammo(PUI_InventoryItem __instance)
		{
			if ((Config.recolor_selected.Value || Config.LowAmmo_patch.Value) && ((Object)((Component)((Component)__instance).transform.parent.parent).gameObject).name == "MovementRoot")
			{
				bool ammoTotalVisible = __instance.m_ammoTotalVisible;
				if (Config.LowAmmo_patch.Value)
				{
					__instance.m_ammoTotalVisible = __instance.m_meleeStaminaHeight * Config.LowAmmo_treshold_multiplier >= (float)__instance.m_ammoClipAbsVal;
				}
				if (Config.recolor_selected.Value && Config.LowAmmo_patch.Value && __instance.m_showAmmoClip && ((__instance.m_offsetX == 1f && __instance.m_ammoTotalVisible) || (__instance.m_offsetX == 3f && !ammoTotalVisible && __instance.m_ammoTotalVisible)))
				{
					recolor_selected_lowammo_method(__instance);
					__instance.m_offsetX = 3f;
				}
				else if (Config.LowAmmo_patch.Value && __instance.m_showAmmoClip && __instance.m_showAmmoClip && ((__instance.m_offsetX == 0f && __instance.m_ammoTotalVisible) || (__instance.m_offsetX == 2f && !ammoTotalVisible && __instance.m_ammoTotalVisible)))
				{
					recolor_unselected_lowammo_method(__instance);
					recolor_lowammo_slims_method(__instance);
					__instance.m_offsetX = 2f;
				}
				else if (Config.recolor_selected.Value && (__instance.m_offsetX == 1f || (__instance.m_offsetX == 3f && ammoTotalVisible && !__instance.m_ammoTotalVisible)))
				{
					recolor_selected_highammo_method(__instance);
					__instance.m_offsetX = 3f;
				}
				else if (__instance.m_offsetX == 0f || (__instance.m_offsetX == 2f && ammoTotalVisible && !__instance.m_ammoTotalVisible))
				{
					recolor_unselected_highammo_method(__instance);
					recolor_highammo_slims_method(__instance);
					__instance.m_offsetX = 2f;
				}
			}
		}

		public static void reset_ammo_states_low_ammo(PUI_InventoryItem __instance)
		{
			__instance.m_offsetX = 0f;
			__instance.m_ammoTotalVisible = false;
		}

		[HarmonyPatch(typeof(GameStateManager), "DoChangeState")]
		[HarmonyPostfix]
		public static void reset_ammo_max(GameStateManager __instance, eGameStateName nextState)
		{
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_000f: Invalid comparison between Unknown and I4
			//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
			//IL_009b: Unknown result type (might be due to invalid IL or missing references)
			if (Config.LowAmmo_patch.Value && (int)nextState == 7)
			{
				for (int i = 0; i < ((Il2CppArrayBase<BackpackItem>)(object)PlayerBackpackManager.m_localPlayerBackpack.Slots).Length; i++)
				{
					if (Config.backpackitem_to_inventoryslot.ContainsKey(i))
					{
						BackpackItem obj = ((Il2CppArrayBase<BackpackItem>)(object)PlayerBackpackManager.m_localPlayerBackpack.Slots)[i];
						BulletWeapon val = ((obj != null) ? ((Il2CppObjectBase)obj.Instance).TryCast<BulletWeapon>() : null);
						if (val != null && ((Il2CppArrayBase<BackpackItem>)(object)PlayerBackpackManager.m_localPlayerBackpack.Slots)[i].Instance.ItemDataBlock.GUIShowAmmoClip)
						{
							GuiManager.PlayerLayer.Inventory.m_inventorySlots[Config.backpackitem_to_inventoryslot[i]].m_meleeStaminaHeight = ((ItemEquippable)val).ClipSize;
						}
					}
				}
			}
			((Component)GuiManager.PlayerLayer.m_compass).transform.localPosition = Config.compass_pos_parse;
		}

		[HarmonyPatch(typeof(PUI_LocalPlayerStatus), "Update")]
		[HarmonyPostfix]
		public static void move_archive_combatindicator(PUI_LocalPlayerStatus __instance)
		{
			//IL_0051: Unknown result type (might be due to invalid IL or missing references)
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			//IL_006c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0081: Unknown result type (might be due to invalid IL or missing references)
			//IL_0093: Unknown result type (might be due to invalid IL or missing references)
			if (archive_loaded)
			{
				Transform val = ((Component)__instance).transform.FindChild("CombatIndicator");
				if ((Object)(object)val != (Object)null && ((Object)val).GetHashCode() != combatindicator_hash)
				{
					val.localScale = Vector3.one * Config.archive_combatindicator_scale.Value;
					val.localPosition = Config.archive_combatindicator_pos_parse;
					TextMeshPro component = ((Component)val).GetComponent<TextMeshPro>();
					((Graphic)component).color = Config.archive_combatindicator_color_parse;
					((TMP_Text)component).alignment = Config.archive_combatindicator_align.Value;
					combatindicator_hash = ((Object)val).GetHashCode();
				}
			}
		}

		[HarmonyPatch(typeof(CM_PageRundown_New), "PlaceRundown")]
		[HarmonyPostfix]
		[HarmonyPriority(int.MinValue)]
		public static void move_aoiyuki_plugins()
		{
			//IL_012e: Unknown result type (might be due to invalid IL or missing references)
			//IL_015a: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f3: Unknown result type (might be due to invalid IL or missing references)
			//IL_011e: Unknown result type (might be due to invalid IL or missing references)
			//IL_016e: Unknown result type (might be due to invalid IL or missing references)
			//IL_017d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0190: Unknown result type (might be due to invalid IL or missing references)
			//IL_0195: Unknown result type (might be due to invalid IL or missing references)
			if (AoiYukiSetup || (!accuracyshow_loaded && !damageindicator_loaded))
			{
				return;
			}
			setup_aoiyuki_indexes();
			Transform child = ((Component)GuiManager.PlayerLayer.Inventory.m_iconDisplay).transform.GetChild(0).GetChild(0);
			Debug.Log(Object.op_Implicit("1"));
			if (child.GetChild(4) == null)
			{
				return;
			}
			Debug.Log(Object.op_Implicit("2"));
			for (int i = 4; i < All; i++)
			{
				Debug.Log(Object.op_Implicit(i));
				Transform child2 = child.GetChild(i);
				Debug.Log(Object.op_Implicit(i + "transform"));
				SpriteRenderer component = ((Component)child2).GetComponent<SpriteRenderer>();
				Debug.Log(Object.op_Implicit(i + "sprite"));
				if (accuracyshow_loaded && i == 4)
				{
					component.color = Config.accuracyshow_bg_color_parse;
					((Renderer)component).sortingOrder = -1;
					((Graphic)((Component)child.GetChild(4).GetChild(0).GetChild(0)).GetComponent<TextMeshPro>()).color = Config.accuracyshow_text_color_parse;
				}
				else
				{
					component.color = Config.damageindicator_bg_color_parse;
					((Renderer)component).sortingOrder = -1;
					((Graphic)((Component)child.GetChild(i).GetChild(0).GetChild(0)).GetComponent<TextMeshPro>()).color = Config.damageindicator_text_color_parse;
				}
				child.GetChild(i).localScale = Vector3.one * Config.accuracyshow_scale.Value;
				Vector3 localScale = child.GetChild(i).localScale;
				Debug.Log(Object.op_Implicit(((object)(Vector3)(ref localScale)).ToString()));
			}
			AoiYukiSetup = true;
		}

		[HarmonyPatch(typeof(PlayerGuiLayer), "Update")]
		[HarmonyPostfix]
		public static void scream_cd_manager(PlayerGuiLayer __instance)
		{
			//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f3: Invalid comparison between Unknown and I4
			//IL_0153: Unknown result type (might be due to invalid IL or missing references)
			//IL_0168: Unknown result type (might be due to invalid IL or missing references)
			//IL_017d: Unknown result type (might be due to invalid IL or missing references)
			if (!Config.scream_cd_toggle.Value && !scream_cd_object_setup)
			{
				return;
			}
			if (!scream_cd_object_setup && Config.scream_cd_toggle.Value)
			{
				if (((Component)__instance.m_playerStatus.m_healthText).gameObject == null)
				{
					return;
				}
				scream_cd = Object.Instantiate<GameObject>(((Component)__instance.m_playerStatus.m_healthText).gameObject, ((Component)__instance.m_playerStatus).transform);
				scream_cd_text_component = ((Component)scream_cd.transform).GetComponent<TextMeshPro>();
				((TMP_Text)scream_cd_text_component).text = "";
				scream_cd_object_setup = true;
				scream_cd_config_change = true;
			}
			else if (scream_cd_object_setup && !Config.scream_cd_toggle.Value)
			{
				Object.Destroy((Object)(object)scream_cd);
				scream_cd_object_setup = false;
				return;
			}
			if (scream_cd_object_setup && (int)GameStateManager.Current.m_currentStateName == 10)
			{
				float num = MathF.Max(EB_InCombat.s_globalScreamTimer - Clock.Time, 0f);
				((TMP_Text)scream_cd_text_component).text = string.Format(CultureInfo.InvariantCulture, "{0:F1}", num);
			}
			if (scream_cd_config_change && scream_cd_object_setup)
			{
				((Graphic)scream_cd_text_component).color = Config.scream_cd_color_parse;
				scream_cd.transform.localPosition = Config.scream_cd_pos_parse;
				((TMP_Text)scream_cd_text_component).alignment = Config.scream_cd_alignment.Value;
				scream_cd_config_change = false;
			}
		}
	}
	internal static class Parser
	{
		internal static readonly CultureInfo force_parse_america = new CultureInfo("en-US");

		public static Vector3 ParseVector3(string text)
		{
			//IL_0102: Unknown result type (might be due to invalid IL or missing references)
			//IL_0107: Unknown result type (might be due to invalid IL or missing references)
			//IL_010b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0091: Unknown result type (might be due to invalid IL or missing references)
			//IL_0096: Unknown result type (might be due to invalid IL or missing references)
			try
			{
				text = text.Replace(",", " ");
				while (text.Contains("  "))
				{
					text = text.Replace("  ", " ");
				}
				string[] array = text.Split(" ");
				List<float> list = new List<float>();
				string[] array2 = array;
				foreach (string s in array2)
				{
					list.Add(float.Parse(s, force_parse_america));
				}
				return new Vector3(list[0], list[1], list[2]);
			}
			catch (Exception value)
			{
				Debug.LogError(Object.op_Implicit($"ParseVector3: While parsing `{text}`, caught exception `{value}` \nUse Commas or Spaces and 2 Values"));
				return new Vector3(0f, 0f, 0f);
			}
		}

		public static Vector2 ParseVector2(string text)
		{
			//IL_010a: Unknown result type (might be due to invalid IL or missing references)
			//IL_010f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0113: Unknown result type (might be due to invalid IL or missing references)
			//IL_009e: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
			try
			{
				if (text.Contains(","))
				{
					text = text.Replace(",", " ");
				}
				while (text.Contains("  "))
				{
					text = text.Replace("  ", " ");
				}
				string[] array = text.Split(" ");
				List<float> list = new List<float>();
				string[] array2 = array;
				foreach (string s in array2)
				{
					list.Add(float.Parse(s, force_parse_america));
				}
				return new Vector2(list[0], list[1]);
			}
			catch (Exception value)
			{
				Debug.LogError(Object.op_Implicit($"ParseVector2: While parsing `{text}`, caught exception `{value}` \nUse Commas or Spaces and 2 Values"));
				return new Vector2(0f, 0f);
			}
		}

		public static Quaternion ParseQuaternionSingleValue(float value)
		{
			//IL_0091: Unknown result type (might be due to invalid IL or missing references)
			//IL_0096: Unknown result type (might be due to invalid IL or missing references)
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			//IL_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_0099: Unknown result type (might be due to invalid IL or missing references)
			try
			{
				value *= (float)Math.PI / 180f;
				Vector3 val = default(Vector3);
				((Vector3)(ref val))..ctor(0f, 0f, value);
				return Quaternion.EulerAngles(val);
			}
			catch (Exception value2)
			{
				Debug.LogError(Object.op_Implicit($"ParseVector3: While parsing `{value}`, caught exception `{value2}`"));
				return new Quaternion(0f, 0f, 0f, 1f);
			}
		}

		public static Color ParseHex(string hexcode)
		{
			//IL_01b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_019a: Unknown result type (might be due to invalid IL or missing references)
			//IL_019f: Unknown result type (might be due to invalid IL or missing references)
			float[] array = new float[4] { 0f, 0f, 0f, -1f };
			hexcode = Regex.Replace(hexcode, "[^A-Fa-f0-9]", "", RegexOptions.CultureInvariant, Regex.InfiniteMatchTimeout);
			if (hexcode.Length == 3)
			{
				string[] array2 = new string[3];
				for (int i = 0; i < 3; i++)
				{
					array2[i] = hexcode.Substring(i, 1);
				}
				hexcode = array2[0] + array2[0] + array2[1] + array2[1] + array2[2] + array2[2] + "FF";
			}
			else if (hexcode.Length == 6)
			{
				hexcode += "FF";
			}
			else if (hexcode.Length == 4)
			{
				string[] array3 = new string[4];
				for (int j = 0; j < 4; j++)
				{
					array3[j] = hexcode.Substring(j, 1);
				}
				hexcode = array3[0] + array3[0] + array3[1] + array3[1] + array3[2] + array3[2] + array3[3] + array3[3];
			}
			if (hexcode.Length == 8)
			{
				for (int k = 0; k < 8; k += 2)
				{
					array[k / 2] = (float)int.Parse(hexcode.Substring(k, 2), NumberStyles.HexNumber) / 255f;
				}
				return new Color(array[0], array[1], array[2], array[3]);
			}
			Debug.LogError(Object.op_Implicit("Invalid Hex value, Defaulting to white"));
			return Color.white;
		}
	}
	internal static class Config
	{
		internal enum chat_message_vertical
		{
			Up,
			Disabled,
			Down
		}

		internal static bool __runOriginal;

		internal static readonly ConfigEntry<string> lowammo_selected_selected_bg_full_arrow;

		internal static Color lowammo_selected_selected_bg_full_arrow_parse;

		internal static readonly ConfigEntry<string> lowammo_selected_selected_bg_full_bg_full;

		internal static Color lowammo_selected_selected_bg_full_bg_full_parse;

		internal static readonly ConfigEntry<string> lowammo_selected_selected_info_content_archetypeName;

		internal static Color lowammo_selected_selected_info_content_archetypeName_parse;

		internal static readonly ConfigEntry<string> lowammo_selected_selected_info_content_detailedname;

		internal static Color lowammo_selected_selected_info_content_detailedname_parse;

		internal static readonly ConfigEntry<string> lowammo_selected_selected_info_content_ammoclip;

		internal static Color lowammo_selected_selected_info_content_ammoclip_parse;

		internal static readonly ConfigEntry<string> lowammo_selected_selected_info_content_icon;

		internal static Color lowammo_selected_selected_info_content_icon_parse;

		internal static readonly ConfigEntry<string> lowammo_selected_selected_slim_bg_slim;

		internal static Color lowammo_selected_selected_slim_bg_slim_parse;

		internal static readonly ConfigEntry<string> lowammo_selected_selected_slim_ammo_percent;

		internal static Color lowammo_selected_selected_slim_ammo_percent_parse;

		internal static readonly ConfigEntry<string> lowammo_unselected_selected_bg_full_arrow;

		internal static Color lowammo_unselected_selected_bg_full_arrow_parse;

		internal static readonly ConfigEntry<string> lowammo_unselected_selected_bg_full_bg_full;

		internal static Color lowammo_unselected_selected_bg_full_bg_full_parse;

		internal static readonly ConfigEntry<string> lowammo_unselected_selected_info_content_archetypeName;

		internal static Color lowammo_unselected_selected_info_content_archetypeName_parse;

		internal static readonly ConfigEntry<string> lowammo_unselected_selected_info_content_detailedname;

		internal static Color lowammo_unselected_selected_info_content_detailedname_parse;

		internal static readonly ConfigEntry<string> lowammo_unselected_selected_info_content_ammoclip;

		internal static Color lowammo_unselected_selected_info_content_ammoclip_parse;

		internal static readonly ConfigEntry<string> lowammo_unselected_selected_info_content_icon;

		internal static Color lowammo_unselected_selected_info_content_icon_parse;

		internal static readonly ConfigEntry<string> lowammo_unselected_selected_slim_bg_slim;

		internal static Color lowammo_unselected_selected_slim_bg_slim_parse;

		internal static readonly ConfigEntry<string> lowammo_unselected_selected_slim_ammo_percent;

		internal static Color lowammo_unselected_selected_slim_ammo_percent_parse;

		internal static readonly ConfigEntry<string> lowammo_unselected_slim_bg_small;

		internal static Color lowammo_unselected_slim_bg_small_parse;

		internal static readonly ConfigEntry<string> lowammo_unselected_slim_ammo_percent;

		internal static Color lowammo_unselected_slim_ammo_percent_parse;

		internal static readonly ConfigEntry<string> lowammo_unselected_slim_arrow;

		internal static Color lowammo_unselected_slim_arrow_parse;

		internal static readonly ConfigEntry<string> lowammo_unselected_slim_archetypeName;

		internal static Color lowammo_unselected_slim_archetypeName_parse;

		internal static readonly ConfigEntry<string> lowammo_unselected_slim_bg_big;

		internal static Color lowammo_unselected_slim_bg_big_parse;

		internal static readonly ConfigEntry<string> selected_selected_bg_full_arrow;

		internal static Color selected_selected_bg_full_arrow_parse;

		internal static readonly ConfigEntry<string> selected_selected_bg_full_bg_full;

		internal static Color selected_selected_bg_full_bg_full_parse;

		internal static readonly ConfigEntry<string> selected_selected_info_content_archetypeName;

		internal static Color selected_selected_info_content_archetypeName_parse;

		internal static readonly ConfigEntry<string> selected_selected_info_content_detailedname;

		internal static Color selected_selected_info_content_detailedname_parse;

		internal static readonly ConfigEntry<string> selected_selected_info_content_ammoclip;

		internal static Color selected_selected_info_content_ammoclip_parse;

		internal static readonly ConfigEntry<string> selected_selected_info_content_icon;

		internal static Color selected_selected_info_content_icon_parse;

		internal static readonly ConfigEntry<string> selected_selected_slim_infinite;

		internal static Color selected_selected_slim_infinite_parse;

		internal static readonly ConfigEntry<string> selected_selected_slim_bg_slim;

		internal static Color selected_selected_slim_bg_slim_parse;

		internal static readonly ConfigEntry<string> selected_selected_slim_ammo_percent;

		internal static Color selected_selected_slim_ammo_percent_parse;

		internal static readonly ConfigEntry<string> selected_bg_full_arrow;

		internal static Color selected_bg_full_arrow_parse;

		internal static readonly ConfigEntry<string> selected_bg_full_bg_full;

		internal static Color selected_bg_full_bg_full_parse;

		internal static readonly ConfigEntry<string> selected_info_content_archetypeName;

		internal static Color selected_info_content_archetypeName_parse;

		internal static readonly ConfigEntry<string> selected_info_content_detailedname;

		internal static Color selected_info_content_detailedname_parse;

		internal static readonly ConfigEntry<string> selected_info_content_ammoclip;

		internal static Color selected_info_content_ammoclip_parse;

		internal static readonly ConfigEntry<string> selected_info_content_icon;

		internal static Color selected_info_content_icon_parse;

		internal static readonly ConfigEntry<string> selected_slim_bg_slim;

		internal static Color selected_slim_bg_slim_parse;

		internal static readonly ConfigEntry<string> selected_slim_ammo_percent;

		internal static Color selected_slim_ammo_percent_parse;

		internal static readonly ConfigEntry<string> selected_slim_infinite;

		internal static Color selected_slim_infinite_parse;

		internal static readonly ConfigEntry<string> slim_bg_small;

		internal static Color slim_bg_small_parse;

		internal static readonly ConfigEntry<string> slim_ammo_percent;

		internal static Color slim_ammo_percent_parse;

		internal static readonly ConfigEntry<string> slim_arrow;

		internal static Color slim_arrow_parse;

		internal static readonly ConfigEntry<string> slim_infinite;

		internal static Color slim_infinite_parse;

		internal static readonly ConfigEntry<string> slim_archetypeName;

		internal static Color slim_archetypeName_parse;

		internal static readonly ConfigEntry<string> slim_bg_big;

		internal static Color slim_bg_big_parse;

		internal static readonly ConfigEntry<string> empty_arrow;

		internal static Color empty_arrow_parse;

		internal static readonly ConfigEntry<string> empty_slim_bg;

		internal static Color empty_slim_bg_parse;

		internal static readonly ConfigEntry<string> empty_long_bg;

		internal static Color empty_long_bg_parse;

		internal static readonly ConfigEntry<string> light_enabled;

		internal static Color light_enabled_parse;

		internal static readonly ConfigEntry<string> light_disabled;

		internal static Color light_disabled_parse;

		internal static readonly ConfigEntry<string> light_bg;

		internal static Color light_bg_parse;

		internal static readonly ConfigEntry<string> inventory_pos;

		internal static Vector3 inventory_pos_parse;

		internal static readonly ConfigEntry<string> slim_ammo_pos;

		internal static Vector3 slim_ammo_pos_parse;

		internal static readonly ConfigEntry<float> slim_ammo_scale;

		internal static readonly ConfigEntry<float> slim_infinite_scale;

		internal static readonly ConfigEntry<float> inventory_scale;

		internal static readonly ConfigEntry<string> slim_slim_ammo_pos;

		internal static Vector3 slim_slim_ammo_pos_parse;

		internal static readonly ConfigEntry<float> slim_slim_ammo_scale;

		internal static readonly ConfigEntry<float> slim_slim_infinite_scale;

		internal static readonly ConfigEntry<bool> minimal_ui_enabled;

		internal static readonly ConfigEntry<KeyCode> minimal_ui_key;

		internal static readonly ConfigEntry<float> minimal_ui_speed;

		internal static readonly ConfigEntry<float> minimal_ui_speed_disable;

		internal static float minimal_ui_speed_parse;

		internal static readonly ConfigEntry<bool> confine_archetypename;

		internal static Vector2 confine_archetypename_parse;

		internal static readonly ConfigEntry<bool> remove_helper;

		internal static readonly ConfigEntry<bool> LowAmmo_patch;

		internal static readonly ConfigEntry<float> LowAmmo_treshold;

		internal static float LowAmmo_treshold_multiplier;

		internal static readonly ConfigEntry<bool> recolor_melee_infinite;

		internal static readonly ConfigEntry<bool> inventory_permaselect;

		internal static readonly ConfigEntry<bool> recolor_selected;

		internal static readonly ConfigEntry<bool> inventory_invert;

		internal static readonly ConfigEntry<bool> inventory_horizontal;

		internal static readonly ConfigEntry<bool> inventory_invert_anchor;

		internal static readonly ConfigEntry<bool> inventory_remove_empty;

		internal static readonly ConfigEntry<float> inventory_vertical_offset;

		internal static readonly ConfigEntry<float> inventory_horizontal_offset;

		internal static readonly ConfigEntry<bool> no_percent;

		internal static readonly ConfigEntry<bool> no_whitebox_flash;

		internal static readonly ConfigEntry<bool> inverse_chat_order;

		internal static readonly ConfigEntry<bool> inverse_chat_anchor;

		internal static readonly ConfigEntry<bool> remove_chat_underscore;

		internal static readonly ConfigEntry<chat_message_vertical> move_chat_open;

		internal static readonly ConfigEntry<bool> move_each_inventory_slot;

		internal static readonly ConfigEntry<bool> move_flashlight;

		internal static readonly ConfigEntry<string> status_pos;

		internal static Vector3 status_pos_parse;

		internal static readonly ConfigEntry<bool> booster_static;

		internal static readonly ConfigEntry<string> booster_pos;

		internal static Vector3 booster_pos_parse;

		internal static readonly ConfigEntry<bool> no_booster;

		internal static readonly ConfigEntry<string> stamina_text_color;

		internal static Color stamina_text_color_parse;

		internal static readonly ConfigEntry<string> stamina_pos;

		internal static Vector3 stamina_pos_parse;

		internal static readonly ConfigEntry<float> stamina_scale;

		internal static readonly ConfigEntry<string> pulsing_warning_pos;

		internal static Vector3 pulsing_warning_pos_parse;

		internal static readonly ConfigEntry<float> pulsing_warning_scale;

		internal static readonly ConfigEntry<TextAlignmentOptions> stamina_align_text;

		internal static readonly ConfigEntry<string> stamina_low_health_color;

		internal static Color stamina_low_health_color_parse;

		internal static readonly ConfigEntry<string> stamina_warning_bright;

		internal static Color stamina_warning_bright_parse;

		internal static readonly ConfigEntry<string> stamina_warning_dark;

		internal static Color stamina_warning_dark_parse;

		internal static readonly ConfigEntry<string> health_text_pos;

		internal static Vector3 health_text_pos_parse;

		internal static readonly ConfigEntry<float> health_text_scale;

		internal static readonly ConfigEntry<string> health_good;

		internal static Color health_good_parse;

		internal static readonly ConfigEntry<string> health_bad;

		internal static Color health_bad_parse;

		internal static readonly ConfigEntry<string> health_melee_buff;

		internal static Color health_melee_buff_parse;

		internal static readonly ConfigEntry<string> health_bad_pulse;

		internal static Color health_bad_pulse_parse;

		internal static readonly ConfigEntry<string> health_warning_bright;

		internal static Color health_warning_bright_parse;

		internal static readonly ConfigEntry<string> health_warning_dark;

		internal static Color health_warning_dark_parse;

		internal static readonly ConfigEntry<float> right_health_rot;

		internal static Quaternion right_health_rot_parse;

		internal static readonly ConfigEntry<string> right_health_pos;

		internal static Vector3 right_health_pos_parse;

		internal static readonly ConfigEntry<string> right_health_scale;

		internal static Vector3 right_health_scale_parse;

		internal static readonly ConfigEntry<float> left_health_rot;

		internal static Quaternion left_health_rot_parse;

		internal static readonly ConfigEntry<string> left_health_pos;

		internal static Vector3 left_health_pos_parse;

		internal static readonly ConfigEntry<string> left_health_scale;

		internal static Vector3 left_health_scale_parse;

		internal static readonly ConfigEntry<TextAlignmentOptions> health_text_alignment;

		internal static readonly ConfigEntry<string> infection_text_pos;

		internal static Vector3 infection_text_pos_parse;

		internal static readonly ConfigEntry<float> infection_text_scale;

		internal static readonly ConfigEntry<TextAlignmentOptions> infection_text_alignment;

		internal static readonly ConfigEntry<string> infection_high;

		internal static Color infection_high_parse;

		internal static readonly ConfigEntry<string> infection_low;

		internal static Color infection_low_parse;

		internal static readonly ConfigEntry<float> right_infection_rot;

		internal static Quaternion right_infection_rot_parse;

		internal static readonly ConfigEntry<string> right_infection_pos;

		internal static Vector3 right_infection_pos_parse;

		internal static readonly ConfigEntry<string> right_infection_scale;

		internal static Vector3 right_infection_scale_parse;

		internal static readonly ConfigEntry<float> left_infection_rot;

		internal static Quaternion left_infection_rot_parse;

		internal static readonly ConfigEntry<string> left_infection_pos;

		internal static Vector3 left_infection_pos_parse;

		internal static readonly ConfigEntry<string> left_infection_scale;

		internal static Vector3 left_infection_scale_parse;

		internal static readonly ConfigEntry<string> pulse_low;

		internal static Color pulse_low_parse;

		internal static readonly ConfigEntry<string> pulse_mid;

		internal static Color pulse_mid_parse;

		internal static readonly ConfigEntry<string> pulse_high;

		internal static Color pulse_high_parse;

		internal static readonly ConfigEntry<string> subtitle_pos;

		internal static Vector3 subtitle_pos_parse;

		internal static readonly ConfigEntry<string> subtitle_color;

		internal static Color subtitle_color_parse;

		internal static readonly ConfigEntry<string> obj_pos;

		internal static Vector3 obj_pos_parse;

		internal static readonly ConfigEntry<string> obj_header_text;

		internal static Color obj_header_text_parse;

		internal static readonly ConfigEntry<string> obj_header_bg;

		internal static Color obj_header_bg_parse;

		internal static readonly ConfigEntry<string> obj_item_text;

		internal static Color obj_item_text_parse;

		internal static readonly ConfigEntry<string> obj_item_bg;

		internal static Color obj_item_bg_parse;

		internal static readonly ConfigEntry<string> obj_progression_header_text;

		internal static Color obj_progression_header_text_parse;

		internal static readonly ConfigEntry<string> obj_progression_subtext_text;

		internal static Color obj_progression_subtext_text_parse;

		internal static readonly ConfigEntry<string> comms_pos;

		internal static Vector3 comms_pos_parse;

		internal static readonly ConfigEntry<float> comms_scale;

		internal static readonly ConfigEntry<string> compass_pos;

		internal static Vector3 compass_pos_parse;

		internal static readonly ConfigEntry<float> compass_length;

		internal static readonly ConfigEntry<string> compass_line_color;

		internal static Color compass_line_color_parse;

		internal static readonly ConfigEntry<string> compass_letter_color;

		internal static Color compass_letter_color_parse;

		internal static readonly ConfigEntry<string> compass_number_color;

		internal static Color compass_number_color_parse;

		internal static readonly ConfigEntry<string> compass_arrow_color;

		internal static Color compass_arrow_color_parse;

		internal static readonly ConfigEntry<string> wrdn_intel_pos;

		internal static Vector3 wrdn_intel_pos_parse;

		internal static readonly ConfigEntry<string> wrdn_intel_color;