// // test_gamerules // Game rules for the game mode, for testing weapons // and other beta testing. // #include "extdll.h" #include "util.h" #include "cbase.h" #include "player.h" #include "weapons.h" #include "gamerules.h" #include "test_gamerules.h" #include "game.h" extern DLL_GLOBAL BOOL g_fGameOver; extern int gmsgScoreInfo; extern int gmsgShowGameTitle; CTestplay :: CTestplay() { //Genuflect } BOOL CTestplay::IsHeavyRain() { return FALSE; } void CTestplay::PlayerSpawn( CBasePlayer *pPlayer ) { ALERT(at_console, "Test Game Mode Initalized!\no Giving Weapons\no Kills don't count\no This is for testing and sandboxing\no Have fun!"); BOOL addDefault; CBaseEntity *pWeaponEntity = NULL; pPlayer->pev->weapons |= (1<Touch( pPlayer ); addDefault = FALSE; } if ( addDefault ) { pPlayer->GiveNamedItem( "weapon_fotn" ); pPlayer->GiveNamedItem( "weapon_9mmhandgun" ); pPlayer->GiveNamedItem( "ammo_9mmclip" ); pPlayer->GiveNamedItem( "weapon_shotgun" ); pPlayer->GiveNamedItem( "ammo_buckshot" ); pPlayer->GiveNamedItem( "weapon_9mmAR" ); pPlayer->GiveNamedItem( "ammo_9mmAR" ); pPlayer->GiveNamedItem( "ammo_ARgrenades" ); pPlayer->GiveNamedItem( "weapon_handgrenade" ); pPlayer->GiveNamedItem( "weapon_tripmine" ); pPlayer->GiveNamedItem( "weapon_rpg" ); pPlayer->GiveNamedItem( "ammo_rpgclip" ); pPlayer->GiveNamedItem( "weapon_satchel" ); pPlayer->GiveNamedItem( "weapon_snark" ); pPlayer->GiveNamedItem( "weapon_soda" ); pPlayer->GiveNamedItem( "weapon_dosh" ); pPlayer->GiveNamedItem( "weapon_beamkatana" ); pPlayer->GiveNamedItem( "weapon_ak47" ); pPlayer->GiveNamedItem( "weapon_bow" ); pPlayer->GiveNamedItem( "weapon_jason" ); pPlayer->GiveNamedItem( "weapon_jihad" ); pPlayer->GiveNamedItem( "weapon_jackal" ); pPlayer->GiveNamedItem( "weapon_nstar" ); pPlayer->GiveNamedItem( "weapon_mw2" ); pPlayer->GiveNamedItem( "weapon_zapper" ); pPlayer->GiveNamedItem( "weapon_goldengun" ); pPlayer->GiveNamedItem( "weapon_boombox" ); pPlayer->GiveNamedItem( "weapon_scientist" ); pPlayer->GiveNamedItem( "weapon_modman" ); } //char welcometext[1024] = "Welcome to Test Gamemode!\n"; //UTIL_SayText( welcometext, pPlayer ); } void CTestplay::PlayerKilled( CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor ) { CBasePlayer *peKiller = NULL; CBaseEntity *ktmp = CBaseEntity::Instance( pKiller ); if( pVictim->pev == pKiller ) { // killed self UTIL_SayText( "You killed yourself.\n", pVictim ); return; } else if ( ktmp && ktmp->IsPlayer() ) { UTIL_SayText( "You got shot and died.\n", pVictim ); CBaseEntity *ep = CBaseEntity::Instance( pKiller ); if ( ep && ep->Classify() == CLASS_PLAYER ) { CBasePlayer *PK = (CBasePlayer*)ep; UTIL_SayText( "You killed a person.\n", PK ); PK->m_flNextDecalTime = gpGlobals->time; } else { // World did them in, Genuflect. } } } BOOL CTestplay::IsTest( void ) { return TRUE; }