]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
add frags per weapon into playerstats (e acc-weapon-frags)
authorFruitieX <fruitiex@gmail.com>
Mon, 18 Apr 2011 16:05:12 +0000 (19:05 +0300)
committerFruitieX <fruitiex@gmail.com>
Mon, 18 Apr 2011 16:05:12 +0000 (19:05 +0300)
qcsrc/server/accuracy.qc
qcsrc/server/cl_player.qc
qcsrc/server/playerstats.qc
qcsrc/server/playerstats.qh

index bc638d61464b96a91575ce9d2b515ae63ffd2aac..a0a557c3ccb7df33f6daae7b3f11bcd753f963ed 100644 (file)
@@ -1,4 +1,3 @@
-.entity accuracy;
 .float accuracy_hit[WEP_MAXCOUNT];
 .float accuracy_fired[WEP_MAXCOUNT];
 .float accuracy_cnt_hit[WEP_MAXCOUNT];
index 3426c4ce56d6782db7a94a2274d23033376eea2b..f7f60e62a36d23edc52aefb43eb1131eff6d85c2 100644 (file)
@@ -1,3 +1,7 @@
+.entity accuracy;
+.float accuracy_frags[WEP_MAXCOUNT];
+FTEQCC_YOU_SUCK_THIS_IS_NOT_UNREFERENCED(accuracy_frags);
+
 float weaponstats_buffer;
 
 void WeaponStats_Init()
@@ -615,6 +619,14 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht
                race_PreDie();
                DropAllRunes(self);
 
+        // increment frag counter for used weapon type
+        float w;
+        w = DEATH_WEAPONOF(deathtype);
+        if(WEP_VALID(w))
+        if(self.classname == "player")
+        if(self != attacker)
+        attacker.accuracy.(accuracy_frags[w-1]) += 1;
+
                if(deathtype == DEATH_HURTTRIGGER && g_freezetag)
                {
                        PutClientInServer();
index 67a51ad44812992002524665a146e270fae6e5f6..71d15d5d67e6eba6705cc0e800c5b036ace3cfd5 100644 (file)
@@ -87,6 +87,22 @@ void PlayerStats_Init()
        PlayerStats_AddEvent(PLAYERSTATS_ACC_TUBA_CNT_HIT);
        PlayerStats_AddEvent(PLAYERSTATS_ACC_TUBA_CNT_FIRED);
 
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_LASER_FRAGS);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_SHOTGUN_FRAGS);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_UZI_FRAGS);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_GRENADE_LAUNCHER_FRAGS);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_ELECTRO_FRAGS);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_CRYLINK_FRAGS);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_NEX_FRAGS);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_HAGAR_FRAGS);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_ROCKET_LAUNCHER_FRAGS);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_MINSTANEX_FRAGS);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_SNIPERRIFLE_FRAGS);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_FIREBALL_FRAGS);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_MINE_LAYER_FRAGS);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_SEEKER_FRAGS);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_TUBA_FRAGS);
+
        PlayerStats_AddEvent(PLAYERSTATS_ACHIEVEMENT_KILL_SPREE_3);
        PlayerStats_AddEvent(PLAYERSTATS_ACHIEVEMENT_KILL_SPREE_5);
        PlayerStats_AddEvent(PLAYERSTATS_ACHIEVEMENT_KILL_SPREE_10);
@@ -433,6 +449,22 @@ void PlayerStats_Accuracy(entity p)
     PlayerStats_Event(p, PLAYERSTATS_ACC_SEEKER_CNT_FIRED, a.accuracy_cnt_fired[WEP_SEEKER-1]);
     PlayerStats_Event(p, PLAYERSTATS_ACC_TUBA_CNT_HIT, a.accuracy_cnt_hit[WEP_TUBA-1]);
     PlayerStats_Event(p, PLAYERSTATS_ACC_TUBA_CNT_FIRED, a.accuracy_cnt_fired[WEP_TUBA-1]);
+
+    PlayerStats_Event(p, PLAYERSTATS_ACC_LASER_FRAGS, a.accuracy_frags[WEP_LASER-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_SHOTGUN_FRAGS, a.accuracy_frags[WEP_SHOTGUN-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_UZI_FRAGS, a.accuracy_frags[WEP_UZI-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_GRENADE_LAUNCHER_FRAGS, a.accuracy_frags[WEP_GRENADE_LAUNCHER-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_ELECTRO_FRAGS, a.accuracy_frags[WEP_ELECTRO-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_CRYLINK_FRAGS, a.accuracy_frags[WEP_CRYLINK-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_NEX_FRAGS, a.accuracy_frags[WEP_NEX-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_HAGAR_FRAGS, a.accuracy_frags[WEP_HAGAR-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_ROCKET_LAUNCHER_FRAGS, a.accuracy_frags[WEP_ROCKET_LAUNCHER-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_MINSTANEX_FRAGS, a.accuracy_frags[WEP_MINSTANEX-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_SNIPERRIFLE_FRAGS, a.accuracy_frags[WEP_SNIPERRIFLE-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_FIREBALL_FRAGS, a.accuracy_frags[WEP_FIREBALL-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_MINE_LAYER_FRAGS, a.accuracy_frags[WEP_MINE_LAYER-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_SEEKER_FRAGS, a.accuracy_frags[WEP_SEEKER-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_TUBA_FRAGS, a.accuracy_frags[WEP_TUBA-1]);
 }
 
 void PlayerStats_EndMatch(float finished)
index d02a8f23c9b4d2bbab0c9958828b99355eb167d3..bd1900f8e87b92aab3b2532a70b837213bd813b2 100644 (file)
@@ -68,6 +68,22 @@ string PLAYERSTATS_ACC_SEEKER_CNT_FIRED = "acc-seeker-cnt-fired";
 string PLAYERSTATS_ACC_TUBA_CNT_HIT = "acc-tuba-cnt-hit";
 string PLAYERSTATS_ACC_TUBA_CNT_FIRED = "acc-tuba-cnt-fired";
 
+string PLAYERSTATS_ACC_LASER_FRAGS = "acc-laser-frags";
+string PLAYERSTATS_ACC_SHOTGUN_FRAGS = "acc-sg-frags";
+string PLAYERSTATS_ACC_UZI_FRAGS = "acc-uzi-frags";
+string PLAYERSTATS_ACC_GRENADE_LAUNCHER_FRAGS = "acc-gl-frags";
+string PLAYERSTATS_ACC_ELECTRO_FRAGS = "acc-electro-frags";
+string PLAYERSTATS_ACC_CRYLINK_FRAGS = "acc-crylink-frags";
+string PLAYERSTATS_ACC_NEX_FRAGS = "acc-nex-frags";
+string PLAYERSTATS_ACC_HAGAR_FRAGS = "acc-hagar-frags";
+string PLAYERSTATS_ACC_ROCKET_LAUNCHER_FRAGS = "acc-rl-frags";
+string PLAYERSTATS_ACC_MINSTANEX_FRAGS = "acc-minstanex-frags";
+string PLAYERSTATS_ACC_SNIPERRIFLE_FRAGS = "acc-rifle-frags";
+string PLAYERSTATS_ACC_FIREBALL_FRAGS = "acc-fireball-frags";
+string PLAYERSTATS_ACC_MINE_LAYER_FRAGS = "acc-minelayer-frags";
+string PLAYERSTATS_ACC_SEEKER_FRAGS = "acc-seeker-frags";
+string PLAYERSTATS_ACC_TUBA_FRAGS = "acc-tuba-frags";
+
 string PLAYERSTATS_TOTAL = "total-";
 string PLAYERSTATS_SCOREBOARD = "scoreboard-";