You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
3.7 KiB
104 lines
3.7 KiB
//========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose: CS's custom CPlayerResource
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
|
|
#ifndef CS_PLAYER_RESOURCE_H
|
|
#define CS_PLAYER_RESOURCE_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "player_resource.h"
|
|
|
|
extern Vector g_vecDefuserPosition;
|
|
extern CBaseEntity* g_pDefuserEntity;
|
|
|
|
class CCSPlayerResource : public CPlayerResource
|
|
{
|
|
DECLARE_CLASS( CCSPlayerResource, CPlayerResource );
|
|
|
|
public:
|
|
DECLARE_SERVERCLASS();
|
|
DECLARE_DATADESC();
|
|
|
|
CCSPlayerResource();
|
|
|
|
virtual void UpdatePlayerData( void );
|
|
virtual void Spawn( void );
|
|
|
|
const Vector GetBombsiteAPosition();
|
|
const Vector GetBombsiteBPosition();
|
|
|
|
const Vector GetHostageRescuePosition( int index );
|
|
|
|
bool EndMatchNextMapAllVoted( void ) { return m_bEndMatchNextMapAllVoted; }
|
|
|
|
int GetCompTeammateColor( int iIndex );
|
|
void ResetPlayerTeammateColor( int index );
|
|
void ForcePlayersPickColors( void );
|
|
void SetPlayerTeammateColor( int index, bool bReset );
|
|
|
|
bool IsAssassinationTarget( int index ) const;
|
|
void UpdateAssassinationTargets( const CEconQuestDefinition * pQuest );
|
|
|
|
protected:
|
|
|
|
CNetworkVar( int, m_iPlayerC4 ); // entity index of C4 carrier or 0
|
|
CNetworkVar( int, m_iPlayerVIP ); // entity index of VIP player or 0
|
|
CNetworkArray( bool, m_bHostageAlive, MAX_HOSTAGES );
|
|
CNetworkArray( bool, m_isHostageFollowingSomeone, MAX_HOSTAGES );
|
|
CNetworkArray( int, m_iHostageEntityIDs, MAX_HOSTAGES );
|
|
CNetworkVector( m_bombsiteCenterA );// Location of bombsite A
|
|
CNetworkVector( m_bombsiteCenterB );// Location of bombsite B
|
|
CNetworkArray( int, m_hostageRescueX, MAX_HOSTAGE_RESCUES );// Locations of all hostage rescue spots
|
|
CNetworkArray( int, m_hostageRescueY, MAX_HOSTAGE_RESCUES );
|
|
CNetworkArray( int, m_hostageRescueZ, MAX_HOSTAGE_RESCUES );
|
|
|
|
CNetworkArray( int, m_iMVPs, MAX_PLAYERS + 1 );
|
|
CNetworkArray( int, m_iArmor, MAX_PLAYERS + 1 );
|
|
CNetworkArray( bool, m_bHasDefuser, MAX_PLAYERS + 1);
|
|
CNetworkArray( bool, m_bHasHelmet, MAX_PLAYERS + 1);
|
|
CNetworkArray( int, m_iScore, MAX_PLAYERS + 1 );
|
|
CNetworkArray( int, m_iCompetitiveRanking, MAX_PLAYERS + 1 );
|
|
CNetworkArray( int, m_iCompetitiveWins, MAX_PLAYERS + 1 );
|
|
CNetworkArray( int, m_iCompTeammateColor, MAX_PLAYERS + 1 );
|
|
|
|
#if CS_CONTROLLABLE_BOTS_ENABLED
|
|
CNetworkArray( int, m_bControllingBot, MAX_PLAYERS+1 );
|
|
CNetworkArray( int, m_iControlledPlayer, MAX_PLAYERS+1 );
|
|
CNetworkArray( int, m_iControlledByPlayer, MAX_PLAYERS+1 );
|
|
#endif
|
|
CNetworkArray( int, m_iBotDifficulty, MAX_PLAYERS+1 ); // Difficulty level of a bot ( -1 if not applicable )
|
|
CNetworkArray( string_t, m_szClan, MAX_PLAYERS+1 );
|
|
CNetworkArray( int, m_iTotalCashSpent, MAX_PLAYERS + 1 );
|
|
CNetworkArray( int, m_iCashSpentThisRound, MAX_PLAYERS + 1 );
|
|
CNetworkArray( int, m_nEndMatchNextMapVotes, MAX_PLAYERS + 1 );
|
|
CNetworkVar( bool, m_bEndMatchNextMapAllVoted );
|
|
|
|
CNetworkArray( int, m_nActiveCoinRank, MAX_PLAYERS + 1 );
|
|
CNetworkArray( int, m_nMusicID, MAX_PLAYERS + 1 );
|
|
CNetworkArray( bool, m_bIsAssassinationTarget, MAX_PLAYERS + 1 );
|
|
|
|
CNetworkArray( int, m_nPersonaDataPublicLevel, MAX_PLAYERS + 1 );
|
|
CNetworkArray( int, m_nPersonaDataPublicCommendsLeader, MAX_PLAYERS + 1 );
|
|
CNetworkArray( int, m_nPersonaDataPublicCommendsTeacher, MAX_PLAYERS + 1 );
|
|
CNetworkArray( int, m_nPersonaDataPublicCommendsFriendly, MAX_PLAYERS + 1 );
|
|
|
|
bool m_nAttemptedToGetColor[MAX_PLAYERS + 1];
|
|
|
|
|
|
private:
|
|
bool m_foundGoalPositions;
|
|
bool m_bPreferencesAssigned_CT;
|
|
bool m_bPreferencesAssigned_T;
|
|
};
|
|
|
|
inline CCSPlayerResource* CSPlayerResource()
|
|
{
|
|
return static_cast<CCSPlayerResource*>(g_pPlayerResource);
|
|
}
|
|
|
|
#endif // CS_PLAYER_RESOURCE_H
|