mirror of
https://github.com/YGGverse/hlsdk-portable.git
synced 2025-01-23 21:24:27 +00:00
Fix grunt medic spending healing charge (#339)
This commit is contained in:
parent
3ee6fae6fc
commit
f96df77d2f
@ -3556,11 +3556,16 @@ bool CMedic::Heal( void )
|
||||
if ( !HasHealCharge() || !HasHealTarget() )
|
||||
return false;
|
||||
|
||||
Vector target = m_hTargetEnt->pev->origin - pev->origin;
|
||||
CBaseEntity* pTargetEnt = m_hTargetEnt;
|
||||
Vector target = pTargetEnt->pev->origin - pev->origin;
|
||||
if ( target.Length() > 100 )
|
||||
return false;
|
||||
|
||||
m_flHealCharge -= m_hTargetEnt->TakeHealth( Q_min(10, m_flHealCharge), DMG_GENERIC );
|
||||
const float maxHeal = Q_min(10, m_flHealCharge);
|
||||
const float diff = pTargetEnt->pev->max_health - pTargetEnt->pev->health;
|
||||
const int healAmount = static_cast<int>(Q_min(maxHeal, diff)); // cast to avoid player having non-integer hp
|
||||
pTargetEnt->TakeHealth( healAmount, DMG_GENERIC );
|
||||
m_flHealCharge -= healAmount;
|
||||
ALERT(at_aiconsole, "Medic grunt heal charge left: %f\n", m_flHealCharge);
|
||||
m_fHealing = TRUE;
|
||||
return true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user