From fd6dfc119e0ff8a14bb0ca5fa68880408b8692b6 Mon Sep 17 00:00:00 2001 From: Mircea Kitsune Date: Mon, 11 Apr 2011 18:24:26 +0300 Subject: [PATCH] Make sure we have enough ammo for all the rockets we are about to load. If not, stop loading rockets when running out of ammo (or weapon load, when the hagar is set reloadable). --- qcsrc/server/w_hagar.qc | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/qcsrc/server/w_hagar.qc b/qcsrc/server/w_hagar.qc index 8337704c1..a4433be97 100644 --- a/qcsrc/server/w_hagar.qc +++ b/qcsrc/server/w_hagar.qc @@ -124,12 +124,19 @@ void W_Hagar_Attack2_Load (void) local entity missile, prevmissile, firstmissile; local float counter, shots, loaded; + local float used_ammo, enough_ammo; local vector s; vector forward, right, up; loaded = self.hagar_load >= autocvar_g_balance_hagar_secondary_load_maxload; - if(self.BUTTON_ATCK2 && !loaded) + used_ammo = autocvar_g_balance_hagar_secondary_ammo; + if(autocvar_g_balance_hagar_reload_ammo) + enough_ammo = self.weapon_load[WEP_HAGAR] >= used_ammo + (used_ammo * self.hagar_load); + else + enough_ammo = self.ammo_rockets >= used_ammo + (used_ammo * self.hagar_load); + + if(self.BUTTON_ATCK2 && !loaded && enough_ammo) { if(self.hagarload_refire < time) { @@ -139,8 +146,7 @@ void W_Hagar_Attack2_Load (void) self.hagarload_refire = time + autocvar_g_balance_hagar_secondary_refire; } } - - if(self.hagar_load && (!self.BUTTON_ATCK2 || (loaded && !autocvar_g_balance_hagar_secondary_load_canhold))) + else if(self.hagar_load && (!self.BUTTON_ATCK2 || (loaded && !autocvar_g_balance_hagar_secondary_load_canhold))) { W_SetupShot (self, FALSE, 2, "weapons/hagar_fire.wav", CHAN_WEAPON, autocvar_g_balance_hagar_secondary_damage); pointparticles(particleeffectnum("hagar_muzzleflash"), w_shotorg, w_shotdir * 1000, 1); -- 2.39.2