rpg-x2-rpgxef/old_code/g_client.c
Walter Julius Hennecke 27269ee319 initial commit
2012-05-05 13:49:28 +02:00

101 lines
2.6 KiB
C

/**
* Get a random player that becomes action hero
*/
void G_RandomActionHero( int ignoreClientNum )
{
//int /*i,*/ numConnectedClients = 0;
//int ahCandidates[MAX_CLIENTS];
if ( g_doWarmup.integer )
{
if ( level.warmupTime != 0 )
{
if ( level.warmupTime < 0 || level.time - level.startTime <= level.warmupTime )
{//don't choose one until warmup is done
return;
}
}
}
else if ( level.time - level.startTime <= 3000 )
{//don't choose one until 3 seconds into the game
return;
}
//if ( g_pModActionHero.integer != 0 )
//{
// for ( i = 0; i < level.maxclients; i++ )
// {
// if ( i == ignoreClientNum )
// {
// continue;
// }
// if ( level.clients[i].pers.connected != CON_DISCONNECTED )
// {
// //note: these next few checks will mean that the first player to join (usually server client if a listen server) when a new map starts is *always* the AH
// if ( &g_entities[i] != NULL && g_entities[i].client != NULL )
// {
// if ( level.clients[i].sess.sessionClass != PC_ACTIONHERO )
// {
// if ( level.clients[i].sess.sessionTeam != TEAM_SPECTATOR )
// {
// ahCandidates[numConnectedClients++] = i;
// }
// }
// }
// }
// }
// if ( !numConnectedClients )
// {//WTF?!
// return;
// }
// else
// {
// actionHeroClientNum = ahCandidates[ irandom( 0, (numConnectedClients-1) ) ];
// }
//}
}
void INeedAHero( void )
{
//G_RandomActionHero( actionHeroClientNum );
if ( actionHeroClientNum >= 0 && actionHeroClientNum < level.maxclients )
{// get and distribute relevent paramters
ClientUserinfoChanged( actionHeroClientNum );
ClientSpawn( &g_entities[actionHeroClientNum], 0, qfalse );//RPG-X: RedTechie - Modifyed
}//else ERROR!!!
}
/**
* Check wheter to replace the current action hero
*/
void G_CheckReplaceActionHero( int clientNum )
{
if ( clientNum == actionHeroClientNum )
{
//G_RandomActionHero( clientNum );
if ( actionHeroClientNum >= 0 && actionHeroClientNum < level.maxclients )
{
// get and distribute relevent paramters
ClientUserinfoChanged( actionHeroClientNum );
ClientSpawn( &g_entities[actionHeroClientNum], 0, qfalse );//RPG-X: RedTechie - Modifyed
}//else ERROR!!!
}
}
/**
* Check whether borgqueen should be replaced
*/
void G_CheckReplaceQueen( int clientNum )
{
if ( clientNum == borgQueenClientNum )
{
G_RandomBorgQueen( clientNum );
if ( borgQueenClientNum >= 0 && borgQueenClientNum < level.maxclients )
{
// get and distribute relevent paramters
ClientUserinfoChanged( borgQueenClientNum );
ClientSpawn( &g_entities[borgQueenClientNum], 0, qfalse );//RPG-X: RedTechie - Modifyed
}//else ERROR!!!
}
}