From 54eb97fb4454da6c26ff3fc935760ff392fde3a4 Mon Sep 17 00:00:00 2001 From: John Ellis Date: Tue, 20 Jul 2010 22:11:01 +0000 Subject: * Fix losing credits when player is already over the cap by selling equipment. --- src/game/g_client.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/game/g_client.c b/src/game/g_client.c index c3afede2..bb5ff908 100644 --- a/src/game/g_client.c +++ b/src/game/g_client.c @@ -91,12 +91,19 @@ void G_AddCreditToClient( gclient_t *client, short credit, qboolean cap ) if( !client ) return; - client->pers.credit += credit; - capAmount = client->pers.teamSelection == TEAM_ALIENS ? - ALIEN_MAX_CREDITS : HUMAN_MAX_CREDITS; - - if( cap && client->pers.credit > capAmount ) - client->pers.credit = capAmount; + if( cap && credit > 0 ) + { + capAmount = client->pers.teamSelection == TEAM_ALIENS ? + ALIEN_MAX_CREDITS : HUMAN_MAX_CREDITS; + if( client->pers.credit < capAmount ) + { + client->pers.credit += credit; + if( client->pers.credit > capAmount ) + client->pers.credit = capAmount; + } + } + else + client->pers.credit += credit; if( client->pers.credit < 0 ) client->pers.credit = 0; -- cgit