From 663321709e964d3de06207f785c65c1445d8a707 Mon Sep 17 00:00:00 2001 From: Guangcong Luo Date: Tue, 28 Apr 2009 19:46:39 +0000 Subject: [PATCH] Don't count cheated games as wins/losses in multiplayer stats. git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7227 4a71c877-e1ca-e34f-864e-861f7616d084 --- src/multistat.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/multistat.c b/src/multistat.c index b45d9804f..f6ffce87f 100644 --- a/src/multistat.c +++ b/src/multistat.c @@ -40,6 +40,7 @@ #include "multirecv.h" #include "multistat.h" #include "multiint.h" +#include "mission.h" // for cheats extern char MultiPlayersPath[PATH_MAX]; @@ -205,6 +206,11 @@ void updateMultiStatsDamage(UDWORD attacker, UDWORD defender, UDWORD inflicted) { PLAYERSTATS st; + if (Cheated) + { + return; + } + if(isHumanPlayer(attacker)) { st = getMultiStats(attacker,true); // get stats @@ -248,6 +254,10 @@ void updateMultiStatsGames(void) { PLAYERSTATS st; + if (Cheated) + { + return; + } st = getMultiStats(selectedPlayer,true); st.played ++; setMultiStats(player2dpid[selectedPlayer], st, true); @@ -257,6 +267,10 @@ void updateMultiStatsGames(void) void updateMultiStatsWins(void) { PLAYERSTATS st; + if (Cheated) + { + return; + } st = getMultiStats(selectedPlayer,true); st.wins ++; setMultiStats(player2dpid[selectedPlayer], st, true); @@ -266,6 +280,10 @@ void updateMultiStatsWins(void) void updateMultiStatsLoses(void) { PLAYERSTATS st; + if (Cheated) + { + return; + } st = getMultiStats(selectedPlayer,true); ++st.losses; setMultiStats(player2dpid[selectedPlayer], st, true); @@ -276,6 +294,10 @@ void updateMultiStatsKills(BASE_OBJECT *psKilled,UDWORD player) { PLAYERSTATS st; + if (Cheated) + { + return; + } if(isHumanPlayer(player)) { st = getMultiStats(player,true);