]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Do 10 more stats
authorMario <mario@smbclan.net>
Sat, 21 Nov 2015 07:07:41 +0000 (17:07 +1000)
committerMario <mario@smbclan.net>
Sat, 21 Nov 2015 07:07:41 +0000 (17:07 +1000)
13 files changed:
qcsrc/client/hud/panel/ammo.qc
qcsrc/client/hud/panel/powerups.qc
qcsrc/client/view.qc
qcsrc/common/buffs/all.qh
qcsrc/common/mutators/mutator/buffs/buffs.qc
qcsrc/common/mutators/mutator/nades/nades.qc
qcsrc/common/mutators/mutator/overkill/overkill.qc
qcsrc/common/physics.qh
qcsrc/common/stats.qh
qcsrc/common/weapons/all.qc
qcsrc/common/weapons/weapon.qh
qcsrc/server/defs.qh
qcsrc/server/g_world.qc

index ac8fee0f10333484529051e823aa88af64e3ecbe..dc30dbcf94f364fa060d69e0f28da7ccd072998e 100644 (file)
@@ -12,9 +12,9 @@ void DrawNadeProgressBar(vector myPos, vector mySize, float progress, vector col
 
 void DrawAmmoNades(vector myPos, vector mySize, bool draw_expanding, float expand_time)
 {
-       float bonusNades    = getstatf(STAT_NADE_BONUS);
-       float bonusProgress = getstatf(STAT_NADE_BONUS_SCORE);
-       float bonusType     = getstati(STAT_NADE_BONUS_TYPE);
+       float bonusNades    = STAT(NADE_BONUS);
+       float bonusProgress = STAT(NADE_BONUS_SCORE);
+       float bonusType     = STAT(NADE_BONUS_TYPE);
        Nade def = Nades_from(bonusType);
        vector nadeColor    = def.m_color;
        string nadeIcon     = def.m_icon;
@@ -147,7 +147,7 @@ void HUD_Ammo()
        }
 
        int rows = 0, columns, row, column;
-       float nade_cnt = getstatf(STAT_NADE_BONUS), nade_score = getstatf(STAT_NADE_BONUS_SCORE);
+       float nade_cnt = STAT(NADE_BONUS), nade_score = STAT(NADE_BONUS_SCORE);
        bool draw_nades = (nade_cnt > 0 || nade_score > 0);
        float nade_statuschange_elapsedtime;
        int total_ammo_count;
index 6ab4537ace438eba0cff107b377f802439f1a380..933cb422928e6e6af0daec20b09b148445116b0f 100644 (file)
@@ -57,7 +57,7 @@ int getPowerupItemAlign(int align, int column, int row, int columns, int rows, b
 void HUD_Powerups()
 {
        int allItems = getstati(STAT_ITEMS, 0, 24);
-       int allBuffs = getstati(STAT_BUFFS, 0, 24);
+       int allBuffs = STAT(BUFFS);
        int strengthTime, shieldTime, superTime;
 
        // Initialize items
index 3b4e94cb479a366846eddb3b18a0e6ac935ed324..e853e6b622e83828f6936a4bb8e293e88f3a5b3f 100644 (file)
@@ -823,8 +823,8 @@ void HUD_Crosshair()
                                weapon_clipsize = STAT(WEAPON_CLIPSIZE);
 
                                float ok_ammo_charge, ok_ammo_chargepool;
-                               ok_ammo_charge = getstatf(STAT_OK_AMMO_CHARGE);
-                               ok_ammo_chargepool = getstatf(STAT_OK_AMMO_CHARGEPOOL);
+                               ok_ammo_charge = STAT(OK_AMMO_CHARGE);
+                               ok_ammo_chargepool = STAT(OK_AMMO_CHARGEPOOL);
 
                                float vortex_charge, vortex_chargepool;
                                vortex_charge = STAT(VORTEX_CHARGE);
@@ -1005,10 +1005,10 @@ void HUD_Crosshair()
 
 void HUD_Draw()
 {
-       if(getstati(STAT_FROZEN))
+       if(STAT(FROZEN))
                drawfill('0 0 0', eX * vid_conwidth + eY * vid_conheight, ((getstatf(STAT_REVIVE_PROGRESS)) ? ('0.25 0.90 1' + ('1 0 0' * getstatf(STAT_REVIVE_PROGRESS)) + ('0 1 1' * getstatf(STAT_REVIVE_PROGRESS) * -1)) : '0.25 0.90 1'), autocvar_hud_colorflash_alpha, DRAWFLAG_ADDITIVE);
-       else if (getstatf(STAT_HEALING_ORB)>time)
-               drawfill('0 0 0', eX * vid_conwidth + eY * vid_conheight, NADE_TYPE_HEAL.m_color, autocvar_hud_colorflash_alpha*getstatf(STAT_HEALING_ORB_ALPHA), DRAWFLAG_ADDITIVE);
+       else if (STAT(HEALING_ORB)>time)
+               drawfill('0 0 0', eX * vid_conwidth + eY * vid_conheight, NADE_TYPE_HEAL.m_color, autocvar_hud_colorflash_alpha*STAT(HEALING_ORB_ALPHA), DRAWFLAG_ADDITIVE);
        if(!intermission)
        if(STAT(NADE_TIMER) && autocvar_cl_nade_timer) // give nade top priority, as it's a matter of life and death
        {
@@ -1680,7 +1680,7 @@ void CSQC_UpdateView(float w, float h)
                }
        }
 
-       if(autocvar_hud_damage && !getstati(STAT_FROZEN))
+       if(autocvar_hud_damage && !STAT(FROZEN))
        {
                splash_size.x = max(vid_conwidth, vid_conheight);
                splash_size.y = max(vid_conwidth, vid_conheight);
index beabaa75511eb3a65c707fb27f812707a235e45b..54532535c2eeeb29567767d939acdaecfcab6069 100644 (file)
@@ -41,7 +41,7 @@ CLASS(Buff, Pickup)
 ENDCLASS(Buff)
 
 #ifdef SVQC
-       .int buffs;
+       .int buffs = _STAT(BUFFS);
        void buff_Init(entity ent);
        void buff_Init_Compat(entity ent, entity replacement);
        #define BUFF_SPAWNFUNC(e, b, t) spawnfunc(item_buff_##e) { \
index eeda5db74314ecc94590196505e3b1a08d7c0b7a..ca20d7176cebbddd5dad1f5476a4fe73728c4abf 100644 (file)
@@ -84,7 +84,6 @@ REGISTER_MUTATOR(buffs, cvar("g_buffs"))
 {
        MUTATOR_ONADD
        {
-               addstat(STAT_BUFFS, AS_INT, buffs);
                addstat(STAT_BUFF_TIME, AS_FLOAT, buff_time);
 
                InitializeEntity(world, buffs_DelayedInit, INITPRIO_FINDTARGET);
index e2119b7c06ec9917441871607103e329a60ebc78..0c3018699431d10d87b8f631e5e1f4e5b63bb0b4 100644 (file)
@@ -9,17 +9,17 @@
 .entity fake_nade;
 .float nade_timer = _STAT(NADE_TIMER);
 .float nade_refire;
-.float bonus_nades;
+.float bonus_nades = _STAT(NADE_BONUS);
 .float nade_special_time;
-.float bonus_nade_score;
-.float nade_type;
+.float bonus_nade_score = _STAT(NADE_BONUS_SCORE);
+.int nade_type = _STAT(NADE_BONUS_TYPE);
 .string pokenade_type;
 .entity nade_damage_target;
 .float cvar_cl_nade_type;
 .string cvar_cl_pokenade_type;
 .float toss_time;
-.float stat_healing_orb;
-.float stat_healing_orb_alpha;
+.float stat_healing_orb = _STAT(HEALING_ORB);
+.float stat_healing_orb_alpha = _STAT(HEALING_ORB_ALPHA);
 .float nade_show_particles;
 
 // Remove nades that are being thrown
@@ -50,19 +50,7 @@ MUTATOR_HOOKABLE(Nade_Damage, EV_Nade_Damage);
 #include "../../../monsters/sv_monsters.qh"
 #include "../../../../server/g_subs.qh"
 
-REGISTER_MUTATOR(nades, cvar("g_nades"))
-{
-       MUTATOR_ONADD
-       {
-               addstat(STAT_NADE_BONUS, AS_FLOAT, bonus_nades);
-               addstat(STAT_NADE_BONUS_TYPE, AS_INT, nade_type);
-               addstat(STAT_NADE_BONUS_SCORE, AS_FLOAT, bonus_nade_score);
-               addstat(STAT_HEALING_ORB, AS_FLOAT, stat_healing_orb);
-               addstat(STAT_HEALING_ORB_ALPHA, AS_FLOAT, stat_healing_orb_alpha);
-       }
-
-       return false;
-}
+REGISTER_MUTATOR(nades, cvar("g_nades"));
 
 .float nade_time_primed;
 
index c146f1c1a0a253d9d3b068b6b5bae77c1d3e865e..987074f49cb97d6d6297e23bf605966d887bbbde 100644 (file)
@@ -14,8 +14,8 @@ float autocvar_g_overkill_ammo_charge_limit;
 
 .float ok_notice_time;
 .float ammo_charge[Weapons_MAX];
-.float ok_use_ammocharge;
-.float ok_ammo_charge;
+.float ok_use_ammocharge = _STAT(OK_AMMO_CHARGE);
+.float ok_ammo_charge = _STAT(OK_AMMO_CHARGEPOOL);
 
 .float ok_pauseregen_finished;
 
@@ -372,9 +372,6 @@ void ok_Initialize()
 
        precache_all_playermodels("models/ok_player/*.dpm");
 
-       addstat(STAT_OK_AMMO_CHARGE, AS_FLOAT, ok_use_ammocharge);
-       addstat(STAT_OK_AMMO_CHARGEPOOL, AS_FLOAT, ok_ammo_charge);
-
        WEP_RPC.spawnflags &= ~WEP_FLAG_MUTATORBLOCKED;
        WEP_HMG.spawnflags &= ~WEP_FLAG_MUTATORBLOCKED;
 
index f05578cb759ad6ad7a7d4727e4c8c9574a2d29ea..16e028e048900126e3c20b825043bc3a9aefdad1 100644 (file)
@@ -98,9 +98,9 @@ bool IsFlying(entity a);
        #define WAS_ONGROUND(s)                                         !!(s.lastflags & FL_ONGROUND)
 
        #define ITEMS_STAT(s)                                           (s).items
-       #define BUFFS_STAT(s)                                           getstati(STAT_BUFFS)
+       #define BUFFS_STAT(s)                                           STAT(BUFFS)
 
-       #define PHYS_FROZEN(s)                                          getstati(STAT_FROZEN)
+       #define PHYS_FROZEN(s)                                          STAT(FROZEN)
 
        #define PHYS_DOUBLEJUMP                                         getstati(STAT_DOUBLEJUMP)
 
index 86799ce03e3632bd3aff2bd701131b4169a1ed09..fa245d9d84bbf1977afb4d8dabef9aca68c2841f 100644 (file)
@@ -89,7 +89,7 @@ enum {
     STAT_LAST_VECTOR
 };
 
-const int REGISTERED_STATS = 39;
+const int REGISTERED_STATS = 50;
 
 REGISTER_STAT(KH_KEYS, int)
 /** weapon requested to switch to; next WANTED weapon (for HUD) */
@@ -136,20 +136,20 @@ REGISTER_STAT(RESPAWN_TIME, float)
 REGISTER_STAT(ROUNDSTARTTIME, float)
 REGISTER_STAT(MONSTERS_TOTAL, int)
 REGISTER_STAT(MONSTERS_KILLED, int)
+REGISTER_STAT(BUFFS, int)
+REGISTER_STAT(NADE_BONUS, float)
+REGISTER_STAT(NADE_BONUS_TYPE, int)
+REGISTER_STAT(NADE_BONUS_SCORE, float)
+REGISTER_STAT(HEALING_ORB, float)
+REGISTER_STAT(HEALING_ORB_ALPHA, float)
+REGISTER_STAT(PLASMA, int)
+REGISTER_STAT(OK_AMMO_CHARGE, float)
+REGISTER_STAT(OK_AMMO_CHARGEPOOL, float)
+REGISTER_STAT(FROZEN, int)
 
 enum {
     STAT_FIRST_MAIN = (STAT_LAST_VECTOR - 1) + REGISTERED_STATS,
 
-    STAT_BUFFS,
-    STAT_NADE_BONUS,
-    STAT_NADE_BONUS_TYPE,
-    STAT_NADE_BONUS_SCORE,
-    STAT_HEALING_ORB,
-    STAT_HEALING_ORB_ALPHA,
-    STAT_PLASMA,
-    STAT_OK_AMMO_CHARGE,
-    STAT_OK_AMMO_CHARGEPOOL,
-    STAT_FROZEN,
     STAT_REVIVE_PROGRESS,
     STAT_ROUNDLOST,
     STAT_BUFF_TIME,
index f0d7b19b611246b52994536bf5909f4cb922f10e..6315808e06ad45b47d845fc673b0db7cb6e8c08e 100644 (file)
@@ -282,7 +282,7 @@ int GetAmmoStat(.int ammotype)
                case ammo_nails: return STAT_NAILS;
                case ammo_rockets: return STAT_ROCKETS;
                case ammo_cells: return STAT_CELLS;
-               case ammo_plasma: return STAT_PLASMA;
+               case ammo_plasma: return STAT_PLASMA.m_id;
                case ammo_fuel: return STAT_FUEL.m_id;
                default: return -1;
        }
index 162443bf0bf63923a6e68cf02fdd49211a3f55ef..3016b501f8941741dbba3ca8b1e97d5b7caa3fab 100644 (file)
@@ -23,7 +23,7 @@ int weaponslot(.entity weaponentity)
 .int ammo_nails;
 .int ammo_rockets;
 .int ammo_cells;
-.int ammo_plasma;
+.int ammo_plasma = _STAT(PLASMA);
 .int ammo_fuel = _STAT(FUEL);
 .int ammo_none;
 #else
index 28d40216023eb082feac8d2650858f1543575f4c..f6ac5348b23439820e6631a90f3eef03ebe0677f 100644 (file)
@@ -513,7 +513,7 @@ const float ACTIVE_TOGGLE   = 3;
 .float player_blocked;
 .float weapon_blocked; // weapon use disabled
 
-.float frozen; // for freeze attacks
+.float frozen = _STAT(FROZEN); // for freeze attacks
 .float revive_progress;
 .float revival_time; // time at which player was last revived
 .float revive_speed; // NOTE: multiplier (anything above 1 is instaheal)
index ea6cc6bff0bf8c9218fb30db6e14a52021a2a013..aebbf77c0de2a3f7863ea963f7a365bc368812ef 100644 (file)
@@ -759,10 +759,7 @@ spawnfunc(worldspawn)
        WepSet_AddStat_InMap();
        Nagger_Init();
 
-       addstat(STAT_PLASMA, AS_INT, ammo_plasma);
-
        // freeze attacks
-       addstat(STAT_FROZEN, AS_INT, frozen);
        addstat(STAT_REVIVE_PROGRESS, AS_FLOAT, revive_progress);
 
        // physics