diff options
Diffstat (limited to 'src/game/g_combat.c')
-rw-r--r-- | src/game/g_combat.c | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/src/game/g_combat.c b/src/game/g_combat.c index 29ab80f..6cadeec 100644 --- a/src/game/g_combat.c +++ b/src/game/g_combat.c @@ -383,6 +383,8 @@ void player_die( gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int for( i = 0; i < MAX_CLIENTS; i++ ) { + float reward; + player = g_entities + i; if( !player->client ) @@ -404,9 +406,16 @@ void player_die( gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int if( spreeRate && player == attacker ) percentDamage *= (float)spreeRate; + reward = G_RoundFunds( classValue * percentDamage, PTE_HUMANS ); + if( reward <= 0.0f ) + continue; + + if( g_logFunds.integer ) + G_LogPrintf("KillReward: %d %d %f: %s^7 rewarded with %.0f credit(s)\n", + self - g_entities, i, reward, player->client->pers.netname, reward); + //add credit - G_AddFundsToClient( player->client, - (int)( classValue * percentDamage ), qtrue ); + G_AddFundsToClient( player->client, reward, qtrue ); } } else if( self->client->ps.stats[ STAT_PTEAM ] == PTE_HUMANS ) @@ -442,11 +451,21 @@ void player_die( gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int if( frags > 0 ) { + float reward; + //add kills if( spreeRate && player == attacker ) - G_AddFundsToClient( player->client, frags * spreeRate, qtrue ); + reward = frags * spreeRate; else - G_AddFundsToClient( player->client, frags, qtrue ); + reward = frags; + + reward = G_RoundFunds( reward, PTE_ALIENS ); + + if( g_logFunds.integer ) + G_LogPrintf("KillReward: %d %d %f: %s^7 rewarded with %.3f evo(s)\n", + self - g_entities, i, reward, player->client->pers.netname, reward); + + G_AddFundsToClient( player->client, reward, qtrue ); //can't revist this account later self->credits[ i ] = 0; |