EFTCheatPVE/stoopid.raw/stupid.solutions.Features/BulletMovement.cs

57 lines
2.1 KiB
C#

using System;
using EFT;
using EFT.UI;
using stupid.solutions.Data;
using stupid.solutions.stupid.solutions.Data;
using stupid.solutions.Utils;
using UnityEngine;
namespace stupid.solutions.Features;
public class BulletMovement
{
public bool MagicBullet_Hook(Vector3 prevPosition, Vector3 nextPosition)
{
Aimbot.BulletMovementHook.Unhook();
bool result = false;
try
{
if (Settings.MagicBullet && Input.GetMouseButton(0))
{
GamePlayer target = Aimbot.Target;
OnlineGamePlayer oTarget = Aimbot.OTarget;
if (target != null)
{
Vector3 zero = Vector3.zero;
WildSpawnType role = target.Player.Profile.Info.Settings.Role;
zero = ((role == WildSpawnType.infectedAssault || role == WildSpawnType.infectedCivil || role == WildSpawnType.infectedLaborant || role == WildSpawnType.infectedPmc) ? GameUtils.GetBonePosByID(target.Player, Aimbot.zombiebone) : GameUtils.GetBonePosByID(target.Player, Settings.Aimbone));
Vector3 normalized = (Main.LocalPlayer.Fireport.position - zero).normalized;
prevPosition = zero + normalized * 0.1f;
nextPosition = zero;
}
else if (oTarget != null)
{
Vector3 zero2 = Vector3.zero;
WildSpawnType wildSpawnType = WildSpawnType.pmcUSEC;
zero2 = ((wildSpawnType == WildSpawnType.infectedAssault || wildSpawnType == WildSpawnType.infectedCivil || wildSpawnType == WildSpawnType.infectedLaborant || wildSpawnType == WildSpawnType.infectedPmc) ? GameUtils.GetBonePosByIDO(oTarget.Player, Aimbot.zombiebone) : GameUtils.GetBonePosByIDO(oTarget.Player, Settings.Aimbone));
Vector3 normalized2 = (Main.LocalPlayer.Fireport.position - zero2).normalized;
prevPosition = zero2 + normalized2 * 0.1f;
nextPosition = zero2;
}
}
result = (bool)Aimbot.BulletMovementHook.OriginalMethod.Invoke(this, new object[2] { prevPosition, nextPosition });
}
catch (Exception ex)
{
ConsoleScreen.Log("Exception in hook method:");
ConsoleScreen.Log($"Exception Type: {ex.GetType()}");
ConsoleScreen.Log("Exception Message: " + ex.Message);
ConsoleScreen.Log("Stack Trace: " + ex.StackTrace);
}
finally
{
Aimbot.BulletMovementHook.Hook();
}
return result;
}
}