source-engine/game/client/swarm/c_asw_debrief_stats.h
2023-10-03 17:23:56 +03:00

170 lines
8.7 KiB
C++

#ifndef _INCLUDED_C_ASW_DEBRIEF_STATS_H
#define _INCLUDED_C_ASW_DEBRIEF_STATS_H
#ifdef _WIN32
#pragma once
#endif
#include "asw_shareddefs.h"
class C_ASW_Debrief_Stats : public C_BaseEntity
{
public:
DECLARE_CLASS( C_ASW_Debrief_Stats, C_BaseEntity );
DECLARE_CLIENTCLASS();
C_ASW_Debrief_Stats();
virtual ~C_ASW_Debrief_Stats();
virtual void OnDataChanged( DataUpdateType_t type );
int GetKills(int iMarineIndex) { return m_iKills[iMarineIndex]; }
float GetAccuracy(int iMarineIndex) { return m_fAccuracy[iMarineIndex]; }
int GetFriendlyFire(int iMarineIndex) { return m_iFF[iMarineIndex]; }
int GetDamageTaken(int iMarineIndex) { return m_iDamage[iMarineIndex]; }
int GetShotsFired(int iMarineIndex) { return m_iShotsFired[iMarineIndex]; }
int GetShotsHit(int iMarineIndex) { return m_iShotsHit[iMarineIndex]; }
int GetAliensBurned(int iMarineIndex) { return m_iAliensBurned[iMarineIndex]; }
int GetHealthHealed(int iMarineIndex) { return m_iHealthHealed[iMarineIndex]; }
int GetFastHacks(int iMarineIndex) { return m_iFastHacks[iMarineIndex]; }
int GetSkillPointsAwarded(int iMarineIndex) { return m_iSkillPointsAwarded[iMarineIndex]; }
bool IsWounded(int iMarineIndex) { return (m_iWounded[iMarineIndex] > 0); }
int GetStartingPrimaryEquip( int iMarineIndex ) { return m_iStartingEquip0[iMarineIndex]; }
int GetStartingSecondaryEquip( int iMarineIndex ) { return m_iStartingEquip1[iMarineIndex]; }
int GetStartingExtraEquip( int iMarineIndex ) { return m_iStartingEquip2[iMarineIndex]; }
int GetAmmoDeployed( int iMarineIndex ) { return m_iAmmoDeployed[iMarineIndex]; }
int GetSentrygunsDeployed( int iMarineIndex ) { return m_iSentryGunsDeployed[iMarineIndex]; }
int GetSentryFlamersDeployed( int iMarineIndex ) { return m_iSentryFlamerDeployed[iMarineIndex]; }
int GetSentryFreezeDeployed( int iMarineIndex ) { return m_iSentryFreezeDeployed[iMarineIndex]; }
int GetSentryCannonDeployed( int iMarineIndex ) { return m_iSentryCannonDeployed[iMarineIndex]; }
int GetMedkitsUsed( int iMarineIndex ) { return m_iMedkitsUsed[iMarineIndex]; }
int GetFlaresUsed( int iMarineIndex ) { return m_iFlaresUsed[iMarineIndex]; }
int GetAdrenalineUsed( int iMarineIndex ) { return m_iAdrenalineUsed[iMarineIndex]; }
int GetTeslaTrapsDeployed( int iMarineIndex ) { return m_iTeslaTrapsDeployed[iMarineIndex]; }
int GetFreezeGrenadesThrown( int iMarineIndex ) { return m_iFreezeGrenadesThrown[iMarineIndex]; }
int GetElectricArmorUsed( int iMarineIndex ) { return m_iElectricArmorUsed[iMarineIndex]; }
int GetHealgunHeals( int iMarineIndex ) { return m_iHealGunHeals[iMarineIndex]; }
int GetHealgunHeals_Self( int iMarineIndex ) { return m_iHealGunHeals_Self[iMarineIndex]; }
int GetHealbeaconHeals( int iMarineIndex ) { return m_iHealBeaconHeals[iMarineIndex]; }
int GetHealbeaconHeals_self( int iMarineIndex ) { return m_iHealBeaconHeals_Self[iMarineIndex]; }
int GetDamageAmpsUsed( int iMarineIndex ) { return m_iDamageAmpsUsed[iMarineIndex]; }
int GetHealbeaconsDeployed( int iMarineIndex ) { return m_iHealBeaconsDeployed[iMarineIndex]; }
int GetHighestKills();
float GetHighestAccuracy();
int GetHighestFriendlyFire();
int GetHighestDamageTaken();
int GetHighestShotsFired();
int GetHighestAliensBurned();
int GetHighestHealthHealed();
int GetHighestFastHacks();
int GetLowestFriendlyFire();
int GetLowestDamageTaken();
int GetHighestSkillPointsAwarded();
int GetTotalKills() { return m_iTotalKills; }
float GetTimeTaken() { return m_fTimeTaken; }
int GetBestKills() { return m_iBestKills; }
float GetBestTime() { return m_fBestTimeTaken; }
int GetSpeedrunTime() { return m_iSpeedrunTime; }
bool GetWeaponStats( int iMarineIndex, int iEquipIndex, int &iDamage, int &iFFDamage, int &iShotsFired, int &iShotsHit, int &iKills );
// per marine
CNetworkArray( int, m_iKills, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( float, m_fAccuracy, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iFF, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iDamage, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iShotsFired, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iShotsHit, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iWounded, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iAliensBurned, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iHealthHealed, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iFastHacks, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iSkillPointsAwarded, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iStartingEquip0, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iStartingEquip1, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iStartingEquip2, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iAmmoDeployed, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iSentryGunsDeployed, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iSentryFlamerDeployed, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iSentryFreezeDeployed, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iSentryCannonDeployed, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iMedkitsUsed, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iFlaresUsed, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iAdrenalineUsed, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iTeslaTrapsDeployed, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iFreezeGrenadesThrown, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iElectricArmorUsed, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iHealGunHeals, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iHealBeaconHeals, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iHealGunHeals_Self, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iHealBeaconHeals_Self, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iDamageAmpsUsed, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( int, m_iHealBeaconsDeployed, ASW_MAX_MARINE_RESOURCES );
// Weapon stats for the marine (8 weapons max)
CNetworkArray( unsigned int, m_iWeaponClassAndKills0, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iDamageAndFF0, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iShotsFiredAndHit0, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iWeaponClassAndKills1, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iDamageAndFF1, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iShotsFiredAndHit1, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iWeaponClassAndKills2, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iDamageAndFF2, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iShotsFiredAndHit2, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iWeaponClassAndKills3, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iDamageAndFF3, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iShotsFiredAndHit3, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iWeaponClassAndKills4, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iDamageAndFF4, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iShotsFiredAndHit4, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iWeaponClassAndKills5, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iDamageAndFF5, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iShotsFiredAndHit5, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iWeaponClassAndKills6, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iDamageAndFF6, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iShotsFiredAndHit6, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iWeaponClassAndKills7, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iDamageAndFF7, ASW_MAX_MARINE_RESOURCES );
CNetworkArray( unsigned int, m_iShotsFiredAndHit7, ASW_MAX_MARINE_RESOURCES );
// for the team
CNetworkVar( float, m_fTimeTaken );
CNetworkVar( int, m_iTotalKills );
CNetworkVar( int, m_iEggKills );
CNetworkVar( int, m_iParasiteKills );
CNetworkVar( int, m_iDroneKills );
CNetworkVar( int, m_iShieldbugKills );
// debrief text
CNetworkString( m_DebriefText1, 255 );
CNetworkString( m_DebriefText2, 255 );
CNetworkString( m_DebriefText3, 255 );
CNetworkVar( bool, m_bJustUnlockedCarnage );
CNetworkVar( bool, m_bJustUnlockedUber );
CNetworkVar( bool, m_bJustUnlockedHardcore );
CNetworkVar( bool, m_bBeatSpeedrunTime );
CNetworkVar( float, m_fBestTimeTaken );
CNetworkVar( int, m_iBestKills );
CNetworkVar( int, m_iSpeedrunTime );
bool m_bCreated; // has this client entity had its data update created yet
private:
C_ASW_Debrief_Stats( const C_ASW_Debrief_Stats & ); // not defined, not accessible
};
C_ASW_Debrief_Stats* GetDebriefStats();
#endif // _INCLUDED_C_ASW_DEBRIEF_STATS_H