From 70e559c98d78b68bc409a82341e49ee45b8d3442 Mon Sep 17 00:00:00 2001 From: MirceaKitsune Date: Mon, 28 Feb 2011 17:01:58 +0200 Subject: [PATCH] More server side code I forgot --- data/qcsrc/common/constants.qh | 14 ++++++++------ data/qcsrc/server/cl_client.qc | 6 ++++++ data/qcsrc/server/g_world.qc | 2 ++ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/data/qcsrc/common/constants.qh b/data/qcsrc/common/constants.qh index 76ca2167..c0e402d8 100644 --- a/data/qcsrc/common/constants.qh +++ b/data/qcsrc/common/constants.qh @@ -277,16 +277,18 @@ const float STAT_NB_METERSTART = 45; const float STAT_SHOTORG = 46; // compressShotOrigin const float STAT_LEADLIMIT = 47; const float STAT_WINNING = 48; -const float STAT_LAST_PICKUP = 49; -const float STAT_VORE_LOAD = 50; -const float STAT_VORE_DIGESTING = 51; -const float STAT_VORE_EATEN = 52; -const float STAT_VORE_CANLEAVE = 53; +const float STAT_WEAPON_CLIPLOAD = 49; +const float STAT_WEAPON_CLIPSIZE = 50; +const float STAT_LAST_PICKUP = 51; +const float STAT_VORE_LOAD = 52; +const float STAT_VORE_DIGESTING = 53; +const float STAT_VORE_EATEN = 54; +const float STAT_VORE_CANLEAVE = 55; const float CTF_STATE_ATTACK = 1; const float CTF_STATE_DEFEND = 2; const float CTF_STATE_COMMANDER = 3; -const float STAT_HUD = 54; +const float STAT_HUD = 56; const float HUD_NORMAL = 0; // moved that here so the client knows the max. diff --git a/data/qcsrc/server/cl_client.qc b/data/qcsrc/server/cl_client.qc index 19f8d0c9..937a73d6 100644 --- a/data/qcsrc/server/cl_client.qc +++ b/data/qcsrc/server/cl_client.qc @@ -2029,6 +2029,8 @@ void SpectateCopy(entity spectatee) { self.armortype = spectatee.armortype; self.armorvalue = spectatee.armorvalue; self.ammo_fuel = spectatee.ammo_fuel; + self.clip_load = spectatee.clip_load; + self.clip_size = spectatee.clip_size; self.effects = spectatee.effects & EFMASK_CHEAP; // eat performance self.health = spectatee.health; self.impulse = 0; @@ -2663,6 +2665,10 @@ void PlayerPreThink (void) } target_voicescript_next(self); + + // if a player goes unarmed after holding a loaded weapon, empty his clip size and remove the crosshair ammo ring + if(!self.weapon) + self.clip_load = self.clip_size = 0; } float isInvisibleString(string s) diff --git a/data/qcsrc/server/g_world.qc b/data/qcsrc/server/g_world.qc index 82186ec3..e1174dd2 100644 --- a/data/qcsrc/server/g_world.qc +++ b/data/qcsrc/server/g_world.qc @@ -654,6 +654,8 @@ void spawnfunc_worldspawn (void) addstat(STAT_DAMAGE_FIRED, AS_INT, stat_fired); addstat(STAT_SHOTORG, AS_INT, stat_shotorg); addstat(STAT_LEADLIMIT, AS_FLOAT, stat_leadlimit); + addstat(STAT_WEAPON_CLIPLOAD, AS_INT, clip_load); + addstat(STAT_WEAPON_CLIPSIZE, AS_INT, clip_size); addstat(STAT_LAST_PICKUP, AS_FLOAT, last_pickup); addstat(STAT_WINNING, AS_FLOAT, winning); addstat(STAT_VORE_LOAD, AS_INT, stat_stomachload); -- 2.39.2