sqwarmed/sdk_src/game/server/swarm/asw_fail_advice.h

113 lines
2.2 KiB
C++

#ifndef _INCLUDED_ASW_FAIL_ADVICE_H
#define _INCLUDED_ASW_FAIL_ADVICE_H
#ifdef _WIN32
#pragma once
#endif
#include "asw_shareddefs.h"
#include "igamesystem.h"
struct FailAdviceMessageStatus_t
{
int nPoints;
int nPointsLastRound;
int nCooldownRounds;
int nData;
FailAdviceMessageStatus_t( void )
{
nPoints = 0;
nPointsLastRound = 0;
nCooldownRounds = 0;
nData = 0;
}
};
class CASW_Fail_Advice : public CAutoGameSystem
{
public:
CASW_Fail_Advice();
~CASW_Fail_Advice();
virtual bool Init();
virtual void Shutdown();
void DumpPointsToConsole( void );
int UseCurrentFailAdvice( void );
void IncrementPoints( int nMessage, int nPoints = 1 );
void OnMissionStart( void );
// low ammo
void OnMarineOutOfAmmo( void );
// infested lots
void OnMarineInfested( void );
// infested
void OnMarineInfestedGibbed( void );
// swarmed
void OnSentryUsedWell( void );
void OnMarineMobAttacked( void );
// friendly fire
void OnFriendlyFire( int nDamage );
// hacker damaged
void OnHackerHurt( int nDamage );
void OnHackerDied( void );
// wasted healing
void OnMarineOverhealed( int nOverhealAmount );
void OnMedSatchelEmpty( void );
// ignored healing
void OnHealGrenadeUsedWell( void );
void OnMarineHealed( void );
void OnMarineKilled( void );
// ignored adrenaline
void OnMarineUsedAdrenaline( void );
//void OnMarineMobAttacked( void );
// ignored secondary
void OnMarineUsedSecondary( void );
//void OnMarineMobAttacked( void );
// ignored welder
void OnAlienOpenDoor( void );
void OnMarineWeldedDoor( void );
// ignored lighting
// slow progression
void OnAlienSpawnedInfinite( void );
// shield bug
void OnShiedbugBlocked( void );
void OnShiedbugKilled( void );
// died alone
void OnMarineKilledAlone( void );
// started without any medics
void OnNoMedicStart( void );
// Retrieve total fail advice status
const FailAdviceMessageStatus_t *GetFailAdviceStatus( void );
private:
FailAdviceMessageStatus_t m_Status[ ASW_FAIL_ADVICE_TOTAL ];
};
CASW_Fail_Advice* ASWFailAdvice();
#endif // _INCLUDED_ASW_FAIL_ADVICE_H