From: Freddy Date: Tue, 24 Oct 2017 13:40:56 +0000 (+0200) Subject: Don't track kills-i and achievement PlayerStats events in warmup X-Git-Tag: xonotic-v0.8.5~2431^2~1 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=56d9c4fbc9f940b93826db8772451561dc68eec2;p=xonotic%2Fxonotic-data.pk3dir.git Don't track kills-i and achievement PlayerStats events in warmup --- diff --git a/qcsrc/server/g_damage.qc b/qcsrc/server/g_damage.qc index adaa8c369..108297d4a 100644 --- a/qcsrc/server/g_damage.qc +++ b/qcsrc/server/g_damage.qc @@ -54,7 +54,7 @@ void GiveFrags (entity attacker, entity targ, float f, int deathtype) { // regular frag GameRules_scoring_add(attacker, KILLS, 1); - if(targ.playerid) + if(!warmup_stage && targ.playerid) PlayerStats_GameReport_Event_Player(attacker, sprintf("kills-%d", targ.playerid), 1); } @@ -360,11 +360,16 @@ void Obituary(entity attacker, entity inflictor, entity targ, int deathtype) attacker.killsound += 1; + // TODO: improve SPREE_ITEM and KILL_SPREE_LIST + // these 2 macros are spread over multiple files #define SPREE_ITEM(counta,countb,center,normal,gentle) \ case counta: \ { \ Send_Notification(NOTIF_ONE, attacker, MSG_ANNCE, ANNCE_KILLSTREAK_##countb); \ - PlayerStats_GameReport_Event_Player(attacker, PLAYERSTATS_ACHIEVEMENT_KILL_SPREE_##counta, 1); \ + if (!warmup_stage)\ + {\ + PlayerStats_GameReport_Event_Player(attacker, PLAYERSTATS_ACHIEVEMENT_KILL_SPREE_##counta, 1); \ + }\ break; \ } switch(CS(attacker).killcount) @@ -378,8 +383,11 @@ void Obituary(entity attacker, entity inflictor, entity targ, int deathtype) { checkrules_firstblood = true; notif_firstblood = true; // modify the current messages so that they too show firstblood information - PlayerStats_GameReport_Event_Player(attacker, PLAYERSTATS_ACHIEVEMENT_FIRSTBLOOD, 1); - PlayerStats_GameReport_Event_Player(targ, PLAYERSTATS_ACHIEVEMENT_FIRSTVICTIM, 1); + if (!warmup_stage) + { + PlayerStats_GameReport_Event_Player(attacker, PLAYERSTATS_ACHIEVEMENT_FIRSTBLOOD, 1); + PlayerStats_GameReport_Event_Player(targ, PLAYERSTATS_ACHIEVEMENT_FIRSTVICTIM, 1); + } // tell spree_inf and spree_cen that this is a first-blood and first-victim event kill_count_to_attacker = -1; @@ -494,7 +502,10 @@ void Obituary(entity attacker, entity inflictor, entity targ, int deathtype) if(GameRules_scoring_add(targ, SCORE, 0) == -5) { Send_Notification(NOTIF_ONE, targ, MSG_ANNCE, ANNCE_ACHIEVEMENT_BOTLIKE); - PlayerStats_GameReport_Event_Player(attacker, PLAYERSTATS_ACHIEVEMENT_BOTLIKE, 1); + if (!warmup_stage) + { + PlayerStats_GameReport_Event_Player(attacker, PLAYERSTATS_ACHIEVEMENT_BOTLIKE, 1); + } } }