]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
send weapon accuracy stats
authorFruitieX <fruitiex@gmail.com>
Mon, 18 Apr 2011 15:03:10 +0000 (18:03 +0300)
committerFruitieX <fruitiex@gmail.com>
Mon, 18 Apr 2011 15:03:10 +0000 (18:03 +0300)
qcsrc/server/playerstats.qc
qcsrc/server/playerstats.qh

index 663a59b32e5d1d54f57f5f611190f08296a8e1c8..0620a072b804959c7e66fd090b2a0815c5793219 100644 (file)
@@ -25,6 +25,37 @@ void PlayerStats_Init()
        PlayerStats_AddEvent(PLAYERSTATS_SCOREBOARD_VALID);
        PlayerStats_AddEvent(PLAYERSTATS_RANK);
 
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_LASER_HIT);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_LASER_FIRED);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_SHOTGUN_HIT);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_SHOTGUN_FIRED);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_UZI_HIT);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_UZI_FIRED);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_GRENADE_LAUNCHER_HIT);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_GRENADE_LAUNCHER_FIRED);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_ELECTRO_HIT);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_ELECTRO_FIRED);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_CRYLINK_HIT);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_CRYLINK_FIRED);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_NEX_HIT);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_NEX_FIRED);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_HAGAR_HIT);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_HAGAR_FIRED);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_ROCKET_LAUNCHER_HIT);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_ROCKET_LAUNCHER_FIRED);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_MINSTANEX_HIT);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_MINSTANEX_FIRED);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_SNIPERRIFLE_HIT);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_SNIPERRIFLE_FIRED);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_FIREBALL_HIT);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_FIREBALL_FIRED);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_MINE_LAYER_HIT);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_MINE_LAYER_FIRED);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_SEEKER_HIT);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_SEEKER_FIRED);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_TUBA_HIT);
+       PlayerStats_AddEvent(PLAYERSTATS_ACC_TUBA_FIRED);
+
        PlayerStats_AddEvent(PLAYERSTATS_ACHIEVEMENT_KILL_SPREE_3);
        PlayerStats_AddEvent(PLAYERSTATS_ACHIEVEMENT_KILL_SPREE_5);
        PlayerStats_AddEvent(PLAYERSTATS_ACHIEVEMENT_KILL_SPREE_10);
@@ -305,6 +336,43 @@ void PlayerStats_AddGlobalInfo(entity p)
        p.playerstats_id = string_null;
 }
 
