Decompiled source of Aerolt v4.1.1
Aerolt.dll
Decompiled 2 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; using System.Net; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Text; using System.Text.RegularExpressions; using Aerolt.Buttons; using Aerolt.Classes; using Aerolt.Enums; using Aerolt.Helpers; using Aerolt.Managers; using Aerolt.Messages; using Aerolt.Overrides; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using HG; using HarmonyLib; using JetBrains.Annotations; using KinematicCharacterController; using Microsoft.CodeAnalysis; using RiskOfOptions; using RiskOfOptions.Components.Panel; using RiskOfOptions.Options; using RoR2; using RoR2.CharacterAI; using RoR2.ContentManagement; using RoR2.Networking; using RoR2.UI; using TMPro; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.Events; using UnityEngine.Networking; using UnityEngine.Serialization; using UnityEngine.UI; using Zio; using ZioConfigFile; using ZioRiskOfOptions; [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("Aerolt")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+930c61a72c9d7d8ffb4be5d20d97e9914368f246")] [assembly: AssemblyProduct("Aerolt")] [assembly: AssemblyTitle("Aerolt")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace Aerolt { [BepInPlugin("com.Lodington.Aerolt", "Aerolt", "4.1.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Load : BaseUnityPlugin { public class AeroltHudLoader : MonoBehaviour { public HUD hud; public void SpawnHud() { if (!Object.op_Implicit((Object)(object)hud.cameraRigController)) { return; } NetworkUser viewer = hud.cameraRigController.viewer; if (!AeroltUIs.ContainsKey(viewer)) { if (Object.op_Implicit((Object)(object)_settingsUI) && _settingsUI.activeSelf) { _settingsUI.SetActive(false); } TempViewer = viewer; TempHud = hud; GameObject val = Object.Instantiate<GameObject>(Co); val.GetComponent<MPEventSystemProvider>().eventSystem = hud.eventSystemProvider.eventSystem; TempViewer = null; TempHud = null; AeroltUIs.Add(viewer, val); Tools.Log(LogLevel.Information, "Created UI"); } } } public const string Name = "Aerolt"; public const string Guid = "com.Lodington.Aerolt"; public const string Version = "4.1.0"; public static ManualLogSource Log; public static GameObject Co; public static AssetBundle Assets; public static Load Instance = null; public static Dictionary<ButtonNames, ZioConfigEntry<KeyboardShortcut>> KeyBinds = new Dictionary<ButtonNames, ZioConfigEntry<KeyboardShortcut>>(); public static Dictionary<NetworkUser, GameObject> AeroltUIs = new Dictionary<NetworkUser, GameObject>(); private static GameObject _settingsUI; public static ZioConfigFile ConfigFile; public static NetworkUser TempViewer; public static HUD TempHud; public static string Path; public void Awake() { Instance = this; Log = ((BaseUnityPlugin)this).Logger; Path = System.IO.Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location); Assets = AssetBundle.LoadFromFile(System.IO.Path.Combine(Path, "aeroltbundle")); Tools.Log(LogLevel.Information, "Loaded AssetBundle"); Co = Assets.LoadAsset<GameObject>("PlayerCanvas"); Assets.LoadAsset<GameObject>("AeroltUI"); Tools.Log(LogLevel.Information, Tools.SendCount()); NetworkManager.Initialize(); } public void Start() { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown RoR2Application.onLoad = (Action)Delegate.Combine(RoR2Application.onLoad, new Action(GameLoad)); HUD.shouldHudDisplay += new ShouldHudDisplayDelegate(CreateHud); } public void OnGUI() { if (Object.op_Implicit((Object)(object)Esp.Instance)) { Esp.Draw(); } } public static bool GetKeyPressed(ZioConfigEntry<KeyboardShortcut> entry) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_001f: 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_004f: Unknown result type (might be due to invalid IL or missing references) KeyboardShortcut value = entry.Value; foreach (KeyCode modifier in ((KeyboardShortcut)(ref value)).Modifiers) { if (!Input.GetKey(modifier)) { return false; } } value = entry.Value; return Input.GetKeyDown(((KeyboardShortcut)(ref value)).MainKey); } private void GameLoad() { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Expected O, but got Unknown //IL_004a: Unknown result type (might be due to invalid IL or missing references) ConfigFile = new ZioConfigFile(RoR2Application.cloudStorage, UPath.op_Implicit("/Aerolt/Settings.cfg"), true, (BepInPlugin)null); CreateKeyBindSettings(); Colors.InitColors(); Harmony val = new Harmony(((BaseUnityPlugin)this).Info.Metadata.GUID); new PatchClassProcessor(val, typeof(Hooks)).Patch(); } private void CreateKeyBindSettings() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) KeyBinds.Add(ButtonNames.OpenMenu, ConfigFile.Bind<KeyboardShortcut>("Keybinds", "OpenMenu", new KeyboardShortcut((KeyCode)282, Array.Empty<KeyCode>()), (ConfigDescription)null)); if (Chainloader.PluginInfos.ContainsKey("bubbet.zioriskofoptions")) { MakeRiskOfOptions(); } } private void MakeRiskOfOptions() { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Expected O, but got Unknown foreach (ZioConfigEntry<KeyboardShortcut> value in KeyBinds.Values) { ModSettingsManager.AddOption((BaseOption)new ZioKeyBindOption(value)); } ModSettingsManager.SetModIcon(Assets.LoadAsset<Sprite>("NewLogo")); } public static void CreateHud(HUD hud, ref bool shoulddisplay) { if (Object.op_Implicit((Object)(object)hud.cameraRigController) && !Object.op_Implicit((Object)(object)((Component)hud).gameObject.GetComponent<AeroltHudLoader>())) { NetworkUser viewer = hud.cameraRigController.viewer; if (!AeroltUIs.ContainsKey(viewer)) { AeroltHudLoader aeroltHudLoader = ((Component)hud).gameObject.AddComponent<AeroltHudLoader>(); aeroltHudLoader.hud = hud; ((MonoBehaviour)aeroltHudLoader).Invoke("SpawnHud", 3f); } } } } } namespace Aerolt.Overrides { [HarmonyPatch] public class Hooks { } public class IconSwap : MonoBehaviour { public Image discord; public Sprite imageToSwapTo; public void Awake() { SwapThisImage(); } public void SwapThisImage() { discord.sprite = imageToSwapTo; } } } namespace Aerolt.Messages { public class BodyStatMessage : AeroltMessageBase { private string fieldName; private CharacterBody TargetBody; private float value; public BodyStatMessage() { } public BodyStatMessage(CharacterBody targetBody, string fieldName, float result) { this.fieldName = fieldName; TargetBody = targetBody; value = result; } public override void Handle() { base.Handle(); FieldInfo field = typeof(CharacterBody).GetField(fieldName, BindingFlags.Instance | BindingFlags.Public); field.SetValue(TargetBody, value); TargetBody.statsDirty = true; } public override void Deserialize(NetworkReader reader) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Deserialize(reader); GameObject val = Util.FindNetworkObject(reader.ReadNetworkId()); if (Object.op_Implicit((Object)(object)val)) { TargetBody = val.GetComponent<CharacterBody>(); } fieldName = reader.ReadString(); value = reader.ReadSingle(); } public override void Serialize(NetworkWriter writer) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Serialize(writer); writer.Write(((NetworkBehaviour)TargetBody).netId); writer.Write(fieldName); writer.Write(value); } } public class CurrencyMessage : AeroltMessageBase { private CurrencyType _type; private uint amount; private CharacterMaster master; public CurrencyMessage() { } public CurrencyMessage(CharacterMaster master, CurrencyType type, uint amount) { _type = type; this.amount = amount; this.master = master; } public override void Handle() { //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) base.Handle(); switch (_type) { case CurrencyType.Money: master.GiveMoney(amount - master.money); break; case CurrencyType.Lunar: { NetworkUser networkUser = master.playerCharacterMasterController.networkUser; long num = (int)amount - networkUser.NetworknetLunarCoins; if (num < 0) { networkUser.DeductLunarCoins((uint)Math.Abs(num)); } else { networkUser.AwardLunarCoins((uint)num); } break; } case CurrencyType.Void: master.GiveVoidCoins(amount - master.voidCoins); break; case CurrencyType.Experience: TeamManager.instance.SetTeamExperience(master.teamIndex, (ulong)amount); break; case CurrencyType.Level: TeamManager.instance.SetTeamLevel(master.teamIndex, amount); break; default: throw new ArgumentOutOfRangeException(); } } public override void Deserialize(NetworkReader reader) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Deserialize(reader); GameObject val = Util.FindNetworkObject(reader.ReadNetworkId()); if (Object.op_Implicit((Object)(object)val)) { master = val.GetComponent<CharacterMaster>(); } _type = (CurrencyType)reader.ReadPackedUInt32(); amount = reader.ReadPackedUInt32(); } public override void Serialize(NetworkWriter writer) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Serialize(writer); writer.Write(((NetworkBehaviour)master).netId); writer.WritePackedUInt32((uint)_type); writer.WritePackedUInt32(amount); } } public enum CurrencyType { Money, Lunar, Void, Experience, Level } public class GodModeMessage : AeroltMessageBase { private bool enabled; private CharacterMaster master; public GodModeMessage() { } public GodModeMessage(CharacterMaster master, bool enable) { this.master = master; enabled = enable; } public override void Handle() { base.Handle(); master.godMode = enabled; master.UpdateBodyGodMode(); } public override void Deserialize(NetworkReader reader) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Deserialize(reader); GameObject val = Util.FindNetworkObject(reader.ReadNetworkId()); if (Object.op_Implicit((Object)(object)val)) { master = val.GetComponent<CharacterMaster>(); } enabled = reader.ReadBoolean(); } public override void Serialize(NetworkWriter writer) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Serialize(writer); writer.Write(((NetworkBehaviour)master).netId); writer.Write(enabled); } } public class InteractableSpawnMessage : AeroltMessageBase { private uint index; private Vector3 position; public InteractableSpawnMessage() { } public InteractableSpawnMessage(uint index, Vector3 position) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) this.index = index; this.position = position; } public override void Serialize(NetworkWriter writer) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Serialize(writer); writer.WritePackedUInt32(index); writer.Write(position); } public override void Deserialize(NetworkReader reader) { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Deserialize(reader); index = reader.ReadPackedUInt32(); position = reader.ReadVector3(); } public override void Handle() { //IL_000f: Unknown result type (might be due to invalid IL or missing references) base.Handle(); InteractableManager.Spawn(index, position); } } public class KillAllTeamMessage : AeroltMessageBase { private TeamIndex team; public KillAllTeamMessage() { } public KillAllTeamMessage(TeamIndex allExcept) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) team = allExcept; } public override void Handle() { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) base.Handle(); TeamMask mask = TeamMask.AllExcept(team); CharacterMaster[] array = CharacterMaster.instancesList.Where((CharacterMaster x) => ((TeamMask)(ref mask)).HasTeam(x.teamIndex)).ToArray(); CharacterMaster[] array2 = array; foreach (CharacterMaster val in array2) { CharacterBody body = val.GetBody(); if (Object.op_Implicit((Object)(object)body)) { Chat.AddMessage("<color=yellow>Killed " + body.GetDisplayName() + " </color>"); } val.TrueKill(); } } public override void Deserialize(NetworkReader reader) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Deserialize(reader); team = NetworkExtensions.ReadTeamIndex(reader); } public override void Serialize(NetworkWriter writer) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Serialize(writer); NetworkExtensions.Write(writer, team); } } public class KillMessage : AeroltMessageBase { private CharacterMaster master; public KillMessage() { } public KillMessage(CharacterMaster master) { this.master = master; } public override void Handle() { base.Handle(); master.TrueKill(); } public override void Deserialize(NetworkReader reader) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Deserialize(reader); GameObject val = Util.FindNetworkObject(reader.ReadNetworkId()); if (Object.op_Implicit((Object)(object)val)) { master = val.GetComponent<CharacterMaster>(); } } public override void Serialize(NetworkWriter writer) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Serialize(writer); writer.Write(((NetworkBehaviour)master).netId); } } public class MonsterSpawnMessage : AeroltMessageBase { private string bodyName; private bool brainDead; private EquipmentIndex eliteIndex; private Dictionary<ItemDef, uint> itemCounts; private Vector3 location; private string masterName; private TeamIndex teamIndex; public MonsterSpawnMessage() { } public MonsterSpawnMessage(string masterName, string bodyName, Vector3 vector3, TeamIndex teamIndex1, EquipmentIndex equipmentIndex, bool brainDead, Dictionary<ItemDef, uint> toDictionary) { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) this.masterName = masterName; this.bodyName = bodyName; location = vector3; teamIndex = teamIndex1; eliteIndex = equipmentIndex; this.brainDead = brainDead; itemCounts = toDictionary; } public override void Handle() { //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_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Invalid comparison between Unknown and I4 //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) base.Handle(); GameObject val = MasterCatalog.FindMasterPrefab(masterName); GameObject val2 = Object.Instantiate<GameObject>(val.gameObject, location, Quaternion.identity); CharacterMaster component = val2.GetComponent<CharacterMaster>(); component.teamIndex = teamIndex; foreach (var (val4, num2) in itemCounts) { component.inventory.GiveItem(val4, (int)num2); } if ((int)eliteIndex != -1) { component.inventory.SetEquipmentIndex(eliteIndex); } if (brainDead) { BaseAI[] aiComponents = component.aiComponents; foreach (BaseAI val5 in aiComponents) { Object.Destroy((Object)(object)val5); } } NetworkServer.Spawn(val2); component.bodyPrefab = BodyCatalog.FindBodyPrefab(bodyName); component.SpawnBody(location, Quaternion.identity); } public override void Deserialize(NetworkReader reader) { //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Deserialize(reader); masterName = reader.ReadString(); bodyName = reader.ReadString(); location = reader.ReadVector3(); teamIndex = NetworkExtensions.ReadTeamIndex(reader); eliteIndex = NetworkExtensions.ReadEquipmentIndex(reader); brainDead = reader.ReadBoolean(); itemCounts = reader.ReadItemAmounts(); } public override void Serialize(NetworkWriter writer) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Serialize(writer); writer.Write(masterName); writer.Write(bodyName); writer.Write(location); NetworkExtensions.Write(writer, teamIndex); NetworkExtensions.Write(writer, eliteIndex); writer.Write(brainDead); writer.Write(itemCounts); } } public class PortalSpawnMessage : AeroltMessageBase { private string portal; public PortalSpawnMessage(string portal) { this.portal = portal; } public override void Handle() { //IL_0102: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Expected O, but got Unknown //IL_01c3: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01da: Expected O, but got Unknown base.Handle(); switch (portal) { case "gold": TeleporterInteraction.instance.shouldAttemptToSpawnGoldshoresPortal = true; break; case "newt": TeleporterInteraction.instance.shouldAttemptToSpawnShopPortal = true; break; case "blue": TeleporterInteraction.instance.shouldAttemptToSpawnMSPortal = true; break; case "void": { PortalSpawner val2 = ((IEnumerable<PortalSpawner>)TeleporterInteraction.instance.portalSpawners).FirstOrDefault((Func<PortalSpawner, bool>)((PortalSpawner x) => x.spawnMessageToken == "PORTAL_VOID_OPEN")); if ((Object)(object)val2 != (Object)null && Run.instance.IsExpansionEnabled(val2.requiredExpansion)) { val2.NetworkwillSpawn = true; if (!string.IsNullOrEmpty(val2.spawnPreviewMessageToken)) { Chat.SendBroadcastChat((ChatMessageBase)new SimpleChatMessage { baseToken = val2.spawnPreviewMessageToken }); } if (Object.op_Implicit((Object)(object)val2.previewChild)) { val2.previewChild.SetActive(true); } } break; } case "all": { Chat.AddMessage("<color=red>Spawned All Portal</color>"); TeleporterInteraction.instance.shouldAttemptToSpawnGoldshoresPortal = true; TeleporterInteraction.instance.shouldAttemptToSpawnShopPortal = true; TeleporterInteraction.instance.shouldAttemptToSpawnMSPortal = true; PortalSpawner[] portalSpawners = TeleporterInteraction.instance.portalSpawners; foreach (PortalSpawner val in portalSpawners) { if (Run.instance.IsExpansionEnabled(val.requiredExpansion)) { val.NetworkwillSpawn = true; if (!string.IsNullOrEmpty(val.spawnPreviewMessageToken)) { Chat.SendBroadcastChat((ChatMessageBase)new SimpleChatMessage { baseToken = val.spawnPreviewMessageToken }); } if (Object.op_Implicit((Object)(object)val.previewChild)) { val.previewChild.SetActive(true); } } } break; } } } public override void Deserialize(NetworkReader reader) { ((MessageBase)this).Deserialize(reader); portal = reader.ReadString(); } public override void Serialize(NetworkWriter writer) { ((MessageBase)this).Serialize(writer); writer.Write(portal); } } public class SceneChangeMessage : AeroltMessageBase { private bool isSet; private SceneIndex target; public SceneChangeMessage() { } public SceneChangeMessage(SceneIndex sceneIndex) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) isSet = true; target = sceneIndex; } public override void Handle() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) base.Handle(); SceneDef sceneDef = SceneCatalog.GetSceneDef(target); if (isSet && Object.op_Implicit((Object)(object)sceneDef)) { Run.instance.AdvanceStage(sceneDef); Run instance = Run.instance; instance.stageClearCount--; } else { Run.instance.AdvanceStage(Run.instance.nextStageScene); } } public override void Deserialize(NetworkReader reader) { //IL_001c: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Deserialize(reader); isSet = reader.ReadBoolean(); target = (SceneIndex)reader.ReadInt32(); } public override void Serialize(NetworkWriter writer) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Expected I4, but got Unknown ((MessageBase)this).Serialize(writer); writer.Write(isSet); writer.Write((int)target); } } public class SetBodyMessage : AeroltMessageBase { private string newBody; private NetworkUser user; public SetBodyMessage() { } public SetBodyMessage(NetworkUser user, CharacterBody newBody) : this(user) { this.newBody = ((Object)newBody).name; } public SetBodyMessage(NetworkUser networkUser) { user = networkUser; newBody = ""; } public override void Handle() { base.Handle(); GameOverController val = Object.FindObjectOfType<GameOverController>(); if (Object.op_Implicit((Object)(object)val)) { foreach (KeyValuePair<HUD, GameEndReportPanelController> reportPanel in val.reportPanels) { Object.Destroy((Object)(object)((Component)reportPanel.Value).gameObject); } Object.Destroy((Object)(object)((Component)val).gameObject); } if (NetworkServer.active) { bool usePod = false; if (Object.op_Implicit((Object)(object)Stage.instance)) { usePod = Stage.instance.usePod; Stage.instance.usePod = false; } user.master.preventRespawnUntilNextStageServer = false; user.master.CmdRespawn(newBody); if (Object.op_Implicit((Object)(object)Stage.instance)) { Stage.instance.usePod = usePod; } } } public override void Deserialize(NetworkReader reader) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Deserialize(reader); GameObject val = Util.FindNetworkObject(reader.ReadNetworkId()); if (Object.op_Implicit((Object)(object)val)) { user = val.GetComponent<NetworkUser>(); } newBody = reader.ReadString(); } public override void Serialize(NetworkWriter writer) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Serialize(writer); writer.Write(((NetworkBehaviour)user).netId); writer.Write(newBody); } } public class SetBuffCountMessage : AeroltMessageBase { public CharacterBody body; public Dictionary<BuffIndex, uint> buffCounts; public SetBuffCountMessage() { } public SetBuffCountMessage(CharacterBody bodyIn, Dictionary<BuffIndex, uint> buffCountsIn) { body = bodyIn; buffCounts = buffCountsIn; } public override void Handle() { //IL_0027: Unknown result type (might be due to invalid IL or missing references) base.Handle(); foreach (KeyValuePair<BuffIndex, uint> buffCount in buffCounts) { body.SetBuffCount(buffCount.Key, (int)buffCount.Value); } } public override void Deserialize(NetworkReader reader) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Deserialize(reader); GameObject val = Util.FindNetworkObject(reader.ReadNetworkId()); if (Object.op_Implicit((Object)(object)val)) { body = val.GetComponent<CharacterBody>(); } uint num = reader.ReadPackedUInt32(); buffCounts = new Dictionary<BuffIndex, uint>(); for (int i = 0; i < num; i++) { buffCounts.Add((BuffIndex)reader.ReadPackedUInt32(), reader.ReadPackedUInt32()); } } public override void Serialize(NetworkWriter writer) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected I4, but got Unknown ((MessageBase)this).Serialize(writer); writer.Write(((NetworkBehaviour)body).netId); writer.WritePackedUInt32((uint)buffCounts.Count); foreach (var (val2, num2) in buffCounts) { writer.WritePackedUInt32((uint)(int)val2); writer.WritePackedUInt32(num2); } } } public class SetEquipmentMessage : AeroltMessageBase { private Dictionary<EquipmentDef, int> equipmentCounts; private Inventory inventory; public SetEquipmentMessage() { } public SetEquipmentMessage(Inventory inventory, Dictionary<EquipmentDef, int> equipmentCounts) { this.inventory = inventory; this.equipmentCounts = equipmentCounts; } public override void Serialize(NetworkWriter writer) { //IL_0010: 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_0063: Expected I4, but got Unknown ((MessageBase)this).Serialize(writer); writer.Write(((NetworkBehaviour)inventory).netId); writer.WritePackedUInt32((uint)equipmentCounts.Count); foreach (var (val2, num2) in equipmentCounts) { writer.WritePackedUInt32((uint)(int)val2.equipmentIndex); writer.WritePackedUInt32((uint)num2); } } public override void Deserialize(NetworkReader reader) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Deserialize(reader); GameObject obj = Util.FindNetworkObject(reader.ReadNetworkId()); inventory = ((obj != null) ? obj.GetComponent<Inventory>() : null); equipmentCounts = new Dictionary<EquipmentDef, int>(); uint num = reader.ReadPackedUInt32(); for (int i = 0; i < num; i++) { EquipmentDef equipmentDef = EquipmentCatalog.GetEquipmentDef((EquipmentIndex)reader.ReadPackedUInt32()); equipmentCounts.Add(equipmentDef, (int)reader.ReadPackedUInt32()); } } public override void Handle() { //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042->IL0042: Incompatible stack types: O vs I4 //IL_0036->IL0042: Incompatible stack types: I4 vs O //IL_0036->IL0042: Incompatible stack types: O vs I4 base.Handle(); foreach (KeyValuePair<EquipmentDef, int> equipmentCount in equipmentCounts) { object obj = inventory; int num; if (!Object.op_Implicit((Object)(object)equipmentCount.Key)) { num = -1; obj = num; num = (int)obj; } else { obj = equipmentCount.Key.equipmentIndex; num = (int)obj; } ((Inventory)num).SetEquipmentIndex((EquipmentIndex)obj); } } } public class SetItemCountMessage : AeroltMessageBase { private Inventory inventory; private Dictionary<ItemDef, uint> itemCounts; public SetItemCountMessage() { } public SetItemCountMessage(Inventory inventory, Dictionary<ItemDef, int> itemCounts) { this.inventory = inventory; this.itemCounts = itemCounts.ToDictionary<KeyValuePair<ItemDef, int>, ItemDef, uint>((KeyValuePair<ItemDef, int> x) => x.Key, (KeyValuePair<ItemDef, int> x) => (uint)x.Value); } public override void Serialize(NetworkWriter writer) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Serialize(writer); writer.Write(((NetworkBehaviour)inventory).netId); writer.Write(itemCounts); } public override void Deserialize(NetworkReader reader) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Deserialize(reader); GameObject obj = Util.FindNetworkObject(reader.ReadNetworkId()); inventory = ((obj != null) ? obj.GetComponent<Inventory>() : null); itemCounts = reader.ReadItemAmounts(); } public override void Handle() { base.Handle(); foreach (KeyValuePair<ItemDef, uint> itemCount in itemCounts) { inventory.GiveItem(itemCount.Key, (int)itemCount.Value - inventory.GetItemCount(itemCount.Key)); } } } public class TeamSwitchMessage : AeroltMessageBase { private TeamIndex newTeam; private CharacterMaster target; public TeamSwitchMessage() { } public TeamSwitchMessage(CharacterMaster who, TeamIndex team) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) target = who; newTeam = team; } public override void Handle() { //IL_000f: 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) base.Handle(); target.teamIndex = newTeam; CharacterBody body = target.GetBody(); if (Object.op_Implicit((Object)(object)body)) { body.teamComponent.teamIndex = newTeam; } } public override void Deserialize(NetworkReader reader) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Deserialize(reader); GameObject val = Util.FindNetworkObject(reader.ReadNetworkId()); if (Object.op_Implicit((Object)(object)val)) { target = val.GetComponent<CharacterMaster>(); } newTeam = (TeamIndex)(sbyte)reader.ReadInt32(); } public override void Serialize(NetworkWriter writer) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Expected I4, but got Unknown ((MessageBase)this).Serialize(writer); writer.Write(((NetworkBehaviour)target).netId); writer.Write((int)newTeam); } } public class TeleporterChargeMessage : AeroltMessageBase { public override void Handle() { base.Handle(); if (Object.op_Implicit((Object)(object)TeleporterInteraction.instance) && Object.op_Implicit((Object)(object)TeleporterInteraction.instance.holdoutZoneController)) { TeleporterInteraction.instance.holdoutZoneController.charge = 1f; } } } public class TeleportMessage : AeroltMessageBase { private Vector3 targetPosition; private CharacterBody teleportedBody; public TeleportMessage() { } public TeleportMessage(CharacterBody teleportedBody, Vector3 targetPosition) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) this.teleportedBody = teleportedBody; this.targetPosition = targetPosition; } public override void Handle() { //IL_003d: Unknown result type (might be due to invalid IL or missing references) base.Handle(); if (Object.op_Implicit((Object)(object)teleportedBody) && Object.op_Implicit((Object)(object)teleportedBody.characterMotor)) { ((BaseCharacterController)teleportedBody.characterMotor).Motor.MoveCharacter(targetPosition); } } public override void Deserialize(NetworkReader reader) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Deserialize(reader); GameObject val = Util.FindNetworkObject(reader.ReadNetworkId()); if (Object.op_Implicit((Object)(object)val)) { teleportedBody = val.GetComponent<CharacterBody>(); } targetPosition = reader.ReadVector3(); } public override void Serialize(NetworkWriter writer) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Serialize(writer); writer.Write(((NetworkBehaviour)teleportedBody).netId); writer.Write(targetPosition); } } } namespace Aerolt.Managers { public static class EspHelper { public static void DrawEspLabel(Vector3 worldpos, Color textcolor, Color outlinecolor, string? text, string? outlinetext = null) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown //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) //IL_0037: 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_0047: 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_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: 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_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: 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_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_0135: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_0168: Unknown result type (might be due to invalid IL or missing references) //IL_0174: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_0182: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Unknown result type (might be due to invalid IL or missing references) //IL_0196: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01a2: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: Unknown result type (might be due to invalid IL or missing references) GUIContent val = new GUIContent(text); if (outlinetext == null) { outlinetext = text; } GUIContent val2 = new GUIContent(outlinetext); GUIStyle label = GUI.skin.label; label.alignment = (TextAnchor)4; Vector2 val3 = label.CalcSize(val); Vector3 val4 = Camera.main.WorldToScreenPoint(worldpos); val4.y = (float)Screen.height - val4.y; if (val4.z >= 0f) { GUI.color = Color.black; GUI.Label(new Rect(val4.x - val3.x / 2f + 1f, val4.y + 1f, val3.x, val3.y), val2); GUI.Label(new Rect(val4.x - val3.x / 2f - 1f, val4.y - 1f, val3.x, val3.y), val2); GUI.Label(new Rect(val4.x - val3.x / 2f + 1f, val4.y - 1f, val3.x, val3.y), val2); GUI.Label(new Rect(val4.x - val3.x / 2f - 1f, val4.y + 1f, val3.x, val3.y), val2); GUI.color = textcolor; GUI.Label(new Rect(val4.x - val3.x / 2f, val4.y, val3.x, val3.y), val); GUI.color = Color.black; } } public static void DrawRarityEspLabel(Vector3 worldpos, Color textcolor, Color outlinecolor, string? text, Color itemColor, string itemName = "", string? outlinetext = null) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Expected O, but got Unknown //IL_0033: 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_003e: 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_0044: 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_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0088: 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_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: 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_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_0106: 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: 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_0132: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_0184: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: 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_0365: Unknown result type (might be due to invalid IL or missing references) //IL_01cd: Unknown result type (might be due to invalid IL or missing references) //IL_01d4: Expected O, but got Unknown //IL_01da: Unknown result type (might be due to invalid IL or missing references) //IL_01e1: Expected O, but got Unknown //IL_01e4: Unknown result type (might be due to invalid IL or missing references) //IL_01e9: Unknown result type (might be due to invalid IL or missing references) //IL_01eb: Unknown result type (might be due to invalid IL or missing references) //IL_01f6: Unknown result type (might be due to invalid IL or missing references) //IL_01fd: Unknown result type (might be due to invalid IL or missing references) //IL_0211: Unknown result type (might be due to invalid IL or missing references) //IL_021e: Unknown result type (might be due to invalid IL or missing references) //IL_0225: Unknown result type (might be due to invalid IL or missing references) //IL_022c: Unknown result type (might be due to invalid IL or missing references) //IL_0233: Unknown result type (might be due to invalid IL or missing references) //IL_0240: Unknown result type (might be due to invalid IL or missing references) //IL_0247: Unknown result type (might be due to invalid IL or missing references) //IL_025b: Unknown result type (might be due to invalid IL or missing references) //IL_0268: Unknown result type (might be due to invalid IL or missing references) //IL_026f: Unknown result type (might be due to invalid IL or missing references) //IL_0276: Unknown result type (might be due to invalid IL or missing references) //IL_027d: Unknown result type (might be due to invalid IL or missing references) //IL_028a: Unknown result type (might be due to invalid IL or missing references) //IL_0291: Unknown result type (might be due to invalid IL or missing references) //IL_02a5: Unknown result type (might be due to invalid IL or missing references) //IL_02b2: Unknown result type (might be due to invalid IL or missing references) //IL_02b9: Unknown result type (might be due to invalid IL or missing references) //IL_02c0: Unknown result type (might be due to invalid IL or missing references) //IL_02c7: Unknown result type (might be due to invalid IL or missing references) //IL_02d4: Unknown result type (might be due to invalid IL or missing references) //IL_02db: Unknown result type (might be due to invalid IL or missing references) //IL_02ef: Unknown result type (might be due to invalid IL or missing references) //IL_02fc: Unknown result type (might be due to invalid IL or missing references) //IL_0303: Unknown result type (might be due to invalid IL or missing references) //IL_030a: Unknown result type (might be due to invalid IL or missing references) //IL_0311: 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_0326: 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_033b: Unknown result type (might be due to invalid IL or missing references) //IL_0342: Unknown result type (might be due to invalid IL or missing references) //IL_0349: Unknown result type (might be due to invalid IL or missing references) //IL_0350: Unknown result type (might be due to invalid IL or missing references) //IL_0357: Unknown result type (might be due to invalid IL or missing references) GUIContent val = new GUIContent(text); if (outlinetext == null) { outlinetext = text; } GUIContent val2 = new GUIContent(outlinetext); GUIStyle label = GUI.skin.label; label.alignment = (TextAnchor)4; Vector2 val3 = label.CalcSize(val); Vector3 val4 = Camera.main.WorldToScreenPoint(worldpos); val4.y = (float)Screen.height - val4.y; if (val4.z >= 0f) { GUI.color = Color.black; GUI.Label(new Rect(val4.x - val3.x / 2f + 1f, val4.y + 1f, val3.x, val3.y), val2); GUI.Label(new Rect(val4.x - val3.x / 2f - 1f, val4.y - 1f, val3.x, val3.y), val2); GUI.Label(new Rect(val4.x - val3.x / 2f + 1f, val4.y - 1f, val3.x, val3.y), val2); GUI.Label(new Rect(val4.x - val3.x / 2f - 1f, val4.y + 1f, val3.x, val3.y), val2); GUI.color = textcolor; GUI.Label(new Rect(val4.x - val3.x / 2f, val4.y, val3.x, val3.y), val); if (!string.IsNullOrEmpty(itemName)) { GUIContent val5 = new GUIContent(itemName); GUIContent val6 = new GUIContent(itemName); Vector2 val7 = label.CalcSize(val5); GUI.color = Color.black; GUI.Label(new Rect(val4.x - val7.x / 2f + 1f, val4.y + 1f + val3.y, val7.x, val7.y), val6); GUI.Label(new Rect(val4.x - val7.x / 2f - 1f, val4.y - 1f + val3.y, val7.x, val7.y), val6); GUI.Label(new Rect(val4.x - val7.x / 2f + 1f, val4.y - 1f + val3.y, val7.x, val7.y), val6); GUI.Label(new Rect(val4.x - val7.x / 2f - 1f, val4.y + 1f + val3.y, val7.x, val7.y), val6); GUI.color = itemColor; GUI.Label(new Rect(val4.x - val7.x / 2f, val4.y + val3.y, val7.x, val7.y), val5); } GUI.color = Color.black; } } public static void DrawMultiShopRarityESPLabel(Vector3 worldpos, Color textcolor, Color outlinecolor, string text, List<Color> itemColors, List<string> itemNames, string outlinetext = null) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Expected O, but got Unknown //IL_0033: 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_003e: 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_0044: 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_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0088: 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_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: 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_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_0106: 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: 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_0132: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_0184: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: 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_03db: Unknown result type (might be due to invalid IL or missing references) //IL_01e3: Unknown result type (might be due to invalid IL or missing references) //IL_01e8: Unknown result type (might be due to invalid IL or missing references) //IL_01ec: Unknown result type (might be due to invalid IL or missing references) //IL_01f3: Expected O, but got Unknown //IL_01f9: Unknown result type (might be due to invalid IL or missing references) //IL_0200: Expected O, but got Unknown //IL_0203: Unknown result type (might be due to invalid IL or missing references) //IL_0208: Unknown result type (might be due to invalid IL or missing references) //IL_020a: Unknown result type (might be due to invalid IL or missing references) //IL_0215: Unknown result type (might be due to invalid IL or missing references) //IL_021c: Unknown result type (might be due to invalid IL or missing references) //IL_0230: Unknown result type (might be due to invalid IL or missing references) //IL_023d: 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_0250: Unknown result type (might be due to invalid IL or missing references) //IL_0257: Unknown result type (might be due to invalid IL or missing references) //IL_025e: Unknown result type (might be due to invalid IL or missing references) //IL_026b: Unknown result type (might be due to invalid IL or missing references) //IL_0272: Unknown result type (might be due to invalid IL or missing references) //IL_0286: Unknown result type (might be due to invalid IL or missing references) //IL_0293: Unknown result type (might be due to invalid IL or missing references) //IL_029d: Unknown result type (might be due to invalid IL or missing references) //IL_02a6: Unknown result type (might be due to invalid IL or missing references) //IL_02ad: 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_02c1: Unknown result type (might be due to invalid IL or missing references) //IL_02c8: Unknown result type (might be due to invalid IL or missing references) //IL_02dc: Unknown result type (might be due to invalid IL or missing references) //IL_02e9: Unknown result type (might be due to invalid IL or missing references) //IL_02f3: Unknown result type (might be due to invalid IL or missing references) //IL_02fc: Unknown result type (might be due to invalid IL or missing references) //IL_0303: Unknown result type (might be due to invalid IL or missing references) //IL_030a: Unknown result type (might be due to invalid IL or missing references) //IL_0317: 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_0332: Unknown result type (might be due to invalid IL or missing references) //IL_033f: Unknown result type (might be due to invalid IL or missing references) //IL_0349: Unknown result type (might be due to invalid IL or missing references) //IL_0352: Unknown result type (might be due to invalid IL or missing references) //IL_0359: Unknown result type (might be due to invalid IL or missing references) //IL_0360: Unknown result type (might be due to invalid IL or missing references) //IL_036d: Unknown result type (might be due to invalid IL or missing references) //IL_0375: Unknown result type (might be due to invalid IL or missing references) //IL_037c: Unknown result type (might be due to invalid IL or missing references) //IL_038a: Unknown result type (might be due to invalid IL or missing references) //IL_0391: Unknown result type (might be due to invalid IL or missing references) //IL_039b: Unknown result type (might be due to invalid IL or missing references) //IL_03a4: Unknown result type (might be due to invalid IL or missing references) //IL_03ab: Unknown result type (might be due to invalid IL or missing references) //IL_03b2: Unknown result type (might be due to invalid IL or missing references) GUIContent val = new GUIContent(text); if (outlinetext == null) { outlinetext = text; } GUIContent val2 = new GUIContent(outlinetext); GUIStyle label = GUI.skin.label; label.alignment = (TextAnchor)4; Vector2 val3 = label.CalcSize(val); Vector3 val4 = Camera.main.WorldToScreenPoint(worldpos); val4.y = (float)Screen.height - val4.y; if (!(val4.z >= 0f)) { return; } GUI.color = Color.black; GUI.Label(new Rect(val4.x - val3.x / 2f + 1f, val4.y + 1f, val3.x, val3.y), val2); GUI.Label(new Rect(val4.x - val3.x / 2f - 1f, val4.y - 1f, val3.x, val3.y), val2); GUI.Label(new Rect(val4.x - val3.x / 2f + 1f, val4.y - 1f, val3.x, val3.y), val2); GUI.Label(new Rect(val4.x - val3.x / 2f - 1f, val4.y + 1f, val3.x, val3.y), val2); GUI.color = textcolor; GUI.Label(new Rect(val4.x - val3.x / 2f, val4.y, val3.x, val3.y), val); for (int i = 0; i < itemNames.Count; i++) { string text2 = itemNames[i]; if (!string.IsNullOrEmpty(text2)) { Color color = itemColors[i]; GUIContent val5 = new GUIContent(text2); string text3 = text2; GUIContent val6 = new GUIContent(text3); Vector2 val7 = label.CalcSize(val5); GUI.color = Color.black; GUI.Label(new Rect(val4.x - val7.x / 2f + 1f, val4.y + 1f + val3.y + (float)i * val7.y, val7.x, val7.y), val6); GUI.Label(new Rect(val4.x - val7.x / 2f - 1f, val4.y - 1f + val3.y + (float)i * val7.y, val7.x, val7.y), val6); GUI.Label(new Rect(val4.x - val7.x / 2f + 1f, val4.y - 1f + val3.y + (float)i * val7.y, val7.x, val7.y), val6); GUI.Label(new Rect(val4.x - val7.x / 2f - 1f, val4.y + 1f + val3.y + (float)i * val7.y, val7.x, val7.y), val6); GUI.color = color; GUI.Label(new Rect(val4.x - val7.x / 2f, val4.y + val3.y + (float)i * val7.y, val7.x, val7.y), val5); } } GUI.color = Color.black; } public static Vector3 WorldToScreen(Vector3 worldpos) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0021: 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_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) Vector3 val = Camera.main.WorldToScreenPoint(worldpos); val.y = (float)Screen.height - val.y; return new Vector3(val.x, val.y); } } public class BodyManager : MonoBehaviour { public GameObject buttonPrefab; public GameObject buttonParent; public TMP_InputField searchFilter; private GameObject _newBody; private readonly Dictionary<CharacterBody, CustomButton> bodyDefRef = new Dictionary<CharacterBody, CustomButton>(); private NetworkUser target; private void Awake() { //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Expected O, but got Unknown //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Expected O, but got Unknown foreach (CharacterBody body in BodyCatalog.allBodyPrefabBodyBodyComponents.OrderBy((CharacterBody x) => Language.GetString(x.baseNameToken))) { GameObject val = Object.Instantiate<GameObject>(buttonPrefab, buttonParent.transform); CustomButton component = val.GetComponent<CustomButton>(); component.buttonText.text = Language.GetString(body.baseNameToken); component.image.sprite = Sprite.Create((Texture2D)body.portraitIcon, new Rect(0f, 0f, (float)body.portraitIcon.width, (float)body.portraitIcon.height), new Vector2(0.5f, 0.5f)); ((UnityEvent)component.button.onClick).AddListener((UnityAction)delegate { SetBodyDef(body); }); bodyDefRef[body] = component; } if (Object.op_Implicit((Object)(object)searchFilter)) { ((UnityEvent<string>)(object)searchFilter.onValueChanged).AddListener((UnityAction<string>)FilterUpdated); } } public void SpawnAsBody() { new SetBodyMessage(target, _newBody.GetComponent<CharacterBody>()).SendToServer(); } public void SetBodyDef(CharacterBody body) { _newBody = BodyCatalog.FindBodyPrefab(body); SpawnAsBody(); ((Component)this).GetComponentInParent<LobbyPlayerPageManager>().SwapViewState(); } public void Initialize(NetworkUser currentUser) { target = currentUser; } private void FilterUpdated(string text) { if (Utility.IsNullOrWhiteSpace(text)) { foreach (KeyValuePair<CharacterBody, CustomButton> item in bodyDefRef) { ((Component)item.Value).gameObject.SetActive(true); } return; } CustomButton[] array = bodyDefRef.Values.ToArray(); CustomButton[] source = Tools.FindMatches(array, (CustomButton x) => x.buttonText.text, text); CustomButton[] array2 = array; foreach (CustomButton customButton in array2) { ((Component)customButton).gameObject.SetActive(source.Contains(customButton)); } } } public class InteractableManager : MonoBehaviour, IModuleStartup { [CanBeNull] public static SpawnCard[] _spawnCards; public GameObject buttonPrefab; public GameObject buttonParent; public TMP_InputField searchFilter; private MenuInfo _info; private readonly Dictionary<SpawnCard, CustomButton> cardDefRef = new Dictionary<SpawnCard, CustomButton>(); private static bool isScalingInteractablePricesConstantly; public static Dictionary<SpawnCard, int> startOfRoundScaledInteractableCosts; public static SpawnCard[] cards => _spawnCards ?? (_spawnCards = (from x in (from x in (from x in ClassicStageInfo.instance.interactableDccsPool.GenerateWeightedSelection().choices where !((object)x).Equals((object?)null) && Object.op_Implicit((Object)(object)x.value) select x.value into x where !((object)x).Equals((object?)null) && x.categories != null select x.categories).SelectMany((Category[] x) => x) where !((object)(Category)(ref x)).Equals((object?)null) && !x.cards.Equals(null) select x.cards).SelectMany((DirectorCard[] x) => x) select x.spawnCard).Union(from x in Object.FindObjectOfType<SceneDirector>().GenerateInteractableCardSelection().choices where x.value != null && (Object)(object)x.value.spawnCard != (Object)null select x.value.spawnCard).ToArray()); static InteractableManager() { isScalingInteractablePricesConstantly = false; startOfRoundScaledInteractableCosts = new Dictionary<SpawnCard, int>(); Run.onRunStartGlobal += delegate { _spawnCards = null; }; } public void ModuleStart() { //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Expected O, but got Unknown //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Invalid comparison between Unknown and I4 _info = ((Component)this).GetComponentInParent<MenuInfo>(); startOfRoundScaledInteractableCosts.Clear(); foreach (SpawnCard card in cards.OrderBy((SpawnCard x) => (x.prefab.GetComponentInChildren<IDisplayNameProvider>() != null) ? x.prefab.GetComponentInChildren<IDisplayNameProvider>().GetDisplayName() : ((Object)x).name)) { if (!((object)card).Equals((object?)null) && !((object)card).Equals((object?)null)) { GameObject val = Object.Instantiate<GameObject>(buttonPrefab, buttonParent.transform); IDisplayNameProvider componentInChildren = card.prefab.GetComponentInChildren<IDisplayNameProvider>(); CustomButton component = val.GetComponent<CustomButton>(); component.buttonText.text = ((componentInChildren != null) ? componentInChildren.GetDisplayName() : ((Object)card).name); component.image.sprite = PingIndicator.GetInteractableIcon(card.prefab); ((UnityEvent)component.button.onClick).AddListener((UnityAction)delegate { SpawnInteractable(card); }); cardDefRef[card] = component; GameObject prefab = card.prefab; PurchaseInteraction component2 = prefab.GetComponent<PurchaseInteraction>(); if (Object.op_Implicit((Object)(object)component2) && (int)component2.costType == 1) { int difficultyScaledCost = Run.instance.GetDifficultyScaledCost(component2.cost); startOfRoundScaledInteractableCosts.Add(card, difficultyScaledCost); } } } if (Object.op_Implicit((Object)(object)searchFilter)) { ((UnityEvent<string>)(object)searchFilter.onValueChanged).AddListener((UnityAction<string>)FilterUpdated); } } public void SpawnInteractable(SpawnCard card) { //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: 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_006b: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: 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_0096: 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) if (!Object.op_Implicit((Object)(object)_info.Master)) { Tools.Log(LogLevel.Error, "Cant Spawn Interactable Localuser Master is null"); return; } CharacterBody body = _info.Body; if (!Object.op_Implicit((Object)(object)body)) { Tools.Log(LogLevel.Error, "Cant Spawn Interactable Localuser Body is null"); return; } Vector3 position = body.transform.position; Ray aimRay = body.inputBank.GetAimRay(); Vector3 val = ((Ray)(ref aimRay)).direction * 1.6f; if (NetworkServer.active) { Spawn((uint)Array.IndexOf(cards, card), position + val); } else { ClientScene.readyConnection.SendAerolt(new InteractableSpawnMessage((uint)Array.IndexOf(cards, card), position + val)); } } public static void Spawn(uint index, Vector3 position) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0015: 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_002b: 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_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Expected O, but got Unknown //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Expected O, but got Unknown //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Invalid comparison between Unknown and I4 SpawnCard val = cards[index]; DirectorPlacementRule val2 = new DirectorPlacementRule { placementMode = (PlacementMode)3, maxDistance = 30f, minDistance = 10f, position = position, preventOverhead = true }; DirectorSpawnRequest val3 = new DirectorSpawnRequest(val, val2, RoR2Application.rng); GameObject val4 = DirectorCore.instance.TrySpawnObject(val3); if (Object.op_Implicit((Object)(object)val4)) { PurchaseInteraction component = val4.GetComponent<PurchaseInteraction>(); if (Object.op_Implicit((Object)(object)component) && (int)component.costType == 1) { component.Networkcost = (isScalingInteractablePricesConstantly ? Run.instance.GetDifficultyScaledCost(component.cost) : startOfRoundScaledInteractableCosts[val]); } } } private void FilterUpdated(string text) { if (Utility.IsNullOrWhiteSpace(text)) { foreach (KeyValuePair<SpawnCard, CustomButton> item in cardDefRef) { ((Component)item.Value).gameObject.SetActive(true); } return; } CustomButton[] array = cardDefRef.Values.ToArray(); CustomButton[] source = Tools.FindMatches(array, (CustomButton x) => x.buttonText.text, text); CustomButton[] array2 = array; foreach (CustomButton customButton in array2) { ((Component)customButton).gameObject.SetActive(source.Contains(customButton)); } } } [RequireComponent(typeof(ToggleGroup))] public class LobbyPlayerManager : MonoBehaviour, IModuleStartup { public GameObject playerEntryPrefab; public Transform playerEntryParent; public readonly Dictionary<NetworkUser, PlayerConfigBinding> users = new Dictionary<NetworkUser, PlayerConfigBinding>(); private LobbyPlayerPageManager _pageManager; private MenuInfo info; private NetworkUser selectedUser; private ToggleGroup toggleGroup; private void OnEnable() { foreach (NetworkUser key in users.Keys) { UpdateUserLobbyButton(key); } } public void ModuleStart() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Expected O, but got Unknown NetworkUser.onPostNetworkUserStart += new NetworkUserGenericDelegate(UserAdded); NetworkUser.onNetworkUserLost += new NetworkUserGenericDelegate(UserLost); info = ((Component)this).GetComponentInParent<MenuInfo>(); toggleGroup = ((Component)this).GetComponent<ToggleGroup>(); _pageManager = ((Component)this).GetComponent<LobbyPlayerPageManager>(); foreach (NetworkUser instances in NetworkUser.instancesList) { UserAdded(instances); } } void IModuleStartup.ModuleEnd() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Expected O, but got Unknown //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected O, but got Unknown NetworkUser.onPostNetworkUserStart -= new NetworkUserGenericDelegate(UserAdded); NetworkUser.onNetworkUserDiscovered -= new NetworkUserGenericDelegate(UserAdded); NetworkUser.onNetworkUserLost -= new NetworkUserGenericDelegate(UserLost); foreach (var (_, playerConfigBinding2) in users) { playerConfigBinding2.OnDestroy(); } } private void UpdateUserLobbyButton(NetworkUser user) { CustomButton customButton = users[user].customButton; customButton.buttonText.text = user.userName; if (Object.op_Implicit((Object)(object)user.master) && Object.op_Implicit((Object)(object)user.master.bodyPrefab)) { customButton.rawImage.texture = user.master.bodyPrefab.GetComponent<CharacterBody>().portraitIcon; } } private void UserAdded(NetworkUser user) { NetworkUser user2 = user; if (users.ContainsKey(user2)) { return; } CustomButton component = Object.Instantiate<GameObject>(playerEntryPrefab, playerEntryParent, false).GetComponent<CustomButton>(); users[user2] = new PlayerConfigBinding(user2, component); Toggle component2 = ((Component)component).GetComponent<Toggle>(); component2.group = toggleGroup; ((UnityEvent<bool>)(object)component2.onValueChanged).AddListener((UnityAction<bool>)delegate(bool val) { if (val) { SetUser(user2); } }); if ((Object)(object)user2 == (Object)(object)info.Owner) { component2.Set(true, true); } if (Object.op_Implicit((Object)(object)user2.master)) { if (NetworkServer.active) { BodyStart(user2.master.GetBody()); } user2.master.onBodyStart += BodyStart; } } private void BodyStart(CharacterBody body) { if (Object.op_Implicit((Object)(object)body)) { NetworkUser networkUser = body.master.playerCharacterMasterController.networkUser; users[networkUser].Sync(); } } private void UserLost(NetworkUser user) { if (users.ContainsKey(user)) { Object.Destroy((Object)(object)((Component)users[user].customButton).gameObject); users[user].OnDestroy(); users.Remove(user); if ((Object)(object)selectedUser == (Object)(object)user && users.Any()) { SetUser(users.Keys.Last()); } if (Object.op_Implicit((Object)(object)user.master)) { user.master.onBodyStart -= BodyStart; } } } private void SetUser(NetworkUser user) { selectedUser = user; _pageManager.SetUser(user); } } public class LobbyPlayerPageManager : MonoBehaviour, IModuleStartup { [CanBeNull] private static PickupDropTable _chest1DropTable; public PlayerValuesGenerator bodyStats; [Header("Inventory Display")] public ItemInventoryDisplay inventoryDisplay; public EquipmentIcon equipmentIcon; public BuffDisplay buffDisplay; [Header("Toggles")] public Toggle aimbotToggle; public Toggle noclipToggle; public Toggle godToggle; public Toggle infiniteSkillsToggle; public Toggle alwaysSprintToggle; public Toggle disableMobSpawnToggle; [Header("Sliders")] public Slider aimbotWeightSlider; public Slider xpSlider; [Header("DropDowns")] public TMP_Dropdown teamDropdown; [Header("InputFields")] public TMP_InputField moneyInputField; public TMP_InputField lunarCoinsInputField; public TMP_InputField voidMarkersInputField; public TMP_InputField xpToGiveInputField; [Header("Content Display")] public GameObject mainContent; public EditPlayerItemButton itemContent; public EquipmentButtonGenerator equipmentContent; public BodyManager bodyContent; public EditPlayerBuffButton buffContent; public TMP_Text LevelLabel; private PlayerConfigBinding _playerConfig; private ViewState _state = ViewState.Main; private CharacterBody body; [Header("Character Info")] private NetworkUser currentUser; private ValueWrapper<bool> disableMobSpawns; private MenuInfo info; private CharacterMaster master; private bool ownerIsSelected; private LobbyPlayerManager playerManager; private static List<ItemDef> _giveAllFilteredItems; public static PickupDropTable Chest1DropTable => _chest1DropTable ?? (_chest1DropTable = LegacyResourcesAPI.Load<PickupDropTable>("DropTables/dtSmallChest")); public static List<ItemDef> GiveAllFilteredItems { get { object obj = _giveAllFilteredItems; if (obj == null) { obj = new List<ItemDef> { Items.DroneWeaponsBoost, Items.HealthDecay, Items.LunarPrimaryReplacement, Items.LunarSecondaryReplacement, Items.LunarUtilityReplacement, Items.LunarSpecialReplacement }; _giveAllFilteredItems = (List<ItemDef>)obj; } return (List<ItemDef>)obj; } } private PlayerConfigBinding PlayerConfig { get { return _playerConfig; } set { if (_playerConfig != null && _playerConfig != value) { _playerConfig.UnBind(UpdateCheckboxValues); } _playerConfig = value; _playerConfig.Bind(UpdateCheckboxValues); UpdateCheckboxValues(); } } public void Kick() { new KickBanMessage(currentUser, kick: true).SendToServer(); } public void Ban() { new KickBanMessage(currentUser, kick: false, ban: true).SendToServer(); } public void Goto() { //IL_003b: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)info.Body) && Object.op_Implicit((Object)(object)body)) { new TeleportMessage(info.Body, body.transform.position).SendToAuthority(info.Body); } } public void Bring() { //IL_003b: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)info.Body) && Object.op_Implicit((Object)(object)body)) { new TeleportMessage(body, info.Body.transform.position).SendToAuthority(body); } } public void Kill() { if (Object.op_Implicit((Object)(object)master)) { new KillMessage(master).SendToServer(); } } public void Revive() { SetBodyMessage setBodyMessage = new SetBodyMessage(currentUser); if (!NetworkServer.active) { setBodyMessage.Handle(); } setBodyMessage.SendToServer(); } public void GiveAllItems() { if (Object.op_Implicit((Object)(object)master)) { Dictionary<ItemDef, int> itemCounts = ContentManager.itemDefs.Except(GiveAllFilteredItems).ToDictionary((ItemDef x) => x, (ItemDef def) => master.inventory.GetItemCount(def) + 1); new SetItemCountMessage(master.inventory, itemCounts).SendToServer(); } } public void GiveRandomItems() { //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: 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_0043: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)master)) { return; } Dictionary<ItemDef, int> dictionary = new Dictionary<ItemDef, int>(); for (int i = 0; i < Random.Range(0, 100); i++) { PickupIndex val = Chest1DropTable.GenerateDrop(RoR2Application.rng); PickupDef pickupDef = PickupCatalog.GetPickupDef(val); ItemDef itemDef = ItemCatalog.GetItemDef((ItemIndex)((pickupDef == null) ? (-1) : ((int)pickupDef.itemIndex))); if (!((Object)(object)itemDef == (Object)null)) { if (!dictionary.ContainsKey(itemDef)) { dictionary[itemDef] = master.inventory.GetItemCount(itemDef); } dictionary[itemDef] += Random.Range(0, 100); } } new SetItemCountMessage(master.inventory, dictionary).SendToServer(); } public void ClearInventory() { Dictionary<ItemDef, int> itemCounts = ContentManager.itemDefs.ToDictionary((ItemDef x) => x, (ItemDef _) => 0); new SetItemCountMessage(master.inventory, itemCounts).SendToServer(); } public void OpenInventory() { SwapViewState(ViewState.Inventory); } public void OpenBuffs() { SwapViewState(ViewState.Buff); } public void OpenEquipment() { SwapViewState(ViewState.Equipment); } public void OpenSpawnAs() { SwapViewState(ViewState.Body); } public void Update() { //IL_0030: 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_0082: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)currentUser) && Object.op_Implicit((Object)(object)master)) { ((TMP_Text)(TextMeshProUGUI)moneyInputField.placeholder).text = master.money.ToString(); ((TMP_Text)(TextMeshProUGUI)voidMarkersInputField.placeholder).text = master.voidCoins.ToString(); ((TMP_Text)(TextMeshProUGUI)lunarCoinsInputField.placeholder).text = currentUser.lunarCoins.ToString(); } } private void OnEnable() { UpdateLevelValues(); } public void ModuleStart() { info = ((Component)this).GetComponentInParent<MenuInfo>(); playerManager = ((Component)this).GetComponent<LobbyPlayerManager>(); bodyStats.Setup(); GlobalEventManager.onTeamLevelUp += OnTeamLevelUp; teamDropdown.options.Clear(); teamDropdown.AddOptions((from x in Enum.GetNames(typeof(TeamIndex)) where x != "None" select x).ToList()); ((UnityEvent<bool>)(object)godToggle.onValueChanged).AddListener((UnityAction<bool>)delegate(bool val) { PlayerConfig.GodMode.Value = val; }); ((UnityEvent<bool>)(object)aimbotToggle.onValueChanged).AddListener((UnityAction<bool>)delegate(bool val) { PlayerConfig.Aimbot.Value = val; }); ((UnityEvent<float>)(object)aimbotWeightSlider.onValueChanged).AddListener((UnityAction<float>)delegate(float val) { PlayerConfig.AimbotWeight.Value = val; }); ((UnityEvent<bool>)(object)noclipToggle.onValueChanged).AddListener((UnityAction<bool>)delegate(bool val) { PlayerConfig.Noclip.Value = val; }); ((UnityEvent<bool>)(object)infiniteSkillsToggle.onValueChanged).AddListener((UnityAction<bool>)delegate(bool val) { PlayerConfig.InfiniteSkills.Value = val; }); ((UnityEvent<bool>)(object)alwaysSprintToggle.onValueChanged).AddListener((UnityAction<bool>)delegate(bool val) { PlayerConfig.AlwaysSprint.Value = val; }); ((UnityEvent<string>)(object)moneyInputField.onEndEdit).AddListener((UnityAction<string>)delegate(string amt) { SetCurrency(CurrencyType.Money, amt); moneyInputField.SetTextWithoutNotify(""); }); ((UnityEvent<string>)(object)lunarCoinsInputField.onEndEdit).AddListener((UnityAction<string>)delegate(string amt) { SetCurrency(CurrencyType.Lunar, amt); lunarCoinsInputField.SetTextWithoutNotify(""); }); ((UnityEvent<string>)(object)voidMarkersInputField.onEndEdit).AddListener((UnityAction<string>)delegate(string amt) { SetCurrency(CurrencyType.Void, amt); lunarCoinsInputField.SetTextWithoutNotify(""); }); ((UnityEvent<string>)(object)xpToGiveInputField.onEndEdit).AddListener((UnityAction<string>)delegate(string amt) { SetCurrency(CurrencyType.Level, amt); UpdateLevelValues(); xpToGiveInputField.SetTextWithoutNotify(""); }); ((UnityEvent<int>)(object)teamDropdown.onValueChanged).AddListener((UnityAction<int>)TeamChanged); TeamComponent.onJoinTeamGlobal += TeamJoined; disableMobSpawns = ValueWrapper.Get("PlayerMenu", "DisableMobSpawns", defaultValue: false, ""); disableMobSpawns.settingChanged += MobSpawnsChanged; ((UnityEvent<bool>)(object)disableMobSpawnToggle.onValueChanged).AddListener((UnityAction<bool>)delegate(bool val) { disableMobSpawns.Value = val; }); disableMobSpawns.Sync(); } void IModuleStartup.ModuleEnd() { disableMobSpawns.settingChanged -= MobSpawnsChanged; } private void UpdateCheckboxValues() { godToggle.SetIsOnWithoutNotify(PlayerConfig.GodMode.Value); aimbotToggle.SetIsOnWithoutNotify(PlayerConfig.Aimbot.Value); noclipToggle.SetIsOnWithoutNotify(PlayerConfig.Noclip.Value); infiniteSkillsToggle.SetIsOnWithoutNotify(PlayerConfig.InfiniteSkills.Value); alwaysSprintToggle.SetIsOnWithoutNotify(PlayerConfig.AlwaysSprint.Value); aimbotWeightSlider.SetValueWithoutNotify(PlayerConfig.AimbotWeight.Value); } public void SetUser(NetworkUser user) { if ((Object)(object)currentUser != (Object)null && Object.op_Implicit((Object)(object)currentUser.master)) { currentUser.master.onBodyStart -= SetBody; } currentUser = user; PlayerConfig = playerManager.users[currentUser]; SwapViewState(); ownerIsSelected = (Object)(object)currentUser == (Object)(object)info.Owner; bodyStats.SetTogglesActive(ownerIsSelected); master = currentUser.master; UpdateLevelValues(); if (Object.op_Implicit((Object)(object)master)) { Inventory inventory = master.inventory; equipmentIcon.targetInventory = inventory; master.onBodyStart += SetBody; CharacterBody val = master.GetBody(); if (Object.op_Implicit((Object)(object)val)) { SetBody(val); } } } private void SetBody(CharacterBody bodyIn) { //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Expected I4, but got Unknown body = bodyIn; if (!ownerIsSelected) { bodyStats.ProfileSelected(0, applyValuesToBody: false); } buffDisplay.source = body; bodyStats.TargetBody = body; teamDropdown.SetValueWithoutNotify((int)body.teamComponent.teamIndex); } private void MobSpawnsChanged() { disableMobSpawnToggle.SetIsOnWithoutNotify(disableMobSpawns.Value); if (!NetworkServer.active) { return; } foreach (CombatDirector instances in CombatDirector.instancesList) { instances.monsterSpawnTimer = (disableMobSpawns.Value ? float.PositiveInfinity : 0f); } } private void TeamJoined(TeamComponent who, TeamIndex team) { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Expected I4, but got Unknown if ((Object)(object)who.body == (Object)(object)body) { teamDropdown.SetValueWithoutNotify((int)team); } } public void SetCurrency(CurrencyType currencyType, string strAmount) { if (uint.TryParse(strAmount, out var result)) { new CurrencyMessage(master, currencyType, result).SendToServer(); } } public void SetXp() { SetCurrency(CurrencyType.Experience, Mathf.RoundToInt(xpSlider.value).ToString()); UpdateLevelValues(); } private void OnTeamLevelUp(TeamIndex obj) { xpSlider.value = TeamManager.instance.GetTeamCurrentLevelExperience((TeamIndex)(sbyte)teamDropdown.value); LevelLabel.text = $"Lv : {TeamManager.instance.GetTeamLevel((TeamIndex)(sbyte)teamDropdown.value)}"; } private void UpdateLevelValues() { LevelLabel.text = $"Lv : {TeamManager.instance.GetTeamLevel((TeamIndex)(sbyte)teamDropdown.value)}"; xpSlider.minValue = TeamManager.instance.GetTeamCurrentLevelExperience((TeamIndex)(sbyte)teamDropdown.value); xpSlider.maxValue = TeamManager.instance.GetTeamNextLevelExperience((TeamIndex)(sbyte)teamDropdown.value); xpSlider.value = TeamManager.instance.GetTeamExperience((TeamIndex)(sbyte)teamDropdown.value); } public void TeamChanged(int team) { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)master)) { TeamIndex team2 = (TeamIndex)(sbyte)team; new TeamSwitchMessage(master, team2).SendToServer(); UpdateLevelValues(); } } public void SwapViewState(ViewState newState) { switch (_state) { case ViewState.Main: mainContent.SetActive(false); break; case ViewState.Inventory: ((Component)itemContent).gameObject.SetActive(false); break; case ViewState.Equipment: ((Component)equipmentContent).gameObject.SetActive(false); break; case ViewState.Body: ((Component)bodyContent).gameObject.SetActive(false); break; case ViewState.Buff: ((Component)buffContent).gameObject.SetActive(false); break; default: throw new ArgumentOutOfRangeException(); } switch (newState) { case ViewState.Main: mainContent.SetActive(true); break; case ViewState.Inventory: ((Component)itemContent).gameObject.SetActive(true); itemContent.Initialize(currentUser); break; case ViewState.Equipment: ((Component)equipmentContent).gameObject.SetActive(true); equipmentContent.Initialize(currentUser); break; case ViewState.Body: ((Component)bodyContent).gameObject.SetActive(true); bodyContent.Initialize(currentUser); break; case ViewState.Buff: ((Component)buffContent).gameObject.SetActive(true); buffContent.Initialize(currentUser); break; default: throw new ArgumentOutOfRangeException("newState", newState, null); } _state = newState; } public void KillAllMobs() { new KillAllTeamMessage((TeamIndex)1).SendToServer(); } public void SwapViewState() { SwapViewState(ViewState.Main); } } public static class NetworkManager { public static Type[] RegisteredMessages; public static void Initialize() { NetworkManagerSystem.onStartServerGlobal += RegisterMessages; NetworkManagerSystem.onStartClientGlobal += RegisterMessages; RegisteredMessages = (from x in typeof(AeroltMessageBase).Assembly.GetTypes() where typeof(AeroltMessageBase).IsAssignableFrom(x) && x != typeof(AeroltMessageBase) select x).ToArray(); } private static void RegisterMessages() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown NetworkServer.RegisterHandler((short)2004, new NetworkMessageDelegate(HandleMessage)); } public static void RegisterMessages(NetworkClient client) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Expected O, but got Unknown client.RegisterHandler((short)2004, new NetworkMessageDelegate(HandleMessage)); } private static void HandleMessage(NetworkMessage netmsg) { AeroltMessage aeroltMessage = netmsg.ReadMessage<AeroltMessage>(); if (aeroltMessage.message is BroadcastMessage broadcastMessage) { broadcastMessage.fromConnection = netmsg.conn; } aeroltMessage.message.Handle(); } public static void SendAerolt<T>(this NetworkConnection connection, T message) where T : AeroltMessageBase { AeroltMessage aeroltMessage = new AeroltMessage(message); connection.Send((short)2004, (MessageBase)(object)aeroltMessage); } } public class AeroltMessageBase : MessageBase { public virtual void Handle() { } public void SendToServer() { if (!NetworkServer.active) { ClientScene.readyConnection.SendAerolt(this); } else { Handle(); } } public void SendToEveryone() { Handle(); new BroadcastMessage(this).SendToServer(); } public void SendToAuthority(NetworkIdentity identity) { if (!Util.HasEffectiveAuthority(identity) && NetworkServer.active) { identity.clientAuthorityOwner.SendAerolt(this); } else if (!NetworkServer.active) { new NewAuthMessage(identity, this).SendToServer(); } else { Handle(); } } public void SendToAuthority(NetworkUser user) { SendToAuthority(((NetworkBehaviour)user).netIdentity); } public void SendToAuthority(CharacterMaster master) { SendToAuthority(master.networkIdentity); } public void SendToAuthority(CharacterBody body) { SendToAuthority(body.networkIdentity); } } public class BroadcastMessage : AeroltMessageBase { public NetworkConnection fromConnection; private AeroltMessageBase message; public BroadcastMessage() { } public BroadcastMessage(AeroltMessageBase aeroltMessageBase) { message = aeroltMessageBase; } public override void Handle() { base.Handle(); foreach (NetworkConnection connection in NetworkServer.connections) { if (connection != fromConnection && connection.isConnected) { connection.SendAerolt(message); } } message.Handle(); } public override void Deserialize(NetworkReader reader) { ((MessageBase)this).Deserialize(reader); message = reader.ReadMessage<AeroltMessage>().message; } public override void Serialize(NetworkWriter writer) { ((MessageBase)this).Serialize(writer); writer.Write((MessageBase)(object)new AeroltMessage(message)); } } public class NewAuthMessage : AeroltMessageBase { private AeroltMessageBase message; private NetworkIdentity target; public NewAuthMessage() { } public NewAuthMessage(NetworkIdentity identity, AeroltMessageBase aeroltMessageBase) { target = identity; message = aeroltMessageBase; } public override void Handle() { base.Handle(); message.SendToAuthority(target); } public override void Deserialize(NetworkReader reader) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Deserialize(reader); GameObject val = Util.FindNetworkObject(reader.ReadNetworkId()); if (Object.op_Implicit((Object)(object)val)) { target = val.GetComponent<NetworkIdentity>(); } message = reader.ReadMessage<AeroltMessage>().message; } public override void Serialize(NetworkWriter writer) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) ((MessageBase)this).Serialize(writer); writer.Write(target.netId); writer.Write((MessageBase)(object)new AeroltMessage(message)); } } internal class AeroltMessage : MessageBase { public AeroltMessageBase message; public uint Type; public AeroltMessage() { } public AeroltMessage(AeroltMessageBase aeroltMessageBase) { message = aeroltMessageBase; Type = (uint)Array.IndexOf(NetworkManager.RegisteredMessages, ((object)message).GetType()); } public override void Serialize(NetworkWriter writer) { ((MessageBase)this).Serialize(writer); writer.WritePackedUInt32(Type); writer.Write((MessageBase)(object)message); } public override void Deserialize(NetworkReader reader) { ((MessageBase)this).Deserialize(reader); Type = reader.ReadPackedUInt32(); AeroltMessageBase aeroltMessageBase = (AeroltMessageBase)Activator.CreateInstance(NetworkManager.RegisteredMessages[Type]); ((MessageBase)aeroltMessageBase).Deserialize(reader); message = aeroltMessageBase; } } public class PlayerConfigBinding { public ValueWrapper<bool> Aimbot; public ValueWrapper<float> AimbotWeight; public ValueWrapper<bool> AlwaysSprint; public CustomButton customButton; public ValueWrapper<bool> GodMode; public ValueWrapper<bool> InfiniteSkills; public ValueWrapper<bool> Noclip; public ValueWrapper<bool> NoclipInteractForDown; private readonly NetworkUser user; public PlayerConfigBinding(NetworkUser currentUser, CustomButton button) { //IL_01df: Unknown result type (might be due to invalid IL or missing references) //IL_01e4: Unknown result type (might be due to invalid IL or missing references) customButton = button; user = currentUser; AimbotWeight = ValueWrapper.Get("PlayerMenu", "AimbotWeight", 0.5f, "", user); AimbotWeight.settingChanged += OnAimbotWeightChanged; Aimbot = ValueWrapper.Get("PlayerMenu", "Aimbot", defaultValue: false, "", user); Aimbot.settingChanged += OnAimbotChanged; InfiniteSkills = ValueWrapper.Get("PlayerMenu", "InfiniteSkills", defaultValue: false, "", user); InfiniteSkills.settingChanged += OnInfiniteSkillsChanged; AlwaysSprint = ValueWrapper.Get("PlayerMenu", "AlwaysSprint", defaultValue: false, "", user); AlwaysSprint.settingChanged += OnAlwaysSprintChanged; GodMode = ValueWrapper.Get("PlayerMenu", "GodMode", defaultValue: false, "", user); GodMode.settingChanged += OnGodModeChanged; Noclip = ValueWrapper.Get("PlayerMenu", "Noclip", defaultValue: false, "", user); Noclip.settingChanged += OnNoclipChanged; object obj; if (!Object.op_Implicit((Object)(object)user) || user.localUser == null) { obj = "com.Lodington.Aerolt"; } else { NetworkPlayerName networkPlayerName = user.GetNetworkPlayerName(); obj = "Aerolt " + ((NetworkPlayerName)(ref networkPlayerName)).GetResolvedName(); } string who = (string)obj; NoclipInteractForDown = ValueWrapper.Get("PlayerMenu", "NoclipInteractForDown", defaultValue: true, "", user, null, delegate(ZioConfigEntry<bool> config) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown ModSettingsManager.AddOption((BaseOption)new ZioCheckBoxOption(config), who, who); }); NoclipInteractForDown.settingChanged += OnNoclipForInteractDownChanged; } public void OnDestroy() { AimbotWeight.settingChanged -= OnAimbotWeightChanged; Aimbot.settingChanged -= OnAimbotChanged; InfiniteSkills.settingChanged -= OnInfiniteSkillsChanged; AlwaysSprint.settingChanged -= OnAlwaysSprintChanged; GodMode.settingChanged -= OnGodModeChanged; Noclip.settingChanged -= OnNoclipChanged; NoclipInteractForDown.settingChanged -= OnNoclipForInteractDownChanged; } private void OnNoclipForInteractDownChanged() { if (!Object.op_Implicit((Object)(object)user.master)) { return; } CharacterBody body = user.master.GetBody(); if (Object.op_Implicit((Object)(object)body)) { NoclipBehavior component = ((Component)body).GetComponent<NoclipBehavior>(); if (Object.op_Implicit((Object)(object)component)) { component.shouldUseInteractForDown = NoclipInteractForDown.Value; } } } private void OnNoclipChanged() { if (Object.op_Implicit((Object)(object)user.master)) { SetNoclip(user.master.GetBody(), Noclip.Value); OnNoclipForInteractDownChanged(); } } private void OnGodModeChanged() { if (Object.op_Implicit((Object)(object)user.master)) { SetGodMode(user.master.GetBody(), GodMode.Value); } } private void OnAlwaysSprintChanged() { if (Object.op_Implicit((Object)(object)user.master)) { SetAlwaysSprint(user.master.GetBody(), AlwaysSprint.Value); } } private void OnInfiniteSkillsChanged() { if (Object.op_Implicit((Object)(object)user.master)) { SetInfiniteSkills(user.master.GetBody(), InfiniteSkills.Value); } } private void OnAimbotChanged() { if (Object.op_Implicit((Object)(object)user.master)) { SetAimbot(user.master.GetBody(), Aimbot.Value, AimbotWeight.Value); } } private void OnAimbotWeightChanged() { if (Object.op_Implicit((Object)(object)user.master)) { SetAimbotWeight(user.master.GetBody(), AimbotWeight.Value); } } public void Bind(Action updateCheckboxValues) { AimbotWeight.settingChanged += updateCheckboxValues; Aimbot.settingChanged += updateCheckboxValues; InfiniteSkills.settingChanged += updateCheckboxValues; AlwaysSprint.settingChanged += updat