From 39a787b1ce947e04ed6011d0dc555cfb2ba8f8f1 Mon Sep 17 00:00:00 2001 From: Paweł Redman Date: Mon, 11 Feb 2019 19:18:17 +0100 Subject: Log kill rewards and donations in detail. --- src/game/g_cmds.c | 25 ++++++++++++++++++++++--- src/game/g_combat.c | 27 +++++++++++++++++++++++---- src/game/g_local.h | 1 + src/game/g_main.c | 2 ++ 4 files changed, 48 insertions(+), 7 deletions(-) (limited to 'src/game') diff --git a/src/game/g_cmds.c b/src/game/g_cmds.c index eac9ac4..01dcdc2 100644 --- a/src/game/g_cmds.c +++ b/src/game/g_cmds.c @@ -5418,22 +5418,41 @@ static void Cmd_Ignore_f( gentity_t *ent ) } } } + + if( ent->client->pers.teamSelection == PTE_ALIENS ) + G_LogPrintf( "Donate: %d %f: %s^7 donated %.3f evo(s)\n", ent - g_entities, + total-value, ent->client->pers.netname, total-value); + else + G_LogPrintf( "Donate: %d %f: %s^7 donated %.0f credit(s)\n", ent - g_entities, + total-value, ent->client->pers.netname, total-value); // transfer funds G_AddFundsToClient( ent->client, value - total, qtrue ); for( i = 0; i < level.maxclients; i++ ) if( amounts[ i ] ) { - if( ent->client->pers.teamSelection == PTE_ALIENS) + if( ent->client->pers.teamSelection == PTE_ALIENS ) + { + if( g_logFunds.integer ) + G_LogPrintf( "DonateRecv: %d %d %f: %s^7 received %.3f evo(s)\n", + ent - g_entities, i, g_clients[ i ].pers.netname, amounts[ i ] ); + trap_SendServerCommand( i, va( "print \"%s^7 donated %.3f %s to you, don't forget to say 'thank you'!\n\"", ent->client->pers.netname, amounts[ i ], type ) ); + } else - trap_SendServerCommand( i, + { + if( g_logFunds.integer ) + G_LogPrintf( "DonateRecv: %d %d %f: %s^7 received %.0f credit(s)\n", + ent - g_entities, i, g_clients[ i ].pers.netname, amounts[ i ] ); + + trap_SendServerCommand( i, va( "print \"%s^7 donated %.0f %s to you, don't forget to say 'thank you'!\n\"", ent->client->pers.netname, amounts[ i ], type ) ); + } } - if( ent->client->pers.teamSelection == PTE_ALIENS) + if( ent->client->pers.teamSelection == PTE_ALIENS ) trap_SendServerCommand( ent-g_entities, va( "print \"Donated %.3f %s to the cause.\n\"", total-value, type ) ); 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; diff --git a/src/game/g_local.h b/src/game/g_local.h index 76e646b..83cd0bb 100644 --- a/src/game/g_local.h +++ b/src/game/g_local.h @@ -1426,6 +1426,7 @@ extern vmCvar_t pmove_msec; extern vmCvar_t g_rankings; extern vmCvar_t g_allowShare; extern vmCvar_t g_creditOverflow; +extern vmCvar_t g_logFunds; extern vmCvar_t g_enableDust; extern vmCvar_t g_enableBreath; extern vmCvar_t g_singlePlayer; diff --git a/src/game/g_main.c b/src/game/g_main.c index 4fe3f7c..9770db5 100644 --- a/src/game/g_main.c +++ b/src/game/g_main.c @@ -227,6 +227,7 @@ vmCvar_t g_dretchPunt; vmCvar_t g_allowShare; vmCvar_t g_creditOverflow; +vmCvar_t g_logFunds; vmCvar_t g_devmapNoGod; vmCvar_t g_devmapNoStructDmg; @@ -546,6 +547,7 @@ static cvarTable_t gameCvarTable[ ] = { &g_rankings, "g_rankings", "0", 0, 0, qfalse }, { &g_allowShare, "g_allowShare", "0", CVAR_ARCHIVE | CVAR_SERVERINFO, 0, qfalse}, { &g_creditOverflow, "g_creditOverflow", "0", CVAR_ARCHIVE | CVAR_SERVERINFO, 0, qfalse}, + { &g_logFunds, "g_logFunds", "1", CVAR_ARCHIVE, 0, qfalse }, { &g_banNotice, "g_banNotice", "", CVAR_ARCHIVE, 0, qfalse }, { &g_nullifyTyrantKills, "g_nullifyTyrantKills", "0", CVAR_ARCHIVE, 0, qfalse }, -- cgit