From: Mircea Kitsune Date: Mon, 11 Apr 2011 15:24:26 +0000 (+0300) Subject: Make sure we have enough ammo for all the rockets we are about to load. If not, stop... X-Git-Tag: xonotic-v0.5.0~263^2~10^2~66 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=fd6dfc119e0ff8a14bb0ca5fa68880408b8692b6;p=xonotic%2Fxonotic-data.pk3dir.git 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). --- 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);