From 9ff04a44c0df8ef195db6d2c47e1071e61d307e7 Mon Sep 17 00:00:00 2001 From: MirceaKitsune Date: Mon, 18 Apr 2011 18:26:37 +0300 Subject: [PATCH] Don't allow reloading in the stomach (once again). If we are swallowed while reloading, we will need to reload again once we're out. --- data/qcsrc/server/cl_weaponsystem.qc | 12 ++++++++++++ data/qcsrc/server/w_grabber.qc | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/data/qcsrc/server/cl_weaponsystem.qc b/data/qcsrc/server/cl_weaponsystem.qc index e8f7fcd7..9716e985 100644 --- a/data/qcsrc/server/cl_weaponsystem.qc +++ b/data/qcsrc/server/cl_weaponsystem.qc @@ -1569,6 +1569,14 @@ void W_DecreaseAmmo(.float ammo_type, float ammo_use, float ammo_reload) void W_ReloadedAndReady() { + // if we are inside the stomach, don't allow reloading, and schedule the weapon to reload once when we're out + if(self.predator.classname == "player") + { + self.clip_load = self.weapon_load[self.weapon] = -1; + w_ready(); // don't keep executing each frame + return; + } + // finish the reloading process, and do the ammo transfer self.clip_load = self.old_clip_load; // restore the ammo counter, in case we still had ammo in the weapon before reloading @@ -1597,6 +1605,10 @@ void W_ReloadedAndReady() void W_Reload(float sent_ammo_min, float sent_ammo_amount, float sent_time, string sent_sound) { + // if we are inside the stomach, don't allow reloading + if(self.predator.classname == "player") + return; + // set global values to work with self.reload_ammo_min = sent_ammo_min; self.reload_ammo_amount = sent_ammo_amount; diff --git a/data/qcsrc/server/w_grabber.qc b/data/qcsrc/server/w_grabber.qc index f2cd8296..b9ac88cc 100644 --- a/data/qcsrc/server/w_grabber.qc +++ b/data/qcsrc/server/w_grabber.qc @@ -85,7 +85,7 @@ float w_grabber(float req) 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); } - else if not(self.clip_load < 0) // we're currently reloading + else if not(self.clip_load < 0) // we're not currently reloading { if (self.BUTTON_ATCK) { -- 2.39.2