more options for auto repair and auto sandvich

fixes
This commit is contained in:
rei-2
2025-09-07 11:33:29 -04:00
parent 5c959f021d
commit 12e5fef0cc
7 changed files with 108 additions and 62 deletions
@@ -196,15 +196,14 @@ bool CAimbotGlobal::ShouldIgnore(CBaseEntity* pEntity, CTFPlayer* pLocal, CTFWea
case ETFClassID::CObjectTeleporter:
{
auto pBuilding = pEntity->As<CBaseObject>();
if (pLocal->m_iTeamNum() == pBuilding->m_iTeamNum())
return false;
if (!(Vars::Aimbot::General::Target.Value & Vars::Aimbot::General::TargetEnum::Sentry) && pBuilding->IsSentrygun()
|| !(Vars::Aimbot::General::Target.Value & Vars::Aimbot::General::TargetEnum::Dispenser) && pBuilding->IsDispenser()
|| !(Vars::Aimbot::General::Target.Value & Vars::Aimbot::General::TargetEnum::Teleporter) && pBuilding->IsTeleporter())
return true;
if (pLocal->m_iTeamNum() == pEntity->m_iTeamNum())
return false;
auto pOwner = pBuilding->m_hBuilder().Get();
if (pOwner)
{
@@ -60,9 +60,9 @@ std::vector<Target_t> CAimbotHitscan::GetTargets(CTFPlayer* pLocal, CTFWeaponBas
switch (Vars::Aimbot::Healing::HealPriority.Value)
{
case Vars::Aimbot::Healing::HealPriorityEnum::PrioritizeFriends:
if (!H::Entities.IsFriend(pEntity->entindex()) && !H::Entities.InParty(pEntity->entindex()))
break;
[[fallthrough]];
if (H::Entities.IsFriend(pEntity->entindex()) || H::Entities.InParty(pEntity->entindex()))
iPriority = std::numeric_limits<int>::max();
break;
case Vars::Aimbot::Healing::HealPriorityEnum::PrioritizeTeam:
iPriority = std::numeric_limits<int>::max();
}
@@ -76,7 +76,7 @@ std::vector<Target_t> CAimbotHitscan::GetTargets(CTFPlayer* pLocal, CTFWeaponBas
return vTargets;
}
if (Vars::Aimbot::General::Target.Value)
if (Vars::Aimbot::General::Target.Value & Vars::Aimbot::General::TargetEnum::Building)
{
for (auto pEntity : H::Entities.GetGroup(EGroupType::BUILDINGS_ENEMIES))
{
@@ -14,14 +14,10 @@ std::vector<Target_t> CAimbotMelee::GetTargets(CTFPlayer* pLocal, CTFWeaponBase*
if (Vars::Aimbot::General::Target.Value & Vars::Aimbot::General::TargetEnum::Players)
{
auto eGroupType = EGroupType::GROUP_INVALID;
if (Vars::Aimbot::General::Target.Value & Vars::Aimbot::General::TargetEnum::Players)
{
eGroupType = !F::AimbotGlobal.FriendlyFire() || Vars::Aimbot::General::Ignore.Value & Vars::Aimbot::General::IgnoreEnum::Team ? EGroupType::PLAYERS_ENEMIES : EGroupType::PLAYERS_ALL;
if (Vars::Aimbot::Melee::WhipTeam.Value &&
!F::AimbotGlobal.FriendlyFire() && SDK::AttribHookValue(0, "speed_buff_ally", pWeapon) > 0)
eGroupType = EGroupType::PLAYERS_ALL;
}
auto eGroupType = !F::AimbotGlobal.FriendlyFire() || Vars::Aimbot::General::Ignore.Value & Vars::Aimbot::General::IgnoreEnum::Team ? EGroupType::PLAYERS_ENEMIES : EGroupType::PLAYERS_ALL;
if (Vars::Aimbot::Melee::WhipTeam.Value &&
!F::AimbotGlobal.FriendlyFire() && SDK::AttribHookValue(0, "speed_buff_ally", pWeapon) > 0)
eGroupType = EGroupType::PLAYERS_ALL;
for (auto pEntity : H::Entities.GetGroup(eGroupType))
{
@@ -42,18 +38,20 @@ std::vector<Target_t> CAimbotMelee::GetTargets(CTFPlayer* pLocal, CTFWeaponBase*
}
}
if (Vars::Aimbot::General::Target.Value)
{
bool bWrench = pWeapon->GetWeaponID() == TF_WEAPON_WRENCH;
bool bDestroySapper = pWeapon->GetWeaponID() == TF_WEAPON_FIREAXE && SDK::AttribHookValue(0, "set_dmg_apply_to_sapper", pWeapon);
for (auto pEntity : H::Entities.GetGroup(bWrench || bDestroySapper ? EGroupType::BUILDINGS_ALL : EGroupType::BUILDINGS_ENEMIES))
auto eGroupType = EGroupType::GROUP_INVALID;
if (Vars::Aimbot::General::Target.Value & Vars::Aimbot::General::TargetEnum::Building)
eGroupType = EGroupType::BUILDINGS_ENEMIES;
bool bWrench = pWeapon->GetWeaponID() == TF_WEAPON_WRENCH, bSapper = SDK::AttribHookValue(0, "set_dmg_apply_to_sapper", pWeapon);
if (Vars::Aimbot::Healing::AutoRepair.Value && (bWrench || bSapper))
eGroupType = eGroupType != EGroupType::GROUP_INVALID ? EGroupType::BUILDINGS_ALL : EGroupType::BUILDINGS_TEAMMATES;
for (auto pEntity : H::Entities.GetGroup(eGroupType))
{
if (F::AimbotGlobal.ShouldIgnore(pEntity, pLocal, pWeapon))
continue;
bool bTeam = pEntity->m_iTeamNum() == pLocal->m_iTeamNum();
if (bTeam && (bWrench && !AimFriendlyBuilding(pEntity->As<CBaseObject>()) || bDestroySapper && !pEntity->As<CBaseObject>()->m_bHasSapper()))
if (bTeam && (bWrench && !AimFriendlyBuilding(pEntity->As<CBaseObject>()) || bSapper && !pEntity->As<CBaseObject>()->m_bHasSapper()))
continue;
Vec3 vPos = pEntity->GetCenter();
@@ -62,8 +60,23 @@ std::vector<Target_t> CAimbotMelee::GetTargets(CTFPlayer* pLocal, CTFWeaponBase*
if (flFOVTo > Vars::Aimbot::General::AimFOV.Value)
continue;
int iPriority = 0;
if (bTeam)
{
int iOwner = pEntity->As<CBaseObject>()->m_hBuilder().GetEntryIndex();
switch (Vars::Aimbot::Healing::HealPriority.Value)
{
case Vars::Aimbot::Healing::HealPriorityEnum::PrioritizeFriends:
if (iOwner == I::EngineClient->GetLocalPlayer() || H::Entities.IsFriend(iOwner) || H::Entities.InParty(iOwner))
iPriority = std::numeric_limits<int>::max();
break;
case Vars::Aimbot::Healing::HealPriorityEnum::PrioritizeTeam:
iPriority = std::numeric_limits<int>::max();
}
}
float flDistTo = vLocalPos.DistTo(vPos);
vTargets.emplace_back(pEntity, pEntity->IsSentrygun() ? TargetEnum::Sentry : pEntity->IsDispenser() ? TargetEnum::Dispenser : TargetEnum::Teleporter, vPos, vAngleTo, flFOVTo, flDistTo);
vTargets.emplace_back(pEntity, pEntity->IsSentrygun() ? TargetEnum::Sentry : pEntity->IsDispenser() ? TargetEnum::Dispenser : TargetEnum::Teleporter, vPos, vAngleTo, flFOVTo, flDistTo, iPriority);
}
}
@@ -291,6 +304,11 @@ int CAimbotMelee::CanHit(Target_t& tTarget, CTFPlayer* pLocal, CTFWeaponBase* pW
flRange *= pLocal->m_flModelScale();
flHull *= pLocal->m_flModelScale();
}
if (pWeapon->GetWeaponID() == TF_WEAPON_WRENCH && tTarget.m_pEntity->m_iTeamNum() == pLocal->m_iTeamNum())
{
flRange = 70;
flHull = 18;
}
Vec3 vSwingMins = { -flHull, -flHull, -flHull };
Vec3 vSwingMaxs = { flHull, flHull, flHull };
auto& vSimRecords = m_mRecordMap[tTarget.m_pEntity->entindex()];
@@ -27,16 +27,19 @@ std::vector<Target_t> CAimbotProjectile::GetTargets(CTFPlayer* pLocal, CTFWeapon
const Vec3 vLocalAngles = I::EngineClient->GetViewAngles();
{
EGroupType eGroupType = EGroupType::GROUP_INVALID;
auto eGroupType = EGroupType::GROUP_INVALID;
if (Vars::Aimbot::General::Target.Value & Vars::Aimbot::General::TargetEnum::Players)
eGroupType = !F::AimbotGlobal.FriendlyFire() || Vars::Aimbot::General::Ignore.Value & Vars::Aimbot::General::IgnoreEnum::Team ? EGroupType::PLAYERS_ENEMIES : EGroupType::PLAYERS_ALL;
if (Vars::Aimbot::Healing::AutoArrow.Value)
switch (pWeapon->GetWeaponID())
{
switch (pWeapon->GetWeaponID())
{
case TF_WEAPON_CROSSBOW: eGroupType = eGroupType != EGroupType::GROUP_INVALID ? EGroupType::PLAYERS_ALL : EGroupType::PLAYERS_TEAMMATES; break;
case TF_WEAPON_LUNCHBOX: eGroupType = EGroupType::PLAYERS_TEAMMATES; break;
}
case TF_WEAPON_CROSSBOW:
if (Vars::Aimbot::Healing::AutoArrow.Value)
eGroupType = eGroupType != EGroupType::GROUP_INVALID ? EGroupType::PLAYERS_ALL : EGroupType::PLAYERS_TEAMMATES;
break;
case TF_WEAPON_LUNCHBOX:
if (Vars::Aimbot::Healing::AutoSandvich.Value)
eGroupType = EGroupType::PLAYERS_TEAMMATES;
break;
}
bool bHeal = pWeapon->GetWeaponID() == TF_WEAPON_CROSSBOW || pWeapon->GetWeaponID() == TF_WEAPON_LUNCHBOX;
@@ -64,9 +67,9 @@ std::vector<Target_t> CAimbotProjectile::GetTargets(CTFPlayer* pLocal, CTFWeapon
switch (Vars::Aimbot::Healing::HealPriority.Value)
{
case Vars::Aimbot::Healing::HealPriorityEnum::PrioritizeFriends:
if (!H::Entities.IsFriend(pEntity->entindex()) && !H::Entities.InParty(pEntity->entindex()))
break;
[[fallthrough]];
if (H::Entities.IsFriend(pEntity->entindex()) || H::Entities.InParty(pEntity->entindex()))
iPriority = std::numeric_limits<int>::max();
break;
case Vars::Aimbot::Healing::HealPriorityEnum::PrioritizeTeam:
iPriority = std::numeric_limits<int>::max();
}
@@ -80,16 +83,19 @@ std::vector<Target_t> CAimbotProjectile::GetTargets(CTFPlayer* pLocal, CTFWeapon
return vTargets;
}
if (Vars::Aimbot::General::Target.Value)
{
bool bIsRescueRanger = pWeapon->GetWeaponID() == TF_WEAPON_SHOTGUN_BUILDING_RESCUE;
for (auto pEntity : H::Entities.GetGroup(bIsRescueRanger ? EGroupType::BUILDINGS_ALL : EGroupType::BUILDINGS_ENEMIES))
auto eGroupType = EGroupType::GROUP_INVALID;
if (Vars::Aimbot::General::Target.Value & Vars::Aimbot::General::TargetEnum::Building)
eGroupType = EGroupType::BUILDINGS_ENEMIES;
if (Vars::Aimbot::Healing::AutoRepair.Value && pWeapon->GetWeaponID() == TF_WEAPON_SHOTGUN_BUILDING_RESCUE)
eGroupType = eGroupType != EGroupType::GROUP_INVALID ? EGroupType::BUILDINGS_ALL : EGroupType::BUILDINGS_TEAMMATES;
for (auto pEntity : H::Entities.GetGroup(eGroupType))
{
if (F::AimbotGlobal.ShouldIgnore(pEntity, pLocal, pWeapon))
continue;
bool bTeam = pEntity->m_iTeamNum() == pLocal->m_iTeamNum();
if (bTeam && pEntity->As<CBaseObject>()->m_iHealth() >= pEntity->As<CBaseObject>()->m_iMaxHealth())
if (bTeam && (pEntity->As<CBaseObject>()->m_iHealth() >= pEntity->As<CBaseObject>()->m_iMaxHealth() || pEntity->As<CBaseObject>()->m_bBuilding()))
continue;
Vec3 vPos = pEntity->GetCenter();
@@ -98,8 +104,23 @@ std::vector<Target_t> CAimbotProjectile::GetTargets(CTFPlayer* pLocal, CTFWeapon
if (flFOVTo > Vars::Aimbot::General::AimFOV.Value)
continue;
int iPriority = 0;
if (bTeam)
{
int iOwner = pEntity->As<CBaseObject>()->m_hBuilder().GetEntryIndex();
switch (Vars::Aimbot::Healing::HealPriority.Value)
{
case Vars::Aimbot::Healing::HealPriorityEnum::PrioritizeFriends:
if (iOwner == I::EngineClient->GetLocalPlayer() || H::Entities.IsFriend(iOwner) || H::Entities.InParty(iOwner))
iPriority = std::numeric_limits<int>::max();
break;
case Vars::Aimbot::Healing::HealPriorityEnum::PrioritizeTeam:
iPriority = std::numeric_limits<int>::max();
}
}
float flDistTo = iSort == Vars::Aimbot::General::TargetSelectionEnum::Distance ? vLocalPos.DistTo(vPos) : 0.f;
vTargets.emplace_back(pEntity, pEntity->IsSentrygun() ? TargetEnum::Sentry : pEntity->IsDispenser() ? TargetEnum::Dispenser : TargetEnum::Teleporter, vPos, vAngleTo, flFOVTo, flDistTo);
vTargets.emplace_back(pEntity, pEntity->IsSentrygun() ? TargetEnum::Sentry : pEntity->IsDispenser() ? TargetEnum::Dispenser : TargetEnum::Teleporter, vPos, vAngleTo, flFOVTo, flDistTo, iPriority);
}
}
@@ -381,8 +402,7 @@ std::unordered_map<int, Vec3> CAimbotProjectile::GetDirectPoints(Target_t& tTarg
return mPoints;
}
// seode
static inline std::vector<std::pair<Vec3, int>> ComputeSphere(float flRadius, int iSamples, float flNthroot)
static inline std::vector<std::pair<Vec3, int>> ComputeSphere(float flRadius, int iSamples)
{
std::vector<std::pair<Vec3, int>> vPoints;
vPoints.reserve(iSamples);
@@ -393,24 +413,22 @@ static inline std::vector<std::pair<Vec3, int>> ComputeSphere(float flRadius, in
int iPointType = Vars::Aimbot::Projectile::SplashGrates.Value ? PointTypeEnum::Regular | PointTypeEnum::Obscured : PointTypeEnum::Regular;
if (Vars::Aimbot::Projectile::RocketSplashMode.Value == Vars::Aimbot::Projectile::RocketSplashModeEnum::SpecialHeavy)
iPointType |= PointTypeEnum::ObscuredExtra | PointTypeEnum::ObscuredMulti;
float a = PI * (3.f - sqrtf(5.f));
for (int n = 0; n < iSamples; n++)
{
float flA = acosf(1.f - 2.f * n / iSamples);
float flB = PI * (3.f - sqrtf(5.f)) * n;
float t = a * n;
float y = 1 - (n / (iSamples - 1.f)) * 2;
float r = sqrtf(1 - powf(y, 2));
float x = cosf(t) * r;
float z = sinf(t) * r;
Vec3 vPoint = Vec3(sinf(flA) * cosf(flB), sinf(flA) * sinf(flB), -cosf(flA));
Vec3 vPoint = Vec3(x, y, z) * flRadius;
vPoint = Math::RotatePoint(vPoint, {}, { flRotateX, flRotateY });
if (flNthroot != 1.f)
{
vPoint.x = powf(fabsf(vPoint.x), 1 / flNthroot) * sign(vPoint.x);
vPoint.y = powf(fabsf(vPoint.y), 1 / flNthroot) * sign(vPoint.y);
vPoint.z = powf(fabsf(vPoint.z), 1 / flNthroot) * sign(vPoint.z);
vPoint.Normalize();
}
vPoint *= flRadius;
vPoints.emplace_back(vPoint, iPointType);
}
vPoints.emplace_back(Vec3(0.f, 0.f, -1.f) * flRadius, iPointType);
return vPoints;
};
@@ -1383,10 +1401,10 @@ int CAimbotProjectile::CanHit(Target_t& tTarget, CTFPlayer* pLocal, CTFWeaponBas
int iMulti = Vars::Aimbot::Projectile::SplashMode.Value;
auto mDirectPoints = iSplash == Vars::Aimbot::Projectile::SplashPredictionEnum::Only ? std::unordered_map<int, Vec3>() : GetDirectPoints(tTarget);
auto vSpherePoints = !iSplash ? std::vector<std::pair<Vec3, int>>() : ComputeSphere(m_tInfo.m_flRadius + flSize, Vars::Aimbot::Projectile::SplashPoints.Value, Vars::Aimbot::Projectile::SplashNthRoot.Value);
auto vSpherePoints = !iSplash ? std::vector<std::pair<Vec3, int>>() : ComputeSphere(m_tInfo.m_flRadius + flSize, Vars::Aimbot::Projectile::SplashPoints.Value);
#ifdef SPLASH_DEBUG4
for (auto& [vPoint, _] : vSpherePoints)
G::BoxStorage.emplace_back(tTarget.m_pEntity->m_vecOrigin() + m_tInfo.m_vTargetEye + vPoint * m_tInfo.m_flRadius / (m_tInfo.m_flRadius + flSize), Vec3(-1, -1, -1), Vec3(1, 1, 1), Vec3(), I::GlobalVars->curtime + 60.f, Color_t(0, 0, 0, 0), Vars::Colors::Local.Value);
G::BoxStorage.emplace_back(tTarget.m_pEntity->m_vecOrigin() + m_tInfo.m_vTargetEye + vPoint, Vec3(-1, -1, -1), Vec3(1, 1, 1), Vec3(), I::GlobalVars->curtime + 60.f, Color_t(0, 0, 0, 0), Vars::Colors::Local.Value);
#endif
Vec3 vAngleTo, vPredicted, vTarget;
@@ -2073,7 +2091,7 @@ bool CAimbotProjectile::CanHit(Target_t& tTarget, CTFPlayer* pLocal, CTFWeaponBa
int iMulti = Vars::Aimbot::Projectile::SplashMode.Value;
auto mDirectPoints = iSplash == Vars::Aimbot::Projectile::SplashPredictionEnum::Only ? std::unordered_map<int, Vec3>() : GetDirectPoints(tTarget, pProjectile);
auto vSpherePoints = !iSplash ? std::vector<std::pair<Vec3, int>>() : ComputeSphere(m_tInfo.m_flRadius + flSize, Vars::Aimbot::Projectile::SplashPoints.Value, Vars::Aimbot::Projectile::SplashNthRoot.Value);
auto vSpherePoints = !iSplash ? std::vector<std::pair<Vec3, int>>() : ComputeSphere(m_tInfo.m_flRadius + flSize, Vars::Aimbot::Projectile::SplashPoints.Value);
Vec3 vAngleTo, vPredicted, vTarget;
int iLowestPriority = std::numeric_limits<int>::max(); float flLowestDist = std::numeric_limits<float>::max();
+9 -1
View File
@@ -299,7 +299,15 @@ void CCritHack::Reset()
int CCritHack::GetCritRequest(CUserCmd* pCmd, CTFWeaponBase* pWeapon)
{
bool bCanCrit = m_iAvailableCrits > 0 && !m_bCritBanned;
bool bPressed = Vars::CritHack::ForceCrits.Value || Vars::CritHack::AlwaysMeleeCrit.Value && m_bMelee && (Vars::Aimbot::General::AutoShoot.Value ? pCmd->buttons & IN_ATTACK && !(G::OriginalCmd.buttons & IN_ATTACK) : Vars::Aimbot::General::AimType.Value);
bool bPressed = Vars::CritHack::ForceCrits.Value;
if (Vars::CritHack::AlwaysMeleeCrit.Value && m_bMelee
&& (Vars::Aimbot::General::AutoShoot.Value ? pCmd->buttons & IN_ATTACK && !(G::OriginalCmd.buttons & IN_ATTACK) : Vars::Aimbot::General::AimType.Value)
&& G::AimTarget.m_iEntIndex)
{
auto pEntity = I::ClientEntityList->GetClientEntity(G::AimTarget.m_iEntIndex)->As<CBaseEntity>();
if (pEntity && pEntity->IsPlayer())
bPressed = true;
}
bool bSkip = Vars::CritHack::AvoidRandomCrits.Value;
bool bDesync = CommandToSeed(pCmd->command_number) == pWeapon->m_iCurrentSeed();
+6 -5
View File
@@ -201,6 +201,8 @@ void CMenu::MenuAimbot(int iTab)
FDropdown(Vars::Aimbot::Healing::HealPriority);
FToggle(Vars::Aimbot::Healing::AutoHeal, FToggleEnum::Left);
FToggle(Vars::Aimbot::Healing::AutoArrow, FToggleEnum::Right);
FToggle(Vars::Aimbot::Healing::AutoRepair, FToggleEnum::Left);
FToggle(Vars::Aimbot::Healing::AutoSandvich, FToggleEnum::Right);
FToggle(Vars::Aimbot::Healing::AutoVaccinator, FToggleEnum::Left);
FToggle(Vars::Aimbot::Healing::ActivateOnVoice, FToggleEnum::Right);
} EndSection();
@@ -301,7 +303,6 @@ void CMenu::MenuAimbot(int iTab)
FToggle(Vars::Aimbot::Projectile::SplashGrates, FToggleEnum::Right);
FSlider(Vars::Aimbot::Projectile::SplashRotateX, FSliderEnum::Left, Vars::Aimbot::Projectile::SplashRotateX[DEFAULT_BIND] < 0.f ? "random" : "%g");
FSlider(Vars::Aimbot::Projectile::SplashRotateY, FSliderEnum::Right, Vars::Aimbot::Projectile::SplashRotateY[DEFAULT_BIND] < 0.f ? "random" : "%g");
FSlider(Vars::Aimbot::Projectile::SplashNthRoot);
FSlider(Vars::Aimbot::Projectile::SplashCountDirect, FSliderEnum::Left);
FSlider(Vars::Aimbot::Projectile::SplashCountArc, FSliderEnum::Right);
FSlider(Vars::Aimbot::Projectile::SplashTraceInterval, FSliderEnum::Left);
@@ -1304,7 +1305,7 @@ void CMenu::MenuLogs(int iTab)
{
// tag bar
SetCursorPos({ vOriginalPos.x + lOffset, vOriginalPos.y });
if (BeginChild(std::format("TagBar{}", tPlayer.m_uAccountID).c_str(), { flWidth - lOffset - H::Draw.Scale(4), flHeight }, ImGuiWindowFlags_None, ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoScrollWithMouse | ImGuiWindowFlags_NoBackground))
if (BeginChild(std::format("TagBar{}", tPlayer.m_iUserID).c_str(), { flWidth - lOffset - H::Draw.Scale(4), flHeight }, ImGuiWindowFlags_None, ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoScrollWithMouse | ImGuiWindowFlags_NoBackground))
{
std::vector<PriorityLabel_t> vLabels = {};
std::vector<std::pair<PriorityLabel_t*, int>> vTags = {};
@@ -1351,13 +1352,13 @@ void CMenu::MenuLogs(int iTab)
bClicked = IsItemHovered() && IsMouseReleased(ImGuiMouseButton_Right);
}
SetCursorPos(vOriginalPos);
Button(std::format("##{}", tPlayer.m_uAccountID).c_str(), { flWidth, flHeight });
Button(std::format("##{}", tPlayer.m_iUserID).c_str(), { flWidth, flHeight });
bClicked = bClicked || IsItemHovered() && IsMouseReleased(ImGuiMouseButton_Right);
// popups
if (bClicked)
OpenPopup(std::format("Clicked{}", tPlayer.m_uAccountID).c_str());
if (FBeginPopup(std::format("Clicked{}", tPlayer.m_uAccountID).c_str()))
OpenPopup(std::format("Clicked{}", tPlayer.m_iUserID).c_str());
if (FBeginPopup(std::format("Clicked{}", tPlayer.m_iUserID).c_str()))
{
PushStyleVar(ImGuiStyleVar_ItemSpacing, { H::Draw.Scale(8), H::Draw.Scale(8) });
+5 -3
View File
@@ -263,7 +263,8 @@ namespace Vars
FOV, Distance);
CVarEnum(Target, "Target", 0b0000001, DROPDOWN_MULTI, nullptr,
VA_LIST("Players", "Sentries", "Dispensers", "Teleporters", "Stickies", "NPCs", "Bombs"),
Players = 1 << 0, Sentry = 1 << 1, Dispenser = 1 << 2, Teleporter = 1 << 3, Stickies = 1 << 4, NPCs = 1 << 5, Bombs = 1 << 6);
Players = 1 << 0, Sentry = 1 << 1, Dispenser = 1 << 2, Teleporter = 1 << 3, Stickies = 1 << 4, NPCs = 1 << 5, Bombs = 1 << 6,
Building = Sentry | Dispenser | Teleporter);
CVarEnum(Ignore, "Ignore", 0b00000001000, DROPDOWN_MULTI, nullptr,
VA_LIST("Friends", "Party", "Unprioritized", "Invulnerable", "Invisible", "Unsimulated", "Dead ringer", "Vaccinator", "Disguised", "Taunting", "Team"),
Friends = 1 << 0, Party = 1 << 1, Unprioritized = 1 << 2, Invulnerable = 1 << 3, Invisible = 1 << 4, Unsimulated = 1 << 5, DeadRinger = 1 << 6, Vaccinator = 1 << 7, Disguised = 1 << 8, Taunting = 1 << 9, Team = 1 << 10);
@@ -356,9 +357,8 @@ namespace Vars
CVar(HuntsmanPullPoint, "Huntsman pull point", false, NOSAVE | DEBUGVAR);
CVar(SplashPoints, "Splash points", 100, NOSAVE | DEBUGVAR | SLIDER_MIN, 1, 400, 5);
CVar(SplashGrates, "Splash grates", true, NOSAVE | DEBUGVAR);
CVar(SplashRotateX, "Splash Rx", 0.f, NOSAVE | DEBUGVAR | SLIDER_MIN | SLIDER_PRECISION, -1.f, 360.f);
CVar(SplashRotateX, "Splash Rx", -1.f, NOSAVE | DEBUGVAR | SLIDER_MIN | SLIDER_PRECISION, -1.f, 360.f);
CVar(SplashRotateY, "Splash Ry", -1.f, NOSAVE | DEBUGVAR | SLIDER_MIN | SLIDER_PRECISION, -1.f, 360.f);
CVar(SplashNthRoot, "Splash Nth root", 1.f, NOSAVE | DEBUGVAR | SLIDER_MIN | SLIDER_PRECISION, 0.5f, 2.f, 0.1f);
CVar(SplashCountDirect, "Direct splash count", 100, NOSAVE | DEBUGVAR | SLIDER_MIN, 1, 100);
CVar(SplashCountArc, "Arc splash count", 5, NOSAVE | DEBUGVAR | SLIDER_MIN, 1, 100);
CVar(SplashTraceInterval, "Splash trace interval", 10, NOSAVE | DEBUGVAR, 1, 10);
@@ -396,6 +396,8 @@ namespace Vars
None, PrioritizeTeam, PrioritizeFriends, FriendsOnly);
CVar(AutoHeal, "Auto heal", false);
CVar(AutoArrow, "Auto arrow", false);
CVar(AutoRepair, "Auto repair", false);
CVar(AutoSandvich, "Auto sandvich", false);
CVar(AutoVaccinator, "Auto vaccinator", false);
CVar(ActivateOnVoice, "Activate on voice", false);