From bb75b98315e73b476d074f86fdee46888d8d56d3 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Tue, 9 Nov 2010 20:29:10 +0100 Subject: [PATCH] handle running out of crylink ammo better --- qcsrc/server/w_crylink.qc | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/qcsrc/server/w_crylink.qc b/qcsrc/server/w_crylink.qc index de5abb1fda..ce68dbeba1 100644 --- a/qcsrc/server/w_crylink.qc +++ b/qcsrc/server/w_crylink.qc @@ -482,8 +482,14 @@ float w_crylink(float req) linkjoineffect.owner = self; setorigin(linkjoineffect, pos); } + self.crylink_waitrelease = 0; + if(!w_crylink(WR_CHECKAMMO1) && !w_crylink(WR_CHECKAMMO2)) + { + // ran out of ammo! + self.cnt = WEP_CRYLINK; + self.switchweapon = w_getbestweapon(self); + } } - self.crylink_waitrelease = 0; } } else if (req == WR_PRECACHE) @@ -498,9 +504,19 @@ float w_crylink(float req) else if (req == WR_SETUP) weapon_setup(WEP_CRYLINK); else if (req == WR_CHECKAMMO1) + { + // don't "run out of ammo" and switch weapons while waiting for release + if(self.crylink_lastgroup && self.crylink_waitrelease) + return TRUE; return self.ammo_cells >= cvar("g_balance_crylink_primary_ammo"); + } else if (req == WR_CHECKAMMO2) + { + // don't "run out of ammo" and switch weapons while waiting for release + if(self.crylink_lastgroup && self.crylink_waitrelease) + return TRUE; return self.ammo_cells >= cvar("g_balance_crylink_secondary_ammo"); + } return TRUE; }; #endif -- 2.39.2