]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
added a 'net' column to the tdm scoreboard (enabled by default)
authorDebugger <pyngot@hotmail.com>
Sun, 7 Apr 2013 12:58:06 +0000 (14:58 +0200)
committerDebugger <pyngot@hotmail.com>
Sun, 7 Apr 2013 12:58:06 +0000 (14:58 +0200)
qcsrc/client/scoreboard.qc
qcsrc/common/constants.qh

index 2ec7db0623025d7bc813afae95a299956a0fd63c..ad487cb326caccb4e50dc5f6f0d4576e58a4d382 100644 (file)
@@ -36,6 +36,7 @@ string TranslateScoresLabel(string l)
                case "lives": return CTX(_("SCO^lives"));
                case "losses": return CTX(_("SCO^losses"));
                case "name": return CTX(_("SCO^name"));
+               case "net": return CTX(_("SCO^net"));
                case "nick": return CTX(_("SCO^nick"));
                case "objectives": return CTX(_("SCO^objectives"));
                case "pickups": return CTX(_("SCO^pickups"));
@@ -263,6 +264,7 @@ void Cmd_HUD_Help()
        print(_("^3suicides^7                 Number of suicides\n"));
        print(_("^3frags^7                    kills - suicides\n"));
        print(_("^3kd^7                       The kill-death ratio\n"));
+       print(_("^3net^7                                          frags - deaths\n"));
        print(_("^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was captured\n"));
        print(_("^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a ball (Keepaway) was picked up\n"));
        print(_("^3captime^7                  Time of fastest cap (CTF)\n"));
@@ -304,6 +306,7 @@ string HUD_DefaultColumnLayout()
        return strcat( // fteqcc sucks
                "ping pl name | ",
                "-teams,race,lms/kills +freezetag/kills -teams,lms/deaths +freezetag/deaths -teams,lms,race,ka/suicides +freezetag/suicides -race,dm,tdm,ka,freezetag/frags ", // tdm already has this in "score"
+               "+tdm/frags +tdm/deaths +tdm/net ",
                "+ctf/caps +ctf/pickups +ctf/fckills +ctf/returns ",
                "+lms/lives +lms/rank ",
                "+kh/caps +kh/pushes +kh/destroyed ",
@@ -387,6 +390,8 @@ void Cmd_HUD_SetFields(float argc)
                        hud_field[hud_num_fields] = SP_PL;
                } else if(str == "kd" || str == "kdr" || str == "kdratio" || str == "k/d") {
                        hud_field[hud_num_fields] = SP_KDRATIO;
+               } else if(str == "net" || str == "net" || str == "net" || str == "f-d") {
+                       hud_field[hud_num_fields] = SP_NET;
                } else if(str == "name" || str == "nick") {
                        hud_field[hud_num_fields] = SP_NAME;
                        have_name = 1;
@@ -506,7 +511,7 @@ float hud_field_icon1_alpha;
 float hud_field_icon2_alpha;
 string HUD_GetField(entity pl, float field)
 {
-       float tmp, num, denom, f;
+       float tmp, num, denom, f, num1;
        string str;
        hud_field_rgb = '1 1 1';
        hud_field_icon0 = "";
@@ -581,6 +586,22 @@ string HUD_GetField(entity pl, float field)
                        } else
                                str = sprintf("%.1f", num/denom);
                        return str;
+                       
+               case SP_NET:
+                       num1 = pl.(scores[SP_KILLS - SP_SUICIDES +2]);
+                       denom = pl.(scores[SP_DEATHS]);
+
+                       if((num1 - denom) > 0) {
+                               hud_field_rgb = '0 1 0';
+                               str = sprintf("%d", (num1 - denom));
+                       } else if((num1 - denom) == 0) {
+                               hud_field_rgb = '1 1 1';
+                               str = sprintf("%d", (num1 - denom));
+                       } else {
+                               hud_field_rgb = '1 0 0';
+                               str = sprintf("%d", (num1 - denom));
+                       }
+                       return str;
 
                default:
                        tmp = pl.(scores[field]);
index c25fb059f6ebc2d52b017541eeb39e084ab4166b..789ee2a737a88218304bb2a438bbb8295dba40a9 100644 (file)
@@ -272,6 +272,7 @@ const vector eZ = '0 0 1';
 #define SP_DEATHS 1
 #define SP_SUICIDES 2
 #define SP_SCORE 3
+#define SP_NET 4
 // game mode specific indices are not in common/, but in server/scores_rules.qc!
 
 #ifdef COMPAT_XON010_CHANNELS