Add crit type to CTakeDamageInfo.

This commit is contained in:
Nicholas Hastings 2015-11-11 13:01:15 -05:00
parent 7fd8c26a9b
commit 53c23fed59
2 changed files with 24 additions and 0 deletions

View File

@ -62,6 +62,8 @@ void CTakeDamageInfo::Init( CBaseEntity *pInflictor, CBaseEntity *pAttacker, CBa
m_flDamageBonus = 0.f;
m_bForceFriendlyFire = false;
m_flDamageForForce = 0.f;
m_eCritType = kCritType_None;
}
CTakeDamageInfo::CTakeDamageInfo()
@ -114,6 +116,18 @@ void CTakeDamageInfo::Set( CBaseEntity *pInflictor, CBaseEntity *pAttacker, CBas
Init( pInflictor, pAttacker, pWeapon, damageForce, damagePosition, vecReported, flDamage, bitsDamageType, iKillType );
}
void CTakeDamageInfo::SetCritType( ECritType type )
{
if ( type == kCritType_None )
{
m_eCritType = kCritType_None;
}
else if ( type > m_eCritType )
{
m_eCritType = type;
}
}
//-----------------------------------------------------------------------------
// Squirrel the damage value away as BaseDamage, which will later be used to
// calculate damage force.

View File

@ -97,6 +97,14 @@ public:
void Set( CBaseEntity *pInflictor, CBaseEntity *pAttacker, CBaseEntity *pWeapon, float flDamage, int bitsDamageType, int iKillType = 0 );
void Set( CBaseEntity *pInflictor, CBaseEntity *pAttacker, const Vector &damageForce, const Vector &damagePosition, float flDamage, int bitsDamageType, int iKillType = 0, Vector *reportedPosition = NULL );
void Set( CBaseEntity *pInflictor, CBaseEntity *pAttacker, CBaseEntity *pWeapon, const Vector &damageForce, const Vector &damagePosition, float flDamage, int bitsDamageType, int iKillType = 0, Vector *reportedPosition = NULL );
enum ECritType
{
kCritType_None,
kCritType_MiniCrit,
kCritType_Crit,
};
void SetCritType( ECritType type );
void AdjustPlayerDamageInflictedForSkillLevel();
void AdjustPlayerDamageTakenForSkillLevel();
@ -132,6 +140,8 @@ protected:
bool m_bForceFriendlyFire; // Ideally this would be a dmg type, but we can't add more
float m_flDamageForForce;
ECritType m_eCritType;
DECLARE_SIMPLE_DATADESC();
};