Gimme more weapons
Code to be Added or Changed
g_client.c
Open up g_client.c and look for the ClientSpawn(gentity_t *ent) function and find these lines:
client->ps.stats[STAT_WEAPONS] = ( 1 << WP_MACHINEGUN );
if ( g_gametype.integer == GT_TEAM ) {
client->ps.ammo[WP_MACHINEGUN] = 50;
} else {
client->ps.ammo[WP_MACHINEGUN] = 100;
}
This assigns the player's inventory one machinegun and appropriate ammo, depending on whether or not it's a team game. Now were going to give the player an additional weapon by adding this:
client->ps.stats[STAT_WEAPONS] |= ( 1 << WP_SHOTGUN );
client->ps.ammo[WP_SHOTGUN] = 20;
This will now start him off with the machinegun & the shotgun, but were not finished yet, although we have told it what weapons to start with, we have to get it to also load in the shotgun media, incase it doesn't exist in the map.
g_items.c
We need to precache the shotgun media, so its available in the game.
Find the ClearRegisteredItems( void ) function and add this line to list of weapons:
RegisterItem( BG_FindItemForWeapon( WP_SHOTGUN ) );
While were at it, here's a list of the weapons available:
WP_GAUNTLET, WP_LIGHTNING, WP_SHOTGUN, WP_MACHINEGUN, WP_GRENADE_LAUNCHER, WP_ROCKET_LAUNCHER, WP_PLASMAGUN, WP_RAILGUN, WP_BFG |