Index: src/game/g_cmds.c =================================================================== --- src/game/g_cmds.c (revision 765) +++ src/game/g_cmds.c (working copy) @@ -461,13 +461,26 @@ { //if the client is in a queue make sure they are removed from it before changing if( oldTeam == PTE_ALIENS ) + { G_RemoveFromSpawnQueue( &level.alienSpawnQueue, ent->client->ps.clientNum ); + ent->client->ps.persistant[ PERS_CREDIT ] *= + (float)FREEKILL_HUMAN / FREEKILL_ALIEN; + } else if( oldTeam == PTE_HUMANS ) + { G_RemoveFromSpawnQueue( &level.humanSpawnQueue, ent->client->ps.clientNum ); + ent->client->ps.persistant[ PERS_CREDIT ] *= + (float)FREEKILL_ALIEN / FREEKILL_HUMAN; + } + else + { + ent->client->ps.persistant[ PERS_CREDIT ] = 0; + ent->client->ps.persistant[ PERS_SCORE ] = 0; + } - level.bankCredits[ ent->client->ps.clientNum ] = 0; - ent->client->ps.persistant[ PERS_CREDIT ] = 0; - ent->client->ps.persistant[ PERS_SCORE ] = 0; + //level.bankCredits[ ent->client->ps.clientNum ] = 0; + //ent->client->ps.persistant[ PERS_CREDIT ] = 0; + //ent->client->ps.persistant[ PERS_SCORE ] = 0; ent->client->pers.classSelection = PCL_NONE; ClientSpawn( ent, NULL, NULL, NULL ); }