using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Threading.Tasks; using Comfort.Common; using EFT; using EFT.Animations; using EFT.Animations.Recoil; using EFT.Interactive; using EFT.InventoryLogic; using EFT.NextObservedPlayer; using EFT.UI; using stupid.solutions.Data; using stupid.solutions.Features.ESP; using stupid.solutions.stupid.solutions.Data; using stupid.solutions.Utils; using UnityEngine; namespace stupid.solutions; internal class Exploits : MonoBehaviour { private static readonly Array _bodyParts = Enum.GetValues(typeof(EBodyPart)); public static BotOwner _botOwner; private static Coroutine artillerycoroutine; private float waitime = 3f; private static Material cachedskyboxmaterial; private static bool doorhooked = false; private static Dictionary originalHeadScales = new Dictionary(); private static Dictionary isHeadScaled = new Dictionary(); private static TestHook PlayTripwireInteractionHook; private static TestHook StopTripwireInteractionHook; private static bool isPlayHooked = false; private static bool isStopHooked = false; private static TestHook AntiFPSDropHook; private static bool isantifpshooked = false; public void Update() { if (Input.GetKeyDown(KeyCode.F5)) { ConsoleScreen.IAmDevShowMeLogs = !ConsoleScreen.IAmDevShowMeLogs; ConsoleScreen.Log($"Toggling Dev Logs {ConsoleScreen.IAmDevShowMeLogs}"); } if (Input.GetKeyDown(KeyCode.F6)) { ConsoleScreen.Log("Gameworld Location ID : " + Main.GameWorld.LocationId); } if (Main.GameWorld == null && isHeadScaled.Count > 0) { isHeadScaled.Clear(); } if (Main.GameWorld == null && originalHeadScales.Count > 0) { originalHeadScales.Clear(); } } public static void UnlockAllDoors() { if (!(Main.GameWorld != null)) { return; } if (Main.OnlineGamePlayers.Count > 0) { ConsoleScreen.Log("No Opening doors in Online !!!"); return; } Door[] array = UnityEngine.Object.FindObjectsOfType(); foreach (Door door in array) { if (door.DoorState != EDoorState.Open && !(Vector3.Distance(door.transform.position, Main.LocalPlayer.Position) > 20f)) { door.DoorState = EDoorState.Shut; } } } public static void SwitchToThirdPerson() { if (Main.LocalPlayer != null) { Main.LocalPlayer.PointOfView = EPointOfView.ThirdPerson; if (Main.LocalPlayer.CameraPosition != null) { Main.LocalPlayer.CameraPosition.localPosition = new Vector3(0f, 0.5f, -2f); Main.MainCamera.transform.localRotation = Quaternion.identity; } } } public static void FreeCameraUpdate() { if (!(Main.LocalPlayer == null) && !(Main.MainCamera == null)) { Transform transform = Main.MainCamera.transform; float num = 2f; if (Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl)) { num = 10f; } Vector3 zero = Vector3.zero; if (Input.GetKey(KeyCode.UpArrow)) { zero += transform.forward; } if (Input.GetKey(KeyCode.DownArrow)) { zero -= transform.forward; } if (Input.GetKey(KeyCode.LeftArrow)) { zero -= transform.right; } if (Input.GetKey(KeyCode.RightArrow)) { zero += transform.right; } if (zero != Vector3.zero) { transform.position += zero.normalized * num * Time.deltaTime; } } } public static void SwitchToFirstPerson() { if (Main.LocalPlayer != null) { Main.LocalPlayer.PointOfView = EPointOfView.FirstPerson; } } public static void FlyHack() { if (Main.LocalPlayer != null && Main.LocalPlayer.Transform != null && Main.MainCamera != null) { Main.LocalPlayer.MovementContext.FreefallTime = 0f; Main.LocalPlayer.MovementContext.IsGrounded = true; if (Input.GetKey(KeyCode.Space)) { Main.LocalPlayer.MovementContext.FreefallTime = -0.4f; Main.LocalPlayer.Transform.position += Main.LocalPlayer.Transform.up / 5f * Settings.Speed; } if (Input.GetKey(KeyCode.LeftControl)) { Main.LocalPlayer.Transform.position -= Main.LocalPlayer.Transform.up / 5f * Settings.Speed; } } } public static void SpeedHack() { if (Input.GetKey(KeyCode.W)) { Main.LocalPlayer.Transform.position += Main.LocalPlayer.Transform.forward / 5f * Settings.Speed; } if (Input.GetKey(KeyCode.S)) { Main.LocalPlayer.Transform.position -= Main.LocalPlayer.Transform.forward / 5f * Settings.Speed; } if (Input.GetKey(KeyCode.A)) { Main.LocalPlayer.Transform.position -= Main.LocalPlayer.Transform.right / 5f * Settings.Speed; } if (Input.GetKey(KeyCode.D)) { Main.LocalPlayer.Transform.position += Main.LocalPlayer.Transform.right / 5f * Settings.Speed; } } public static void InfiniteStamina() { if (Main.LocalPlayer.Physical.Stamina.Current < 75f) { Main.LocalPlayer.Physical.Stamina.Current = Main.LocalPlayer.Physical.Stamina.TotalCapacity.Value; } if (Main.LocalPlayer.Physical.HandsStamina.Current < 75f) { Main.LocalPlayer.Physical.HandsStamina.Current = Main.LocalPlayer.Physical.HandsStamina.TotalCapacity.Value; } if (Main.LocalPlayer.Physical.Oxygen.Current < 75f) { Main.LocalPlayer.Physical.Oxygen.Current = Main.LocalPlayer.Physical.Oxygen.TotalCapacity.Value; } Main.LocalPlayer.RemoveStateSpeedLimit(Player.ESpeedLimit.Weight); Main.LocalPlayer.RemoveStateSpeedLimit(Player.ESpeedLimit.Swamp); Main.LocalPlayer.RemoveStateSpeedLimit(Player.ESpeedLimit.SurfaceNormal); Main.LocalPlayer.RemoveStateSpeedLimit(Player.ESpeedLimit.Shot); Main.LocalPlayer.RemoveStateSpeedLimit(Player.ESpeedLimit.HealthCondition); Main.LocalPlayer.RemoveStateSpeedLimit(Player.ESpeedLimit.Fall); Main.LocalPlayer.RemoveStateSpeedLimit(Player.ESpeedLimit.BarbedWire); Main.LocalPlayer.RemoveStateSpeedLimit(Player.ESpeedLimit.Armor); Main.LocalPlayer.RemoveStateSpeedLimit(Player.ESpeedLimit.Aiming); } public static void Instaheal() { if (!Input.GetKey(Settings.Instahealkey) || Settings.allinputdisabled) { return; } foreach (EBodyPart bodyPart in _bodyParts) { if (Main.LocalPlayer.ActiveHealthController.IsBodyPartBroken(bodyPart) || Main.LocalPlayer.ActiveHealthController.IsBodyPartDestroyed(bodyPart)) { Main.LocalPlayer.ActiveHealthController.RestoreBodyPart(bodyPart, 1f); } Main.LocalPlayer.ActiveHealthController.RemoveNegativeEffects(bodyPart); Main.LocalPlayer.ActiveHealthController.RemoveNegativeEffects(EBodyPart.Common); Main.LocalPlayer.ActiveHealthController.RestoreFullHealth(); Main.LocalPlayer.ActiveHealthController.ChangeHealth(bodyPart, 1000000f, default(_F167)); Main.LocalPlayer.ActiveHealthController.ApplyDamage(bodyPart, 0f, default(_F167)); } } public static void Godmode() { Player localPlayer = Main.LocalPlayer; if (localPlayer != null && localPlayer.ActiveHealthController != null && Settings.Godmode) { Main.fixedgodmode = false; if (localPlayer.ActiveHealthController.DamageCoeff != -1f) { localPlayer.ActiveHealthController.SetDamageCoeff(-1f); localPlayer.ActiveHealthController.RemoveNegativeEffects(EBodyPart.Common); localPlayer.ActiveHealthController.RestoreFullHealth(); localPlayer.ActiveHealthController.ChangeEnergy(999f); localPlayer.ActiveHealthController.ChangeHydration(999f); localPlayer.ActiveHealthController.DoPainKiller(); } if (localPlayer.ActiveHealthController.FallSafeHeight != 9999999f) { localPlayer.ActiveHealthController.FallSafeHeight = 9999999f; } } } public static void ResetGodmode() { Player localPlayer = Main.LocalPlayer; if (localPlayer != null && localPlayer.ActiveHealthController != null) { localPlayer.ActiveHealthController.SetDamageCoeff(1f); localPlayer.ActiveHealthController.FallSafeHeight = 1f; localPlayer.ActiveHealthController.ChangeEnergy(100f); localPlayer.ActiveHealthController.ChangeHydration(100f); localPlayer.ActiveHealthController.RemoveMedEffect(); localPlayer.ActiveHealthController.DoPermanentHealthBoost(0f); Settings.Godmode = false; } } public static void Flares() { if (Input.GetKeyDown(KeyCode.RightBracket) && !Settings.allinputdisabled) { CallAirdrop(takeNearbyPoint: true, Main.LocalPlayer.Position); } } public static void CallAirdrop(bool takeNearbyPoint = false, Vector3 position = default(Vector3)) { GameWorld gameWorld = Main.GameWorld; EFTHardSettings.Instance.WindFactor = 0f; if (gameWorld != null) { gameWorld.InitAirdrop(null, takeNearbyPoint, position); ConsoleScreen.Log("Airdrop has been called."); } else { ConsoleScreen.Log("GameWorld is null, cannot initiate airdrop."); } } public static void Thermals() { Main._thermalVision.On = Settings.Thermal; ThermalVision thermalVision = Main._thermalVision; thermalVision.IsFpsStuck = false; thermalVision.IsGlitch = false; thermalVision.IsMotionBlurred = false; thermalVision.IsNoisy = false; thermalVision.IsPixelated = false; thermalVision.TextureMask.Color = new Color(0f, 0f, 0f, 0f); thermalVision.TextureMask.Stretch = false; thermalVision.TextureMask.Size = 0f; } public static void KillALL() { GameWorld instance = Singleton.Instance; if (!(instance != null)) { return; } foreach (Player item in instance.AllAlivePlayersList.Where((Player x) => !x.IsYourPlayer)) { if (!item.IsYourPlayer) { item.ActiveHealthController.Kill(EDamageType.Landmine); } } } public static void TPall() { GameWorld instance = Singleton.Instance; if (!(instance != null)) { return; } foreach (Player item in instance.AllAlivePlayersList.Where((Player x) => !x.IsYourPlayer)) { bool flag = Main.IsBossByName(item.Profile.Info.Nickname.Localized()); WildSpawnType role = item.Profile.Info.Settings.Role; if (!item.IsYourPlayer) { if (!Settings.tpboss && !Settings.tppmc) { Vector3 position = Main.LocalPlayer.gameObject.transform.position; Vector3 forward = Main.LocalPlayer.gameObject.transform.forward; float num = 5f; Vector3 position2 = position + forward * num; item.Teleport(position2, onServerToo: true); } if (Settings.tpboss && flag && role != WildSpawnType.pmcUSEC && role != WildSpawnType.pmcBEAR) { Vector3 position3 = Main.LocalPlayer.gameObject.transform.position; Vector3 forward2 = Main.LocalPlayer.gameObject.transform.forward; float num2 = 5f; Vector3 position4 = position3 + forward2 * num2; item.Teleport(position4, onServerToo: true); } if (role == WildSpawnType.pmcUSEC || (role == WildSpawnType.pmcBEAR && Settings.tppmc)) { Vector3 position5 = Main.LocalPlayer.gameObject.transform.position; Vector3 forward3 = Main.LocalPlayer.gameObject.transform.forward; float num3 = 5f; Vector3 position6 = position5 + forward3 * num3; item.Teleport(position6, onServerToo: true); } } } } public static void RemoveVisor() { Main._visorEffect.Intensity = (Settings.NoVisor ? 0f : 1f); } public static void InstaHit() { if (Main.LocalPlayer.HandsController.Item is Weapon) { Main.LocalPlayerWeapon.Template.Velocity = 1000f; Main.LocalPlayerWeapon.CurrentAmmoTemplate.PenetrationChanceObstacle = 100000f; Main.LocalPlayerWeapon.CurrentAmmoTemplate.PenetrationPower = 1000000; Main.LocalPlayerWeapon.CurrentAmmoTemplate.RicochetChance = 0f; } } public static void NoRecoil() { if (!Settings.NoRecoil || Main.LocalPlayer == null) { return; } IRecoilShotEffect recoilShotEffect = Main.LocalPlayer.ProceduralWeaponAnimation.Shootingg?.CurrentRecoilEffect; if (recoilShotEffect != null) { recoilShotEffect.CameraRotationRecoilEffect.Intensity = 0f; recoilShotEffect.HandPositionRecoilEffect.Intensity = 0f; recoilShotEffect.HandRotationRecoilEffect.Intensity = 0f; ProceduralWeaponAnimation proceduralWeaponAnimation = Main.LocalPlayer.ProceduralWeaponAnimation; if (!(proceduralWeaponAnimation == null)) { MotionEffector motionReact = proceduralWeaponAnimation.MotionReact; motionReact.Intensity = 0f; motionReact.SwayFactors = Vector3.zero; motionReact.Velocity = Vector3.zero; proceduralWeaponAnimation.Breath.Intensity = 0f; proceduralWeaponAnimation.Walk.Intensity = 0f; proceduralWeaponAnimation.ForceReact.Intensity = 0f; proceduralWeaponAnimation.WalkEffectorEnabled = false; } } } public static void RemoveNoRecoil() { if (Main.LocalPlayer == null) { return; } Player localPlayer = Main.LocalPlayer; if (!(localPlayer.ProceduralWeaponAnimation == null)) { IRecoilShotEffect recoilShotEffect = localPlayer.ProceduralWeaponAnimation.Shootingg?.CurrentRecoilEffect; if (recoilShotEffect != null) { recoilShotEffect.CameraRotationRecoilEffect.Intensity = 1f; recoilShotEffect.HandPositionRecoilEffect.Intensity = 1f; recoilShotEffect.HandRotationRecoilEffect.Intensity = 1f; } } } public static void NoJam() { if (Main.LocalPlayer.HandsController.Item is Weapon && Main.LocalPlayerWeapon.Template != null && Main.LocalPlayer != null) { Main.LocalPlayerWeapon.Template.AllowOverheat = false; Main.LocalPlayerWeapon.Template.AllowMisfire = false; Main.LocalPlayerWeapon.Template.AllowJam = false; Main.LocalPlayerWeapon.Template.AllowFeed = false; Main.LocalPlayerWeapon.Template.AllowSlide = false; Main.LocalPlayerWeapon.Template.DurabilityBurnRatio = 0f; } } public static void RemoveNoJam() { if (Main.LocalPlayer.HandsController.Item is Weapon && Main.LocalPlayerWeapon != null) { Main.LocalPlayerWeapon.Template.AllowOverheat = true; Main.LocalPlayerWeapon.Template.AllowMisfire = true; Main.LocalPlayerWeapon.Template.AllowJam = true; Main.LocalPlayerWeapon.Template.AllowFeed = true; Main.LocalPlayerWeapon.Template.AllowSlide = true; Main.LocalPlayerWeapon.Template.DurabilityBurnRatio = 1f; } } public static void ChangeFireRate() { if (!(Main.LocalPlayer.HandsController.Item is Weapon) || !(Main.LocalPlayer.HandsController.Item is Weapon weapon)) { return; } Main.LocalPlayerWeapon.Template.bFirerate = 2000; weapon.GetItemComponent().FireMode = Weapon.EFireMode.fullauto; Main.LocalPlayer.GetComponent().Item.Template.BoltAction = false; if (Main.LocalPlayer.HandsController is Player.FirearmController firearmController) { WeaponTemplate weaponTemplate = firearmController.Item?.Template; if (weaponTemplate != null) { weaponTemplate.BoltAction = false; weaponTemplate.bFirerate = 2000; } } } public static void Fullbright() { if (Settings.fullbright) { if (!GameFullBright.LightCalled && GameFullBright.Enabled) { GameFullBright.LightGameObject = new GameObject("Fullbright"); GameFullBright.FullBrightLight = GameFullBright.LightGameObject.AddComponent(); GameFullBright.FullBrightLight.color = new Color(1f, 0.96f, 0.91f); GameFullBright.FullBrightLight.range = 2000f; GameFullBright.FullBrightLight.intensity = 0.6f; GameFullBright.LightCalled = true; } GameFullBright.Enabled = true; if (!(GameFullBright.FullBrightLight == null)) { Main._tempPosition = Main.LocalPlayer.Transform.position; Main._tempPosition.y += 0.2f; GameFullBright.LightGameObject.transform.position = Main._tempPosition; } } } public static void RemoveFullbright() { if (GameFullBright.FullBrightLight != null) { UnityEngine.Object.Destroy(GameFullBright.FullBrightLight); } GameFullBright.LightCalled = false; } public static void Minecraftmode() { GameObject gameObject = GameObject.CreatePrimitive(PrimitiveType.Cube); gameObject.transform.localScale = new Vector3(1f, 1f, 1f); Vector3 position = Main.LocalPlayer.gameObject.transform.position; Vector3 forward = Main.LocalPlayer.gameObject.transform.forward; float num = 3f; RaycastHit hitInfo; Vector3 position2 = ((!Physics.Raycast(new Ray(position, forward), out hitInfo, num)) ? (position + forward * num) : hitInfo.point); gameObject.transform.position = position2; Material material = Main.bundle.LoadAsset("minecraftmaterial"); if (material != null) { gameObject.GetComponent().material = material; } AudioClip audioClip = Main.bundle.LoadAsset("minecraftsound"); if (audioClip != null) { AudioSource audioSource = gameObject.AddComponent(); audioSource.clip = audioClip; audioSource.Play(); } } public static void Invisibletobots() { } public static void TestShelling(Vector3 shellingpos) { Main.audioSource.clip = Main.artillerycall; Main.audioSource.volume = 0.1f; Main.audioSource.Play(); Main.GameWorld.ServerShellingController.StartShellingPosition(shellingpos); PlayArtilleryAnswerAsync(); } private static async void PlayArtilleryAnswerAsync() { await Task.Delay(3000); Main.audioSource.clip = Main.artilleryaccept; Main.audioSource.volume = 0.1f; Main.audioSource.Play(); } public static void AlwaysSurvive() { ConsoleScreen.Log("Hooking alwayssurvived..."); Type type = Main.FindType("LocalGame"); if (type != null) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); MethodInfo[] array = methods; for (int i = 0; i < array.Length; i++) { _ = array[i]; } MethodInfo methodInfo = methods.FirstOrDefault((MethodInfo m) => m.Name == "Stop"); if (methodInfo != null) { ConsoleScreen.Log("Stop method found successfully."); ConsoleScreen.Log($"Stop method details - Name: {methodInfo.Name}, ReturnType: {methodInfo.ReturnType}, IsPublic: {methodInfo.IsPublic}, IsPrivate: {methodInfo.IsPrivate}, IsProtected: {methodInfo.IsFamily}"); try { Main.alwayssurvivedhook = new TestHook(); Main.alwayssurvivedhook.Init(methodInfo, typeof(StatusManager).GetMethod("Stop_Hook")); Main.alwayssurvivedhook.Hook(); ConsoleScreen.Log("alwayssurvived hook applied successfully."); Main.nothooked = false; } catch (Exception ex) { ConsoleScreen.Log("Error while hooking method: " + ex.Message); } } } else { ConsoleScreen.Log("Failed to find LocalGame type."); } } public static void RemoveFilters1() { ConsoleScreen.Log("Hooking CheckItemFilter..."); Type type = Main.FindType("ItemFilter"); if (type != null) { MethodInfo methodInfo = type.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic).FirstOrDefault((MethodInfo m) => m.Name == "CheckItemFilter"); if (methodInfo != null) { ConsoleScreen.Log("CheckItemFilter method found successfully."); try { Main.checkItemFilterHook = new TestHook(); Main.checkItemFilterHook.Init(methodInfo, typeof(StatusManager).GetMethod("CheckItemFilter_Hook")); Main.checkItemFilterHook.Hook(); ConsoleScreen.Log("CheckItemFilter hook applied successfully."); Main.hookedCheckItemFilter = true; return; } catch (Exception ex) { ConsoleScreen.Log("Error while hooking CheckItemFilter method: " + ex.Message); return; } } ConsoleScreen.Log("CheckItemFilter method not found."); } else { ConsoleScreen.Log("Failed to find ItemFilter type."); } } public static void RemoveFilters2() { ConsoleScreen.Log("Hooking CheckItemExcludedFilter..."); Type type = Main.FindType("ItemFilter"); if (type != null) { MethodInfo methodInfo = type.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic).FirstOrDefault((MethodInfo m) => m.Name == "CheckItemExcludedFilter"); if (methodInfo != null) { ConsoleScreen.Log("CheckItemExcludedFilter method found successfully."); try { Main.checkItemExcludedFilterHook = new TestHook(); Main.checkItemExcludedFilterHook.Init(methodInfo, typeof(StatusManager).GetMethod("CheckItemExcludedFilter_Hook")); Main.checkItemExcludedFilterHook.Hook(); ConsoleScreen.Log("CheckItemExcludedFilter hook applied successfully."); Main.hookedCheckItemExcludedFilter = true; return; } catch (Exception ex) { ConsoleScreen.Log("Error while hooking CheckItemExcludedFilter method: " + ex.Message); return; } } ConsoleScreen.Log("CheckItemExcludedFilter method not found."); } else { ConsoleScreen.Log("Failed to find ItemFilter type."); } } public static void CheckAndAddAmmoToChamber() { try { if (!(Main.LocalPlayer != null) || Main.LocalPlayerWeapon == null) { return; } Weapon localPlayerWeapon = Main.LocalPlayerWeapon; if (localPlayerWeapon.IsGrenadeLauncher) { HandleGrenadeAmmo(localPlayerWeapon); return; } _EF1A currentMagazine = localPlayerWeapon.GetCurrentMagazine(); string ammoID = Main.ammoID; Item item = new ItemFactory().CreateItem(ammoID); if (item == null) { return; } if (currentMagazine != null && currentMagazine.Count < currentMagazine.MaxCount) { currentMagazine.Cartridges?.Add(item, simulate: false); return; } Slot[] chambers = localPlayerWeapon.Chambers; for (int i = 0; i < chambers.Length; i++) { chambers[i].Add(item, simulate: false); } } catch (Exception) { } } private static void HandleGrenadeAmmo(Weapon weapon) { try { ItemFactory itemFactory = new ItemFactory(); IEnumerable allSlots = weapon.AllSlots; if (allSlots == null || !allSlots.Any()) { return; } string grenadeId = Main.ammoID; if (string.IsNullOrEmpty(grenadeId)) { return; } foreach (Slot item2 in allSlots) { ItemFilter[] filters = item2.Filters; if (filters != null && filters.Length != 0 && filters.Any((ItemFilter filter) => filter != null && filter.Filter?.Contains(grenadeId) == true)) { Item item = itemFactory.CreateItem(grenadeId); if (item != null) { item.SpawnedInSession = true; item2.AddWithoutRestrictions(item); } } } } catch (Exception) { } } public static void Teleport(string tpname) { try { tpname = tpname.ToLower(); List list = new List(); foreach (GameLootItem gameLootItem2 in ItemESP._gameLootItems) { ItemCategories itemcat = gameLootItem2.Itemcat; bool flag = false; if (itemcat == ItemCategories.Quest && Settings.questTP) { flag = true; } else if (itemcat == ItemCategories.Superrare && Settings.superrareTP) { flag = true; } else if (itemcat == ItemCategories.Kappa && Settings.kappaTP) { flag = true; } else if (itemcat == ItemCategories.Stim && Settings.StimTP) { flag = true; } else if (itemcat == ItemCategories.Wishlist && Settings.TPwishlistitem) { flag = true; } else if (itemcat == ItemCategories.Hideout && Settings.TPhideoutitem) { flag = true; } else if (gameLootItem2.itemprice > Settings.ESPPRICEfiltervalue && Settings.TPHVitem) { flag = true; } if ((gameLootItem2.LocalizedName.ToLower().Contains(tpname) || gameLootItem2.ShortName.ToLower().Contains(tpname)) && Settings.searchTP) { flag = true; } if (flag) { list.Add(gameLootItem2); } } if (Settings.questTP) { List list2 = Main.GameWorld.LootItems.Where((LootItem x) => x.Item.Template.QuestItem).ToList(); foreach (LootItem item2 in list2) { GameLootItem item = new GameLootItem(item2); list.Add(item); } ConsoleScreen.Log($"[Teleport] Static spawned quest items found: {list2.Count}"); } List list3 = list.OrderBy((GameLootItem gameLootItem2) => gameLootItem2.LocalizedName.ToLower()).ToList(); int count = list3.Count; if (count > 0) { float num = 360f / (float)count; float loottpradius = Settings.loottpradius; Vector3 position = Main.LocalPlayer.gameObject.transform.position; position.y += 1f; for (int num2 = 0; num2 < count; num2++) { float f = (float)Math.PI / 180f * ((float)num2 * num); float num3 = Mathf.Cos(f) * loottpradius; float num4 = Mathf.Sin(f) * loottpradius; Vector3 position2 = new Vector3(position.x + num3, position.y, position.z + num4); GameLootItem gameLootItem = list3[num2]; try { Rigidbody component = gameLootItem.LootItem.gameObject.GetComponent(); if (component != null) { component.isKinematic = true; } gameLootItem.LootItem.gameObject.transform.position = position2; GameObject obj = GameObject.CreatePrimitive(PrimitiveType.Sphere); obj.GetComponent().enabled = false; obj.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f); obj.transform.position = position2; UnityEngine.Object.Destroy(obj, 1f); } catch (Exception ex) { ConsoleScreen.Log("[Teleport] Error teleporting item '" + gameLootItem.LocalizedName + "': " + ex.Message); } } } ConsoleScreen.Log("[Teleport] Teleportation complete."); } catch (Exception ex2) { ConsoleScreen.Log("[Teleport] Exception: " + ex2.Message); } } public static void BulletsPerShot(int bulletsPerShot) { if (Main.LocalPlayer.HandsController.Item is Weapon) { Main.LocalPlayerWeapon.CurrentAmmoTemplate.ProjectileCount = Settings.bulletspershot; } } public static void ExtendItemHitbox(GameLootItem item) { if (item?.LootItem?.gameObject != null) { GameObject obj = item.LootItem.gameObject; obj.transform.localScale *= 5f; Collider component = obj.GetComponent(); if (component != null) { component.transform.localScale *= 5f; component.enabled = false; component.enabled = true; } } } public static void HandleBigHeads() { if (Main.OnlineGamePlayers.Count > 0) { foreach (OnlineGamePlayer onlineGamePlayer in Main.OnlineGamePlayers) { if (onlineGamePlayer.role != OnlineGamePlayer.PlayerType.Teammate) { ObservedPlayerView player = onlineGamePlayer.Player; if (player != null && player.PlayerBones != null && player.PlayerBones.Head != null) { int instanceID = player.GetInstanceID(); if (!isHeadScaled.ContainsKey(instanceID)) { isHeadScaled[instanceID] = false; originalHeadScales[instanceID] = player.PlayerBones.Head.Original.localScale; } float num = 4f; if (Settings.BigHeads) { if (!isHeadScaled[instanceID]) { Vector3 localScale = originalHeadScales[instanceID] * num; player.PlayerBones.Head.Original.localScale = localScale; isHeadScaled[instanceID] = true; } } else if (!Settings.BigHeads && isHeadScaled[instanceID]) { player.PlayerBones.Head.Original.localScale = originalHeadScales[instanceID]; isHeadScaled[instanceID] = false; } } } } return; } foreach (GamePlayer gamePlayer in Main.GamePlayers) { Player player2 = gamePlayer.Player; if (!(player2 != null) || !(player2.PlayerBones != null) || player2.PlayerBones.Head == null) { continue; } int instanceID2 = player2.GetInstanceID(); if (!isHeadScaled.ContainsKey(instanceID2)) { isHeadScaled[instanceID2] = false; originalHeadScales[instanceID2] = player2.PlayerBones.Head.Original.localScale; } if (Settings.BigHeads) { if (!isHeadScaled[instanceID2]) { Vector3 localScale2 = originalHeadScales[instanceID2] * 4f; player2.PlayerBones.Head.Original.localScale = localScale2; isHeadScaled[instanceID2] = true; } } else if (!Settings.BigHeads && isHeadScaled[instanceID2]) { player2.PlayerBones.Head.Original.localScale = originalHeadScales[instanceID2]; isHeadScaled[instanceID2] = false; } } } public static void FPSExploit() { if (!isPlayHooked) { MethodInfo method = typeof(Player).GetMethod("PlayTripwireInteractionSound", BindingFlags.Instance | BindingFlags.Public); MethodInfo method2 = typeof(TripwireHooks).GetMethod("PlayTripwireInteractionSound_Hook", BindingFlags.Static | BindingFlags.Public); PlayTripwireInteractionHook = new TestHook(); PlayTripwireInteractionHook.Init(method, method2); PlayTripwireInteractionHook.Hook(); isPlayHooked = true; } ClientPlayer clientPlayer = (ClientPlayer)Main.LocalPlayer; clientPlayer.PlayTripwireInteractionSound(10f, hasMultiTool: false); MethodInfo method3 = typeof(ClientPlayer).GetMethod("SendTripwireInteractionSoundState", BindingFlags.Instance | BindingFlags.NonPublic); if (method3 != null) { try { EInteractionStatus eInteractionStatus = EInteractionStatus.Started; bool flag = false; bool flag2 = false; method3.Invoke(clientPlayer, new object[3] { eInteractionStatus, flag, flag2 }); ConsoleScreen.Log("Called SendTripwireInteractionSoundState with parameters: " + $"interactionStatus={eInteractionStatus}, isSuccess={flag}, hasMultiTool={flag2}."); return; } catch (Exception arg) { ConsoleScreen.Log($"Error with sending tripwire interaction : \n {arg}"); return; } } ConsoleScreen.Log("Failed to locate SendTripwireInteractionSoundState method."); } public static void PreventTripwireSoundExploit() { if (!isantifpshooked) { AntiFPSDropHook = new TestHook(); AntiFPSDropHook.Init(typeof(ObservedPlayerAudioController).GetMethod("method_14", BindingFlags.Instance | BindingFlags.NonPublic), typeof(TripwireHooks).GetMethod("AntiTripWire_Hook")); AntiFPSDropHook.Hook(); isantifpshooked = true; ConsoleScreen.Log("hooked sound protection"); } } public static void changeskybox() { cachedskyboxmaterial = Main.levelSettings.skybox; Material skybox = Main.bundle.LoadAsset("skyboxmaterial.mat"); if (cachedskyboxmaterial != null) { Main.levelSettings.skybox = skybox; } } }