From 95d92b19ed561d9a636da87b1c818bb38781344c Mon Sep 17 00:00:00 2001 From: MirceaKitsune Date: Mon, 28 Feb 2011 18:05:58 +0200 Subject: [PATCH] Fix an issue with forced reloading. It shouldn't force reload while you are hooked and still have ammo to stay hooked. --- data/qcsrc/server/w_grabber.qc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/data/qcsrc/server/w_grabber.qc b/data/qcsrc/server/w_grabber.qc index 0a9bdf81..844915a0 100644 --- a/data/qcsrc/server/w_grabber.qc +++ b/data/qcsrc/server/w_grabber.qc @@ -74,7 +74,10 @@ float w_grabber(float req) } else if (req == WR_THINK) { - if(cvar("g_balance_grabber_reload_ammo") && self.clip_load < min(cvar("g_balance_grabber_primary_ammo"), cvar("g_balance_grabber_secondary_ammo"))) // forced reload + grabbered_fuel = cvar("g_balance_grabber_primary_grabbered_fuel"); + // forced reload + if(cvar("g_balance_grabber_reload_ammo") && self.clip_load < min(cvar("g_balance_grabber_primary_ammo"), cvar("g_balance_grabber_secondary_ammo")) + && !(self.clip_load >= (time - self.grabber_time_fueldecrease) * grabbered_fuel && self.BUTTON_ATCK)) // not while hooked and still have ammo to stay hooked { if(self.ammo_fuel >= 1) // we only have one weapon in VT, so nothing else to switch to if we're out of ammo weapon_action(self.weapon, WR_RELOAD); @@ -122,8 +125,7 @@ float w_grabber(float req) if ( time > self.grabber_time_grabbered + grabbered_time_max ) self.grabber_state |= GRABBER_REMOVING; } - - grabbered_fuel = cvar("g_balance_grabber_primary_grabbered_fuel"); + if (grabbered_fuel > 0) { if ( time > self.grabber_time_fueldecrease ) -- 2.39.2