mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-09-01 23:19:18 +00:00
upload "kind" alien swarm
This commit is contained in:
@@ -0,0 +1,159 @@
|
||||
#ifndef _INCLUDED_ASW_MARINE_RESOURCE_H
|
||||
#define _INCLUDED_ASW_MARINE_RESOURCE_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "baseentity.h"
|
||||
#include "asw_shareddefs.h"
|
||||
|
||||
class CASW_Marine_Profile;
|
||||
class CASW_Marine;
|
||||
class CASW_Player;
|
||||
class CASW_Weapon;
|
||||
class CASW_Door;
|
||||
|
||||
// This class holds information about a particular ingame marine
|
||||
// most of the data is set on the server and sent to the clients
|
||||
|
||||
class CASW_Marine_Profile;
|
||||
class CASW_Intensity;
|
||||
|
||||
class CASW_Marine_Resource : public CBaseEntity
|
||||
{
|
||||
public:
|
||||
DECLARE_CLASS( CASW_Marine_Resource, CBaseEntity );
|
||||
DECLARE_DATADESC();
|
||||
DECLARE_SERVERCLASS();
|
||||
|
||||
CASW_Marine_Resource();
|
||||
virtual ~CASW_Marine_Resource();
|
||||
|
||||
CNetworkVar( int, m_MarineProfileIndex );
|
||||
|
||||
CNetworkHandle (CASW_Marine, m_MarineEntity); // the actual marine
|
||||
CNetworkHandle (CASW_Player, m_Commander); // the player in charge of this marine
|
||||
CNetworkVar( int, m_iCommanderIndex );
|
||||
|
||||
// indices into the equipment list for currently selected equipment
|
||||
CNetworkArray( int, m_iWeaponsInSlots, ASW_MAX_EQUIP_SLOTS );
|
||||
int m_iInitialWeaponsInSlots[ ASW_MAX_EQUIP_SLOTS ];
|
||||
|
||||
CNetworkVar( bool, m_bInfested );
|
||||
CNetworkVar( bool, m_bInhabited );
|
||||
CNetworkVar( bool, m_bTakenWoundDamage );
|
||||
CNetworkVar( bool, m_bHealthHalved );
|
||||
|
||||
CNetworkVar( int, m_iServerFiring );
|
||||
|
||||
// stats
|
||||
int m_iShotsFired;
|
||||
int m_iShotsMissed;
|
||||
int m_iPlayerShotsFired; // NOTE: player shots are not increased if you hit a junk item (so accuracy is only based on alien hits and misses)
|
||||
int m_iPlayerShotsMissed;
|
||||
//CNetworkVar( float, m_fDamageTaken );
|
||||
float m_fDamageTaken;
|
||||
CNetworkVar( int, m_iAliensKilled );
|
||||
int m_iAliensKilledByBouncingBullets;
|
||||
int m_iAliensKilledSinceLastFriendlyFireIncident;
|
||||
bool m_bAwardedFFPartialAchievement;
|
||||
bool m_bAwardedHealBeaconAchievement;
|
||||
bool m_bDealtNonMeleeDamage;
|
||||
Vector m_vecOutOfAmmoSpot;
|
||||
int m_iHealCount; // how many times this marine received a heal
|
||||
int m_iDamageTakenDuringHack;
|
||||
|
||||
CNetworkVarEmbedded( CTimeline, m_TimelineFriendlyFire );
|
||||
CNetworkVarEmbedded( CTimeline, m_TimelineKillsTotal );
|
||||
CNetworkVarEmbedded( CTimeline, m_TimelineHealth );
|
||||
CNetworkVarEmbedded( CTimeline, m_TimelineAmmo );
|
||||
CNetworkVarEmbedded( CTimeline, m_TimelinePosX );
|
||||
CNetworkVarEmbedded( CTimeline, m_TimelinePosY );
|
||||
|
||||
// skills
|
||||
CNetworkArray( int, m_index, ASW_SCANNER_MAX_BLIPS );
|
||||
|
||||
virtual int ShouldTransmit( const CCheckTransmitInfo *pInfo );
|
||||
void SetCommander(CASW_Player* commander);
|
||||
CASW_Player* GetCommander();
|
||||
|
||||
void GetDisplayName( char *pwchDisplayName, int nMaxBytes );
|
||||
|
||||
void SetMarineEntity(CASW_Marine* marine);
|
||||
CASW_Marine* GetMarineEntity();
|
||||
void SetProfileIndex(int ProfileIndex);
|
||||
int GetProfileIndex();
|
||||
CASW_Marine_Profile* GetProfile();
|
||||
bool IsInfested() { return m_bInfested; }
|
||||
void SetInfested(bool b) { m_bInfested = b; }
|
||||
bool IsInhabited();
|
||||
void SetInhabited(bool bInhabited);
|
||||
void UpdateWeaponIndices();
|
||||
float GetHealthPercent();
|
||||
bool IsFiring();
|
||||
void SetFiring(int iFiring) { m_iServerFiring = iFiring; }
|
||||
bool IsReloading();
|
||||
|
||||
// leadership effects
|
||||
float OnFired_GetDamageScale(); // called whenever a weapon is fired. Leadership and damage amp scaling is done here
|
||||
int m_iLeadershipCount;
|
||||
Vector m_vecDeathPosition; // position of the marine when he died
|
||||
float m_fDeathTime;
|
||||
|
||||
// medal stats collection
|
||||
void DebugMedalStats();
|
||||
void DebugMedalStatsOnScreen();
|
||||
float m_fFriendlyFireDamageDealt; // how much FF damage this marine dealt out
|
||||
int m_iSingleGrenadeKills; // our max number of aliens killed with a single grenade this mission
|
||||
int m_iKickedGrenadeKills; // how many aliens were killed by a kicked grenade
|
||||
int m_iShieldbugsKilled;
|
||||
int m_iParasitesKilled;
|
||||
int m_iSavedLife; // has this marine killed an alien that was munching on a teammate?
|
||||
bool m_bHurt; // has this marine been hurt at all?
|
||||
int m_iMadFiring;
|
||||
int m_iMadFiringAutogun;
|
||||
//int m_iLastStandKills; // alien kills made while the NCO marine is bleeding to death
|
||||
int m_iMedicHealing; // how much healing this medic has done (minus healing of FF damage)
|
||||
int m_iCuredInfestation; // how many marines have survived infestation after a cure from us (not a heal)
|
||||
|
||||
int m_iOnlyWeaponEquipIndex; // equip index of the only weapon we've used (-1 means not used a weapon yet, -2 means we've used multiple weapons)
|
||||
bool m_bOnlyWeaponExtra; // was the only weapon we've used an extra item?
|
||||
void UsedWeapon(CASW_Weapon *pWeapon, int iShots);
|
||||
void UsedWeapon(int iWeaponEquipIndex, bool bWeaponExtra, int iShots);
|
||||
int m_iMineKills;
|
||||
int m_iSentryKills;
|
||||
int m_iEggKills;
|
||||
int m_iGrubKills;
|
||||
int m_iBarrelKills;
|
||||
int m_iFiresPutOut;
|
||||
bool m_bDidFastReloadsInARow;
|
||||
bool m_bDamageAmpMedal;
|
||||
bool m_bKilledBoomerEarly;
|
||||
bool m_bStunGrenadeMedal;
|
||||
bool m_bFreezeGrenadeMedal;
|
||||
bool m_bDodgedRanger;
|
||||
bool m_bProtectedTech;
|
||||
bool m_bMeleeParasiteKill;
|
||||
int m_iAliensKicked;
|
||||
int m_iFastDoorHacks;
|
||||
int m_iFastComputerHacks;
|
||||
CNetworkHandle(CASW_Door, m_hWeldingDoor); // networks down which door this marine tried to cut/seal last, so all players can see its progress on the HUD
|
||||
|
||||
// medals awarded during the debrief
|
||||
CNetworkString( m_MedalsAwarded, 255 );
|
||||
bool m_bAwardedMedals;
|
||||
CUtlVector<int> m_aAchievementsEarned;
|
||||
|
||||
// char array of medals awarded (used for stats upload)
|
||||
CUtlVector<unsigned char> m_CharMedals;
|
||||
|
||||
CNetworkVar(bool, m_bUsingEngineeringAura);
|
||||
|
||||
// Intensity
|
||||
CASW_Intensity* GetIntensity() { return m_pIntensity; }
|
||||
|
||||
private:
|
||||
CASW_Intensity* m_pIntensity;
|
||||
};
|
||||
|
||||
#endif /* _INCLUDED_ASW_MARINE_RESOURCE_H */
|
||||
Reference in New Issue
Block a user