using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Text.RegularExpressions; using BepInEx; using BepInEx.Logging; using HarmonyLib; using PluginConfig.API; using PluginConfig.API.Decorators; using PluginConfig.API.Fields; 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(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("CustomRankLetterColorizer")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("CustomRankLetterColorizer")] [assembly: AssemblyTitle("CustomRankLetterColorizer")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace CustomRankLetterColorizer; [BepInPlugin("ali.uk.customrankcolor", "Custom Rank Letter Colorizer", "1.0.0")] public class CustomRankLetterColorizerPlugin : BaseUnityPlugin { public static ManualLogSource Log; public Color DColor = HexToColor("0094FF"); public Color CColor = HexToColor("4CFF00"); public Color BColor = HexToColor("FFD800"); public Color AColor = HexToColor("FF6A00"); public Color SColor = HexToColor("FF0000"); public Color PColor = HexToColor("FFFFFF"); public Color BorderColor = HexToColor("FFB100"); private PluginConfigurator config; public static CustomRankLetterColorizerPlugin Instance { get; private set; } private void Awake() { //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Expected O, but got Unknown //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_0126: 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_013d: Expected O, but got Unknown //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_015f: Expected O, but got Unknown //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Expected O, but got Unknown //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Expected O, but got Unknown //IL_01a1: Unknown result type (might be due to invalid IL or missing references) //IL_01a6: 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_01bd: Expected O, but got Unknown //IL_01d4: 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_01df: Expected O, but got Unknown //IL_01e1: Unknown result type (might be due to invalid IL or missing references) //IL_01e6: 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_01fd: Expected O, but got Unknown //IL_0214: Unknown result type (might be due to invalid IL or missing references) //IL_0219: Unknown result type (might be due to invalid IL or missing references) //IL_0220: Expected O, but got Unknown //IL_0223: Unknown result type (might be due to invalid IL or missing references) //IL_0228: Unknown result type (might be due to invalid IL or missing references) //IL_0236: Unknown result type (might be due to invalid IL or missing references) //IL_0240: Expected O, but got Unknown //IL_0257: Unknown result type (might be due to invalid IL or missing references) //IL_025c: Unknown result type (might be due to invalid IL or missing references) //IL_0263: Expected O, but got Unknown //IL_0266: Unknown result type (might be due to invalid IL or missing references) //IL_026b: Unknown result type (might be due to invalid IL or missing references) //IL_0279: Unknown result type (might be due to invalid IL or missing references) //IL_0283: Expected O, but got Unknown //IL_029a: Unknown result type (might be due to invalid IL or missing references) //IL_029f: Unknown result type (might be due to invalid IL or missing references) //IL_02a6: Expected O, but got Unknown //IL_02a9: Unknown result type (might be due to invalid IL or missing references) //IL_02ae: Unknown result type (might be due to invalid IL or missing references) //IL_02bc: Unknown result type (might be due to invalid IL or missing references) //IL_02c6: Expected O, but got Unknown //IL_02d3: Unknown result type (might be due to invalid IL or missing references) //IL_02da: Expected O, but got Unknown //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) Instance = this; Log = ((BaseUnityPlugin)this).Logger; config = PluginConfigurator.Create("Rank Colorizer", "ali.uk.customrankcolor"); try { Texture2D val = new Texture2D(2, 2); using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("CustomRankLetterColorizer.iconofalltime.png"); if (stream != null) { byte[] array = new byte[stream.Length]; stream.Read(array, 0, array.Length); ImageConversion.LoadImage(val, array); config.image = Sprite.Create(val, new Rect(0f, 0f, (float)((Texture)val).width, (float)((Texture)val).height), new Vector2(0.5f, 0.5f)); } else { Log.LogWarning((object)"Made a fuck up whoops"); } } catch (Exception) { } new ConfigHeader(config.rootPanel, "Change rank & medal colors", 24); ColorField val2 = new ColorField(config.rootPanel, "D Rank", "color_D", DColor); DColor = val2.value; val2.onValueChange += (ColorValueChangeEventDelegate)delegate(ColorValueChangeEvent e) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) DColor = e.value; UpdateRankColorCache(); }; ColorField val3 = new ColorField(config.rootPanel, "C Rank", "color_C", CColor); CColor = val3.value; val3.onValueChange += (ColorValueChangeEventDelegate)delegate(ColorValueChangeEvent e) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) CColor = e.value; UpdateRankColorCache(); }; ColorField val4 = new ColorField(config.rootPanel, "B Rank", "color_B", BColor); BColor = val4.value; val4.onValueChange += (ColorValueChangeEventDelegate)delegate(ColorValueChangeEvent e) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) BColor = e.value; UpdateRankColorCache(); }; ColorField val5 = new ColorField(config.rootPanel, "A Rank", "color_A", AColor); AColor = val5.value; val5.onValueChange += (ColorValueChangeEventDelegate)delegate(ColorValueChangeEvent e) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) AColor = e.value; UpdateRankColorCache(); }; ColorField val6 = new ColorField(config.rootPanel, "S Rank", "color_S", SColor); SColor = val6.value; val6.onValueChange += (ColorValueChangeEventDelegate)delegate(ColorValueChangeEvent e) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) SColor = e.value; UpdateRankColorCache(); }; ColorField val7 = new ColorField(config.rootPanel, "P Rank", "color_P", PColor); PColor = val7.value; val7.onValueChange += (ColorValueChangeEventDelegate)delegate(ColorValueChangeEvent e) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) PColor = e.value; UpdateRankColorCache(); }; ColorField val8 = new ColorField(config.rootPanel, "Gold Border", "color_border", BorderColor); BorderColor = val8.value; val8.onValueChange += (ColorValueChangeEventDelegate)delegate(ColorValueChangeEvent e) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) BorderColor = e.value; UpdateRankColorCache(); }; UpdateRankColorCache(); Harmony val9 = new Harmony("ali.uk.customrankcolor"); val9.PatchAll(); Log.LogInfo((object)"Enjoy ur ranks :3."); } private static Color HexToColor(string hex) { //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0017: 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_0023: Unknown result type (might be due to invalid IL or missing references) Color result = default(Color); if (ColorUtility.TryParseHtmlString("#" + hex, ref result)) { return result; } return Color.white; } private void UpdateRankColorCache() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: 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_001d: 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_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002e: 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_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_0044: 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) RankColors.D = DColor; RankColors.C = CColor; RankColors.B = BColor; RankColors.A = AColor; RankColors.S = SColor; RankColors.P = PColor; RankColors.GoldBorder = BorderColor; } } public static class RankColors { public static Color D = (Color)(((??)CustomRankLetterColorizerPlugin.Instance?.DColor) ?? new Color(0f, 0.5843f, 1f)); public static Color C = (Color)(((??)CustomRankLetterColorizerPlugin.Instance?.CColor) ?? new Color(0.298f, 1f, 0f)); public static Color B = (Color)(((??)CustomRankLetterColorizerPlugin.Instance?.BColor) ?? new Color(1f, 0.847f, 0f)); public static Color A = (Color)(((??)CustomRankLetterColorizerPlugin.Instance?.AColor) ?? new Color(1f, 0.415f, 0f)); public static Color S = (Color)(((??)CustomRankLetterColorizerPlugin.Instance?.SColor) ?? new Color(1f, 0f, 0f)); public static Color P = (Color)(((??)CustomRankLetterColorizerPlugin.Instance?.PColor) ?? new Color(1f, 1f, 1f)); public static Color GoldBorder = (Color)(((??)CustomRankLetterColorizerPlugin.Instance?.BorderColor) ?? new Color(1f, 0.694f, 0f)); public static Color GetColor(string rank) { //IL_0055: 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_008d: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //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_0075: 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_007d: 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_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) return (Color)(rank switch { "D" => D, "C" => C, "B" => B, "A" => A, "S" => S, "P" => P, _ => Color.white, }); } } [HarmonyPatch(typeof(TMP_Text), "set_text")] internal static class RankTextPatch { private static readonly Dictionary RankHexPatterns = new Dictionary { { "0094FF", "D" }, { "4CFF00", "C" }, { "FFD800", "B" }, { "FF6A00", "A" }, { "FF0000", "S" }, { "FFFFFF", "P" }, { "FFAF00", "P" } }; private static readonly Regex ColorTagRegex = new Regex("(.*?)", RegexOptions.Compiled); private static void Prefix(ref string value) { if (string.IsNullOrEmpty(value)) { return; } value = ColorTagRegex.Replace(value, delegate(Match match) { //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) string key = match.Groups[1].Value.ToUpperInvariant(); string value2 = match.Groups[2].Value; string value3 = match.Groups[3].Value; if (!RankHexPatterns.TryGetValue(key, out var value4)) { return match.Value; } Color color = RankColors.GetColor(value4); string text = ColorUtility.ToHtmlStringRGB(color); return string.IsNullOrEmpty(value2) ? ("" + value3 + "") : ("" + value3 + ""); }); } } [HarmonyPatch(typeof(ChallengeManager), "OnEnable")] internal static class ChallengeManager_OnEnable_Patch { private static void Postfix(ChallengeManager __instance) { //IL_0032: 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_0060: 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_00a6: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)__instance.challengePanel == (Object)null)) { Image component = __instance.challengePanel.GetComponent(); if ((Object)(object)component != (Object)null && Mathf.Approximately(((Graphic)component).color.r, 1f) && Mathf.Approximately(((Graphic)component).color.g, 0.696f) && Mathf.Approximately(((Graphic)component).color.b, 0f)) { ((Graphic)component).color = new Color(RankColors.GoldBorder.r, RankColors.GoldBorder.g, RankColors.GoldBorder.b, ((Graphic)component).color.a); } } } } [HarmonyPatch(typeof(ChallengeManager), "ChallengeDone")] internal static class ChallengeManager_ChallengeDone_Patch { private static void Postfix(ChallengeManager __instance) { //IL_0032: 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_0060: 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_00a6: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)__instance.challengePanel == (Object)null)) { Image component = __instance.challengePanel.GetComponent(); if ((Object)(object)component != (Object)null && Mathf.Approximately(((Graphic)component).color.r, 1f) && Mathf.Approximately(((Graphic)component).color.g, 0.696f) && Mathf.Approximately(((Graphic)component).color.b, 0f)) { ((Graphic)component).color = new Color(RankColors.GoldBorder.r, RankColors.GoldBorder.g, RankColors.GoldBorder.b, ((Graphic)component).color.a); } } } } [HarmonyPatch(typeof(LayerSelect), "Gold")] internal static class LayerSelect_Gold_Patch { private static void Postfix(LayerSelect __instance) { //IL_0012: 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) //IL_007c: 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_0040: Unknown result type (might be due to invalid IL or missing references) Image component = ((Component)__instance).GetComponent(); if ((Object)(object)component != (Object)null && Mathf.Approximately(((Graphic)component).color.r, 1f) && Mathf.Approximately(((Graphic)component).color.g, 0.686f) && Mathf.Approximately(((Graphic)component).color.b, 0f)) { ((Graphic)component).color = new Color(RankColors.GoldBorder.r, RankColors.GoldBorder.g, RankColors.GoldBorder.b, ((Graphic)component).color.a); } } } [HarmonyPatch(typeof(LayerSelect), "SecretMissionDone")] internal static class LayerSelect_SecretMissionDone_Patch { private static void Postfix(LayerSelect __instance) { //IL_0012: 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) //IL_007c: 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_0040: Unknown result type (might be due to invalid IL or missing references) Image component = ((Component)__instance).GetComponent(); if ((Object)(object)component != (Object)null && Mathf.Approximately(((Graphic)component).color.r, 1f) && Mathf.Approximately(((Graphic)component).color.g, 0.686f) && Mathf.Approximately(((Graphic)component).color.b, 0f)) { ((Graphic)component).color = new Color(RankColors.GoldBorder.r, RankColors.GoldBorder.g, RankColors.GoldBorder.b, ((Graphic)component).color.a); } } } [HarmonyPatch(typeof(LayerSelect), "AddScore")] internal static class LayerSelect_AddScore_Patch { private static void Postfix(LayerSelect __instance) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)__instance.rankImage != (Object)null && Mathf.Approximately(((Graphic)__instance.rankImage).color.r, 1f) && Mathf.Approximately(((Graphic)__instance.rankImage).color.g, 0.686f) && Mathf.Approximately(((Graphic)__instance.rankImage).color.b, 0f)) { ((Graphic)__instance.rankImage).color = new Color(RankColors.GoldBorder.r, RankColors.GoldBorder.g, RankColors.GoldBorder.b, ((Graphic)__instance.rankImage).color.a); } } } [HarmonyPatch(typeof(LevelSelectPanel), "CheckScore")] internal static class LevelSelectPanel_CheckScore_Patch { private static void Postfix(LevelSelectPanel __instance) { //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: 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_0132: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: 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) Transform val = ((Component)__instance).transform.Find("Stats/Rank"); if ((Object)(object)val != (Object)null) { Image component = ((Component)val).GetComponent(); if ((Object)(object)component != (Object)null && Mathf.Approximately(((Graphic)component).color.r, 1f) && Mathf.Approximately(((Graphic)component).color.g, 0.686f) && Mathf.Approximately(((Graphic)component).color.b, 0f)) { ((Graphic)component).color = new Color(RankColors.GoldBorder.r, RankColors.GoldBorder.g, RankColors.GoldBorder.b, ((Graphic)component).color.a); } } Image component2 = ((Component)__instance).GetComponent(); if ((Object)(object)component2 != (Object)null && Mathf.Approximately(((Graphic)component2).color.r, 1f) && Mathf.Approximately(((Graphic)component2).color.g, 0.686f) && Mathf.Approximately(((Graphic)component2).color.b, 0f)) { ((Graphic)component2).color = new Color(RankColors.GoldBorder.r, RankColors.GoldBorder.g, RankColors.GoldBorder.b, ((Graphic)component2).color.a); } } } [HarmonyPatch(typeof(ChapterSelectButton), "CheckScore")] internal static class ChapterSelectButton_CheckScore_Patch { private static void Postfix(ChapterSelectButton __instance) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) Image value = Traverse.Create((object)__instance).Field("rankButton").GetValue(); if ((Object)(object)value != (Object)null && Mathf.Approximately(((Graphic)value).color.r, 1f) && Mathf.Approximately(((Graphic)value).color.g, 0.686f) && Mathf.Approximately(((Graphic)value).color.b, 0f)) { ((Graphic)value).color = new Color(RankColors.GoldBorder.r, RankColors.GoldBorder.g, RankColors.GoldBorder.b, ((Graphic)value).color.a); } Image component = ((Component)__instance).GetComponent(); if ((Object)(object)component != (Object)null && Mathf.Approximately(((Graphic)component).color.r, 1f) && Mathf.Approximately(((Graphic)component).color.g, 0.686f) && Mathf.Approximately(((Graphic)component).color.b, 0f)) { ((Graphic)component).color = new Color(RankColors.GoldBorder.r, RankColors.GoldBorder.g, RankColors.GoldBorder.b, ((Graphic)component).color.a); } } } [HarmonyPatch(typeof(StatsManager), "GetFinalRank")] internal static class StatsManager_GetFinalRank_Patch { private static void Postfix(StatsManager __instance) { //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) //IL_00c2: 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_0086: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)__instance.fr == (Object)null) && !((Object)(object)__instance.fr.totalRank == (Object)null)) { Transform parent = __instance.fr.totalRank.transform.parent; Image val = ((parent != null) ? ((Component)parent).GetComponent() : null); if ((Object)(object)val != (Object)null && Mathf.Approximately(((Graphic)val).color.r, 1f) && Mathf.Approximately(((Graphic)val).color.g, 0.686f) && Mathf.Approximately(((Graphic)val).color.b, 0f)) { ((Graphic)val).color = new Color(RankColors.GoldBorder.r, RankColors.GoldBorder.g, RankColors.GoldBorder.b, ((Graphic)val).color.a); } } } } [HarmonyPatch(typeof(RankHelper), "GetRankBackgroundColor")] internal static class RankHelper_GetRankBackgroundColor_Patch { private static void Postfix(int rank, ref Color __result) { //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) if (rank == 12 && Mathf.Approximately(__result.r, 1f) && Mathf.Approximately(__result.g, 0.686f) && Mathf.Approximately(__result.b, 0f)) { __result = RankColors.GoldBorder; } } } public static class PluginInfo { public const string PLUGIN_GUID = "ali.uk.customrankcolor"; public const string PLUGIN_NAME = "Custom Rank Letter Colorizer"; public const string PLUGIN_VERSION = "1.0.0"; }