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.
92 lines
2.1 KiB
92 lines
2.1 KiB
3 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
#ifndef HL1MP_GAMERULES_H
|
||
|
#define HL1MP_GAMERULES_H
|
||
|
#pragma once
|
||
|
|
||
|
|
||
|
#include "gamerules.h"
|
||
|
#include "teamplay_gamerules.h"
|
||
|
|
||
|
extern ConVar sk_mp_dmg_multiplier ;
|
||
|
|
||
|
#ifdef CLIENT_DLL
|
||
|
#define CHL1MPRules C_HL1MPRules
|
||
|
#define CHL1MPGameRulesProxy C_HL1MPGameRulesProxy
|
||
|
#endif
|
||
|
|
||
|
|
||
|
class CHL1MPGameRulesProxy : public CGameRulesProxy
|
||
|
{
|
||
|
public:
|
||
|
DECLARE_CLASS( CHL1MPGameRulesProxy, CGameRulesProxy );
|
||
|
DECLARE_NETWORKCLASS();
|
||
|
};
|
||
|
|
||
|
|
||
|
class CHL1MPRules : public CTeamplayRules
|
||
|
{
|
||
|
public:
|
||
|
DECLARE_CLASS( CHL1MPRules, CTeamplayRules );
|
||
|
|
||
|
#ifdef CLIENT_DLL
|
||
|
DECLARE_CLIENTCLASS_NOBASE();
|
||
|
#else
|
||
|
DECLARE_SERVERCLASS_NOBASE();
|
||
|
#endif
|
||
|
|
||
|
CHL1MPRules();
|
||
|
virtual ~CHL1MPRules();
|
||
|
|
||
|
virtual void CreateStandardEntities( void );
|
||
|
|
||
|
virtual bool IsTeamplay( void )
|
||
|
{
|
||
|
return m_bTeamPlayEnabled;
|
||
|
}
|
||
|
|
||
|
virtual float GetAmmoDamage( CBaseEntity *pAttacker, CBaseEntity *pVictim, int nAmmoType );
|
||
|
virtual float GetDamageMultiplier( void );
|
||
|
|
||
|
virtual bool IsConnectedUserInfoChangeAllowed( CBasePlayer *pPlayer )
|
||
|
{
|
||
|
return true;
|
||
|
}
|
||
|
bool ClientCommand( CBaseEntity *pEdict, const CCommand &args );
|
||
|
|
||
|
#ifdef CLIENT_DLL
|
||
|
#else
|
||
|
virtual const char *GetGameDescription( void ) { return "Half-Life Deathmatch: Source"; } // this is the game name that gets seen in the server browser
|
||
|
|
||
|
virtual void Think ( void );
|
||
|
|
||
|
virtual void GoToIntermission( void );
|
||
|
|
||
|
virtual void InitDefaultAIRelationships( void );
|
||
|
|
||
|
virtual float FlWeaponRespawnTime( CBaseCombatWeapon *pWeapon );
|
||
|
virtual float FlItemRespawnTime( CItem *pItem );
|
||
|
|
||
|
virtual const char *SetDefaultPlayerTeam( CBasePlayer *pPlayer );
|
||
|
virtual void InitHUD( CBasePlayer *pPlayer );
|
||
|
virtual void ChangePlayerTeam( CBasePlayer *pPlayer, const char *pTeamName, bool bKill, bool bGib );
|
||
|
virtual void ClientSettingsChanged( CBasePlayer *pPlayer );
|
||
|
|
||
|
virtual int GetTeamIndex( const char * pName );
|
||
|
#endif
|
||
|
|
||
|
private:
|
||
|
|
||
|
const char *TeamWithFewestPlayers( void );
|
||
|
|
||
|
CNetworkVar( bool, m_bTeamPlayEnabled );
|
||
|
};
|
||
|
|
||
|
|
||
|
inline CHL1MPRules* HL1MPRules()
|
||
|
{
|
||
|
return dynamic_cast<CHL1MPRules*>(g_pGameRules);
|
||
|
}
|
||
|
|
||
|
|
||
|
#endif
|