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_flDamageBonus = 0.f;
m_bForceFriendlyFire = false; m_bForceFriendlyFire = false;
m_flDamageForForce = 0.f; m_flDamageForForce = 0.f;
m_eCritType = kCritType_None;
} }
CTakeDamageInfo::CTakeDamageInfo() CTakeDamageInfo::CTakeDamageInfo()
@ -114,6 +116,18 @@ void CTakeDamageInfo::Set( CBaseEntity *pInflictor, CBaseEntity *pAttacker, CBas
Init( pInflictor, pAttacker, pWeapon, damageForce, damagePosition, vecReported, flDamage, bitsDamageType, iKillType ); 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 // Squirrel the damage value away as BaseDamage, which will later be used to
// calculate damage force. // calculate damage force.

View File

@ -98,6 +98,14 @@ public:
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, 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 ); 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 AdjustPlayerDamageInflictedForSkillLevel();
void AdjustPlayerDamageTakenForSkillLevel(); void AdjustPlayerDamageTakenForSkillLevel();
@ -133,6 +141,8 @@ protected:
float m_flDamageForForce; float m_flDamageForForce;
ECritType m_eCritType;
DECLARE_SIMPLE_DATADESC(); DECLARE_SIMPLE_DATADESC();
}; };