|
From: <kon...@us...> - 2013-06-17 21:02:12
|
Revision: 22812
http://sourceforge.net/p/bzflag/code/22812
Author: kongr45gpen
Date: 2013-06-17 21:02:10 +0000 (Mon, 17 Jun 2013)
Log Message:
-----------
Track number of self-kills on the scoreboard
Modified Paths:
--------------
trunk/bzflag/src/bzflag/Player.cxx
trunk/bzflag/src/bzflag/Player.h
trunk/bzflag/src/bzflag/ScoreboardRenderer.cxx
trunk/bzflag/src/bzflag/playing.cxx
Modified: trunk/bzflag/src/bzflag/Player.cxx
===================================================================
--- trunk/bzflag/src/bzflag/Player.cxx 2013-06-17 20:30:27 UTC (rev 22811)
+++ trunk/bzflag/src/bzflag/Player.cxx 2013-06-17 21:02:10 UTC (rev 22812)
@@ -65,6 +65,7 @@
wins(0),
losses(0),
tks(0),
+ selfKills(0),
localWins(0),
localLosses(0),
localTks(0),
@@ -668,6 +669,10 @@
tks += deltaTeamKills;
}
+void Player::changeSelfKills(short delta)
+{
+ selfKills += delta;
+}
void Player::changeLocalScore(short dWins, short dLosses, short dTeamKills)
{
Modified: trunk/bzflag/src/bzflag/Player.h
===================================================================
--- trunk/bzflag/src/bzflag/Player.h 2013-06-17 20:30:27 UTC (rev 22811)
+++ trunk/bzflag/src/bzflag/Player.h 2013-06-17 21:02:10 UTC (rev 22812)
@@ -103,6 +103,7 @@
}
#endif
short getRabbitScore() const;
+ short getSelfKills() const;
short getLocalWins() const;
short getLocalLosses() const;
short getLocalTeamKills() const;
@@ -174,6 +175,7 @@
void changeTeam(TeamColor);
virtual void setFlag(FlagType*);
virtual void changeScore(short deltaWins, short deltaLosses, short deltaTeamKills);
+ void changeSelfKills(short delta);
void changeLocalScore(short deltaWins, short deltaLosses, short deltaTeamKills);
void setHandicap(float handicap);
void setStatus(short);
@@ -295,6 +297,7 @@
short wins; // number of kills
short losses; // number of deaths
short tks; // number of teamkills
+ short selfKills; // number of self-destructions
// score of local player against this player
short localWins; // local player won this many
@@ -453,6 +456,11 @@
return tks;
}
+inline short Player::getSelfKills() const
+{
+ return selfKills;
+}
+
inline short Player::getLocalWins() const
{
return localWins;
Modified: trunk/bzflag/src/bzflag/ScoreboardRenderer.cxx
===================================================================
--- trunk/bzflag/src/bzflag/ScoreboardRenderer.cxx 2013-06-17 20:30:27 UTC (rev 22811)
+++ trunk/bzflag/src/bzflag/ScoreboardRenderer.cxx 2013-06-17 21:02:10 UTC (rev 22812)
@@ -630,7 +630,7 @@
if (LocalPlayer::getMyTank() != player) {
sprintf(kills, "%3d~%-3d", player->getLocalWins(), player->getLocalLosses());
} else {
- kills[0] = '\0';
+ sprintf(kills, "%4d", player->getSelfKills());
}
Modified: trunk/bzflag/src/bzflag/playing.cxx
===================================================================
--- trunk/bzflag/src/bzflag/playing.cxx 2013-06-17 20:30:27 UTC (rev 22811)
+++ trunk/bzflag/src/bzflag/playing.cxx 2013-06-17 21:02:10 UTC (rev 22812)
@@ -2270,6 +2270,11 @@
}
}
+ // handle self-destructions
+ if (killerPlayer == victimPlayer && killerPlayer) {
+ killerPlayer->changeSelfKills(1);
+ }
+
// add message
if (human && victimPlayer) {
std::string message(ColorStrings[WhiteColor]);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|