+void PlayerStats_Accuracy(entity p)
+{
+    entity a;
+    a = p.accuracy;
+
+    PlayerStats_Event(p, PLAYERSTATS_ACC_LASER_HIT, a.accuracy_hit[WEP_LASER-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_LASER_FIRED, a.accuracy_fired[WEP_LASER-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_SHOTGUN_HIT, a.accuracy_hit[WEP_SHOTGUN-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_SHOTGUN_FIRED, a.accuracy_fired[WEP_SHOTGUN-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_UZI_HIT, a.accuracy_hit[WEP_UZI-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_UZI_FIRED, a.accuracy_fired[WEP_UZI-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_GRENADE_LAUNCHER_HIT, a.accuracy_hit[WEP_GRENADE_LAUNCHER-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_GRENADE_LAUNCHER_FIRED, a.accuracy_fired[WEP_GRENADE_LAUNCHER-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_ELECTRO_HIT, a.accuracy_hit[WEP_ELECTRO-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_ELECTRO_FIRED, a.accuracy_fired[WEP_ELECTRO-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_CRYLINK_HIT, a.accuracy_hit[WEP_CRYLINK-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_CRYLINK_FIRED, a.accuracy_fired[WEP_CRYLINK-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_NEX_HIT, a.accuracy_hit[WEP_NEX-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_NEX_FIRED, a.accuracy_fired[WEP_NEX-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_HAGAR_HIT, a.accuracy_hit[WEP_HAGAR-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_HAGAR_FIRED, a.accuracy_fired[WEP_HAGAR-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_ROCKET_LAUNCHER_HIT, a.accuracy_hit[WEP_ROCKET_LAUNCHER-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_ROCKET_LAUNCHER_FIRED, a.accuracy_fired[WEP_ROCKET_LAUNCHER-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_MINSTANEX_HIT, a.accuracy_hit[WEP_MINSTANEX-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_MINSTANEX_FIRED, a.accuracy_fired[WEP_MINSTANEX-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_SNIPERRIFLE_HIT, a.accuracy_hit[WEP_SNIPERRIFLE-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_SNIPERRIFLE_FIRED, a.accuracy_fired[WEP_SNIPERRIFLE-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_FIREBALL_HIT, a.accuracy_hit[WEP_FIREBALL-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_FIREBALL_FIRED, a.accuracy_fired[WEP_FIREBALL-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_MINE_LAYER_HIT, a.accuracy_hit[WEP_MINE_LAYER-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_MINE_LAYER_FIRED, a.accuracy_fired[WEP_MINE_LAYER-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_SEEKER_HIT, a.accuracy_hit[WEP_SEEKER-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_SEEKER_FIRED, a.accuracy_fired[WEP_SEEKER-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_TUBA_HIT, a.accuracy_hit[WEP_TUBA-1]);
+    PlayerStats_Event(p, PLAYERSTATS_ACC_TUBA_FIRED, a.accuracy_fired[WEP_TUBA-1]);
+}
+
 void PlayerStats_EndMatch(float finished)
 {
        entity p, winner;
@@ -312,6 +380,7 @@ void PlayerStats_EndMatch(float finished)
        FOR_EACH_PLAYER(p)
        {
                PlayerScore_PlayerStats(p);
+               PlayerStats_Accuracy(p);
                PlayerStats_Event(p, PLAYERSTATS_SCOREBOARD_VALID, 1);
                if(finished)
                {
index f546e560590025c124a4615905e07a2c15252a3e..fe9514270c7367623fa3ad85e32e62aa2415775d 100644 (file)
@@ -6,6 +6,37 @@ string PLAYERSTATS_JOINS = "joins";
 string PLAYERSTATS_SCOREBOARD_VALID = "scoreboardvalid";
 string PLAYERSTATS_RANK = "rank";
 
+string PLAYERSTATS_ACC_LASER_HIT = "acc-laser-hit";
+string PLAYERSTATS_ACC_LASER_FIRED = "acc-laser-fired";
+string PLAYERSTATS_ACC_SHOTGUN_HIT = "acc-sg-hit";
+string PLAYERSTATS_ACC_SHOTGUN_FIRED = "acc-sg-fired";
+string PLAYERSTATS_ACC_UZI_HIT = "acc-uzi-hit";
+string PLAYERSTATS_ACC_UZI_FIRED = "acc-uzi-fired";
+string PLAYERSTATS_ACC_GRENADE_LAUNCHER_HIT = "acc-gl-hit";
+string PLAYERSTATS_ACC_GRENADE_LAUNCHER_FIRED = "acc-gl-fired";
+string PLAYERSTATS_ACC_ELECTRO_HIT = "acc-electro-hit";
+string PLAYERSTATS_ACC_ELECTRO_FIRED = "acc-electro-fired";
+string PLAYERSTATS_ACC_CRYLINK_HIT = "acc-crylink-hit";
+string PLAYERSTATS_ACC_CRYLINK_FIRED = "acc-crylink-fired";
+string PLAYERSTATS_ACC_NEX_HIT = "acc-nex-hit";
+string PLAYERSTATS_ACC_NEX_FIRED = "acc-nex-fired";
+string PLAYERSTATS_ACC_HAGAR_HIT = "acc-hagar-hit";
+string PLAYERSTATS_ACC_HAGAR_FIRED = "acc-hagar-fired";
+string PLAYERSTATS_ACC_ROCKET_LAUNCHER_HIT = "acc-rl-hit";
+string PLAYERSTATS_ACC_ROCKET_LAUNCHER_FIRED = "acc-rl-fired";
+string PLAYERSTATS_ACC_MINSTANEX_HIT = "acc-minstanex-hit";
+string PLAYERSTATS_ACC_MINSTANEX_FIRED = "acc-minstanex-fired";
+string PLAYERSTATS_ACC_SNIPERRIFLE_HIT = "acc-rifle-hit";
+string PLAYERSTATS_ACC_SNIPERRIFLE_FIRED = "acc-rifle-fired";
+string PLAYERSTATS_ACC_FIREBALL_HIT = "acc-fireball-hit";
+string PLAYERSTATS_ACC_FIREBALL_FIRED = "acc-fireball-fired";
+string PLAYERSTATS_ACC_MINE_LAYER_HIT = "acc-minelayer-hit";
+string PLAYERSTATS_ACC_MINE_LAYER_FIRED = "acc-minelayer-fired";
+string PLAYERSTATS_ACC_SEEKER_HIT = "acc-seeker-hit";
+string PLAYERSTATS_ACC_SEEKER_FIRED = "acc-seeker-fired";
+string PLAYERSTATS_ACC_TUBA_HIT = "acc-tuba-hit";
+string PLAYERSTATS_ACC_TUBA_FIRED = "acc-tuba-fired";
+
 string PLAYERSTATS_TOTAL = "total-";
 string PLAYERSTATS_SCOREBOARD = "scoreboard-";