using 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_05dd: Unknown result type (might be due to invalid IL or missing references)
//IL_05e3: Invalid comparison between Unknown and I4
//IL_05fa: Unknown result type (might be due to invalid IL or missing references)
//IL_0609: 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_0636: Unknown result type (might be due to invalid IL or missing references)
//IL_063b: Unknown result type (might be due to invalid IL or missing references)
//IL_064c: Unknown result type (might be due to invalid IL or missing references)
//IL_0659: 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_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_068c: Unknown result type (might be due to invalid IL or missing references)
//IL_069c: 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_06c1: 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_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_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);
ShopTerminalBehavior val11 = default(ShopTerminalBehavior);
SummonMasterBehavior val12 = 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.DrawPrintersToggle.Value && ((Component)purchaseInteraction).TryGetComponent<ShopTerminalBehavior>(ref val11) && (int)purchaseInteraction.costType != 1)
{
drawLabel(((Component)val11).transform.position, "Printer", config.PrinterColor.Value);
if (config.ShowPrinterItemNames.Value)
{
int num = config.LabelSize.Value + 2;
DrawPickupDef(PickupCatalog.GetPickupDef(val11.CurrentPickup().pickupIndex), ((Component)val11).transform.position, new Vector2(0f, (float)num));
}
}
else if (config.DrawDronesToggle.Value && ((Component)purchaseInteraction).TryGetComponent<SummonMasterBehavior>(ref val12))
{
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;
}
}
}