From b735b4fcbc82a7365740beb7d5d25c409d063063 Mon Sep 17 00:00:00 2001 From: FruitieX Date: Tue, 31 Aug 2010 19:58:34 +0300 Subject: [PATCH] handle the electro lightning refire as -1 to hopefully prevent the occasional "switch to electro, hold button, fire nothing" bug, also allow shotgun secondary to be used after shotgun primary + animtime instead of shotgun primary + refire --- qcsrc/server/w_electro.qc | 2 +- qcsrc/server/w_shotgun.qc | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/qcsrc/server/w_electro.qc b/qcsrc/server/w_electro.qc index a98c5a915..4ec7ca55c 100644 --- a/qcsrc/server/w_electro.qc +++ b/qcsrc/server/w_electro.qc @@ -348,7 +348,7 @@ float w_electro(float req) { if (self.BUTTON_ATCK) { - if (weapon_prepareattack(0, (cvar("g_balance_electro_lightning") ? 0 : cvar("g_balance_electro_primary_refire")))) + if (weapon_prepareattack(0, (cvar("g_balance_electro_lightning") ? -1 : cvar("g_balance_electro_primary_refire")))) { if(cvar("g_balance_electro_lightning")) { diff --git a/qcsrc/server/w_shotgun.qc b/qcsrc/server/w_shotgun.qc index 658121533..29343c8f7 100644 --- a/qcsrc/server/w_shotgun.qc +++ b/qcsrc/server/w_shotgun.qc @@ -94,6 +94,8 @@ void W_Shotgun_Attack2 (void) void spawnfunc_weapon_shotgun(); // defined in t_items.qc +.float shotgun_primarytime; + float w_shotgun(float req) { if (req == WR_AIM) @@ -104,10 +106,16 @@ float w_shotgun(float req) else if (req == WR_THINK) { if (self.BUTTON_ATCK) - if (weapon_prepareattack(0, cvar("g_balance_shotgun_primary_refire"))) { - W_Shotgun_Attack(); - weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_shotgun_primary_animtime"), w_ready); + if (time >= self.shotgun_primarytime) // handle refire separately so the secondary can be fired straight after a primary + { + if(weapon_prepareattack(0, cvar("g_balance_shotgun_primary_animtime"))) + { + W_Shotgun_Attack(); + self.shotgun_primarytime = time + cvar("g_balance_shotgun_primary_refire"); + weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_shotgun_primary_animtime"), w_ready); + } + } } if (self.BUTTON_ATCK2 && cvar("g_balance_shotgun_secondary")) if (weapon_prepareattack(1, cvar("g_balance_shotgun_secondary_refire"))) -- 2.39.2