Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of ChestESP v1.2.4
ESP.dll
Decompiled 3 months agousing System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using HG; using Microsoft.CodeAnalysis; using RoR2; using UnityEngine; [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("ESP")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+a4865819a6e05eac75d7a1c2e22d35b6c901ebaf")] [assembly: AssemblyProduct("ESP")] [assembly: AssemblyTitle("ESP")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace ESP { public class config { public static ConfigFile configFile; public static ConfigEntry<KeyCode> ToggleEspKey; public static ConfigEntry<KeyCode> ToggleMenuKey; public static ConfigEntry<int> LabelSize; public static ConfigEntry<bool> AltTextToggle; public static ConfigEntry<string> AltText; public static ConfigEntry<bool> DrawTextShadow; public static ConfigEntry<float> TextShadowSize; public static ConfigEntry<bool> DrawChestsToggle; public static ConfigEntry<bool> ShowChestItemNames; public static ConfigEntry<bool> DrawTempChestsToggle; public static ConfigEntry<bool> ShowTempChestItemNames; public static ConfigEntry<bool> DrawShopsToggle; public static ConfigEntry<bool> ShowShopItemNames; public static ConfigEntry<bool> DrawScrappersToggle; public static ConfigEntry<bool> DrawPrintersToggle; public static ConfigEntry<bool> ShowPrinterItemNames; public static ConfigEntry<bool> DrawTeleportersToggle; public static ConfigEntry<bool> DrawDronesToggle; public static ConfigEntry<bool> DrawDroneCombinersToggle; public static ConfigEntry<bool> DrawPressurePlatesToggle; public static ConfigEntry<bool> DrawVultureEggsToggle; public static ConfigEntry<bool> DrawShrinesToggle; public static ConfigEntry<bool> DrawPortalsToggle; public static ConfigEntry<bool> DrawBarrelsToggle; public static ConfigEntry<bool> DrawAllPurchaseInteractionsToggle; public static ConfigEntry<Color> ShopColor; public static ConfigEntry<Color> TeleporterColor; public static ConfigEntry<Color> ScrapperColor; public static ConfigEntry<Color> PrinterColor; public static ConfigEntry<Color> DroneColor; public static ConfigEntry<Color> DroneCombinerColor; public static ConfigEntry<Color> PressurePlateColor; public static ConfigEntry<Color> VultureEggColor; public static ConfigEntry<Color> BarrelColor; public static ConfigEntry<Color> AllInteractionColor; public static ConfigEntry<Color> ColorTier_Common; public static ConfigEntry<Color> ColorTier_Uncommon; public static ConfigEntry<Color> ColorTier_Legendary; public static ConfigEntry<Color> ColorTier_Boss; public static ConfigEntry<Color> ColorTier_Lunar; public static ConfigEntry<Color> ColorTier_VoidCommon; public static ConfigEntry<Color> ColorTier_VoidUncommon; public static ConfigEntry<Color> ColorTier_VoidLegendary; public static ConfigEntry<Color> ColorTier_VoidBoss; public static ConfigEntry<Color> Color_Equipment; public static ConfigEntry<Color> Color_LunarEquipment; public static ConfigEntry<bool> DrawShrine_Blood; public static ConfigEntry<Color> ColorShrine_Blood; public static ConfigEntry<bool> DrawShrine_Chance; public static ConfigEntry<Color> ColorShrine_Chance; public static ConfigEntry<bool> DrawShrine_Combat; public static ConfigEntry<Color> ColorShrine_Combat; public static ConfigEntry<bool> DrawShrine_Gold; public static ConfigEntry<Color> ColorShrine_Gold; public static ConfigEntry<bool> DrawShrine_Mountain; public static ConfigEntry<Color> ColorShrine_Mountain; public static ConfigEntry<bool> DrawShrine_Healing; public static ConfigEntry<Color> ColorShrine_Healing; public static ConfigEntry<bool> DrawShrine_Cleanse; public static ConfigEntry<Color> ColorShrine_Cleanse; public static ConfigEntry<bool> DrawShrine_Halcyon; public static ConfigEntry<Color> ColorShrine_Halcyon; public static ConfigEntry<bool> DrawShrine_Revive; public static ConfigEntry<Color> ColorShrine_Revive; public static ConfigEntry<bool> DrawPortal_Newt; public static ConfigEntry<Color> ColorPortal_Newt; public static ConfigEntry<bool> DrawPortal_Gold; public static ConfigEntry<Color> ColorPortal_Gold; public static ConfigEntry<bool> DrawPortal_Node; public static ConfigEntry<Color> ColorPortal_Node; public static void Init(ConfigFile file) { //IL_027e: Unknown result type (might be due to invalid IL or missing references) //IL_0299: Unknown result type (might be due to invalid IL or missing references) //IL_02b4: Unknown result type (might be due to invalid IL or missing references) //IL_02cf: Unknown result type (might be due to invalid IL or missing references) //IL_02ea: Unknown result type (might be due to invalid IL or missing references) //IL_0314: Unknown result type (might be due to invalid IL or missing references) //IL_033e: Unknown result type (might be due to invalid IL or missing references) //IL_0368: Unknown result type (might be due to invalid IL or missing references) //IL_0392: Unknown result type (might be due to invalid IL or missing references) //IL_03bc: Unknown result type (might be due to invalid IL or missing references) //IL_03d7: Unknown result type (might be due to invalid IL or missing references) //IL_0409: Unknown result type (might be due to invalid IL or missing references) //IL_043b: Unknown result type (might be due to invalid IL or missing references) //IL_047c: Unknown result type (might be due to invalid IL or missing references) //IL_04bd: Unknown result type (might be due to invalid IL or missing references) //IL_04fe: Unknown result type (might be due to invalid IL or missing references) //IL_053f: Unknown result type (might be due to invalid IL or missing references) //IL_0571: Unknown result type (might be due to invalid IL or missing references) //IL_05b2: Unknown result type (might be due to invalid IL or missing references) //IL_05f3: Unknown result type (might be due to invalid IL or missing references) //IL_0625: Unknown result type (might be due to invalid IL or missing references) //IL_0666: Unknown result type (might be due to invalid IL or missing references) //IL_06a7: Unknown result type (might be due to invalid IL or missing references) //IL_06d1: Unknown result type (might be due to invalid IL or missing references) //IL_06fb: Unknown result type (might be due to invalid IL or missing references) //IL_0716: Unknown result type (might be due to invalid IL or missing references) //IL_0731: Unknown result type (might be due to invalid IL or missing references) //IL_074c: Unknown result type (might be due to invalid IL or missing references) //IL_0767: Unknown result type (might be due to invalid IL or missing references) //IL_0791: Unknown result type (might be due to invalid IL or missing references) //IL_07bb: Unknown result type (might be due to invalid IL or missing references) //IL_07e5: Unknown result type (might be due to invalid IL or missing references) //IL_0800: Unknown result type (might be due to invalid IL or missing references) configFile = file; ToggleEspKey = file.Bind<KeyCode>("1. Keybinds", "Toggle ESP", (KeyCode)283, "Key to toggle the ESP on/off."); ToggleMenuKey = file.Bind<KeyCode>("1. Keybinds", "Toggle Menu", (KeyCode)284, "Key to toggle the settings menu on/off."); LabelSize = file.Bind<int>("2. General", "Label Size", 12, "Font size for the labels."); AltTextToggle = file.Bind<bool>("2. General", "Alternative Look", false, "Replaces all labels with a single character for a cleaner look."); AltText = file.Bind<string>("2. General", "Alternative Text", "+", "The character to use for the Alternative Look."); DrawTextShadow = file.Bind<bool>("2. General", "Text Shadow", true, "Draw a shadow behind text for better readability."); TextShadowSize = file.Bind<float>("2. General", "Text Shadow Size", 1.5f, "How thick the shadow is around the text."); DrawChestsToggle = file.Bind<bool>("3. Main Toggles", "Chests", true, (ConfigDescription)null); ShowChestItemNames = file.Bind<bool>("3. Main Toggles", "Show Chest Item Names", true, (ConfigDescription)null); DrawTempChestsToggle = file.Bind<bool>("3. Main Toggles", "Temp Chests", true, (ConfigDescription)null); ShowTempChestItemNames = file.Bind<bool>("3. Main Toggles", "Show Temp Chest Item Names", true, (ConfigDescription)null); DrawShopsToggle = file.Bind<bool>("3. Main Toggles", "Shops", true, (ConfigDescription)null); ShowShopItemNames = file.Bind<bool>("3. Main Toggles", "Show Shop Item Names", true, (ConfigDescription)null); DrawPrintersToggle = file.Bind<bool>("3. Main Toggles", "Printers", true, (ConfigDescription)null); ShowPrinterItemNames = file.Bind<bool>("3. Main Toggles", "Show Printer Item Names", true, (ConfigDescription)null); DrawScrappersToggle = file.Bind<bool>("3. Main Toggles", "Scrappers", true, (ConfigDescription)null); DrawTeleportersToggle = file.Bind<bool>("3. Main Toggles", "Teleporters", true, (ConfigDescription)null); DrawDronesToggle = file.Bind<bool>("3. Main Toggles", "Drones & Turrets", false, (ConfigDescription)null); DrawDroneCombinersToggle = file.Bind<bool>("3. Main Toggles", "Drone Combiners", true, (ConfigDescription)null); DrawPressurePlatesToggle = file.Bind<bool>("3. Main Toggles", "Pressure Plates", true, (ConfigDescription)null); DrawVultureEggsToggle = file.Bind<bool>("3. Main Toggles", "Vulture Eggs", true, (ConfigDescription)null); DrawShrinesToggle = file.Bind<bool>("3. Main Toggles", "Shrines", true, (ConfigDescription)null); DrawPortalsToggle = file.Bind<bool>("3. Main Toggles", "Altars", true, (ConfigDescription)null); DrawBarrelsToggle = file.Bind<bool>("3. Main Toggles", "Barrels", false, (ConfigDescription)null); DrawAllPurchaseInteractionsToggle = file.Bind<bool>("3. Main Toggles", "All Other Interactions", false, (ConfigDescription)null); ColorTier_Common = file.Bind<Color>("4. Item & Equipment Colors", "Common (White)", Color.white, (ConfigDescription)null); ColorTier_Uncommon = file.Bind<Color>("4. Item & Equipment Colors", "Uncommon (Green)", Color.green, (ConfigDescription)null); ColorTier_Legendary = file.Bind<Color>("4. Item & Equipment Colors", "Legendary (Red)", Color.red, (ConfigDescription)null); ColorTier_Boss = file.Bind<Color>("4. Item & Equipment Colors", "Boss (Yellow)", Color.yellow, (ConfigDescription)null); ColorTier_Lunar = file.Bind<Color>("4. Item & Equipment Colors", "Lunar (Blue)", Color.cyan, (ConfigDescription)null); ColorTier_VoidCommon = file.Bind<Color>("4. Item & Equipment Colors", "Void Common", new Color(0.988f, 0.725f, 0.925f), (ConfigDescription)null); ColorTier_VoidUncommon = file.Bind<Color>("4. Item & Equipment Colors", "Void Uncommon", new Color(0.776f, 0.47f, 0.705f), (ConfigDescription)null); ColorTier_VoidLegendary = file.Bind<Color>("4. Item & Equipment Colors", "Void Legendary", new Color(0.584f, 0.043f, 0.458f), (ConfigDescription)null); ColorTier_VoidBoss = file.Bind<Color>("4. Item & Equipment Colors", "Void Boss", new Color(0.584f, 0.043f, 0.458f), (ConfigDescription)null); Color_Equipment = file.Bind<Color>("4. Item & Equipment Colors", "Equipment (Orange)", new Color(1f, 0.5f, 0f), (ConfigDescription)null); Color_LunarEquipment = file.Bind<Color>("4. Item & Equipment Colors", "Lunar Equipment (Blue)", Color.cyan, (ConfigDescription)null); DrawShrine_Blood = file.Bind<bool>("5. Shrine Settings", "Show Shrine of Blood", true, (ConfigDescription)null); ColorShrine_Blood = file.Bind<Color>("5. Shrine Settings", "Color Shrine of Blood", Color.red, (ConfigDescription)null); DrawShrine_Chance = file.Bind<bool>("5. Shrine Settings", "Show Shrine of Chance", true, (ConfigDescription)null); ColorShrine_Chance = file.Bind<Color>("5. Shrine Settings", "Color Shrine of Chance", Color.yellow, (ConfigDescription)null); DrawShrine_Combat = file.Bind<bool>("5. Shrine Settings", "Show Shrine of Combat", true, (ConfigDescription)null); ColorShrine_Combat = file.Bind<Color>("5. Shrine Settings", "Color Shrine of Combat", new Color(1f, 0.5f, 0.2f), (ConfigDescription)null); DrawShrine_Gold = file.Bind<bool>("5. Shrine Settings", "Show Shrine of Gold", true, (ConfigDescription)null); ColorShrine_Gold = file.Bind<Color>("5. Shrine Settings", "Color Shrine of Gold", new Color(0.9f, 0.8f, 0.3f), (ConfigDescription)null); DrawShrine_Mountain = file.Bind<bool>("5. Shrine Settings", "Show Shrine of the Mountain", true, (ConfigDescription)null); ColorShrine_Mountain = file.Bind<Color>("5. Shrine Settings", "Color Shrine of the Mountain", new Color(0.7f, 0.7f, 0.7f), (ConfigDescription)null); DrawShrine_Healing = file.Bind<bool>("5. Shrine Settings", "Show Shrine of Healing", true, (ConfigDescription)null); ColorShrine_Healing = file.Bind<Color>("5. Shrine Settings", "Color Shrine of Healing", new Color(0.4f, 0.9f, 0.4f), (ConfigDescription)null); DrawShrine_Cleanse = file.Bind<bool>("5. Shrine Settings", "Show Cleansing Pool", true, (ConfigDescription)null); ColorShrine_Cleanse = file.Bind<Color>("5. Shrine Settings", "Color Cleansing Pool", Color.white, (ConfigDescription)null); DrawShrine_Halcyon = file.Bind<bool>("5. Shrine Settings", "Show Halcyon Shrine", true, (ConfigDescription)null); ColorShrine_Halcyon = file.Bind<Color>("5. Shrine Settings", "Color Halcyon Shrine", new Color(0.2f, 0.9f, 0.7f), (ConfigDescription)null); DrawShrine_Revive = file.Bind<bool>("5. Shrine Settings", "Show Revive Shrine", true, (ConfigDescription)null); ColorShrine_Revive = file.Bind<Color>("5. Shrine Settings", "Color Revive Shrine", new Color(0.2f, 0.9f, 0.7f), (ConfigDescription)null); DrawPortal_Newt = file.Bind<bool>("6. Altar Settings", "Show Newt Altar", true, (ConfigDescription)null); ColorPortal_Newt = file.Bind<Color>("6. Altar Settings", "Color Newt Altar", Color.cyan, (ConfigDescription)null); DrawPortal_Gold = file.Bind<bool>("6. Altar Settings", "Show Gold Altar", true, (ConfigDescription)null); ColorPortal_Gold = file.Bind<Color>("6. Altar Settings", "Color Gold Altar", new Color(0.9f, 0.8f, 0.3f), (ConfigDescription)null); DrawPortal_Node = file.Bind<bool>("6. Altar Settings", "Show Access Node", true, (ConfigDescription)null); ColorPortal_Node = file.Bind<Color>("6. Altar Settings", "Color Access Node", new Color(0.4f, 0.298f, 0.294f), (ConfigDescription)null); ShopColor = file.Bind<Color>("7. Generic Colors", "Shop", new Color(0f, 0.5f, 1f), (ConfigDescription)null); PrinterColor = file.Bind<Color>("7. Generic Colors", "Printer", new Color(0.8f, 0.8f, 0f), (ConfigDescription)null); ScrapperColor = file.Bind<Color>("7. Generic Colors", "Scrapper", Color.yellow, (ConfigDescription)null); TeleporterColor = file.Bind<Color>("7. Generic Colors", "Teleporter", Color.red, (ConfigDescription)null); DroneColor = file.Bind<Color>("7. Generic Colors", "Drones & Turrets", Color.gray, (ConfigDescription)null); DroneCombinerColor = file.Bind<Color>("7. Generic Colors", "Drone Combiners", Color.yellow, (ConfigDescription)null); PressurePlateColor = file.Bind<Color>("7. Generic Colors", "Pressure Plates", new Color(1f, 0.5882353f, 0.7490196f), (ConfigDescription)null); VultureEggColor = file.Bind<Color>("7. Generic Colors", "Vulture Eggs", new Color(0.086f, 0.502f, 0.541f), (ConfigDescription)null); BarrelColor = file.Bind<Color>("7. Generic Colors", "Barrels", new Color(0.4078431f, 46f / 85f, 0.5607843f), (ConfigDescription)null); AllInteractionColor = file.Bind<Color>("7. Generic Colors", "All Other Interactions", Color.gray, (ConfigDescription)null); } } public class ESP : MonoBehaviour { private List<PurchaseInteraction> purchaseInteractions; private List<MultiShopController> shops; private List<ScrapperController> scrappers; private List<TeleporterInteraction> teleporters; private List<DroneVendorMultiShopController> droneShops; private List<DroneVendorTerminalBehavior> allDroneTerminals; private List<PressurePlateController> pressurePlates; private List<DroneScrapperController> droneScrappers; private List<BarrelInteraction> barrels; private List<AccessCodesNodeController> accessNodes; private List<CharacterBody> vultureEggs; private List<DroneCombinerController> droneCombiners; private readonly HashSet<GameObject> processedTerminals = new HashSet<GameObject>(); private FieldInfo barrelOpenedField; private FieldInfo optionChestPickupsField; private FieldInfo shopAvailableField; private FieldInfo droneShopAvailableField; public void getReflectionFields() { barrelOpenedField = typeof(BarrelInteraction).GetField("opened", BindingFlags.Instance | BindingFlags.NonPublic); optionChestPickupsField = typeof(OptionChestBehavior).GetField("generatedPickups", BindingFlags.Instance | BindingFlags.NonPublic); shopAvailableField = typeof(MultiShopController).GetField("available", BindingFlags.Instance | BindingFlags.NonPublic); droneShopAvailableField = typeof(DroneVendorMultiShopController).GetField("available", BindingFlags.Instance | BindingFlags.NonPublic); } public void Find() { ((MonoBehaviour)this).Invoke("FindObjects", 1f); } public void FindObjects() { purchaseInteractions = Object.FindObjectsOfType<PurchaseInteraction>().ToList(); shops = Object.FindObjectsOfType<MultiShopController>().ToList(); scrappers = Object.FindObjectsOfType<ScrapperController>().ToList(); teleporters = Object.FindObjectsOfType<TeleporterInteraction>().ToList(); droneShops = Object.FindObjectsOfType<DroneVendorMultiShopController>().ToList(); allDroneTerminals = Object.FindObjectsOfType<DroneVendorTerminalBehavior>().ToList(); pressurePlates = Object.FindObjectsOfType<PressurePlateController>().ToList(); droneScrappers = Object.FindObjectsOfType<DroneScrapperController>().ToList(); barrels = Object.FindObjectsOfType<BarrelInteraction>().ToList(); accessNodes = Object.FindObjectsOfType<AccessCodesNodeController>(true).ToList(); vultureEggs = (from body in Object.FindObjectsOfType<CharacterBody>() where ((Object)body).name.Contains("VultureEggBody") select body).ToList(); droneCombiners = Object.FindObjectsOfType<DroneCombinerController>().ToList(); } public void drawESP() { processedTerminals.Clear(); if (config.DrawShopsToggle.Value) { drawShops(); drawDroneShops(); } drawInteractables(); drawScrappers(); drawDroneScrappers(); drawTeleporters(); drawPressurePlates(); drawBarrels(); drawAccessNodes(); drawVultureEggs(); drawDroneCombiners(); } private void drawShops() { //IL_005d: 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_0090: 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_0099: 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_0117: 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_012c: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) if (shops == null) { return; } foreach (MultiShopController shop in shops) { if (!Object.op_Implicit((Object)(object)shop) || !(bool)shopAvailableField.GetValue(shop)) { continue; } drawLabel(((Component)shop).transform.position, "Shop", config.ShopColor.Value); if (!config.ShowShopItemNames.Value) { continue; } int num = 0; Enumerator<GameObject> enumerator2 = shop.terminalGameObjectsList.GetEnumerator(); try { while (enumerator2.MoveNext()) { GameObject current2 = enumerator2.Current; if (!((Object)(object)current2 == (Object)null)) { processedTerminals.Add(current2); PurchaseInteraction component = current2.GetComponent<PurchaseInteraction>(); if (!((Object)(object)component == (Object)null) && component.available) { ShopTerminalBehavior component2 = current2.GetComponent<ShopTerminalBehavior>(); int num2 = (config.LabelSize.Value + 2) * (num + 1); DrawPickupDef(PickupCatalog.GetPickupDef(component2.CurrentPickup().pickupIndex), ((Component)shop).transform.position, new Vector2(0f, (float)num2)); num++; } } } } finally { ((IDisposable)enumerator2).Dispose(); } } } private void drawDroneShops() { //IL_006c: 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_015d: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Unknown result type (might be due to invalid IL or missing references) //IL_017a: Unknown result type (might be due to invalid IL or missing references) if (droneShops == null || !config.DrawShopsToggle.Value) { return; } foreach (DroneVendorMultiShopController droneShop in droneShops) { if (!Object.op_Implicit((Object)(object)droneShop) || !(bool)droneShopAvailableField.GetValue(droneShop)) { continue; } drawLabel(((Component)droneShop).transform.position, "Drone Shop", config.ShopColor.Value); if (!config.ShowShopItemNames.Value || droneShop.terminalPositions == null) { continue; } for (int i = 0; i < droneShop.terminalPositions.Length; i++) { Transform targetPos = droneShop.terminalPositions[i]; if (!Object.op_Implicit((Object)(object)targetPos)) { continue; } DroneVendorTerminalBehavior val = ((IEnumerable<DroneVendorTerminalBehavior>)allDroneTerminals).FirstOrDefault((Func<DroneVendorTerminalBehavior, bool>)((DroneVendorTerminalBehavior t) => (Object)(object)t != (Object)null && Vector3.Distance(((Component)t).transform.position, targetPos.position) < 0.5f)); if (!((Object)(object)val == (Object)null)) { processedTerminals.Add(((Component)val).gameObject); if (!Object.op_Implicit((Object)(object)val.purchaseInteraction) || val.purchaseInteraction.available) { int num = (config.LabelSize.Value + 2) * (i + 1); DrawPickupDef(PickupCatalog.GetPickupDef(val.CurrentPickupIndex), ((Component)droneShop).transform.position, new Vector2(0f, (float)num)); } } } } } private void drawInteractables() { //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_0087: 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_0097: 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_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_03b1: Unknown result type (might be due to invalid IL or missing references) //IL_03b7: Invalid comparison between Unknown and I4 //IL_03ca: Unknown result type (might be due to invalid IL or missing references) //IL_03d9: Unknown result type (might be due to invalid IL or missing references) //IL_016c: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_04ad: Unknown result type (might be due to invalid IL or missing references) //IL_04bc: Unknown result type (might be due to invalid IL or missing references) //IL_04d0: 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_0483: Unknown result type (might be due to invalid IL or missing references) //IL_0497: Unknown result type (might be due to invalid IL or missing references) //IL_03f7: Unknown result type (might be due to invalid IL or missing references) //IL_03fd: Invalid comparison between Unknown and I4 //IL_0504: Unknown result type (might be due to invalid IL or missing references) //IL_0509: Unknown result type (might be due to invalid IL or missing references) //IL_050e: Unknown result type (might be due to invalid IL or missing references) //IL_0410: Unknown result type (might be due to invalid IL or missing references) //IL_041f: Unknown result type (might be due to invalid IL or missing references) //IL_01b0: Unknown result type (might be due to invalid IL or missing references) //IL_01bf: Unknown result type (might be due to invalid IL or missing references) //IL_051c: Unknown result type (might be due to invalid IL or missing references) //IL_051e: Unknown result type (might be due to invalid IL or missing references) //IL_05eb: Unknown result type (might be due to invalid IL or missing references) //IL_05fa: Unknown result type (might be due to invalid IL or missing references) //IL_054f: Unknown result type (might be due to invalid IL or missing references) //IL_0554: Unknown result type (might be due to invalid IL or missing references) //IL_0533: Unknown result type (might be due to invalid IL or missing references) //IL_0540: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Unknown result type (might be due to invalid IL or missing references) //IL_0203: Unknown result type (might be due to invalid IL or missing references) //IL_0576: Unknown result type (might be due to invalid IL or missing references) //IL_057b: Unknown result type (might be due to invalid IL or missing references) //IL_0621: Unknown result type (might be due to invalid IL or missing references) //IL_0627: Invalid comparison between Unknown and I4 //IL_05ad: Unknown result type (might be due to invalid IL or missing references) //IL_05b8: Unknown result type (might be due to invalid IL or missing references) //IL_059f: Unknown result type (might be due to invalid IL or missing references) //IL_05a4: Unknown result type (might be due to invalid IL or missing references) //IL_063e: Unknown result type (might be due to invalid IL or missing references) //IL_064d: Unknown result type (might be due to invalid IL or missing references) //IL_0238: Unknown result type (might be due to invalid IL or missing references) //IL_0247: Unknown result type (might be due to invalid IL or missing references) //IL_067a: Unknown result type (might be due to invalid IL or missing references) //IL_067f: Unknown result type (might be due to invalid IL or missing references) //IL_0690: Unknown result type (might be due to invalid IL or missing references) //IL_069d: Unknown result type (might be due to invalid IL or missing references) //IL_06d0: Unknown result type (might be due to invalid IL or missing references) //IL_06e0: Unknown result type (might be due to invalid IL or missing references) //IL_027c: Unknown result type (might be due to invalid IL or missing references) //IL_028b: Unknown result type (might be due to invalid IL or missing references) //IL_0705: Unknown result type (might be due to invalid IL or missing references) //IL_0715: Unknown result type (might be due to invalid IL or missing references) //IL_02cd: Unknown result type (might be due to invalid IL or missing references) //IL_02dc: Unknown result type (might be due to invalid IL or missing references) //IL_031e: Unknown result type (might be due to invalid IL or missing references) //IL_032d: Unknown result type (might be due to invalid IL or missing references) //IL_0362: Unknown result type (might be due to invalid IL or missing references) //IL_0371: Unknown result type (might be due to invalid IL or missing references) if (purchaseInteractions == null) { return; } PickupDistributorBehavior val = default(PickupDistributorBehavior); ShrineBloodBehavior val2 = default(ShrineBloodBehavior); ShrineChanceBehavior val3 = default(ShrineChanceBehavior); ShrineCombatBehavior val4 = default(ShrineCombatBehavior); ShrineBossBehavior val5 = default(ShrineBossBehavior); ShrineHealingBehavior val6 = default(ShrineHealingBehavior); ShrineCleanseBehavior val7 = default(ShrineCleanseBehavior); ShrineColossusAccessBehavior val8 = default(ShrineColossusAccessBehavior); PortalStatueBehavior val9 = default(PortalStatueBehavior); OptionChestBehavior optionChest = default(OptionChestBehavior); ChestBehavior val10 = default(ChestBehavior); RouletteChestController val11 = default(RouletteChestController); ShopTerminalBehavior val12 = default(ShopTerminalBehavior); SummonMasterBehavior val13 = default(SummonMasterBehavior); foreach (PurchaseInteraction purchaseInteraction in purchaseInteractions) { if ((Object)(object)purchaseInteraction == (Object)null || !purchaseInteraction.available || processedTerminals.Contains(((Component)purchaseInteraction).gameObject)) { continue; } if (config.DrawTempChestsToggle.Value && ((Component)purchaseInteraction).TryGetComponent<PickupDistributorBehavior>(ref val)) { PickupIndex pickupIndex = val.GetPickup().pickupIndex; if (config.ShowTempChestItemNames.Value && pickupIndex != PickupIndex.none) { DrawPickupDef(PickupCatalog.GetPickupDef(pickupIndex), ((Component)purchaseInteraction).transform.position); } else { drawLabel(((Component)purchaseInteraction).transform.position, "Temp Chest", config.ColorTier_Common.Value); } continue; } if (config.DrawShrinesToggle.Value) { if (config.DrawShrine_Blood.Value && ((Component)purchaseInteraction).TryGetComponent<ShrineBloodBehavior>(ref val2)) { drawLabel(((Component)purchaseInteraction).transform.position, "Shrine of Blood", config.ColorShrine_Blood.Value); continue; } if (config.DrawShrine_Chance.Value && ((Component)purchaseInteraction).TryGetComponent<ShrineChanceBehavior>(ref val3)) { drawLabel(((Component)purchaseInteraction).transform.position, "Shrine of Chance", config.ColorShrine_Chance.Value); continue; } if (config.DrawShrine_Combat.Value && ((Component)purchaseInteraction).TryGetComponent<ShrineCombatBehavior>(ref val4)) { drawLabel(((Component)purchaseInteraction).transform.position, "Shrine of Combat", config.ColorShrine_Combat.Value); continue; } if (config.DrawShrine_Mountain.Value && ((Component)purchaseInteraction).TryGetComponent<ShrineBossBehavior>(ref val5)) { drawLabel(((Component)purchaseInteraction).transform.position, "Shrine of the mountain", config.ColorShrine_Mountain.Value); continue; } if (config.DrawShrine_Healing.Value && ((Component)purchaseInteraction).TryGetComponent<ShrineHealingBehavior>(ref val6)) { drawLabel(((Component)purchaseInteraction).transform.position, "Shrine of Healing", config.ColorShrine_Healing.Value); continue; } if (config.DrawShrine_Cleanse.Value && ((Component)purchaseInteraction).TryGetComponent<ShrineCleanseBehavior>(ref val7)) { drawLabel(((Component)purchaseInteraction).transform.position, "Cleansing Pool", config.ColorShrine_Cleanse.Value); continue; } if (config.DrawShrine_Halcyon.Value && purchaseInteraction.GetDisplayName().ToLower().Contains("halcyon shrine")) { drawLabel(((Component)purchaseInteraction).transform.position, "Halcyon Shrine", config.ColorShrine_Halcyon.Value); continue; } if (config.DrawShrine_Gold.Value && ((Object)purchaseInteraction).name.ToLower().Contains("shrinegold")) { drawLabel(((Component)purchaseInteraction).transform.position, "Shrine of Gold", config.ColorShrine_Gold.Value); continue; } if (config.DrawShrine_Revive.Value && ((Component)purchaseInteraction).TryGetComponent<ShrineColossusAccessBehavior>(ref val8)) { drawLabel(((Component)purchaseInteraction).transform.position, "Revive Shrine", config.ColorShrine_Revive.Value); continue; } } if (config.DrawPortalsToggle.Value && ((Component)purchaseInteraction).TryGetComponent<PortalStatueBehavior>(ref val9)) { if (config.DrawPortal_Newt.Value && (int)val9.portalType == 0) { drawLabel(((Component)purchaseInteraction).transform.position, "Newt Altar", config.ColorPortal_Newt.Value); continue; } if (config.DrawPortal_Gold.Value && (int)val9.portalType == 1) { drawLabel(((Component)purchaseInteraction).transform.position, "Gold Altar", config.ColorPortal_Gold.Value); continue; } } if (config.DrawChestsToggle.Value && ((Component)purchaseInteraction).TryGetComponent<OptionChestBehavior>(ref optionChest)) { if (((Object)purchaseInteraction).name.ToLower().Contains("lockbox")) { drawLabel(((Component)purchaseInteraction).transform.position, "Encrusted Cache", config.ColorTier_Common.Value); DrawOptionChestItems(optionChest, ((Component)purchaseInteraction).transform.position); } else { drawLabel(((Component)purchaseInteraction).transform.position, "Void Potential", config.ColorTier_Common.Value); DrawOptionChestItems(optionChest, ((Component)purchaseInteraction).transform.position); } } else if (config.DrawChestsToggle.Value && ((Component)purchaseInteraction).TryGetComponent<ChestBehavior>(ref val10)) { PickupIndex pickupIndex2 = val10.currentPickup.pickupIndex; if (config.ShowChestItemNames.Value && pickupIndex2 != PickupIndex.none) { DrawPickupDef(PickupCatalog.GetPickupDef(pickupIndex2), ((Component)purchaseInteraction).transform.position); continue; } Color labelColor = Color.white; if (((Object)purchaseInteraction).name.ToLower().Contains("lunar")) { labelColor = config.ColorTier_Lunar.Value; } else if (((Object)purchaseInteraction).name.ToLower().Contains("void")) { labelColor = config.ColorTier_VoidCommon.Value; } drawLabel(((Component)purchaseInteraction).transform.position, purchaseInteraction.GetDisplayName(), labelColor); } else if (config.DrawChestsToggle.Value && ((Component)purchaseInteraction).TryGetComponent<RouletteChestController>(ref val11)) { drawLabel(((Component)purchaseInteraction).transform.position, "Adaptive Chest", config.ColorTier_Common.Value); } else if (config.DrawPrintersToggle.Value && ((Component)purchaseInteraction).TryGetComponent<ShopTerminalBehavior>(ref val12) && (int)purchaseInteraction.costType != 1) { drawLabel(((Component)val12).transform.position, "Printer", config.PrinterColor.Value); if (config.ShowPrinterItemNames.Value) { int num = config.LabelSize.Value + 2; DrawPickupDef(PickupCatalog.GetPickupDef(val12.CurrentPickup().pickupIndex), ((Component)val12).transform.position, new Vector2(0f, (float)num)); } } else if (config.DrawDronesToggle.Value && ((Component)purchaseInteraction).TryGetComponent<SummonMasterBehavior>(ref val13)) { drawLabel(((Component)purchaseInteraction).transform.position, purchaseInteraction.GetDisplayName(), config.DroneColor.Value); } else if (config.DrawAllPurchaseInteractionsToggle.Value) { drawLabel(((Component)purchaseInteraction).transform.position, purchaseInteraction.GetDisplayName(), config.AllInteractionColor.Value); } } } private void drawDroneScrappers() { //IL_005d: 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) if (droneScrappers == null || !config.DrawScrappersToggle.Value) { return; } foreach (DroneScrapperController droneScrapper in droneScrappers) { if (Object.op_Implicit((Object)(object)droneScrapper) && ((Behaviour)droneScrapper).isActiveAndEnabled) { drawLabel(((Component)droneScrapper).transform.position, "Drone Scrapper", config.ScrapperColor.Value); } } } private void drawScrappers() { //IL_0049: 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) if (scrappers == null || !config.DrawScrappersToggle.Value) { return; } foreach (ScrapperController scrapper in scrappers) { if ((Object)(object)scrapper != (Object)null) { drawLabel(((Component)scrapper).transform.position, "Scrapper", config.ScrapperColor.Value); } } } private void drawTeleporters() { //IL_0049: 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) if (teleporters == null || !config.DrawTeleportersToggle.Value) { return; } foreach (TeleporterInteraction teleporter in teleporters) { if ((Object)(object)teleporter != (Object)null) { drawLabel(((Component)teleporter).transform.position, "Teleporter", config.TeleporterColor.Value); } } } private void drawPressurePlates() { //IL_005d: 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) if (pressurePlates == null || !config.DrawPressurePlatesToggle.Value) { return; } foreach (PressurePlateController pressurePlate in pressurePlates) { if (Object.op_Implicit((Object)(object)pressurePlate) && ((Behaviour)pressurePlate).isActiveAndEnabled) { drawLabel(((Component)pressurePlate).transform.position, "Pressure Plate", config.PressurePlateColor.Value); } } } private void drawBarrels() { //IL_008c: 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 (barrels == null || !config.DrawBarrelsToggle.Value) { return; } foreach (BarrelInteraction barrel in barrels) { if (Object.op_Implicit((Object)(object)barrel) && ((Behaviour)barrel).isActiveAndEnabled && (!(barrelOpenedField != null) || !(bool)barrelOpenedField.GetValue(barrel))) { drawLabel(((Component)barrel).transform.position, "Barrel", config.BarrelColor.Value); } } } private void drawAccessNodes() { //IL_007b: 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) if (accessNodes == null || !config.DrawPortal_Node.Value) { return; } foreach (AccessCodesNodeController accessNode in accessNodes) { if (Object.op_Implicit((Object)(object)accessNode)) { EntityStateMachine component = ((Component)accessNode).GetComponent<EntityStateMachine>(); if (!(((object)component.state).GetType().Name == "NodeActive")) { drawLabel(((Component)accessNode).transform.position, "Access Node", config.ColorPortal_Node.Value); } } } } private void drawVultureEggs() { //IL_0076: 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) if (vultureEggs == null || !config.DrawVultureEggsToggle.Value) { return; } foreach (CharacterBody vultureEgg in vultureEggs) { if (Object.op_Implicit((Object)(object)vultureEgg) && (!Object.op_Implicit((Object)(object)vultureEgg.healthComponent) || vultureEgg.healthComponent.alive)) { drawLabel(((Component)vultureEgg).transform.position, "Vulture Egg", config.VultureEggColor.Value); } } } private void drawDroneCombiners() { //IL_0049: 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) if (droneCombiners == null || !config.DrawDroneCombinersToggle.Value) { return; } foreach (DroneCombinerController droneCombiner in droneCombiners) { if ((Object)(object)droneCombiner != (Object)null) { drawLabel(((Component)droneCombiner).transform.position, "Drone Combiner", config.DroneCombinerColor.Value); } } } private void DrawPickupDef(PickupDef def, Vector3 position, Vector2 screenOffset) { //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_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Invalid comparison between Unknown and I4 //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Invalid comparison between Unknown and I4 //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Invalid comparison between Unknown and I4 //IL_0074: 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_0054: 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_00c8: 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_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: 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) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0111: 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_010c: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) if (def == null) { return; } string @string = Language.GetString(def.nameToken); Color val = def.baseColor; if ((int)def.itemIndex != -1) { ItemDef itemDef = ItemCatalog.GetItemDef(def.itemIndex); if (Object.op_Implicit((Object)(object)itemDef)) { val = GetColorForItemTier(itemDef.tier); } } else if ((int)def.equipmentIndex != -1) { EquipmentDef equipmentDef = EquipmentCatalog.GetEquipmentDef(def.equipmentIndex); if (Object.op_Implicit((Object)(object)equipmentDef)) { val = (equipmentDef.isLunar ? config.Color_LunarEquipment.Value : config.Color_Equipment.Value); } } else if ((int)def.droneIndex != -1) { val = config.DroneColor.Value; } else if (def.internalName.Contains("Drone")) { val = config.DroneColor.Value; } if (val.a == 0f) { val = Color.white; } drawLabel(position, @string, val, screenOffset); } private void DrawOptionChestItems(OptionChestBehavior optionChest, Vector3 position) { //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) if (config.ShowChestItemNames.Value && !(optionChestPickupsField == null) && optionChestPickupsField.GetValue(optionChest) is List<UniquePickup> list && list.Count != 0) { for (int i = 0; i < list.Count; i++) { PickupIndex pickupIndex = list[i].pickupIndex; int num = (config.LabelSize.Value + 2) * (i + 1); DrawPickupDef(PickupCatalog.GetPickupDef(pickupIndex), position, new Vector2(0f, (float)num)); } } } private void drawLabel(Vector3 objectPosition, string labelText, Color labelColor, Vector2 screenOffset) { //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_003d: 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_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Expected O, but got Unknown //IL_0094: 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) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Expected O, but got Unknown //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: 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_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_01ed: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Unknown result type (might be due to invalid IL or missing references) //IL_010e: 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_0119: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Expected O, but got Unknown //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Unknown result type (might be due to invalid IL or missing references) //IL_01d8: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)Camera.main == (Object)null) { return; } string text = (config.AltTextToggle.Value ? config.AltText.Value : labelText); Vector3 val = Camera.main.WorldToScreenPoint(objectPosition); if (!(val.z < 0f)) { val.y = (float)Screen.height - val.y; val.x += screenOffset.x; val.y += screenOffset.y; GUIContent val2 = new GUIContent(text); GUIStyle val3 = new GUIStyle { fontSize = config.LabelSize.Value, alignment = (TextAnchor)4 }; Vector2 val4 = val3.CalcSize(val2); Rect val5 = default(Rect); ((Rect)(ref val5))..ctor(val.x - val4.x / 2f, val.y - val4.y / 2f, val4.x, val4.y); if (config.DrawTextShadow.Value) { GUIStyle val6 = new GUIStyle(val3); val6.normal.textColor = Color.black; GUIStyle val7 = val6; float value = config.TextShadowSize.Value; GUI.Label(new Rect(((Rect)(ref val5)).x - value, ((Rect)(ref val5)).y, ((Rect)(ref val5)).width, ((Rect)(ref val5)).height), val2, val7); GUI.Label(new Rect(((Rect)(ref val5)).x + value, ((Rect)(ref val5)).y, ((Rect)(ref val5)).width, ((Rect)(ref val5)).height), val2, val7); GUI.Label(new Rect(((Rect)(ref val5)).x, ((Rect)(ref val5)).y - value, ((Rect)(ref val5)).width, ((Rect)(ref val5)).height), val2, val7); GUI.Label(new Rect(((Rect)(ref val5)).x, ((Rect)(ref val5)).y + value, ((Rect)(ref val5)).width, ((Rect)(ref val5)).height), val2, val7); } val3.normal.textColor = labelColor; GUI.Label(val5, val2, val3); } } private Color GetColorForItemTier(ItemTier tier) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected I4, but got Unknown //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0054: 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_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_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_0088: 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_0095: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: 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) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) return (Color)((int)tier switch { 0 => config.ColorTier_Common.Value, 1 => config.ColorTier_Uncommon.Value, 2 => config.ColorTier_Legendary.Value, 4 => config.ColorTier_Boss.Value, 3 => config.ColorTier_Lunar.Value, 6 => config.ColorTier_VoidCommon.Value, 7 => config.ColorTier_VoidUncommon.Value, 8 => config.ColorTier_VoidLegendary.Value, 9 => config.ColorTier_VoidBoss.Value, _ => Color.grey, }); } private void DrawPickupDef(PickupDef def, Vector3 position) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) DrawPickupDef(def, position, Vector2.zero); } private void drawLabel(Vector3 objectPosition, string labelText, Color labelColor) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Unknown result type (might be due to invalid IL or missing references) drawLabel(objectPosition, labelText, labelColor, Vector2.zero); } } [BepInPlugin("Rabusu.ESP", "ESP", "1.2.3")] public class Main : BaseUnityPlugin { public const string PluginGUID = "Rabusu.ESP"; public const string PluginAuthor = "Rabusu"; public const string PluginName = "ESP"; public const string PluginVersion = "1.2.3"; private ESP esp; private Menu menu; private bool espEnabled = false; private void Awake() { config.Init(((BaseUnityPlugin)this).Config); menu = ((Component)this).gameObject.AddComponent<Menu>(); esp = ((Component)this).gameObject.AddComponent<ESP>(); esp.getReflectionFields(); Stage.onStageStartGlobal += OnStageStart; } private void Update() { //IL_0006: 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) if (Input.GetKeyDown(config.ToggleEspKey.Value)) { esp.FindObjects(); espEnabled = !espEnabled; } if (Input.GetKeyDown(config.ToggleMenuKey.Value)) { menu.showMenu = !menu.showMenu; config.configFile.Save(); } } private void OnGUI() { menu.OnGUI(); if (espEnabled) { esp.drawESP(); } } public void OnStageStart(Stage stage) { esp.Find(); } private void OnDestroy() { Stage.onStageStartGlobal -= OnStageStart; } } public class Menu : MonoBehaviour { public bool showMenu; private Rect _mainRect = new Rect(40f, 40f, 360f, 720f); private Rect _colorPickerRect = new Rect(410f, 40f, 250f, 180f); private ConfigEntry<Color> _colorToEdit; private string _colorPickerTitle; private Vector2 _scrollPosition; public void OnGUI() { //IL_001b: 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: Expected O, but got Unknown //IL_0031: 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_004c: 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_0068: Expected O, but got Unknown //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) if (!showMenu) { _colorToEdit = null; return; } _mainRect = GUI.Window(0, _mainRect, new WindowFunction(MenuWindow), "ESP Settings"); if (_colorToEdit != null) { _colorPickerRect = GUI.Window(1, _colorPickerRect, new WindowFunction(ColorPickerWindow), _colorPickerTitle); } } private void MenuWindow(int windowID) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0022: 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) //IL_0031: Unknown result type (might be due to invalid IL or missing references) GUI.DragWindow(new Rect(0f, 0f, 10000f, 20f)); _scrollPosition = GUILayout.BeginScrollView(_scrollPosition, Array.Empty<GUILayoutOption>()); GUILayout.BeginVertical(GUIStyle.op_Implicit("box"), Array.Empty<GUILayoutOption>()); GUILayout.Label("General Settings", Array.Empty<GUILayoutOption>()); GUILayout.Label($"Label Size: {config.LabelSize.Value}", Array.Empty<GUILayoutOption>()); config.LabelSize.Value = (int)GUILayout.HorizontalSlider((float)config.LabelSize.Value, 8f, 80f, Array.Empty<GUILayoutOption>()); config.AltTextToggle.Value = GUILayout.Toggle(config.AltTextToggle.Value, " Alternative Look", Array.Empty<GUILayoutOption>()); if (config.AltTextToggle.Value) { GUILayout.Label("Alt Text:", Array.Empty<GUILayoutOption>()); config.AltText.Value = GUILayout.TextField(config.AltText.Value, 1, Array.Empty<GUILayoutOption>()); } config.DrawTextShadow.Value = GUILayout.Toggle(config.DrawTextShadow.Value, " Text Shadow", Array.Empty<GUILayoutOption>()); GUILayout.EndVertical(); GUILayout.BeginVertical(GUIStyle.op_Implicit("box"), Array.Empty<GUILayoutOption>()); GUILayout.Label("Main Toggles", Array.Empty<GUILayoutOption>()); config.DrawChestsToggle.Value = GUILayout.Toggle(config.DrawChestsToggle.Value, " Chests", Array.Empty<GUILayoutOption>()); if (config.DrawChestsToggle.Value) { IndentedToggle(config.ShowChestItemNames, "Show Item Names"); } config.DrawTempChestsToggle.Value = GUILayout.Toggle(config.DrawTempChestsToggle.Value, " Temp Chests", Array.Empty<GUILayoutOption>()); if (config.DrawTempChestsToggle.Value) { IndentedToggle(config.ShowTempChestItemNames, "Show Item Names"); } DrawColorOption("Shops", config.DrawShopsToggle, config.ShopColor); if (config.DrawShopsToggle.Value) { IndentedToggle(config.ShowShopItemNames, "Show Item Names"); } GUILayout.BeginVertical(Array.Empty<GUILayoutOption>()); DrawColorOption("Printers", config.DrawPrintersToggle, config.PrinterColor); if (config.DrawPrintersToggle.Value) { IndentedToggle(config.ShowPrinterItemNames, "Show Item Names"); } GUILayout.EndVertical(); DrawColorOption("Scrappers", config.DrawScrappersToggle, config.ScrapperColor); DrawColorOption("Teleporters", config.DrawTeleportersToggle, config.TeleporterColor); DrawColorOption("Drones & Turrets", config.DrawDronesToggle, config.DroneColor); DrawColorOption("Drone Combiners", config.DrawDroneCombinersToggle, config.DroneCombinerColor); config.DrawShrinesToggle.Value = GUILayout.Toggle(config.DrawShrinesToggle.Value, " Shrines", Array.Empty<GUILayoutOption>()); config.DrawPortalsToggle.Value = GUILayout.Toggle(config.DrawPortalsToggle.Value, " Altars", Array.Empty<GUILayoutOption>()); DrawColorOption("Pressure Plates", config.DrawPressurePlatesToggle, config.PressurePlateColor); DrawColorOption("Vulture Eggs", config.DrawVultureEggsToggle, config.VultureEggColor); DrawColorOption("Barrels", config.DrawBarrelsToggle, config.BarrelColor); DrawColorOption("All Other Interactions", config.DrawAllPurchaseInteractionsToggle, config.AllInteractionColor); GUILayout.EndVertical(); if (config.ShowChestItemNames.Value || config.ShowPrinterItemNames.Value || config.ShowShopItemNames.Value) { GUILayout.BeginVertical(GUIStyle.op_Implicit("box"), Array.Empty<GUILayoutOption>()); GUILayout.Label("Item & Equipment Colors", Array.Empty<GUILayoutOption>()); DrawColorOption("Common", config.ColorTier_Common); DrawColorOption("Uncommon", config.ColorTier_Uncommon); DrawColorOption("Legendary", config.ColorTier_Legendary); DrawColorOption("Boss", config.ColorTier_Boss); DrawColorOption("Lunar", config.ColorTier_Lunar); DrawColorOption("Void Common", config.ColorTier_VoidCommon); DrawColorOption("Void Uncommon", config.ColorTier_VoidUncommon); DrawColorOption("Void Legendary", config.ColorTier_VoidLegendary); DrawColorOption("Void Boss", config.ColorTier_VoidBoss); DrawColorOption("Equipment", config.Color_Equipment); DrawColorOption("Lunar Equipment", config.Color_LunarEquipment); GUILayout.EndVertical(); } if (config.DrawShrinesToggle.Value) { GUILayout.BeginVertical(GUIStyle.op_Implicit("box"), Array.Empty<GUILayoutOption>()); GUILayout.Label("Shrine Settings", Array.Empty<GUILayoutOption>()); DrawSubColorOption("Shrine of Blood", config.DrawShrine_Blood, config.ColorShrine_Blood); DrawSubColorOption("Shrine of Chance", config.DrawShrine_Chance, config.ColorShrine_Chance); DrawSubColorOption("Shrine of Combat", config.DrawShrine_Combat, config.ColorShrine_Combat); DrawSubColorOption("Shrine of Gold", config.DrawShrine_Gold, config.ColorShrine_Gold); DrawSubColorOption("Shrine of the Mountain", config.DrawShrine_Mountain, config.ColorShrine_Mountain); DrawSubColorOption("Shrine of Healing", config.DrawShrine_Healing, config.ColorShrine_Healing); DrawSubColorOption("Cleansing Pool", config.DrawShrine_Cleanse, config.ColorShrine_Cleanse); DrawSubColorOption("Halcyon Shrine", config.DrawShrine_Halcyon, config.ColorShrine_Halcyon); DrawSubColorOption("Revive Shrine", config.DrawShrine_Revive, config.ColorShrine_Revive); GUILayout.EndVertical(); } if (config.DrawPortalsToggle.Value) { GUILayout.BeginVertical(GUIStyle.op_Implicit("box"), Array.Empty<GUILayoutOption>()); GUILayout.Label("Altar Settings", Array.Empty<GUILayoutOption>()); DrawSubColorOption("Newt Altar", config.DrawPortal_Newt, config.ColorPortal_Newt); DrawSubColorOption("Gold Altar", config.DrawPortal_Gold, config.ColorPortal_Gold); DrawSubColorOption("Access Node", config.DrawPortal_Node, config.ColorPortal_Node); GUILayout.EndVertical(); } GUILayout.EndScrollView(); } private void IndentedToggle(ConfigEntry<bool> config, string text) { GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>()); GUILayout.Space(20f); config.Value = GUILayout.Toggle(config.Value, text, Array.Empty<GUILayoutOption>()); GUILayout.EndHorizontal(); } private void ColorPickerWindow(int windowID) { //IL_0015: 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_003d: 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_004e: 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_008a: Unknown result type (might be due to invalid IL or missing references) //IL_009a: 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_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: 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_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) GUI.DragWindow(new Rect(0f, 0f, 10000f, 20f)); if (_colorToEdit != null) { Color value = _colorToEdit.Value; GUI.color = Color.red; GUILayout.Label($"R: {value.r:F2}", Array.Empty<GUILayoutOption>()); value.r = GUILayout.HorizontalSlider(value.r, 0f, 1f, Array.Empty<GUILayoutOption>()); GUI.color = Color.green; GUILayout.Label($"G: {value.g:F2}", Array.Empty<GUILayoutOption>()); value.g = GUILayout.HorizontalSlider(value.g, 0f, 1f, Array.Empty<GUILayoutOption>()); GUI.color = Color.blue; GUILayout.Label($"B: {value.b:F2}", Array.Empty<GUILayoutOption>()); value.b = GUILayout.HorizontalSlider(value.b, 0f, 1f, Array.Empty<GUILayoutOption>()); GUI.color = Color.white; _colorToEdit.Value = value; if (GUILayout.Button("Close", Array.Empty<GUILayoutOption>())) { _colorToEdit = null; } } } private void DrawColorOption(string title, ConfigEntry<bool> toggle, ConfigEntry<Color> color) { GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>()); toggle.Value = GUILayout.Toggle(toggle.Value, " " + title, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.ExpandWidth(true) }); if (toggle.Value) { ColorButton(color, title); } GUILayout.EndHorizontal(); } private void DrawColorOption(string title, ConfigEntry<Color> color) { GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>()); GUILayout.Label(" " + title, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.ExpandWidth(true) }); ColorButton(color, title); GUILayout.EndHorizontal(); } private void DrawSubColorOption(string title, ConfigEntry<bool> toggle, ConfigEntry<Color> color) { GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>()); GUILayout.Space(20f); toggle.Value = GUILayout.Toggle(toggle.Value, " " + title, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.ExpandWidth(true) }); if (toggle.Value) { ColorButton(color, title); } GUILayout.EndHorizontal(); } private void ColorButton(ConfigEntry<Color> color, string title) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) Color backgroundColor = GUI.backgroundColor; GUI.backgroundColor = color.Value; if (GUILayout.Button("", (GUILayoutOption[])(object)new GUILayoutOption[2] { GUILayout.Width(40f), GUILayout.Height(18f) })) { if (_colorToEdit == color) { _colorToEdit = null; } else { _colorToEdit = color; _colorPickerTitle = title + " Color"; } } GUI.backgroundColor = backgroundColor; } } }