Fixed triggerbot (lots and lots of small issues)
git blame @bencat07 fixes #564
This commit is contained in:
parent
b02656e342
commit
54b440d003
@ -116,12 +116,18 @@ void CreateMove()
|
|||||||
|
|
||||||
// Check if can backtrack, shoot if we can
|
// Check if can backtrack, shoot if we can
|
||||||
if (hacks::shared::backtrack::isBacktrackEnabled)
|
if (hacks::shared::backtrack::isBacktrackEnabled)
|
||||||
if (CanBacktrack())
|
{
|
||||||
return;
|
// We need to return because we can't hit non backtrackable ticks if we
|
||||||
|
// have backtrack latency.
|
||||||
|
CanBacktrack();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if dormant or null to prevent crashes
|
// Check if dormant or null to prevent crashes
|
||||||
if (CE_BAD(ent))
|
if (CE_BAD(ent))
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Determine whether the triggerbot should shoot, then act accordingly
|
// Determine whether the triggerbot should shoot, then act accordingly
|
||||||
if (IsTargetStateGood(ent))
|
if (IsTargetStateGood(ent))
|
||||||
@ -256,7 +262,7 @@ bool IsTargetStateGood(CachedEntity *entity)
|
|||||||
{
|
{
|
||||||
// If settings allow waiting for charge, and current charge cant
|
// If settings allow waiting for charge, and current charge cant
|
||||||
// kill target, dont aim
|
// kill target, dont aim
|
||||||
if (wait_for_charge && g_pLocalPlayer->holding_sniper_rifle)
|
if (*wait_for_charge && g_pLocalPlayer->holding_sniper_rifle)
|
||||||
{
|
{
|
||||||
float bdmg =
|
float bdmg =
|
||||||
CE_FLOAT(g_pLocalPlayer->weapon(), netvar.flChargedDamage);
|
CE_FLOAT(g_pLocalPlayer->weapon(), netvar.flChargedDamage);
|
||||||
@ -294,13 +300,12 @@ bool IsTargetStateGood(CachedEntity *entity)
|
|||||||
|
|
||||||
// If usersettings tell us to use accuracy improvements and the cached
|
// If usersettings tell us to use accuracy improvements and the cached
|
||||||
// hitbox isnt null, then we check if it hits here
|
// hitbox isnt null, then we check if it hits here
|
||||||
if (accuracy)
|
if (*accuracy)
|
||||||
{
|
{
|
||||||
|
|
||||||
// Get a cached hitbox for the one traced
|
// Get a cached hitbox for the one traced
|
||||||
hitbox_cache::CachedHitbox *hb =
|
hitbox_cache::CachedHitbox *hb =
|
||||||
entity->hitboxes.GetHitbox(last_hb_traced);
|
entity->hitboxes.GetHitbox(last_hb_traced);
|
||||||
|
|
||||||
// Check for null
|
// Check for null
|
||||||
if (hb)
|
if (hb)
|
||||||
{
|
{
|
||||||
@ -314,7 +319,7 @@ bool IsTargetStateGood(CachedEntity *entity)
|
|||||||
|
|
||||||
// Shrink the hitbox here
|
// Shrink the hitbox here
|
||||||
Vector size = maxz - minz;
|
Vector size = maxz - minz;
|
||||||
Vector smod = size * 0.05f * (int) accuracy;
|
Vector smod = size * 0.05f * *accuracy;
|
||||||
|
|
||||||
// Save the changes to the vectors
|
// Save the changes to the vectors
|
||||||
minz += smod;
|
minz += smod;
|
||||||
@ -324,16 +329,14 @@ bool IsTargetStateGood(CachedEntity *entity)
|
|||||||
// we
|
// we
|
||||||
// return false
|
// return false
|
||||||
Vector hit;
|
Vector hit;
|
||||||
if (CheckLineBox(minz, maxz, g_pLocalPlayer->v_Eye, forward,
|
if (!CheckLineBox(minz, maxz, g_pLocalPlayer->v_Eye, forward,
|
||||||
hit))
|
hit))
|
||||||
{
|
return false;
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target passed the tests so return true
|
// Target passed the tests so return true
|
||||||
return false;
|
return true;
|
||||||
|
|
||||||
// Check for buildings
|
// Check for buildings
|
||||||
}
|
}
|
||||||
@ -434,7 +437,7 @@ CachedEntity *FindEntInSight(float range)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Since we didnt hit and entity, the vis check failed so return 0
|
// Since we didnt hit and entity, the vis check failed so return 0
|
||||||
return 0;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
// A function to find whether the head should be used for a target
|
// A function to find whether the head should be used for a target
|
||||||
|
@ -42,8 +42,6 @@ bool trace::FilterDefault::ShouldHitEntity(IHandleEntity *handle, int mask)
|
|||||||
switch (clazz->m_ClassID)
|
switch (clazz->m_ClassID)
|
||||||
{
|
{
|
||||||
// TODO magic numbers: invisible entity ids
|
// TODO magic numbers: invisible entity ids
|
||||||
case 246:
|
|
||||||
case 248:
|
|
||||||
case 64:
|
case 64:
|
||||||
case 225:
|
case 225:
|
||||||
case 55:
|
case 55:
|
||||||
|
Reference in New Issue
Block a user