Decompiled source of Hacker Peasant v2.9.2
HackerPeasant.dll
Decompiled 2 weeks 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.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Logging; using DM; using HackerPeasant.ClothesCheats; using HackerPeasant.LVU; using HackerPeasant.Skillset; using HackerPeasant.StupidUtility; using HackerPeasant.VFX; using HarmonyLib; using InControl; using Landfall.TABC; using Landfall.TABS; using Landfall.TABS.AI; using Landfall.TABS.AI.Systems; using Landfall.TABS.GameMode; using Landfall.TABS.GameState; using Landfall.TABS.RuntimeCleanup; using Landfall.TABS.Services; using Landfall.TABS.UnitPlacement; using Landfall.TABS.Workshop; using Landfall.TABS_Input; using TFBGames; using TMPro; using UnityEngine; using UnityEngine.LowLevel; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("HackerPeasant")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("HackerPeasant")] [assembly: AssemblyCopyright("Copyright © 2026")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("8a5412ef-f1e9-45f2-95e4-b79e5d23572e")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] namespace HackerPeasant { public class BeGlitchy : MonoBehaviour { public bool dont = false; private void Start() { } private void Update() { } } [BepInPlugin("tabsthegame.exmagikguy.drhaxmod", "Hacker Peasant", "1.0.0")] public class DrHaxSystem : BaseUnityPlugin { public static UnitButton peasantButton; public static TextMeshProUGUI peasantButtonCost; public static LocalizeText peasantButtonName; public static UnitBlueprint peasantBlueprint; public static DrHaxSystem mevar; public static List<string> fakeNames; public static int AliasesCount; public static string originalPeasantName = "Peasant"; public static Harmony harmony; public static GameState oldState = (GameState)0; public static GameStateManager stateManager = null; public static bool harmonized = false; public static Dictionary<string, GameObject> projectiles = new Dictionary<string, GameObject>(); public static ProjectilesSpawnManager projectilor; public static List<TextMeshProUGUI> alwaysUpdateText = new List<TextMeshProUGUI>(); public float slowUpdate = 0f; public static GameModeService modeService; public static Assembly hackPanel; public static bool isReferencingItself = false; public static Dictionary<Team, bool> hadAHacker = new Dictionary<Team, bool> { { (Team)0, false }, { (Team)1, false } }; public static AudioSource voiceActor; public static AudioSource music; public static bool doneDetours = false; private void Awake() { mevar = this; hackPanel = Assembly.GetExecutingAssembly(); TotallyRealNames.Populate(); Log(0, "Hi :)\0\0\0"); ShitLoader3000.Init(); voiceActor = ((Component)this).gameObject.AddComponent<AudioSource>(); voiceActor.spatialBlend = 0f; voiceActor.playOnAwake = false; voiceActor.volume = 0.08f; music = ((Component)this).gameObject.AddComponent<AudioSource>(); music.spatialBlend = 0f; music.playOnAwake = false; music.volume = 0.15f; } private void r() { //IL_001a: Unknown result type (might be due to invalid IL or missing references) ServiceLocator.GetService<GameModeService>().CurrentGameMode.Brush.RemoveUnitInternal(Patches.l, Patches.l.Team); } public unsafe static void Log(int level = 0, string log = "Log") { //IL_0003: 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_001c: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) LogLevel val = (LogLevel)16; switch (level) { case 1: val = (LogLevel)4; break; case 2: val = (LogLevel)2; break; } if (((BaseUnityPlugin)mevar).Logger != null) { ((BaseUnityPlugin)mevar).Logger.Log(val, (object)log); } else { Debug.Log((object)("LVL" + ((object)(*(LogLevel*)(&val))/*cast due to .constrained prefix*/).ToString() + " " + log)); } } public static void Log(LogLevel level = (LogLevel)0, string log = "Log") { //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Expected I4, but got Unknown //IL_001d: Unknown result type (might be due to invalid IL or missing references) if (((BaseUnityPlugin)mevar).Logger != null) { ((BaseUnityPlugin)mevar).Logger.Log(level, (object)log); } else { Debug.Log((object)("LVL" + (int)level + " " + log)); } } public static int NORMALRandom(int min, int max) { return Random.Range(min, max + 1); } public static float NORMALRandom(float min, float max) { return Random.Range(min, max + 1f); } public static string GenerateRandomString(string charset, int length) { string text = ""; char[] array = charset.ToCharArray(); for (int i = 0; i < length; i++) { text += array[NORMALRandom(0, array.Length - 1)]; } return text; } private void Harmonize() { //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Expected O, but got Unknown isReferencingItself = true; try { harmony = new Harmony(GenerateRandomString("QWERTYUIOP[]{}ASDFGJKL;':\"ZXCVBNM,./<>?`~1234567890!@#$%^&*()-+", Random.Range(18, 29))); UPGRADE.GOZERO(); harmony.PatchAll(typeof(Patches)); } catch { } } private void Update() { if (!((MonoBehaviour)this).IsInvoking("XUpdate")) { XUpdate(); } } private void XUpdate() { //IL_0440: Unknown result type (might be due to invalid IL or missing references) //IL_044a: Unknown result type (might be due to invalid IL or missing references) //IL_044f: Unknown result type (might be due to invalid IL or missing references) //IL_04df: Unknown result type (might be due to invalid IL or missing references) //IL_04e4: Unknown result type (might be due to invalid IL or missing references) //IL_0606: Unknown result type (might be due to invalid IL or missing references) //IL_060b: Unknown result type (might be due to invalid IL or missing references) //IL_0610: Unknown result type (might be due to invalid IL or missing references) //IL_0616: Invalid comparison between Unknown and I4 //IL_0867: 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_070e: Unknown result type (might be due to invalid IL or missing references) //IL_0226: Unknown result type (might be due to invalid IL or missing references) //IL_022c: Invalid comparison between Unknown and I4 if (!harmonized && Input.GetKeyDown((KeyCode)284)) { Harmonize(); harmonized = true; } if ((Object)(object)peasantButton != (Object)null && Input.GetKey((KeyCode)284)) { if (((Behaviour)peasantButtonCost).enabled) { ((TMP_Text)peasantButtonCost).text = ((Random.value < 0.5f) ? "-" : " ") + GenerateRandomString("123456789012345678901234567890!@$#", 6); } if (UPGRADE.LV < 1) { ((TMP_Text)peasantButtonName.Text).text = fakeNames[NORMALRandom(0, AliasesCount)]; peasantButtonName.Localized = false; } peasantBlueprint.forceCost = 99999999u; } if ((Object)(object)peasantButton != (Object)null && Input.GetKeyUp((KeyCode)284)) { ((TMP_Text)peasantButtonCost).text = "30"; peasantButtonName.Localized = true; ((TMP_Text)peasantButtonName.Text).text = originalPeasantName; peasantBlueprint.forceCost = 30u; } if ((Object)(object)peasantButton != (Object)null && UPGRADE.LV > 0 && (Object)(object)peasantButtonName != (Object)null) { ((TMP_Text)peasantButtonName.Text).text = GenerateRandomString("!@#$%^&*()-=_+[]{}<>/\\:\";'~|", 100); ((TMP_Text)peasantButtonName.Text).richText = true; ((Graphic)peasantButtonName.Text).color = Color.red; ((TMP_Text)peasantButtonName.Text).overflowMode = (TextOverflowModes)0; ((TMP_Text)peasantButtonName.Text).enableAutoSizing = false; ((TMP_Text)peasantButtonName.Text).enableWordWrapping = false; peasantButtonName.Localized = false; } if (stateManager == null) { stateManager = ServiceLocator.GetService<GameStateManager>(); } if ((Object)(object)modeService == (Object)null) { modeService = ServiceLocator.GetService<GameModeService>(); } if ((int)stateManager.GameState == 1 && Hax.allHackers.Count > 0 && (Object)(object)peasantBlueprint != (Object)null) { if ((Object)(object)modeService != (Object)null && !Hax.matchOverTwo && modeService.CurrentGameMode.MatchOver) { Time.timeScale = 1f; modeService.CurrentGameMode.MatchOver = false; ServiceLocator.GetService<TimeService>().UnPause(); Hax.matchOverTwo = false; } foreach (Unit allHacker in Hax.allHackers) { if ((Object)(object)allHacker != (Object)null && (Object)(object)((Component)allHacker).GetComponent<Hax>() == (Object)null) { ((Component)allHacker).gameObject.AddComponent<Hax>(); } else if ((Object)(object)allHacker != (Object)null && !((Behaviour)((Component)allHacker).GetComponent<Hax>()).enabled) { ((Behaviour)((Component)allHacker).GetComponent<Hax>()).enabled = true; } } Hax.heartbeat -= Mathf.Clamp(Time.unscaledDeltaTime, 0f, 0.11f); if (Hax.heartbeat < 0f && ((object)ServiceLocator.GetService<GameModeService>().CurrentGameMode).GetType() != typeof(MainMenuGameMode)) { Hax.protectedObjects.Clear(); try { List<Unit> list = new List<Unit>(Hax.allHackers.ToArray()); foreach (Unit item in list) { if ((Object)(object)item != (Object)null && (Object)(object)((Component)item).GetComponent<Hax>() != (Object)null) { Object.DestroyImmediate((Object)(object)((Component)item).GetComponent<Hax>()); item.DestroyUnit(); } } } catch { } Hax.allHackers.Clear(); Unit unitToSpawn; Hax hax = MEGASpawn(peasantBlueprint, Hax.lastHackerSpawnPos.Key, Hax.lastHackerSpawnPos.Value, Hax.HackerTeam, out unitToSpawn, 1f, isCampaignUnit: false, spawnRiders: false)[0].AddComponent<Hax>(); if ((Object)(object)unitToSpawn != (Object)null) { Hax.allHackers.Add(unitToSpawn); } Time.timeScale = 1f; modeService.CurrentGameMode.MatchOver = false; ServiceLocator.GetService<TimeService>().UnPause(); Hax.matchOverTwo = false; Hax.heartbeat = 0.2f; } } else { Hax.heartbeat = 0.2f; } if (stateManager.GameState != oldState) { if (UPGRADE.LV > 0) { ((MonoBehaviour)ServiceLocator.GetService<MusicHandler>()).StopAllCoroutines(); AudioSource[] componentsInChildren = ((Component)ServiceLocator.GetService<MusicHandler>()).GetComponentsInChildren<AudioSource>(); foreach (AudioSource val in componentsInChildren) { val.volume = 0f; val.mute = true; val.maxDistance = 0f; val.spatialBlend = 1f; val.Stop(); } } if (!harmonized) { Harmonize(); harmonized = true; } Hax.hackerInMatch = (Object)(object)Object.FindObjectOfType<Hax>() != (Object)null; Hax.matchUnendable = Object.FindObjectsOfType<Hax>().Length > 1; if (Hax.hackerInMatch) { ClothesCheat.timeBeforeSwitch = 8f; ClothesCheat.bundle.Clear(); ClothesCheat.current = ClothesCheat.ChooseNew(); } else { ClothesCheat.current = null; } Log(0, $"New State, Hacker? {Hax.hackerInMatch}"); oldState = stateManager.GameState; if ((int)oldState == 0) { Hax.respawns = 0; while (alwaysUpdateText.Count > 0) { ToggleTextPreProcessor(alwaysUpdateText[0], null, 0); } Hax.protectedObjects.Clear(); List<Unit> list2 = new List<Unit>(Hax.allHackers.ToArray()); foreach (Unit item2 in list2) { Object.DestroyImmediate((Object)(object)((Component)item2).GetComponent<Hax>()); item2.DestroyUnit(); } Hax.allHackers.Clear(); Hax.matchOverTwo = false; Hax.isAbilSelect = false; } else { hadAHacker[(Team)0] = false; hadAHacker[(Team)1] = false; Hax[] array = Object.FindObjectsOfType<Hax>(); foreach (Hax hax2 in array) { hadAHacker[hax2.hacker.Team] = true; voiceActor.PlayOneShot(ShitLoader3000.sounds["v_kill" + Random.Range(0, 2)]); } } } if (alwaysUpdateText.Count > 0) { for (int k = 0; k < alwaysUpdateText.Count; k++) { if ((Object)(object)alwaysUpdateText[k] == (Object)null) { alwaysUpdateText.RemoveAt(k); k--; } else { ((TMP_Text)alwaysUpdateText[k]).ForceMeshUpdate(false, false); } } } if (ClothesCheat.current != null) { ClothesCheat.timeBeforeSwitch -= Time.unscaledDeltaTime; if (ClothesCheat.timeBeforeSwitch < 0f) { ClothesCheat.timeBeforeSwitch = 8f; ClothesCheat.current = ClothesCheat.ChooseNew(); } else if ((Object)(object)Hax.hackedClothesMaterial != (Object)null) { if (ClothesCheat.current.IsSpecial) { ClothesCheat.current.PerformSpecials(Hax.hackedClothesMaterial); } else { Hax.hackedClothesMaterial.color = ClothesCheat.current.GetColor(Time.unscaledTime); } } } Patches.upgradeCD = Mathf.Clamp(Patches.upgradeCD - Time.unscaledDeltaTime, 0f, 0.5f); ((MonoBehaviour)this).Invoke("XUpdate", Mathf.Clamp(Time.unscaledDeltaTime * 0.95f, 0.0001f, 0.1f)); } public static void ToggleTextPreProcessor(TextMeshProUGUI textMesh, ITextPreprocessor preprocessor = null, int enabled = 2, bool makeAlwaysUpdate = false) { if ((Object)(object)textMesh == (Object)null) { return; } if ((enabled == 2 && ((TMP_Text)textMesh).textPreprocessor == null) || enabled == 1) { ((TMP_Text)textMesh).textPreprocessor = preprocessor; if (makeAlwaysUpdate && !alwaysUpdateText.Contains(textMesh)) { alwaysUpdateText.Add(textMesh); } } else if ((enabled == 2 && ((TMP_Text)textMesh).textPreprocessor != null) || enabled == 0) { ((TMP_Text)textMesh).textPreprocessor = null; alwaysUpdateText.Remove(textMesh); } ((TMP_Text)textMesh).ForceMeshUpdate(false, false); } public static GameObject[] MEGASpawn(UnitBlueprint bp, Vector3 posistion, Quaternion rotation, Team team, out Unit unitToSpawn, float sentSizeMulti = 1f, bool isCampaignUnit = false, bool spawnRiders = true, int martianInstanceId = 0, UnitPoolInfo? poolInfo = null) { //IL_0046: 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_00cc: 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_024d: Unknown result type (might be due to invalid IL or missing references) //IL_0260: Unknown result type (might be due to invalid IL or missing references) //IL_0261: Unknown result type (might be due to invalid IL or missing references) //IL_041b: Unknown result type (might be due to invalid IL or missing references) //IL_0337: Unknown result type (might be due to invalid IL or missing references) //IL_0344: Unknown result type (might be due to invalid IL or missing references) //IL_0439: Unknown result type (might be due to invalid IL or missing references) //IL_036c: Unknown result type (might be due to invalid IL or missing references) //IL_0457: Unknown result type (might be due to invalid IL or missing references) //IL_07db: Unknown result type (might be due to invalid IL or missing references) //IL_07e9: Unknown result type (might be due to invalid IL or missing references) //IL_0529: Unknown result type (might be due to invalid IL or missing references) //IL_0533: Expected O, but got Unknown //IL_053d: Unknown result type (might be due to invalid IL or missing references) //IL_0547: Expected O, but got Unknown //IL_0551: Unknown result type (might be due to invalid IL or missing references) //IL_055b: Expected O, but got Unknown //IL_089f: Unknown result type (might be due to invalid IL or missing references) //IL_08ad: Unknown result type (might be due to invalid IL or missing references) //IL_082a: Unknown result type (might be due to invalid IL or missing references) //IL_0830: Invalid comparison between Unknown and I4 //IL_0813: Unknown result type (might be due to invalid IL or missing references) //IL_081a: Unknown result type (might be due to invalid IL or missing references) //IL_06dd: Unknown result type (might be due to invalid IL or missing references) //IL_06de: Unknown result type (might be due to invalid IL or missing references) //IL_06df: Unknown result type (might be due to invalid IL or missing references) //IL_08d7: Unknown result type (might be due to invalid IL or missing references) //IL_08de: Unknown result type (might be due to invalid IL or missing references) //IL_04d5: Unknown result type (might be due to invalid IL or missing references) //IL_098f: Unknown result type (might be due to invalid IL or missing references) //IL_0993: Unknown result type (might be due to invalid IL or missing references) //IL_086e: Unknown result type (might be due to invalid IL or missing references) //IL_094e: Unknown result type (might be due to invalid IL or missing references) //IL_0909: Unknown result type (might be due to invalid IL or missing references) //IL_090f: Invalid comparison between Unknown and I4 //IL_050e: Unknown result type (might be due to invalid IL or missing references) //IL_0c39: Unknown result type (might be due to invalid IL or missing references) //IL_0c3e: Unknown result type (might be due to invalid IL or missing references) List<GameObject> list = new List<GameObject>(); Weapon val = null; Weapon val2 = null; if ((Object)(object)bp.UnitBase == (Object)null) { Debug.LogError((object)("UnitBase is Null: " + bp.Entity.Name)); } GlobalSettingsHandler service = ServiceLocator.GetService<GlobalSettingsHandler>(); GameObject val3 = Object.Instantiate<GameObject>(bp.UnitBase, posistion, rotation); SettingsInstance settingsInstance = service.GetSettingsInstance("VIDEO_SPAWN"); GameModeService service2 = ServiceLocator.GetService<GameModeService>(); BaseGameMode currentGameMode = service2.CurrentGameMode; bool flag = service2.IsGameModeRestricted(); if (settingsInstance.currentValue == 0 || currentGameMode is MainMenuGameMode) { PlacementSpawnEffects componentInChildren = val3.GetComponentInChildren<PlacementSpawnEffects>(); if (Object.op_Implicit((Object)(object)componentInChildren)) { Object.Destroy((Object)(object)((Component)componentInChildren).gameObject); } } TeamColor[] componentsInChildren = val3.GetComponentsInChildren<TeamColor>(); for (int i = 0; i < componentsInChildren.Length; i++) { componentsInChildren[i].SetTeamColor(team); } list.Add(val3); float num = 1f; if (((object)currentGameMode).GetType() == typeof(OnlineMultiplayerGameMode)) { num = sentSizeMulti * bp.sizeMultiplier; } else { if (bp.minSizeRandom != bp.maxSizeRandom) { num = NormalRandom.GetRandom(bp.minSizeRandom, bp.maxSizeRandom) * bp.sizeMultiplier; } if (Random.Range(0, 10000) == 0) { num *= ((Random.value < 0.7f) ? 0.1f : 2f); } } num *= sentSizeMulti; if (bp.forceNoRandomSize) { num = sentSizeMulti * bp.sizeMultiplier; } if (Bugs._DLC_ACTIVATED && !flag) { SettingsInstance settingsInstance2 = service.GetSettingsInstance("BUG_BIG_UNITS"); SettingsInstance settingsInstance3 = service.GetSettingsInstance("BUG_SMALL_UNITS"); if (settingsInstance2.currentValue == 1) { num *= 1.5f; } if (settingsInstance3.currentValue == 1) { num /= 1.5f; } } val3.SetActive(false); Transform transform = val3.transform; transform.localScale *= num; val3.SetActive(true); unitToSpawn = val3.GetComponent<Unit>(); unitToSpawn.InitializeUnit(team); unitToSpawn.unitBlueprint = bp; unitToSpawn.Team = team; unitToSpawn.data.health = bp.health * num * num; unitToSpawn.RemoteInstanceId = (short)martianInstanceId; unitToSpawn.PoolInfo = poolInfo; unitToSpawn.SetEnableSyncTransforms(!unitToSpawn.IsInPool); unitToSpawn.OriginatesFromClient = martianInstanceId != 0; if (bp.targetingPriorityMultiplier != 0f) { unitToSpawn.targetingPriorityMultiplier = bp.targetingPriorityMultiplier; } if (isCampaignUnit) { unitToSpawn.SetCampaignUnit(); } if (bp.objectsToSpawnAsChildren != null) { for (int j = 0; j < bp.objectsToSpawnAsChildren.Length; j++) { if (!((Object)(object)bp.objectsToSpawnAsChildren[j] == (Object)null)) { GameObject val4 = Object.Instantiate<GameObject>(bp.objectsToSpawnAsChildren[j], ((Component)unitToSpawn).transform.position, ((Component)unitToSpawn).transform.rotation, ((Component)unitToSpawn).transform); TeamColor[] componentsInChildren2 = val4.GetComponentsInChildren<TeamColor>(); for (int k = 0; k < componentsInChildren2.Length; k++) { componentsInChildren2[j].SetTeamColor(team); } } } } UnitSounds componentInChildren2 = ((Component)unitToSpawn).GetComponentInChildren<UnitSounds>(); if (Object.op_Implicit((Object)(object)componentInChildren2)) { FieldInfo field = typeof(UnitBlueprint).GetField("vocalPathData", BindingFlags.Instance | BindingFlags.NonPublic); FieldInfo field2 = typeof(UnitBlueprint).GetField("footPathData", BindingFlags.Instance | BindingFlags.NonPublic); FieldInfo field3 = typeof(UnitBlueprint).GetField("deathPathData", BindingFlags.Instance | BindingFlags.NonPublic); if (field.GetValue(bp) == null || ((AudioPathData)field.GetValue(bp)).Category == null || field2.GetValue(bp) == null || ((AudioPathData)field2.GetValue(bp)).Category == null || field3.GetValue(bp) == null || ((AudioPathData)field3.GetValue(bp)).Category == null) { bp.Validate(); } if (Bugs._DLC_ACTIVATED && !flag) { SettingsInstance settingsInstance4 = service.GetSettingsInstance("BUG_BIG_UNITS"); SettingsInstance settingsInstance5 = service.GetSettingsInstance("BUG_SMALL_UNITS"); if (settingsInstance4.currentValue == 1 && settingsInstance5.currentValue != 1) { ((AudioPathData)field.GetValue(bp)).EffectPitch = 0.5f; } if (settingsInstance5.currentValue == 1 && settingsInstance4.currentValue != 1) { ((AudioPathData)field.GetValue(bp)).EffectPitch = 2f; } } componentInChildren2.VocalPathData = (AudioPathData)field.GetValue(bp); componentInChildren2.FootPathData = (AudioPathData)field2.GetValue(bp); componentInChildren2.DeathPathData = (AudioPathData)field3.GetValue(bp); if (bp.VoicePitch <= 0f) { bp.VoicePitch = 1f; } componentInChildren2.Pitch = bp.VoicePitch; } Balance componentInChildren3 = ((Component)unitToSpawn).GetComponentInChildren<Balance>(); if (bp.balanceMultiplier == 0f) { bp.balanceMultiplier = 1f; } if (bp.balanceForceMultiplier == 0f) { bp.balanceForceMultiplier = 1f; } if (Object.op_Implicit((Object)(object)componentInChildren3)) { componentInChildren3.allowedFootDistance *= bp.balanceMultiplier * bp.sizeMultiplier; componentInChildren3.allowedLegAngle *= bp.balanceMultiplier; componentInChildren3.allowedTorsoAngle *= bp.balanceMultiplier; componentInChildren3.forceMultiplier *= bp.balanceForceMultiplier; } if (Object.op_Implicit((Object)(object)bp.Mount)) { GameObject[] array = val3.AddComponent<Mount>().EnterMount(bp.Mount, (Unit)null, 0); for (int l = 0; l < array.Length; l++) { list.Add(array[l]); } } UnitBlueprint[] unitRiders = bp.UnitRiders; if (unitRiders != null && spawnRiders) { RiderHolder val5 = val3.AddComponent<RiderHolder>(); List<GameObject> list2 = new List<GameObject>(); Unit val6 = default(Unit); for (int m = 0; m < unitRiders.Length; m++) { if (!((Object)(object)unitRiders[m] == (Object)null)) { GameObject[] array2 = unitRiders[m].Spawn(posistion, rotation, team, ref val6, 1f, false, false, 0, (UnitPoolInfo?)null); if (isCampaignUnit) { val6.SetCampaignUnit(); } list2.Add(array2[0]); for (int n = 0; n < array2.Length; n++) { list.Add(array2[n]); } ((Component)val6).gameObject.AddComponent<Mount>().EnterMount((UnitBlueprint)null, unitToSpawn, m); for (int num2 = 0; num2 < array2.Length; num2++) { list.Add(array2[num2]); } val6.IsRider = true; if (martianInstanceId != 0) { val6.IsRiderWithLinkedMount = true; } } } val5.Addriders(list2); } if (Object.op_Implicit((Object)(object)bp.RightWeapon)) { val = bp.SetWeapon(unitToSpawn, team, bp.RightWeapon, bp.RightWeaponData, (HandType)0, rotation, list, false); if (Object.op_Implicit((Object)(object)val)) { if (bp.scaleWeapons) { Transform transform2 = ((Component)val).transform; transform2.localScale *= sentSizeMulti; } unitToSpawn.targetYourFriends = (int)val.m_weaponTargetType == 1; } if (Object.op_Implicit((Object)(object)val) && ((object)val).GetType() == typeof(RangeWeapon) && (Object)(object)bp.rightProjectile != (Object)null) { ((RangeWeapon)val).ObjectToSpawn = ((Component)bp.rightProjectile).gameObject; } } if (Object.op_Implicit((Object)(object)bp.LeftWeapon)) { val2 = bp.SetWeapon(unitToSpawn, team, bp.LeftWeapon, bp.LeftWeaponData, (HandType)1, rotation, list, false); if (Object.op_Implicit((Object)(object)val2)) { if (bp.scaleWeapons) { Transform transform3 = ((Component)val2).transform; transform3.localScale *= sentSizeMulti; } if (!unitToSpawn.targetYourFriends && (Object)(object)val != (Object)null) { unitToSpawn.targetYourFriends = (int)val.m_weaponTargetType == 1; } } if (Object.op_Implicit((Object)(object)val2) && ((object)val2).GetType() == typeof(RangeWeapon) && (Object)(object)bp.leftProjectile != (Object)null) { ((RangeWeapon)val2).ObjectToSpawn = ((Component)bp.leftProjectile).gameObject; } } if (!Object.op_Implicit((Object)(object)bp.RightWeapon) && !Object.op_Implicit((Object)(object)bp.LeftWeapon)) { bp.SetWeapon(unitToSpawn, team, (GameObject)null, (PropItemData)null, (HandType)0, rotation, list, false); } CurveAnimation[] componentsInChildren3 = val3.GetComponentsInChildren<CurveAnimation>(); foreach (CurveAnimation obj in componentsInChildren3) { obj.multiplier *= bp.animationMultiplier; } Unit component = val3.GetComponent<Unit>(); if (Object.op_Implicit((Object)(object)component)) { component.thickness += Mathf.Clamp((bp.sizeMultiplier - 1f) * 0.3f, 0f, 100f); } RigidbodyHolder componentInChildren4 = val3.GetComponentInChildren<RigidbodyHolder>(); if (Object.op_Implicit((Object)(object)componentInChildren4) && bp.dragMultiplier != 0f) { componentInChildren4.dragMultiplier *= bp.dragMultiplier; } MovementHandler componentInChildren5 = val3.GetComponentInChildren<MovementHandler>(); if (Object.op_Implicit((Object)(object)componentInChildren5)) { componentInChildren5.multiplier *= bp.movementSpeedMuiltiplier; } StepHandler componentInChildren6 = val3.GetComponentInChildren<StepHandler>(); if (Object.op_Implicit((Object)(object)componentInChildren6)) { componentInChildren6.multiplier *= bp.stepMultiplier; } WheelMovementHandler componentInChildren7 = val3.GetComponentInChildren<WheelMovementHandler>(); if (Object.op_Implicit((Object)(object)componentInChildren7)) { componentInChildren7.multiplier *= bp.movementSpeedMuiltiplier; } if (bp.ArmLimitMultiplier != 1f && bp.ArmLimitMultiplier != 0f) { if (Object.op_Implicit((Object)(object)unitToSpawn.data.rightArm)) { SetGlobalJointSettings.SetJointMultiplier(bp.ArmLimitMultiplier, ((Component)unitToSpawn.data.rightArm).GetComponent<Rigidbody>()); } if (Object.op_Implicit((Object)(object)unitToSpawn.data.leftArm)) { SetGlobalJointSettings.SetJointMultiplier(bp.ArmLimitMultiplier, ((Component)unitToSpawn.data.leftArm).GetComponent<Rigidbody>()); } } if (bp.neckLimitMultiplier != 1f && bp.neckLimitMultiplier != 0f && Object.op_Implicit((Object)(object)unitToSpawn.data.head)) { SetGlobalJointSettings.SetJointMultiplier(bp.neckLimitMultiplier, ((Component)unitToSpawn.data.head).GetComponent<Rigidbody>()); } unitToSpawn.SetMassMultiplier(bp.massMultiplier * num * num); bp.DoMultipliers(unitToSpawn); try { if (bp.m_props != null && bp.m_props.Length != 0) { UnitRig component2 = val3.GetComponent<UnitRig>(); if (!((Object)(object)component2 == (Object)null)) { component2.SpawnProps(bp.m_props, bp.m_propData, unitToSpawn.RigType, team); } } } catch (Exception ex) { Debug.LogError((object)("Spawning prop failed: " + ex.Message + Environment.NewLine + ex.StackTrace)); } if (Object.op_Implicit((Object)(object)val2) && unitToSpawn.m_AttackDistance < val2.maxRange) { unitToSpawn.m_AttackDistance = val2.maxRange; } if (Object.op_Implicit((Object)(object)val) && unitToSpawn.m_AttackDistance < val.maxRange) { unitToSpawn.m_AttackDistance = val.maxRange; } unitToSpawn.m_PreferedDistance = unitToSpawn.m_AttackDistance - 0.3f; GameObject[] array3 = list.ToArray(); ServiceLocator.GetService<RuntimeGarbageCollector>().AddGameObjects(array3); unitToSpawn.spawnedObjects = array3; LodGroupMerger component3 = val3.GetComponent<LodGroupMerger>(); if ((Object)(object)component3 != (Object)null) { component3.ConsolidateChildLodGroups(); } return array3; } public static void RESTORE(bool tauntAfter = false) { //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Expected O, but got Unknown GameObject val = new GameObject(GenerateRandomString("qwertyuiopasdfghjklzxcvbnmQWERTYUIOP[]{}ASDFGJKL;':\"ZXCVBNM,./<>?`~1234567890!@#$%^&*()-+", Random.Range(10, 50))); val.AddComponent<DrHaxSystem>(); if (UPGRADE.LV >= 1) { if (UPGRADE.LV < 2) { ClothesCheat.lockOn = new ENRAGED_PULSE(); } else { ClothesCheat.lockOn = new TRUE_POWER(); } ClothesCheat.current = ClothesCheat.ChooseNew(); music.Stop(); music.loop = true; music.clip = ShitLoader3000.sounds["theme" + UPGRADE.LV]; music.Play(); if (tauntAfter) { voiceActor.PlayOneShot(ShitLoader3000.sounds["v_laugh"]); } } } } public class GlitchNumberTextProcessor : ITextPreprocessor { public string PreprocessText(string text) { if (Mathf.RoundToInt(Time.time * 10f) % 12 < 3 && Random.value < 0.8f) { return "!? ? ?"; } return ((Random.value < 0.5f) ? "-" : " ") + DrHaxSystem.GenerateRandomString("123456789012345678901234567890!@$#", 8); } } [HarmonyPatch] [HarmonyPriority(32767)] public class Patches { public static UnitBlueprint CostReturnBlueprint = null; public static FieldInfo teamUnitsF = typeof(TeamSystem).GetField("m_teamUnits", BindingFlags.Instance | BindingFlags.NonPublic); public static FieldInfo HPBarDataF = typeof(TABCUnitUI).GetField("m_dataHandler", BindingFlags.Instance | BindingFlags.NonPublic); public static FieldInfo HPHanUnitF = typeof(HealthHandler).GetField("unit", BindingFlags.Instance | BindingFlags.NonPublic); public static FieldInfo UnAPIUnitF = typeof(UnitAPI).GetField("m_unit", BindingFlags.Instance | BindingFlags.NonPublic); public static FieldInfo DelayedEndCF = typeof(BaseGameMode).GetField("m_delayedEndGameRoutine", BindingFlags.Instance | BindingFlags.NonPublic); public static FieldInfo DelayedEndSF = typeof(BaseGameMode).GetField("m_delayGameOverSetting", BindingFlags.Instance | BindingFlags.NonPublic); public static MethodInfo DelayedEndFunc = typeof(BaseGameMode).GetMethod("DelayedCheckMatchOver", BindingFlags.Instance | BindingFlags.NonPublic); public static FieldInfo counterf = typeof(RemoveAfterSeconds).GetField("counter", BindingFlags.Instance | BindingFlags.NonPublic); public static Unit l; public static FieldInfo layoutsF = typeof(TeamLayouts).GetField("m_layouts", BindingFlags.Instance | BindingFlags.NonPublic); public static float upgradeCD = 0f; [HarmonyPatch(typeof(UnitButton), "SetupUnit", new Type[] { typeof(UnitButtonData) })] [HarmonyPostfix] private static void FindPeasantButton(UnitButton __instance, UnitButtonData unitButtonData) { //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Expected O, but got Unknown //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Expected O, but got Unknown if ((Object)(object)unitButtonData.unit != (Object)null && !unitButtonData.unit.IsCustomUnit && !unitButtonData.unit.IsModUnit && unitButtonData.unit.Name == "UNIT_LEGACY_PEASANT") { if ((Object)(object)DrHaxSystem.peasantButton == (Object)null && unitButtonData.unit.GetUnitCost(true) == 30) { DrHaxSystem.peasantButton = __instance; DrHaxSystem.peasantBlueprint = unitButtonData.unit; DrHaxSystem.peasantButtonCost = (TextMeshProUGUI)typeof(UnitButton).GetField("m_cost", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(__instance); DrHaxSystem.peasantButtonName = (LocalizeText)typeof(UnitButton).GetField("m_unitName", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(__instance); DrHaxSystem.originalPeasantName = ((TMP_Text)DrHaxSystem.peasantButtonName.Text).text; } else { unitButtonData.unit.forceCost = (Input.GetKey((KeyCode)284) ? 99999999u : 30u); } } } [HarmonyPatch(typeof(UnitButton), "SetupUnit", new Type[] { typeof(Sprite), typeof(DatabaseID), typeof(IPlacementUI), typeof(bool) })] [HarmonyPostfix] private static void FindPeasantButton2(UnitButton __instance, Sprite icon, DatabaseID id, IPlacementUI placementUI, bool Unlocked) { //IL_0006: 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_008b: Expected O, but got Unknown //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Expected O, but got Unknown UnitBlueprint unitBlueprint = ContentDatabase.Instance().GetUnitBlueprint(id); if ((Object)(object)DrHaxSystem.peasantButton == (Object)null && (Object)(object)unitBlueprint != (Object)null && unitBlueprint.Name == "UNIT_LEGACY_PEASANT" && unitBlueprint.GetUnitCost(true) == 30 && !unitBlueprint.IsCustomUnit && !unitBlueprint.IsModUnit) { DrHaxSystem.peasantButton = __instance; DrHaxSystem.peasantBlueprint = unitBlueprint; DrHaxSystem.peasantButtonCost = (TextMeshProUGUI)typeof(UnitButton).GetField("m_cost", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(__instance); DrHaxSystem.peasantButtonName = (LocalizeText)typeof(UnitButton).GetField("m_unitName", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(__instance); DrHaxSystem.originalPeasantName = ((TMP_Text)DrHaxSystem.peasantButtonName.Text).text; } } [HarmonyPatch(typeof(UnitPlacementBrush), "RemoveUnitInternal")] [HarmonyPrefix] private static bool FixHaxCost(UnitPlacementBrush __instance, Unit unit, Team team) { //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Expected O, but got Unknown //IL_0184: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)((Component)unit).GetComponent<Hax>() != (Object)null) { Hax.protectedObjects.Remove((Object)(object)((Component)unit).gameObject); Hax.allHackers.Remove(unit); if (unit.spawnedObjects != null) { GameObject[] spawnedObjects = unit.spawnedObjects; foreach (GameObject val in spawnedObjects) { if ((Object)(object)val != (Object)null) { Hax.protectedObjects.Remove((Object)(object)val); } } } Transform[] componentsInChildren = ((Component)((Component)unit).transform).GetComponentsInChildren<Transform>(); foreach (Transform val2 in componentsInChildren) { Hax.protectedObjects.Remove((Object)(object)((Component)val2).gameObject); } } UnitBlueprint unitBlueprint = unit.unitBlueprint; if (unitBlueprint.Name == "UNIT_LEGACY_PEASANT" && !unitBlueprint.IsCustomUnit && !unitBlueprint.IsModUnit) { unitBlueprint.forceCost = (((Object)(object)((Component)unit).gameObject.GetComponent<Hax>() != (Object)null) ? 99999999u : 30u); if (unitBlueprint.forceCost > 40) { MoneyUI val3 = (MoneyUI)typeof(PlacementUI).GetField((((int)team == 0) ? "red" : "blue") + "Money", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(PlacementUI.Instance); int num = 0; Hax[] array = Object.FindObjectsOfType<Hax>(); foreach (Hax hax in array) { if (hax.hacker.Team == team) { num++; } } if (num < 2) { DrHaxSystem.ToggleTextPreProcessor(val3.moneyText, null, 0); DrHaxSystem.ToggleTextPreProcessor(val3.unitCountText, null, 0); } } CostReturnBlueprint = unitBlueprint; } return true; } [HarmonyPatch(typeof(UnitPlacementBrush), "RemoveUnitInternal")] [HarmonyPostfix] private static void ReturnPeasantCost(UnitPlacementBrush __instance, Unit unit, Team team) { if ((Object)(object)CostReturnBlueprint != (Object)null) { CostReturnBlueprint.forceCost = (Input.GetKey((KeyCode)284) ? 99999999u : 30u); CostReturnBlueprint = null; } } [HarmonyPatch(typeof(Unit), "Start")] [HarmonyPostfix] private static void AddHax(Unit __instance) { //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0070: 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_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Expected O, but got Unknown //IL_02cd: Unknown result type (might be due to invalid IL or missing references) //IL_02f8: Unknown result type (might be due to invalid IL or missing references) //IL_02fd: Unknown result type (might be due to invalid IL or missing references) //IL_0302: Unknown result type (might be due to invalid IL or missing references) //IL_02a8: Unknown result type (might be due to invalid IL or missing references) //IL_031b: Unknown result type (might be due to invalid IL or missing references) //IL_0314: Unknown result type (might be due to invalid IL or missing references) if (!(__instance.unitBlueprint.Name == "UNIT_LEGACY_PEASANT") || __instance.unitBlueprint.forceCost <= 99999998 || __instance.unitBlueprint.IsCustomUnit || __instance.unitBlueprint.IsModUnit) { return; } Hax hax = null; Hax[] array = Object.FindObjectsOfType<Hax>(); foreach (Hax hax2 in array) { if (hax2.hacker.Team == __instance.Team) { hax = hax2; break; } } if ((Object)(object)hax == (Object)null) { upgradeCD = 0.5f; ((Component)__instance).gameObject.AddComponent<Hax>(); MoneyUI val = (MoneyUI)typeof(PlacementUI).GetField((((int)__instance.Team == 0) ? "red" : "blue") + "Money", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(PlacementUI.Instance); DrHaxSystem.ToggleTextPreProcessor(val.moneyText, (ITextPreprocessor)(object)new GlitchNumberTextProcessor(), 1, makeAlwaysUpdate: true); DrHaxSystem.ToggleTextPreProcessor(val.unitCountText, (ITextPreprocessor)(object)new GlitchNumberTextProcessor(), 1, makeAlwaysUpdate: true); DrHaxSystem.voiceActor.PlayOneShot(ShitLoader3000.sounds["v_introduce"]); return; } try { if (UPGRADE.LV < 2 && upgradeCD <= 0f) { UPGRADE.GO(); upgradeCD = 0.5f; if (UPGRADE.LV < 2) { ClothesCheat.lockOn = new ENRAGED_PULSE(); DrHaxSystem.voiceActor.PlayOneShot(ShitLoader3000.sounds["v_enrage"]); } else { ClothesCheat.lockOn = new TRUE_POWER(); DrHaxSystem.voiceActor.PlayOneShot(ShitLoader3000.sounds["v_give_up"]); } hax.voiceTime = 8f; ClothesCheat.current = ClothesCheat.ChooseNew(); DrHaxSystem.music.Stop(); DrHaxSystem.music.loop = true; DrHaxSystem.music.clip = ShitLoader3000.sounds["theme" + UPGRADE.LV]; DrHaxSystem.music.Play(); AudioSource[] componentsInChildren = ((Component)ServiceLocator.GetService<MusicHandler>()).GetComponentsInChildren<AudioSource>(); foreach (AudioSource val2 in componentsInChildren) { val2.volume = 0f; val2.mute = true; val2.maxDistance = 0f; val2.spatialBlend = 1f; val2.Stop(); } if ((Object)(object)Hax.hackedEyesMaterial != (Object)null) { Hax.hackedEyesMaterial.color = Color.red; } ServiceLocator.GetService<SoundPlayer>().PlaySoundEffect("Effects/Explosion", 3f, ((Component)Camera.main).transform.position, (MaterialType)0, ((Component)Camera.main).transform, 0.6f); Shockwave.NewShockwave(((Component)hax.data.mainRig).transform.position, Quaternion.LookRotation(Vector3.down), 20f, (UPGRADE.LV < 2) ? Color.red : Color.magenta, reverse: false, 0.2f); } } catch { } l = __instance; ((MonoBehaviour)DrHaxSystem.mevar).Invoke("r", Time.unscaledDeltaTime * 0.9f); } [HarmonyPatch(typeof(HealthHandler), "Die", new Type[] { typeof(Unit) })] [HarmonyPrefix] private static bool ExtraUnkillablility(HealthHandler __instance, Unit damager, ref bool __result) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)((Component)(Unit)HPHanUnitF.GetValue(__instance)).gameObject.GetComponent<Hax>() != (Object)null) { __result = false; return false; } return true; } [HarmonyPatch(typeof(BaseGameMode), "DecideWinner")] [HarmonyPrefix] private static bool NuhUh(BaseGameMode __instance, Team winningTeam, string subText) { //IL_000f: 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_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Invalid comparison between Unknown and O //IL_0089: 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_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Expected O, but got Unknown if (Hax.hackerInMatch && !Hax.matchUnendable && winningTeam == Hax.HackerTeam) { if ((object)(Coroutine)DelayedEndCF.GetValue(__instance) != null) { ((MonoBehaviour)__instance.GameModeService).StopCoroutine((Coroutine)DelayedEndCF.GetValue(__instance)); DelayedEndCF.SetValue(__instance, null); } DelayedEndCF.SetValue(__instance, ((MonoBehaviour)__instance.GameModeService).StartCoroutine((IEnumerator)DelayedEndFunc.Invoke(__instance, new object[3] { ((SettingsInstance)DelayedEndSF.GetValue(__instance)).currentSliderValue, winningTeam, subText }))); return false; } if (!Hax.hackerInMatch) { return true; } return false; } [HarmonyPatch(typeof(HealthHandler), "TakeDamage")] [HarmonyPrefix] private static bool InfiniteDamage(HealthHandler __instance, float damage, Vector3 direction, Unit damager = null, DamageType damageType = (DamageType)0) { //IL_0045: 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_0056: 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_009f: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)damager != (Object)null && (Object)(object)((Component)damager).gameObject.GetComponent<Hax>() != (Object)null) { Unit componentInParent = ((Component)__instance).GetComponentInParent<Unit>(); Hax.HacKill(((Component)damager).gameObject.GetComponent<Hax>(), componentInParent, noHacksGarantee: false, componentInParent.data.mainRig.position - ((Vector3)(ref direction)).normalized * 5f); ServiceLocator.GetService<SoundPlayer>().PlaySoundEffect("Halloween Hits/ReaperScythe", ((Object)(object)((Component)componentInParent).GetComponent<Hax>() == (Object)null) ? 1f : 0.15f, ((Component)componentInParent.data.mainRig).transform.position, (MaterialType)0, (Transform)null, 1f); } return true; } [HarmonyPatch(typeof(TABCUnitUI), "LateUpdate")] [HarmonyPostfix] private static void HealthBarGlitch(TABCUnitUI __instance) { //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) BeGlitchy component = ((Component)__instance).GetComponent<BeGlitchy>(); if ((Object)(object)component == (Object)null) { ((Component)__instance).gameObject.AddComponent<BeGlitchy>().dont = (Object)(object)((Component)((DataHandler)HPBarDataF.GetValue(__instance)).unit).GetComponent<Hax>() == (Object)null; } else if (!component.dont) { __instance.m_HealthBar.fillAmount = Random.value; __instance.m_WhiteHealthBar.fillAmount = Random.value; ((Graphic)__instance.m_HealthBar).color = Random.ColorHSV(); } } [HarmonyPatch(typeof(Unit), "DestroyUnit")] [HarmonyPrefix] private static bool DeleteImmune(Unit __instance) { //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Invalid comparison between Unknown and I4 if ((Object)(object)((Component)__instance).GetComponent<Hax>() != (Object)null && DrHaxSystem.stateManager != null && (int)DrHaxSystem.stateManager.GameState == 1) { return false; } return true; } [HarmonyPatch(typeof(Object), "Destroy", new Type[] { typeof(Object) })] [HarmonyPrefix] private static bool DeleteImmune01(Object obj) { return !Hax.protectedObjects.Contains(obj); } [HarmonyPatch(typeof(Object), "Destroy", new Type[] { typeof(Object), typeof(float) })] [HarmonyPrefix] private static bool DeleteImmune02(Object obj, float t) { return !Hax.protectedObjects.Contains(obj); } [HarmonyPatch(typeof(Object), "DestroyImmediate", new Type[] { typeof(Object) })] [HarmonyPrefix] private static bool DeleteImmune03(Object obj) { return !Hax.protectedObjects.Contains(obj); } [HarmonyPatch(typeof(Object), "DestroyImmediate", new Type[] { typeof(Object), typeof(bool) })] [HarmonyPrefix] private static bool DeleteImmune04(Object obj) { return !Hax.protectedObjects.Contains(obj); } [HarmonyPatch(typeof(Object), "DestroyObject", new Type[] { typeof(Object) })] [HarmonyPrefix] private static bool DeleteImmune05(Object obj) { return !Hax.protectedObjects.Contains(obj); } [HarmonyPatch(typeof(Object), "DestroyObject", new Type[] { typeof(Object), typeof(float) })] [HarmonyPrefix] private static bool DeleteImmune06(Object obj, float t) { return !Hax.protectedObjects.Contains(obj); } [HarmonyPatch(typeof(TeamSystem), "GetTeamUnits")] [HarmonyPrefix] private static bool ImNotReal(TeamSystem __instance, Team team, ref List<Unit> __result) { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) Dictionary<Team, List<Unit>> dictionary = (Dictionary<Team, List<Unit>>)teamUnitsF.GetValue(__instance); if (!dictionary.ContainsKey(team)) { __result = new List<Unit>(); } else { __result = dictionary[team]; __result.RemoveAll((Unit u) => (Object)(object)((Component)u).GetComponent<Hax>() != (Object)null); } return false; } [HarmonyPatch(typeof(TeamSystem), "TriggerUnitDeathAction")] [HarmonyPrefix] private static bool NuhUherNuhUh(TeamSystem __instance, Unit unit) { return (Object)(object)((Component)unit).GetComponent<Hax>() == (Object)null; } [HarmonyPatch(typeof(UnitAPI), "SetIsDead")] [HarmonyPrefix] private static bool DontSetIsDead(UnitAPI __instance) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) return (Object)(object)((Component)(Unit)UnAPIUnitF.GetValue(__instance)).GetComponent<Hax>() == (Object)null; } [HarmonyPatch(typeof(BaseGameMode), "OnWinnerDecided")] [HarmonyPrefix] private static bool NuhUhestNuhUh(BaseGameMode __instance, Team winningTeam, string winSubText) { //IL_000f: 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) if (Hax.hackerInMatch && !Hax.matchUnendable && winningTeam == Hax.HackerTeam) { return true; } if (!Hax.hackerInMatch) { return true; } return false; } [HarmonyPatch(typeof(BaseGameMode), "DelayedCheckMatchOver")] [HarmonyPrefix] private static bool NuhUhesterNuhUh(BaseGameMode __instance, float delay, Team winningTeam, string winSubtext) { //IL_000f: 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) if (Hax.hackerInMatch && !Hax.matchUnendable && winningTeam == Hax.HackerTeam) { return true; } if (!Hax.hackerInMatch) { return true; } return false; } [HarmonyPatch(typeof(TimeService), "Lock")] [HarmonyPrefix] private static bool NuhUhestestNuhUh(TimeService __instance) { if (Hax.hackerInMatch && !Hax.matchOverTwo) { return false; } return true; } [HarmonyPatch(typeof(TimeService), "SetState", new Type[] { typeof(float), typeof(float), typeof(bool) })] [HarmonyPrefix] private static bool FuckOffWithThisScummyShit(TimeService __instance, float targetTimeScale, float transitionTime, bool useAudioMixer = true) { if (Hax.hackerInMatch && !Hax.matchOverTwo && targetTimeScale < 0.01f && transitionTime < 0.01f) { return false; } return true; } [HarmonyPatch(typeof(CameraAbilityPossessUI), "UpdatePrompts")] [HarmonyPostfix] private static void PromptUpdateSupressor(CameraAbilityPossessUI __instance, BindingSourceType bindingSourceType) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) if (Hax.isAbilSelect) { ((LocalizeText)Hax.possesMainPromptF.GetValue(__instance)).LocaleID = "[Q] " + Hax.lastPossessedHacks.usableSkills[Hax.lastPossessedHacks.selectedAbility].Name + " [E]. Use: [Attack3]"; } } [HarmonyPatch(typeof(ProjectileHit), "Hit")] [HarmonyPrefix] private static bool UnfathomableDodge(ProjectileHit __instance, RaycastHit sentHit, float multiplier = 1f) { //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)((Component)((RaycastHit)(ref sentHit)).transform.root).GetComponent<Hax>())) { ((RaycastHit)(ref sentHit)).rigidbody.AddForce(((Random.value < 0.5f) ? (((RaycastHit)(ref sentHit)).transform.right * -1f) : ((Random.value < 0.5f) ? ((RaycastHit)(ref sentHit)).transform.right : Vector3.down)) * 3000f, (ForceMode)5); return false; } return true; } [HarmonyPatch(typeof(CollisionWeapon), "DoCollisionEffects")] [HarmonyPrefix] private static bool CollisionWeaponForcefield(CollisionWeapon __instance, Transform targetTransform, Collision collision) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: 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_0032: 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_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)((Component)targetTransform.root).GetComponent<Hax>())) { Vector3 point = ((ContactPoint)(ref collision.contacts[0])).point; Shockwave.NewShockwave(point, Quaternion.LookRotation(((Component)__instance).transform.position - point), 0.2f, Color.cyan); Rigidbody component = ((Component)__instance).GetComponent<Rigidbody>(); Vector3 velocity = ((Component)__instance).GetComponent<Rigidbody>().velocity; component.velocity = ((Vector3)(ref velocity)).normalized * -20f; if (Object.op_Implicit((Object)(object)((Component)__instance).GetComponent<RemoveAfterSeconds>())) { counterf.SetValue(((Component)__instance).GetComponent<RemoveAfterSeconds>(), 0.5f); } return false; } return true; } [HarmonyPatch(typeof(UnitPlacementBrush), "PlaceLayoutRoutine")] [HarmonyPrefix] private static bool LoadHackerFromLayout(UnitPlacementBrush __instance, ref TABSLayoutUnit[] layout, Team team, ref Action onDone) { //IL_0007: 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) Action action = delegate { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_020e: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004e: 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_0090: 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_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_0180: Unknown result type (might be due to invalid IL or missing references) //IL_0164: 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) //IL_01b5: Expected O, but got Unknown if (DrHaxSystem.hadAHacker[team]) { Unit[] array = Object.FindObjectsOfType<Unit>(); foreach (Unit val in array) { if ((Object)(object)val != (Object)null && (Object)(object)val.unitBlueprint == (Object)(object)DrHaxSystem.peasantBlueprint && val.Team == team) { Hax hax = null; Hax[] array2 = Object.FindObjectsOfType<Hax>(); foreach (Hax hax2 in array2) { if (((Object)(object)hax2.hacker != (Object)null && hax2.hacker.Team == val.Team) || hax2.mySpecificTeam == val.Team) { hax = hax2; break; } } if ((Object)(object)val != (Object)null && (Object)(object)hax == (Object)null && (val.unitBlueprint.forceCost > 99 || __instance.GameModeService.CurrentGameMode.BattleBudget.CanAfford(val.Team, 99999999))) { ((Component)val).gameObject.AddComponent<Hax>().mySpecificTeam = team; if (val.unitBlueprint.forceCost < 99) { __instance.GameModeService.CurrentGameMode.BattleBudget.SpendAmount(val.Team, 99999969); } MoneyUI val2 = (MoneyUI)typeof(PlacementUI).GetField((((int)val.Team == 0) ? "red" : "blue") + "Money", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(PlacementUI.Instance); DrHaxSystem.ToggleTextPreProcessor(val2.moneyText, (ITextPreprocessor)(object)new GlitchNumberTextProcessor(), 1, makeAlwaysUpdate: true); DrHaxSystem.ToggleTextPreProcessor(val2.unitCountText, (ITextPreprocessor)(object)new GlitchNumberTextProcessor(), 1, makeAlwaysUpdate: true); DrHaxSystem.voiceActor.PlayOneShot(ShitLoader3000.sounds["v_win"]); } break; } } DrHaxSystem.hadAHacker[team] = false; } }; if (onDone == null) { onDone = action; } else { onDone = (Action)Delegate.Combine(action, onDone); } return true; } [HarmonyPatch(typeof(PlacementUI), "ClearTeamButtonClicked")] [HarmonyPrefix] private static bool ClearHackersOnDemand(PlacementUI __instance, Team team) { //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) //IL_0039: Unknown result type (might be due to invalid IL or missing references) Hax[] array = Object.FindObjectsOfType<Hax>(); foreach (Hax hax in array) { if (hax.hacker.Team == team) { ServiceLocator.GetService<GameModeService>().CurrentGameMode.Brush.RemoveUnitInternal(hax.hacker, team); } } return true; } } public class TotallyRealNames { public static void Populate() { DrHaxSystem.fakeNames = new List<string> { "Peasant", "Dark Peasant", "Super Peasant", "Clubber", "The Teacher", "Philosopher", "Mark Zuckerberg", "John Cena", "John Rod", "One Punch Man", "Genos", "Seraphim", "Gojo Satoru", "Ryomen Sukuna", "The Thing", "Tom", "Bob", "Tainted Cain", "I see you :)", "YOU", "Landfall", "Toby Fox", "Rick Prime", "Dr. Hax", "ExMagikGuy", "Sandbag", "Sandbert", "Yo mama", "Headcrab", "Protector", "Chieftan", "Ice Giant", "Da Vinci Himself", "Everything", "Everyone", "You can't imagine", "Evil Morty", "Isaac", "Limbless Necromorph", "Mother of Sin", "Only a Sinner", "The One Behind You", "Look Over There", "Stare At Me.", "Catch Me if You Can!", "The Strongest Unit Ever", "Inchoation", "Dark Donald", "Ronald McDonald", "Colonel Sanders", "Alternative Ending", "Billy", "Polyphemus", "Balor", "Mirror", "Your Maker", "Their Maker", "Pencil", "You aren't real.", "Who am I?", "I forgot.", "Memorable name", "Book of Belial", "Astral Beast", "Famine", "Death", "War", "Pestilance", "Father of God", "Father of All", "Above.", "The Devil", "Endless Sea", "94th Line", "C isn't Sharp", "C**", "pynput", "Rod of Harmony", "Endless Beauty", "Nature Itself", "The World", "Temperance and Labor", "Persistance", "Refusal", "Technoblade", "Folkcat", "Folk Valley Itself", "Manifestation", "The Redacted One", "We Won't Meet Again", "Peppino Spaghetti", "The Noise", "Nameless Deity", "Me.", "Mr. Frog", "Laser Gun", "Cube(Clone)", "Hercules", "Thor", "Thanos", "Thanatos", "COVID-19", "Modulo Yuji", "Isagi (with Glock)", "All of Europe", "America", "The Martians", "The Elites", "Uncle Ekbar", "Uncle Shein", "Scuf", "Time Police", "Readcon", "Major Plot Twist", "It", "The Clown", "The Sun", "R136a1", "Ares", "Artemis", "Mars", "Venus", "Meteor Man", "Death Certificate", "Their Parents", "Delirium", "Hush", "Satan", "God", "Ultra Greedier", "Bad Luck", "Technoblade", "10 Dollars", "A Guy", "UNIT_HACKER_HACKER", "10 TMTrainer items", "Every Item", "The Creator of Beginning and the End", "Big Bang Donald-R", "Major Major Major Major", "Dih Toucher", "Wanker 3000", "True Level", "A Singular Molecule", "H2O", "Water", "52! megatons of TNT", "9000 decibel sound", "Solar Eruption", "50 Dynamite", "Moon Lord", "Glitched Crown", "The Other Cavaliers", "Lebron James", "Lebron James", "Lebron James", "Lebron James", "Lebron James", "Lebron James", "Lebron James", "Lebron James", "Lebron James", "Lebron James", "Lebron James", "Lebron James", "Lebron James", "Lebron James", "Lebron James", "Lebron James", "Lebron James", "Lebron James", "Pizzaface before you fight it as a boss", "The boss before you unlock it as a playable character", "Man", "Corruption of the Divine", "Vicious Mockery Damage", "Paying more than $5", "Schitzophrenia", "Magnus Carlsen", "Albert Einstein with balanced stats", "Less Dumb", "Reverse Stars Tarot Card", "Dice Room Effect (5)", "Forget Me Now", "R Key", "Power Button", "The End.", "Big Bang", "Pure Energy", "Reality Manipulation", "Archie Sonic Annihilator", "NOT Alien X", "Zeno Sama", "Universe C-137", "Hacker of all Hackers", "These names ARE ABSOLUTELY procedually generated", "Missingno.", "I repeat everything that's said to me meme", "Curse of the Tower", "The Lover Tarot Card", "On my mooma, I will beat you.", "Trashbag", "Your wife", "Slop", "Flock Cameras", "Barrack Obama", "Biden Blast", "W. D. Gaster", "Dohodyaga", "Green nigga", "Theory", "Everywhere at the end of time 10 hour loop", "11 years of school", "Maxwell's Notebook", "Average Dark Souls Boss", "Funnily enough I already", "mentioned Corruption of the Divine above", "If you found me, congrats", "Fear Hole", "SCP-001", "Omega Flowery", "Jarona True Form", "Blingo Blizzard", "Unnerfed Gerson", "Tidal Wave", "Heliopolis", "KOCMOC Unleashed", "Slaughterhouse", "Hoooooooooooooo", "rse", "Infinity", "Vergil", "Cobson", "The 69 children in my basement.", "Bedtime", "T cubed", "Nihil", "Literally 15 other Dragon Ball characters", "Any Hypernull tier", "Computer Science", "Conquest", "M16 rifle", "Everyone yielding everything", "Zero Punch Man", "Concept of Infinity", "THE MULTIVERSE", "The Weeping God", "1.2 Exabytes Hard Drive", "Everyone knowing everything", "The Fallen", "Mega Fatty", "Zaurzo", "Peacekeeper", "Invincible NPC", "An Admin Gun", "Reverse Emperor Tarot Card", "Magic 8 Ball", "The Roaring Knight", "The Roaring Non-Fraud", "My dawgs", "You in my basement", "Negative One Kick Man", "TotallyRealNames.cs", "Scemer", "Hecker", "Dunce Cap", "UI Shaggy 100%", "Sunrise", "Amogus potion at 3 AM", "Power Outage", "Call of Druki", "MANDO", "Mini Mango", "Magic Mango", "Tuff Valley Monster", "Impasta", "Mogger 3000", "AssBeater 6000", "9000th byte", "Cursed Omelet", "Moonzy X", "A Cat (Awakened)", "Mandela Effect", "Delete Button", "CTRL + Z", "Kuroudo Akabane", "L_Reimu", "2nd Death Star", "Average CoD Lobby Ppl", "300 bucks", "Big Guy", "Big H", "Toe Stub", "120 volts (x1000)", "Erie True Form VotV", "Minecraft Hardcore Youtuber", "CPU Fryer", "Lose if you want a 5090", "\"We have T.N.T\"", "Terence Angry Birds", "Allied Mastercomputer", "Judge Holden", "The Qu", "Infinity-sided Dice", "Chaotic Good Barbarian", "Kick Buttowski", "Someone saying KYS", "Low Tier God", "Da Infinite Skateboard", "QTG Hacker NPC", "Garry Newman", "Markus Person", "Notch", "Herobrine", "Nicole Waterson", "Batman w/ 1 year prep time", "Toon Force", "Ban Hammer", "The Boiled One", "You'll be asleep in bed.", "I will be there", "I will see you.", "Forever, I will see you.", "Friend", "Omega Tom Hanks", "Mathrus (real version)", "Dr. Jackal" }; DrHaxSystem.fakeNames.Add("User named " + Environment.UserName); DrHaxSystem.fakeNames.Add("The " + Environment.ProcessorCount + " processors."); List<string> list = new List<string> { "Cube", "Sphere", "World", "Person", "Cat", "Dog", "Epstein", "Einstein", "Youtube Channel", "McDonald", "Tom", "Jerry", "Alice", "Keyboard", "Mouse", "Mirror", "Force", "Cap", "Hat", "Phone", "Head", "Glitch", "Dollar", "Earth", "Law", "Curve", "Fantasy", "Engine", "Drums", "Room", "PC", "Lebron", "James", "Messi" }; list.Add(Environment.UserName); List<string> list2 = new List<string> { "Unnatural", "Magical", "Surprising", "Compelling", "Destructive", "Processing", "Confused", "Venomous", "Poinsonous", "Immortal", "Infinite", "Central", "Finite", "Amazing", "Fantastic", "Incredible", "Excellent", "Rightous", "Professional", "Imaginary", "Phantom", "Invisible", "Big", "Small", "Messy" }; list2.Add(Environment.MachineName); for (int i = 0; i < 7; i++) { DrHaxSystem.fakeNames.Add(list2[Random.Range(0, list2.Count)] + " " + list[Random.Range(0, list.Count)]); } for (int i = 0; i < 7; i++) { DrHaxSystem.fakeNames.Add(list2[Random.Range(0, list2.Count)] + ", " + list2[Random.Range(0, list2.Count)] + " " + list[Random.Range(0, list.Count)]); } for (int i = 0; i < 4; i++) { DrHaxSystem.fakeNames.Add(list[Random.Range(0, list.Count)] + " of the " + list2[Random.Range(0, list2.Count)]); } DrHaxSystem.fakeNames.Add(list[Random.Range(0, list.Count)] + " staring at the " + list2[Random.Range(0, list2.Count)]); DrHaxSystem.fakeNames.Add("The one " + list2[Random.Range(0, list2.Count)] + " " + list[Random.Range(0, list.Count)]); DrHaxSystem.fakeNames.Add("The truly only " + list2[Random.Range(0, list2.Count)] + " one."); DrHaxSystem.AliasesCount = DrHaxSystem.fakeNames.Count - 1; } } public class Hax : MonoBehaviour { public Unit hacker; public DataHandler data; public HealthHandler healthHandle; public MovementHandler movement; public Balance balance; public WeaponHandler arsenal; public GameStateManager gameState; public float voiceTime = 5f; public static Team HackerTeam = (Team)0; public static bool matchUnendable = false; public float hitHackerCooldown = 0.35f; public bool matchEnded = false; public float boostTimer = 2f; public static bool hackerInMatch = false; public List<Unit> existanceBlacklist; public List<Unit> googlyDeadList; public float rangedTime = 0f; public string rangedHackType = "__R"; public float projReleaseCd = 0f; public Team mySpecificTeam = (Team)0; public float stamina = 7f; public Coroutine performingSkill = null; public Unit shortest = null; public List<HackSkill> usableSkills; public static bool matchOverTwo = false; public static List<Object> protectedObjects = new List<Object>(); public static List<Unit> allHackers = new List<Unit>(); public static float heartbeat = 0.2f; public static KeyValuePair<Vector3, Quaternion> lastHackerSpawnPos = new KeyValuePair<Vector3, Quaternion>(Vector3.zero, Quaternion.identity); public float slowUpdate = 0f; public float originalSpeed = 1f; public bool isPossessed = false; public static bool isAbilSelect = false; public int selectedAbility = 0; private CameraAbilityPossessUI possessor = null; public static FieldInfo possesMainPromptF = typeof(CameraAbilityPossessUI).GetField("mainControlsPrompt", BindingFlags.Instance | BindingFlags.NonPublic); public static Hax lastPossessedHacks = null; public float acSpeed = 20f; public float speedHeld = 0f; public List<JointDrive> allDrives = new List<JointDrive>(); public List<Vector3> scales = new List<Vector3>(); public static Material hackedClothesMaterial = null; public static Material hackedEyesMaterial = null; public static FieldInfo teamColorRendererF = typeof(TeamColor).GetField("meshRenderer", BindingFlags.Instance | BindingFlags.NonPublic); public static FieldInfo mItemsF = typeof(UnitRig).GetField("m_items", BindingFlags.Instance | BindingFlags.NonPublic); public float leftWalkAngle = 0f; public float rightWalkAngle = (float)Math.PI; public static readonly float[] _v = new float[4] { 55f, 20f, 7.5f, 0.5f }; public Vector3 forcePos = Vector3.zero; public float forceDir = 0f; public Vector3 startPos = Vector3.zero; public static int respawns = 0; private void Start() { //IL_023a: Unknown result type (might be due to invalid IL or missing references) //IL_023f: 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_025c: Unknown result type (might be due to invalid IL or missing references) //IL_0271: 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_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Expected O, but got Unknown //IL_00b4: 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_0358: Invalid comparison between Unknown and I4 //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Expected O, but got Unknown //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0437: Unknown result type (might be due to invalid IL or missing references) //IL_043c: Unknown result type (might be due to invalid IL or missing references) //IL_044e: Unknown result type (might be due to invalid IL or missing references) //IL_0453: Unknown result type (might be due to invalid IL or missing references) //IL_04e9: Unknown result type (might be due to invalid IL or missing references) //IL_052a: Unknown result type (might be due to invalid IL or missing references) //IL_052f: Unknown result type (might be due to invalid IL or missing references) //IL_055f: Unknown result type (might be due to invalid IL or missing references) heartbeat = 0.2f; hitHackerCooldown = 0.35f; if (ClothesCheat.current == null) { ClothesCheat.timeBeforeSwitch = 8f; ClothesCheat.bundle.Clear(); ClothesCheat.current = ClothesCheat.ChooseNew(); } try { if (!((Behaviour)DrHaxSystem.mevar).enabled) { ((Behaviour)DrHaxSystem.mevar).enabled = true; } } catch { DrHaxSystem.RESTORE(tauntAfter: true); } hacker = ((Component)this).gameObject.GetComponent<Unit>(); try { if ((Object)(object)hackedClothesMaterial == (Object)null) { hackedClothesMaterial = new Material(((Component)this).gameObject.GetComponentInChildren<TeamColor>().redMaterial); hackedClothesMaterial.color = Color.black; } hackedClothesMaterial.shader = Shader.Find("Standard"); if ((Object)(object)hackedEyesMaterial == (Object)null) { hackedEyesMaterial = new Material(hackedClothesMaterial); hackedEyesMaterial.color = Color.green; } Renderer[] componentsInChildren = ((Component)hacker).GetComponentsInChildren<Renderer>(); foreach (Renderer val in componentsInChildren) { if (((Object)((Component)val).gameObject).name == "Pupil" || ((Object)((Component)val).gameObject).name == "White" || ((Object)((Component)val).gameObject).name.StartsWith("TabsUnit")) { if (((Object)((Component)val).gameObject).name == "Pupil") { val.sharedMaterial = hackedEyesMaterial; } continue; } Material[] sharedMaterials = val.sharedMaterials; if (sharedMaterials != null) { for (int j = 0; j < sharedMaterials.Length; j++) { sharedMaterials[j] = hackedClothesMaterial; } } val.sharedMaterials = sharedMaterials; val.sharedMaterial = hackedClothesMaterial; } } catch (Exception ex) { DrHaxSystem.Log(1, ex.Message); } data = hacker.data; forcePos = data.torso.position; forceDir = Random.value * 360f; startPos = forcePos; lastHackerSpawnPos = new KeyValuePair<Vector3, Quaternion>(((Component)data.mainRig).transform.position, ((Component)data.mainRig).transform.rotation); if ((Object)(object)DrHaxSystem.projectilor == (Object)null) { DrHaxSystem.projectilor = ServiceLocator.GetService<ProjectilesSpawnManager>(); } existanceBlacklist = new List<Unit>(); googlyDeadList = new List<Unit>(); healthHandle = hacker.data.healthHandler; movement = ((Component)this).gameObject.GetComponentInChildren<MovementHandler>(); balance = ((Component)this).gameObject.GetComponentInChildren<Balance>(); arsenal = ((Component)this).gameObject.GetComponentInChildren<WeaponHandler>(); hacker.WasDealtDamageAction = Immortal; originalSpeed = movement.multiplier; gameState = ServiceLocator.GetService<GameStateManager>(); if (gameState != null && (int)gameState.GameState == 0) { allHackers.Add(hacker); } protectedObjects.Add((Object)(object)((Component)this).gameObject); if (hacker.spawnedObjects != null) { GameObject[] spawnedObjects = hacker.spawnedObjects; foreach (GameObject val2 in spawnedObjects) { if ((Object)(object)val2 != (Object)null) { protectedObjects.Add((Object)(object)val2); } } } Transform[] componentsInChildren2 = ((Component)((Component)this).transform).GetComponentsInChildren<Transform>(); foreach (Transform val3 in componentsInChildren2) { protectedObjects.Add((Object)(object)((Component)val3).gameObject); } ((Component)hacker).GetComponentInChildren<UnitSounds>().VocalPathData = null; HackerTeam = hacker.Team; hackerInMatch = true; mySpecificTeam = hacker.Team; usableSkills = new List<HackSkill> { new Telekinesis(), new HeatVisionShots(), new LightSpeedDashes(), new EruptionLaser(), new SoulConsumption(), new UnitReversal() }; scales.Clear(); Rigidbody[] allRigs = hacker.data.allRigs.AllRigs; foreach (Rigidbody val4 in allRigs) { scales.Add(((Component)val4).transform.localScale); } allDrives.Clear(); ConfigurableJoint[] componentsInChildren3 = ((Component)data.allRigs).GetComponentsInChildren<ConfigurableJoint>(); for (int n = 0; n < componentsInChildren3.Length; n++) { JointDrive angularXDrive = componentsInChildren3[n].angularXDrive; ((JointDrive)(ref angularXDrive)).positionDamper = ((JointDrive)(ref angularXDrive)).positionDamper * 9999f; ((JointDrive)(ref angularXDrive)).positionSpring = ((JointDrive)(ref angularXDrive)).positionSpring * 9999f; allDrives.Add(angularXDrive); } } private void OnDestroy() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Invalid comparison between Unknown and I4 //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Invalid comparison between Unknown and I4 //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_01f7: Unknown result type (might be due to invalid IL or missing references) //IL_01f9: Unknown result type (might be due to invalid IL or missing references) //IL_01fc: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_019d: 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_01cb: Unknown result type (might be due to invalid IL or missing references) //IL_01d0: Unknown result type (might be due to invalid IL or missing references) protectedObjects.Remove((Object)(object)((Component)this).gameObject); if (gameState != null && (int)gameState.GameState == 0) { allHackers.Remove(hacker); } if (hacker.spawnedObjects != null) { GameObject[] spawnedObjects = hacker.spawnedObjects; foreach (GameObject val in spawnedObjects) { if ((Object)(object)val != (Object)null) { protectedObjects.Remove((Object)(object)val); } } } Transform[] componentsInChildren = ((Component)((Component)this).transform).GetComponentsInChildren<Transform>(); foreach (Transform val2 in componentsInChildren) { protectedObjects.Remove((Object)(object)((Component)val2).gameObject); } ((MonoBehaviour)this).StopAllCoroutines(); if (gameState == null || (int)gameState.GameState != 1 || !(heartbeat >= 0f)) { return; } try { Vector3 val3 = lastHackerSpawnPos.Key; Quaternion value = lastHackerSpawnPos.Value; if (respawns > 2) { Unit[] array = Object.FindObjectsOfType<Unit>(); foreach (Unit val4 in array) { if ((Object)(object)val4 != (Object)(object)hacker) { Rigidbody[] allRigs = hacker.data.allRigs.AllRigs; foreach (Rigidbody val5 in allRigs) { Transform transform = ((Component)val5).transform; transform.position += Vector3.down * 9999f; } val4.DestroyUnit(); val3 = ((Component)val4).transform.position; } } } respawns++; DrHaxSystem.peasantBlueprint.Spawn(val3, value, mySpecificTeam, 1f, (UnitPoolInfo?)null)[0].AddComponent<Hax>(); } catch { } if (respawns > 2) { JustWin(); } } private void Immortal(float damage) { data.Dead = false; data.maxHealth = 1E+09f; data.health = 1E+09f; data.takeFallDamage = false; hacker.dead = false; } public static void HacKill(Hax sourceHacks, Unit unit, bool noHacksGarantee = false, Vector3? repellentForcePoint = null) { //IL_0212: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) if (!noHacksGarantee && (Object)(object)((Component)unit).GetComponent<Hax>() != (Object)null) { return; } try { ((Component)unit).GetComponentInChildren<RigidbodyHolder>().massMultiplier = 1f; Rigidbody[] allRigs = unit.data.allRigs.AllRigs; foreach (Rigidbody val in allRigs) { val.mass = 1000f; unit.data.mainRig.velocity = Vector3.zero; unit.data.mainRig.angularVelocity = Vector3.zero; unit.data.mainRig.drag = sourceHacks.data.mainRig.drag; unit.data.mainRig.angularDrag = sourceHacks.data.mainRig.angularDrag; } if (Object.op_Implicit((Object)(object)unit.WeaponHandler)) { if (Object.op_Implicit((Object)(object)unit.WeaponHandler.rightWeapon) && Object.op_Implicit((Object)(object)unit.unitBlueprint.RightWeapon) && Object.op_Implicit((Object)(object)unit.WeaponHandler.rightWeapon.rigidbody)) { unit.WeaponHandler.rightWeapon.rigidbody.mass = 1000f; } if (Object.op_Implicit((Object)(object)unit.WeaponHandler.leftWeapon) && Object.op_Implicit((Object)(object)unit.unitBlueprint.LeftWeapon) && Object.op_Implicit((Object)(object)unit.WeaponHandler.leftWeapon.rigidbody)) { unit.WeaponHandler.leftWeapon.rigidbody.mass = 1000f; } } } catch { } try { unit.data.health = 0f; unit.data.maxHealth = 1f; unit.data.healthHandler.Die((Unit)null); unit.data.Dead = true; if (repellentForcePoint.HasValue) { unit.data.mainRig.AddExplosionForce(60666664f, repellentForcePoint.Value, 35f); } } catch { } sourceHacks.existanceBlacklist.Add(unit); } public static void SpawnProjectile(Team myTeam, GameObject source, GameObject prefab, Vector3 pos, Quaternion rot, Rigidbody homingTarget = null) { //IL_0007: 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_005b: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) GameObject val = DrHaxSystem.projectilor.SpawnProjectile(prefab, pos, rot); try { Level val2 = val.GetComponent<Level>() ?? val.AddComponent<Level>(); val2.levelMultiplier = 1E+09f; val2.level = 999999999; val2.ignoreTeam = true; } catch { } try { TeamHolder val3 = val.GetComponent<TeamHolder>() ?? val.AddComponent<TeamHolder>(); val3.team = myTeam; val3.spawner = source; val3.spawnerWeapon = null; val3.target = homingTarget; } catch { } } public void JustWin() { //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) matchOverTwo = true; if (UPGRADE.LV > 1 && !UPGRADE.didTheThing) { UPGRADE.GOLASTRESORT(); UPGRADE.didTheThing = true; } try { ServiceLocator.GetService<GameModeService>().CurrentGameMode.DecideWinner(mySpecificTeam, ServiceLocator.GetService<GameModeService>().CurrentGameMode.WinConditionPropagator.GetWinConditionsForTeam(mySpecificTeam)[0].GetWinDescription()); } catch { ServiceLocator.GetService<GameModeService>().CurrentGameMode.DecideWinner(mySpecificTeam, "Hacker Won."); } } private void SlowUpdate() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0520: Unknown result type (might be due to invalid IL or missing references) //IL_0526: Invalid comparison between Unknown and I4 //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Invalid comparison between Unknown and I4 //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: 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_0129: 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_015f: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01c9: Unknown result type (might be due to invalid IL or missing references) //IL_023f: Unknown result type (might be due to invalid IL or missing references) //IL_031a: 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_0357: Unknown result type (might be due to invalid IL or missing references) //IL_035c: Unknown result type (might be due to invalid IL or missing references) //IL_0368: Unknown result type (might be due to invalid IL or missing references) //IL_03a0: Unknown result type (might be due to invalid IL or missing references) //IL_03a5: Unknown result type (might be due to invalid IL or missing references) //IL_03aa: 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_03b6: Unknown result type (might be due to invalid IL or missing references) //IL_03bb: Unknown result type (might be due to invalid IL or missing references) //IL_03bc: Unknown result type (might be due to invalid IL or missing references) //IL_03c1: Unknown result type (might be due to invalid IL or missing references) //IL_0408: Unknown result type (might be due to invalid IL or missing references) //IL_0413: Unknown result type (might be due to invalid IL or missing references) //IL_0418: Unknown result type (might be due to invalid IL or missing references) //IL_0419: Unknown result type (might be due to invalid IL or missing references) //IL_041e: Unknown result type (might be due to invalid IL or missing references) //IL_0284: Unknown result type (might be due to invalid IL or missing references) //IL_029c: Unknown result type (might be due to invalid IL or missing references) DrHaxSystem.hadAHacker[mySpecificTeam] = true; data.mainRig.constraints = (RigidbodyConstraints)0; if (data.mainRig.IsSleeping()) { data.mainRig.WakeUp(); } if ((Object)(object)((Component)this).GetComponent<GeneralInput>() != (Object)null && !((Behaviour)((Component)this).GetComponent<GeneralInput>()).enabled) { ((Behaviour)((Component)this).GetComponent<GeneralInput>()).enabled = true; } if ((Object)(object)((Component)this).GetComponent<Move>() != (Object)null && !((Behaviour)((Component)this).GetComponent<GeneralInput>()).enabled) { ((Behaviour)((Component)this).GetComponent<Move>()).enabled = true; } if (gameState != null && (int)gameState.GameState == 0) { Color value = Color.HSVToRGB(Random.value, 1f, 1f); Color value2 = Color.HSVToRGB(Random.value, 1f, 1f); value.a = 0.2f; value2.a = 0.1f; Shockwave.NewShockwave(((Component)data.mainRig).transform.position, Quaternion.Euler(Random.value * 360f, Random.value * 360f, Random.value * 360f), 1f + Random.value, value, Random.value < 0.5f, 0.8f); Shockwave.NewShockwave(((Component)data.mainRig).transform.position, Quaternion.Euler(Random.value * 360f, Random.value * 360f, Random.value * 360f), 2f + Random.value * 3f, value2, Random.value < 0.5f, 0.4f); } else if (gameState != null) { Rigidbody[] allRigs = hacker.data.allRigs.AllRigs; for (int i = 0; i < allRigs.Length; i++) { allRigs[i].mass = 9999f; ((Component)allRigs[i]).transform.localScale = scales[i]; } ConfigurableJoint[] componentsInChildren = ((Component)data.allRigs).GetComponentsInChildren<ConfigurableJoint>(); for (int j = 0; j < componentsInChildren.Length; j++) { componentsInChildren[j].angularXDrive = allDrives[j]; componentsInChildren[j].angularYZDrive = allDrives[j]; } } if (UPGRADE.LV > 0 && voiceTime < -1f) { DrHaxSystem.voiceActor.PlayOneShot(ShitLoader3000.sounds["v_laugh"]); UPGRADE.didTheThing = false; voiceTime = 0f; JustWin(); } Vector3 val = data.torso.position + new Vector3(-0.5f + Random.value * 1f, -1.5f + Random.value * 3f, -0.5f + Random.value * 1f); Vector3 val2 = data.torso.position + new Vector3(-0.5f + Random.value * 1f, -1.5f + Random.value * 3f, -0.5f + Random.value * 1f); HackDigit.NewDigit(val, Quaternion.LookRotation(((Component)Camera.main).transform.position - val), 1f + (-0.5f + Random.value * 1.5f), Random.Range(0, 3), 0.75f + (-0.25f + Random.value * 0.5f), Random.Range(0, 2)); HackDigit.NewDigit(val2, Quaternion.LookRotation(((Component)Camera.main).transform.position - val2), 1f + (-0.5f + Random.value * 1.5f), Random.Range(0, 3), 0.75f + (-0.25f + Random.value * 0.5f), Random.Range(0, 2)); if (!isPossessed) { bool flag = false; foreach (Unit allHacker in allHackers) { if (allHacker.api.IsPossessed) { flag = true; break; } } if (!flag) { isAbilSelect = false; selectedAbility = 0; } } try { if (!((Behaviour)DrHaxSystem.mevar).enabled) { ((Behaviour)DrHaxSystem.mevar).enabled = true; } } catch { gameState = ServiceLocator.GetService<GameStateManager>(); DrHaxSystem.RESTORE(gameState != null && (int)gameState.GameState == 1); } } private void Update() { //IL_025f: Unknown result type (might be due to invalid IL or missing references) //IL_0265: Invalid comparison between Unknown and I4 //IL_037c: 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_1688: 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_00c0: Expected O, but got Unknown //IL_16a9: Unknown result type (might be due to invalid IL or missing references) //IL_16ae: 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_030f: Unknown result type (might be due to invalid IL or missing references) //IL_16d9: Unknown result type (might be due to invalid IL or missing references) //IL_16de: Unknown result type (might be due to invalid IL or missing references) //IL_16e3: Unknown result type (might be due to invalid IL or missing references) //IL_16ed: Unknown result type (might be due to invalid IL or missing references) //IL_1722: Unknown result type (might be due to invalid IL or missing references) //IL_1739: Unknown result type (might be due to invalid IL or missing references) //IL_173e: Unknown result type (might be due to invalid IL or missing references) //IL_1748: Unknown result type (might be due to invalid IL or missing references) //IL_174d: Unknown result type (might be due to invalid IL or missing references) //IL_175d: Unknown result type (might be due to invalid IL or missing references) //IL_1762: Unknown result type (might be due to invalid IL or missing references) //IL_1767: Unknown result type (might be due to invalid IL or missing references) //IL_0334: Unknown result type (might be due to invalid IL or missing references) //IL_033e: Unknown result type (might be due to invalid IL or missing references) //IL_1796: Unknown result type (might be due to invalid IL or missing references) //IL_179b: Unknown result type (might be due to invalid IL or missing references) //IL_179d: Unknown result type (might be due to invalid IL or missing references) //IL_17d6: Unknown result type (might be due to invalid IL or missing references) //IL_17f8: Unknown result type (might be due to invalid IL or missing references) //IL_1813: Unknown result type (might be due to invalid IL or missing references) //IL_1829: Unknown result type (might be due to invalid IL or missing references) //IL_182e: Unknown result type (might be due to invalid IL or missing references) //IL_1833: Unknown result type (might be due to invalid IL or missing references) //IL_183d: Unknown result type (might be due to invalid IL or missing references) //IL_0467: Unknown result type (might be due to invalid IL or missing references) //IL_15b3: Unknown result type (might be due to invalid IL or missing references) //IL_15c0: Unknown result type (might be due to invalid IL or missing references) //IL_15fa: Unknown result type (might be due to invalid IL or missing references) //IL_160a: Unknown result type (might be due to invalid IL or missing references) //IL_160f: Unknown result type (might be due to invalid IL or missing references) //IL_1614: Unknown result type (might be due to invalid IL or missing references) //IL_1618: Unknown result type (might be due to invalid IL or missing references) //IL_1634: Unknown result type (might be due to invalid IL or missing references) //IL_163e: Unknown result type (might be due to invalid IL or missing references) //IL_1648: Unknown result type (might be due to invalid IL or missing references) //IL_09ac: Unknown result type (might be due to invalid IL or missing references) //IL_09b1: Unknown result type (might be due to invalid IL or missing references) //IL_0530: Unknown result type (might be due to invalid IL or missing references) //IL_0540: Unknown result type (might be due to invalid IL or missing references) //IL_0545: Unknown result type (might be due to invalid IL or missing references) //IL_054a: Unknown result type (might be due to invalid IL or missing references) //IL_0557: Unknown result type (might be due to invalid IL or missing references) //IL_055c: Unknown result type (might be due to invalid IL or missing references) //IL_0563: Unknown result type (might be due to invalid IL or missing references) //IL_0568: Unknown result type (might be due to invalid IL or missing references) //IL_056d: Unknown result type (might be due to invalid IL or missing references) //IL_056f: Unknown result type (might be due to invalid IL or missing references) //IL_0571: Unknown result type (might be due to invalid IL or missing references) //IL_0573: Unknown result type (might be due to invalid IL or missing references) //IL_0593: Unknown result type (might be due to invalid IL or missing references) //IL_05b6: Unknown result type (might be due to invalid IL or missing references) //IL_05d6: Unknown result type (might be due to invalid IL or missing references) //IL_05f9: Unknown result type (might be due to invalid IL or missing references) //IL_0638: Unknown result type (might be due to invalid IL or missing references) //IL_0669: Unknown result type (might be due to invalid IL or missing references) //IL_1068: Unknown result type (might be due to invalid IL or missing references) //IL_1083: Unknown result type (might be due to invalid IL or missing references) //IL_04ee: Unknown result type (might be due to invalid IL or missing references) //IL_0693: Unknown result type (might be due to invalid IL or missing references) //IL_069d: Unknown result type (might be due to invalid IL or missing references) //IL_06b2: Unknown result type (might be due to invalid IL or missing references) //IL_09ed: Unknown result type (might be due to invalid IL or missing references) //IL_0cc2: Unknown result type (might be due to invalid IL or missing references) //IL_0d0a: Unknown result type (might be due to invalid IL or missing references) //IL_0c62: Unknown result type (might be due to invalid IL or missing references) //IL_0ac0: Unknown result type (might be due to invalid IL or missing references) //IL_0ad6: Unknown result type (might be due to invalid IL or missing references) //IL_0af6: Unknown result type (might be due to invalid IL or missing references) //IL_0b00: Unknown result type (might be due to invalid IL or missing references) //IL_0a5b: Unknown result type (might be due to invalid IL or missing references) //IL_0a6b: Unknown result type (might be due to invalid IL or missing references) //IL_0a70: Unknown result type (might be due to invalid IL or missing references) //IL_0a20: Unknown result type (might be due to invalid IL or missing references) //IL_0a2a: Unknown result type (might be due to invalid IL or missing references) //IL_0a3f: Unknown result type (might be due to invalid IL or missing references) //IL_0b77: Unknown result type (might be due to invalid IL or missing references) //IL_0ba3: Unknown result type (might be due to invalid IL or missing references) //IL_0bb3: Unknown result type (might be due to invalid IL or missing references) //IL_0bb8: Unknown result type (might be due to invalid IL or missing references) //IL_0b2d: Unknown result type (might be due to invalid IL or missing references) //IL_0b37: Unknown result type (might be due to invalid IL or missing references) //IL_0b4c: Unknown result type (might be due to invalid IL or missing references) //IL_10dc: Unknown result type (might be due to invalid IL or missing references) //IL_10e1: Unknown result type (might be due to invalid IL or missing references) //IL_10e6: Unknown result type (might be due to invalid IL or missing references) //IL_10f0: Unknown result type (might be due to invalid IL or missing references) //IL_1125: Unknown result type (might be due to invalid IL or missing references) //IL_114c: Unknown result type (might be due to invalid IL or missing references) //IL_115c: Unknown result type (might be due to invalid IL or missing references) //IL_1161: Unknown result type (might be due to invalid IL or missing references) //IL_1166: Unknown result type (might be due to invalid IL or missing references) //IL_1178: Unknown result type (might be due to invalid IL or missing references) //IL_1182: Unknown result type (might be due to invalid IL or missing references) //IL_1187: Unknown result type (might be due to invalid IL or missing references) //IL_1195: Unknown result type (might be due to invalid IL or missing references) //IL_1197: Unknown result type (might be due to invalid IL or missing references) //IL_1199: Unknown result type (might be due to invalid IL or missing references) //IL_119e: Unknown result type (might be due to invalid IL or missing references) //IL_0d8e: Unknown result type (might be due to invalid IL or missing references) //IL_0ddd: Unknown result type (might be due to invalid IL or missing references) //IL_0e17: Unknown result type (might be due to invalid IL or missing references) //IL_0e1c: Unknown result type (might be due to invalid IL or missing references) //IL_0e26: Unknown result type (might be due to invalid IL or missing references) //IL_0e2b: Unknown result type (might be due to invalid IL or missing references) //IL_0e41: Unknown result type (might be due to invalid IL or missing references) //IL_0e57: Unknown result type (might be due to invalid IL or missing references) //IL_0e61: Unknown result type (might be due to invalid IL or missing references) //IL_11cd: Unknown result type (might be due to invalid IL or missing references) //IL_11d2: Unknown result type (might be due to invalid IL or missing references) //IL_11d4: Unknown result type (might be due to invalid IL or missing references) //IL_120d: Unknown result type (might be due to invalid IL or missing references) //IL_122a: Unknown result type (might be due to invalid IL or missing references) //IL_122f: Unknown result type (might be due to invalid IL or missing references) //IL_1234: Unknown result type (might be due to invalid IL or missing references) //IL_123e: Unknown result type (might be due to invalid IL or missing references) //IL_0ecd: Unknown result type (might be due to invalid IL or missing references) //IL_0ef9: Unknown result type (might be due to invalid IL or missing references) //IL_0efe: Unknown result type (might be due to invalid IL or missing references) //IL_0f03: Unknown result type (might be due to invalid IL or missing references) //IL_0e83: Unknown result type (might be due to invalid IL or missing references) //IL_0e8d: Unknown result type (might be due to invalid IL or missing references) //IL_0ea2: Unknown result type (might be due to invalid IL or missing references) //IL_0f50: Unknown result type (might be due to invalid IL or missing references) //IL_0f55: Unknown result type (might be due to invalid IL or missing references) //IL_0f5f: Unknown result type (might be due to invalid IL or missing references) //IL_0f64: Unknown result type (might be due to invalid IL or missing references) //IL_0f7a: Unknown result type (might be due to invalid IL or missing references) //IL_0fe5: Unknown result type (might be due to invalid IL or missing references) //IL_1011: Unknown result type (might be due to invalid IL or missing references) //IL_1016: Unknown result type (might be due to invalid IL or missing references) //IL_101b: Unknown result type (might be due to invalid IL or missing references) //IL_0f9b: Unknown result type (might be due to invalid IL or missing