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.
117 lines
3.5 KiB
117 lines
3.5 KiB
5 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose:
|
||
|
//
|
||
|
//=====================================================================================//
|
||
|
|
||
|
#include "cbase.h"
|
||
|
#include "weapon_sdkbase.h"
|
||
|
|
||
|
// memdbgon must be the last include file in a .cpp file!!!
|
||
|
#include "tier0/memdbgon.h"
|
||
|
|
||
|
// the 1 / 2 / 3 respectively are all identical in our template mod to start, I've made the base ones (pc_class1, pc_class2, pc_class3) and then duplicated them for the teams.
|
||
|
//Tony; for our template we have two versions.
|
||
|
#if defined ( SDK_USE_PLAYERCLASSES ) && defined ( SDK_USE_TEAMS )
|
||
|
const char *pszTeamBlueClasses[] =
|
||
|
{
|
||
|
"blue_class1",
|
||
|
"blue_class2",
|
||
|
"blue_class3",
|
||
|
NULL
|
||
|
};
|
||
|
|
||
|
const char *pszTeamRedClasses[] =
|
||
|
{
|
||
|
"red_class1",
|
||
|
"red_class2",
|
||
|
"red_class3",
|
||
|
NULL
|
||
|
};
|
||
|
ConVar mp_limit_blue_class1( "mp_limit_blue_class1", "-1", FCVAR_REPLICATED, "Class limit for Blue class 1" );
|
||
|
ConVar mp_limit_blue_class2( "mp_limit_blue_class2", "-1", FCVAR_REPLICATED, "Class limit for Blue class 2" );
|
||
|
ConVar mp_limit_blue_class3( "mp_limit_blue_class3", "-1", FCVAR_REPLICATED, "Class limit for Blue class 3" );
|
||
|
|
||
|
ConVar mp_limit_red_class1( "mp_limit_red_class1", "-1", FCVAR_REPLICATED, "Class limit for Red class 1" );
|
||
|
ConVar mp_limit_red_class2( "mp_limit_red_class2", "-1", FCVAR_REPLICATED, "Class limit for Red class 2" );
|
||
|
ConVar mp_limit_red_class3( "mp_limit_red_class3", "-1", FCVAR_REPLICATED, "Class limit for Red class 3" );
|
||
|
|
||
|
//Tony; not using teams, but we are using classes
|
||
|
#elif defined ( SDK_USE_PLAYERCLASSES ) && !defined( SDK_USE_TEAMS )
|
||
|
const char *pszPlayerClasses[] =
|
||
|
{
|
||
|
"pc_class1",
|
||
|
"pc_class2",
|
||
|
"pc_class3",
|
||
|
NULL
|
||
|
};
|
||
|
ConVar mp_limit_pc_class1( "mp_limit_pc_class1", "-1", FCVAR_REPLICATED, "Class limit for class 1" );
|
||
|
ConVar mp_limit_pc_class2( "mp_limit_pc_class2", "-1", FCVAR_REPLICATED, "Class limit for class 2" );
|
||
|
ConVar mp_limit_pc_class3( "mp_limit_pc_class3", "-1", FCVAR_REPLICATED, "Class limit for class 3" );
|
||
|
#endif
|
||
|
|
||
|
const char *pszTeamNames[] =
|
||
|
{
|
||
|
"#SDK_Team_Unassigned",
|
||
|
"#SDK_Team_Spectator",
|
||
|
#if defined ( SDK_USE_TEAMS )
|
||
|
"#SDK_Team_Blue",
|
||
|
"#SDK_Team_Red",
|
||
|
#endif
|
||
|
};
|
||
|
|
||
|
//Tony; We need to precache all possible player models that we're going to use
|
||
|
const char *pszPossiblePlayerModels[] =
|
||
|
{
|
||
|
SDK_PLAYER_MODEL,
|
||
|
"models/player/american_rifleman.mdl",
|
||
|
"models/player/german_rifleman.mdl",
|
||
|
NULL
|
||
|
};
|
||
|
|
||
|
// ----------------------------------------------------------------------------- //
|
||
|
// Global Weapon Definitions
|
||
|
// ----------------------------------------------------------------------------- //
|
||
|
|
||
|
//--------------------------------------------------------------------------------------------------------
|
||
|
static const char * s_WeaponAliasInfo[] =
|
||
|
{
|
||
|
"none", // WEAPON_NONE
|
||
|
"mp5", // SDK_WEAPON_MP5
|
||
|
"shotgun", // SDK_WEAPON_SHOTGUN
|
||
|
"grenade", // SDK_WEAPON_GRENADE
|
||
|
"pistol", // SDK_WEAPON_PISTOL
|
||
|
"crowbar", // SDK_WEAPON_CROWBAR
|
||
|
NULL, // WEAPON_NONE
|
||
|
};
|
||
|
|
||
|
//--------------------------------------------------------------------------------------------------------
|
||
|
//
|
||
|
// Given an alias, return the associated weapon ID
|
||
|
//
|
||
|
int AliasToWeaponID( const char *alias )
|
||
|
{
|
||
|
if (alias)
|
||
|
{
|
||
|
for( int i=0; s_WeaponAliasInfo[i] != NULL; ++i )
|
||
|
if (!Q_stricmp( s_WeaponAliasInfo[i], alias ))
|
||
|
return i;
|
||
|
}
|
||
|
|
||
|
return WEAPON_NONE;
|
||
|
}
|
||
|
|
||
|
//--------------------------------------------------------------------------------------------------------
|
||
|
//
|
||
|
// Given a weapon ID, return its alias
|
||
|
//
|
||
|
const char *WeaponIDToAlias( int id )
|
||
|
{
|
||
|
if ( (id >= WEAPON_MAX) || (id < 0) )
|
||
|
return NULL;
|
||
|
|
||
|
return s_WeaponAliasInfo[id];
|
||
|
}
|
||
|
|
||
|
|