mirror of
https://github.com/YGGverse/hlsdk-portable.git
synced 2025-01-24 05:34:18 +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() )
|
if ( !HasHealCharge() || !HasHealTarget() )
|
||||||
return false;
|
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 )
|
if ( target.Length() > 100 )
|
||||||
return false;
|
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);
|
ALERT(at_aiconsole, "Medic grunt heal charge left: %f\n", m_flHealCharge);
|
||||||
m_fHealing = TRUE;
|
m_fHealing = TRUE;
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user