From a38754d15897eba1b8cf34154de9188ccdf3d674 Mon Sep 17 00:00:00 2001 From: Mircea Kitsune Date: Sun, 30 Jan 2011 18:58:34 +0200 Subject: [PATCH] Port new code to all weapons, part 1 --- qcsrc/server/w_crylink.qc | 41 ++++----------------------- qcsrc/server/w_electro.qc | 41 ++++----------------------- qcsrc/server/w_fireball.qc | 47 ++++++------------------------- qcsrc/server/w_grenadelauncher.qc | 41 ++++----------------------- qcsrc/server/w_hlac.qc | 41 ++++----------------------- qcsrc/server/w_minelayer.qc | 41 ++++----------------------- qcsrc/server/w_minstanex.qc | 47 ++++++------------------------- qcsrc/server/w_nex.qc | 41 ++++----------------------- qcsrc/server/w_rocketlauncher.qc | 41 ++++----------------------- qcsrc/server/w_seeker.qc | 41 ++++----------------------- qcsrc/server/w_shotgun.qc | 41 ++++----------------------- qcsrc/server/w_sniperrifle.qc | 41 ++++----------------------- qcsrc/server/w_uzi.qc | 41 ++++----------------------- 13 files changed, 83 insertions(+), 462 deletions(-) diff --git a/qcsrc/server/w_crylink.qc b/qcsrc/server/w_crylink.qc index d9eb22762..7be90ae12 100644 --- a/qcsrc/server/w_crylink.qc +++ b/qcsrc/server/w_crylink.qc @@ -24,44 +24,15 @@ void W_Crylink_SetAmmoCounter() } } -void W_Crylink_ReloadedAndReady() -{ - float t; - - // now 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 - while(self.clip_load < autocvar_g_balance_crylink_reload_ammo && self.ammo_cells) // make sure we don't add more ammo than we have - { - self.clip_load += 1; - self.ammo_cells -= 1; - } - self.crylink_load = self.clip_load; - - t = ATTACK_FINISHED(self) - autocvar_g_balance_crylink_reload_time - 1; - ATTACK_FINISHED(self) = t; - w_ready(); -} - void W_Crylink_Reload() { - // return if reloading is disabled for this weapon - if(!autocvar_g_balance_crylink_reload_ammo) - return; - - if(!W_ReloadCheck(self.ammo_cells, min(autocvar_g_balance_crylink_primary_ammo, autocvar_g_balance_crylink_secondary_ammo))) - return; - - float t; - - sound (self, CHAN_WEAPON2, "weapons/reload.wav", VOL_BASE, ATTN_NORM); - - t = max(time, ATTACK_FINISHED(self)) + autocvar_g_balance_crylink_reload_time + 1; - ATTACK_FINISHED(self) = t; - - weapon_thinkf(WFRAME_RELOAD, autocvar_g_balance_crylink_reload_time, W_Crylink_ReloadedAndReady); + self.reload_ammo_player = ammo_cells; + self.reload_ammo_min = min(autocvar_g_balance_crylink_primary_ammo, autocvar_g_balance_crylink_secondary_ammo); + self.reload_ammo_amount = autocvar_g_balance_crylink_reload_ammo; + self.reload_time = autocvar_g_balance_crylink_reload_time; + self.reload_sound = "weapons/reload.wav"; - self.old_clip_load = self.clip_load; - self.clip_load = -1; + W_Reload(); } void W_Crylink_CheckLinks(entity e) diff --git a/qcsrc/server/w_electro.qc b/qcsrc/server/w_electro.qc index e14064ef0..215290b34 100644 --- a/qcsrc/server/w_electro.qc +++ b/qcsrc/server/w_electro.qc @@ -20,44 +20,15 @@ void W_Electro_SetAmmoCounter() } } -void W_Electro_ReloadedAndReady() -{ - float t; - - // now 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 - while(self.clip_load < autocvar_g_balance_electro_reload_ammo && self.ammo_cells) // make sure we don't add more ammo than we have - { - self.clip_load += 1; - self.ammo_cells -= 1; - } - self.electro_load = self.clip_load; - - t = ATTACK_FINISHED(self) - autocvar_g_balance_electro_reload_time - 1; - ATTACK_FINISHED(self) = t; - w_ready(); -} - void W_Electro_Reload() { - // return if reloading is disabled for this weapon - if(!autocvar_g_balance_electro_reload_ammo) - return; - - if(!W_ReloadCheck(self.ammo_cells, min(autocvar_g_balance_electro_primary_ammo, autocvar_g_balance_electro_secondary_ammo))) - return; - - float t; - - sound (self, CHAN_WEAPON2, "weapons/reload.wav", VOL_BASE, ATTN_NORM); - - t = max(time, ATTACK_FINISHED(self)) + autocvar_g_balance_electro_reload_time + 1; - ATTACK_FINISHED(self) = t; - - weapon_thinkf(WFRAME_RELOAD, autocvar_g_balance_electro_reload_time, W_Electro_ReloadedAndReady); + self.reload_ammo_player = ammo_cells; + self.reload_ammo_min = min(autocvar_g_balance_electro_primary_ammo, autocvar_g_balance_electro_secondary_ammo); + self.reload_ammo_amount = autocvar_g_balance_electro_reload_ammo; + self.reload_time = autocvar_g_balance_electro_reload_time; + self.reload_sound = "weapons/reload.wav"; - self.old_clip_load = self.clip_load; - self.clip_load = -1; + W_Reload(); } void W_Plasma_Explode_Combo (void); diff --git a/qcsrc/server/w_fireball.qc b/qcsrc/server/w_fireball.qc index 64ea41d3e..98571d30d 100644 --- a/qcsrc/server/w_fireball.qc +++ b/qcsrc/server/w_fireball.qc @@ -21,48 +21,19 @@ void W_Fireball_SetAmmoCounter() } } -void W_Fireball_ReloadedAndReady() -{ - float t; - - // now 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 - while(self.clip_load < autocvar_g_balance_fireball_reload_ammo && self.ammo_fuel) // make sure we don't add more ammo than we have - { - self.clip_load += 1; - self.ammo_fuel -= 1; - - // fuel can be a non-whole number, which brakes stuff here when between 0 and 1 - if(self.ammo_fuel < 1) - self.ammo_fuel = 0; - } - self.fireball_load = self.clip_load; - - t = ATTACK_FINISHED(self) - autocvar_g_balance_fireball_reload_time - 1; - ATTACK_FINISHED(self) = t; - w_ready(); -} - void W_Fireball_Reload() { - // return if reloading is disabled for this weapon - if(!autocvar_g_balance_fireball_reload_ammo) - return; - - if(!W_ReloadCheck(self.ammo_fuel, min(autocvar_g_balance_fireball_primary_ammo, autocvar_g_balance_fireball_secondary_ammo))) - return; - - float t; - - sound (self, CHAN_WEAPON2, "weapons/reload.wav", VOL_BASE, ATTN_NORM); - - t = max(time, ATTACK_FINISHED(self)) + autocvar_g_balance_fireball_reload_time + 1; - ATTACK_FINISHED(self) = t; + // fuel can be a non-whole number, which brakes stuff here when between 0 and 1 + if(self.ammo_fuel < 1) + self.ammo_fuel = 0; - weapon_thinkf(WFRAME_RELOAD, autocvar_g_balance_fireball_reload_time, W_Fireball_ReloadedAndReady); + self.reload_ammo_player = ammo_fuel; + self.reload_ammo_min = min(autocvar_g_balance_fireball_primary_ammo, autocvar_g_balance_fireball_secondary_ammo); + self.reload_ammo_amount = autocvar_g_balance_fireball_reload_ammo; + self.reload_time = autocvar_g_balance_fireball_reload_time; + self.reload_sound = "weapons/reload.wav"; - self.old_clip_load = self.clip_load; - self.clip_load = -1; + W_Reload(); } void W_Fireball_Explode (void) diff --git a/qcsrc/server/w_grenadelauncher.qc b/qcsrc/server/w_grenadelauncher.qc index 4d255bd1c..bea8e2f60 100644 --- a/qcsrc/server/w_grenadelauncher.qc +++ b/qcsrc/server/w_grenadelauncher.qc @@ -20,44 +20,15 @@ void W_GrenadeLauncher_SetAmmoCounter() } } -void W_GrenadeLauncher_ReloadedAndReady() -{ - float t; - - // now 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 - while(self.clip_load < autocvar_g_balance_grenadelauncher_reload_ammo && self.ammo_rockets) // make sure we don't add more ammo than we have - { - self.clip_load += 1; - self.ammo_rockets -= 1; - } - self.grenadelauncher_load = self.clip_load; - - t = ATTACK_FINISHED(self) - autocvar_g_balance_grenadelauncher_reload_time - 1; - ATTACK_FINISHED(self) = t; - w_ready(); -} - void W_GrenadeLauncher_Reload() { - // return if reloading is disabled for this weapon - if(!autocvar_g_balance_grenadelauncher_reload_ammo) - return; - - if(!W_ReloadCheck(self.ammo_rockets, min(autocvar_g_balance_grenadelauncher_primary_ammo, autocvar_g_balance_grenadelauncher_secondary_ammo))) - return; - - float t; - - sound (self, CHAN_WEAPON2, "weapons/reload.wav", VOL_BASE, ATTN_NORM); - - t = max(time, ATTACK_FINISHED(self)) + autocvar_g_balance_grenadelauncher_reload_time + 1; - ATTACK_FINISHED(self) = t; - - weapon_thinkf(WFRAME_RELOAD, autocvar_g_balance_grenadelauncher_reload_time, W_GrenadeLauncher_ReloadedAndReady); + self.reload_ammo_player = ammo_fuel; + self.reload_ammo_min = min(autocvar_g_balance_grenadelauncher_primary_ammo, autocvar_g_balance_grenadelauncher_secondary_ammo); + self.reload_ammo_amount = autocvar_g_balance_grenadelauncher_reload_ammo; + self.reload_time = autocvar_g_balance_grenadelauncher_reload_time; + self.reload_sound = "weapons/reload.wav"; - self.old_clip_load = self.clip_load; - self.clip_load = -1; + W_Reload(); } void W_Grenade_Explode (void) diff --git a/qcsrc/server/w_hlac.qc b/qcsrc/server/w_hlac.qc index ddfe763be..ecca80140 100644 --- a/qcsrc/server/w_hlac.qc +++ b/qcsrc/server/w_hlac.qc @@ -18,44 +18,15 @@ void W_HLAC_SetAmmoCounter() } } -void W_HLAC_ReloadedAndReady() -{ - float t; - - // now 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 - while(self.clip_load < autocvar_g_balance_hlac_reload_ammo && self.ammo_cells) // make sure we don't add more ammo than we have - { - self.clip_load += 1; - self.ammo_cells -= 1; - } - self.hlac_load = self.clip_load; - - t = ATTACK_FINISHED(self) - autocvar_g_balance_hlac_reload_time - 1; - ATTACK_FINISHED(self) = t; - w_ready(); -} - void W_HLAC_Reload() { - // return if reloading is disabled for this weapon - if(!autocvar_g_balance_hlac_reload_ammo) - return; - - if(!W_ReloadCheck(self.ammo_cells, min(autocvar_g_balance_hlac_primary_ammo, autocvar_g_balance_hlac_secondary_ammo))) - return; - - float t; - - sound (self, CHAN_WEAPON2, "weapons/reload.wav", VOL_BASE, ATTN_NORM); - - t = max(time, ATTACK_FINISHED(self)) + autocvar_g_balance_hlac_reload_time + 1; - ATTACK_FINISHED(self) = t; - - weapon_thinkf(WFRAME_RELOAD, autocvar_g_balance_hlac_reload_time, W_HLAC_ReloadedAndReady); + self.reload_ammo_player = ammo_fuel; + self.reload_ammo_min = min(autocvar_g_balance_hlac_primary_ammo, autocvar_g_balance_hlac_secondary_ammo); + self.reload_ammo_amount = autocvar_g_balance_hlac_reload_ammo; + self.reload_time = autocvar_g_balance_hlac_reload_time; + self.reload_sound = "weapons/reload.wav"; - self.old_clip_load = self.clip_load; - self.clip_load = -1; + W_Reload(); } void W_HLAC_Touch (void) diff --git a/qcsrc/server/w_minelayer.qc b/qcsrc/server/w_minelayer.qc index b5ca7aa14..e3fe77450 100644 --- a/qcsrc/server/w_minelayer.qc +++ b/qcsrc/server/w_minelayer.qc @@ -21,44 +21,15 @@ void W_MineLayer_SetAmmoCounter() } } -void W_MineLayer_ReloadedAndReady() -{ - float t; - - // now 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 - while(self.clip_load < autocvar_g_balance_minelayer_reload_ammo && self.ammo_rockets) // make sure we don't add more ammo than we have - { - self.clip_load += 1; - self.ammo_rockets -= 1; - } - self.minelayer_load = self.clip_load; - - t = ATTACK_FINISHED(self) - autocvar_g_balance_minelayer_reload_time - 1; - ATTACK_FINISHED(self) = t; - w_ready(); -} - void W_MineLayer_Reload() { - // return if reloading is disabled for this weapon - if(!autocvar_g_balance_minelayer_reload_ammo) - return; - - if(!W_ReloadCheck(self.ammo_rockets, autocvar_g_balance_minelayer_ammo)) - return; - - float t; - - sound (self, CHAN_WEAPON2, "weapons/reload.wav", VOL_BASE, ATTN_NORM); - - t = max(time, ATTACK_FINISHED(self)) + autocvar_g_balance_minelayer_reload_time + 1; - ATTACK_FINISHED(self) = t; - - weapon_thinkf(WFRAME_RELOAD, autocvar_g_balance_minelayer_reload_time, W_MineLayer_ReloadedAndReady); + self.reload_ammo_player = ammo_fuel; + self.reload_ammo_min = autocvar_g_balance_minelayer_ammo; + self.reload_ammo_amount = autocvar_g_balance_minelayer_reload_ammo; + self.reload_time = autocvar_g_balance_minelayer_reload_time; + self.reload_sound = "weapons/reload.wav"; - self.old_clip_load = self.clip_load; - self.clip_load = -1; + W_Reload(); } void spawnfunc_weapon_minelayer (void) diff --git a/qcsrc/server/w_minstanex.qc b/qcsrc/server/w_minstanex.qc index 9d4bdec4b..9981ad269 100644 --- a/qcsrc/server/w_minstanex.qc +++ b/qcsrc/server/w_minstanex.qc @@ -19,49 +19,18 @@ void W_Minstanex_SetAmmoCounter() } } -void W_Minstanex_ReloadedAndReady() -{ - float t; - - // now 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 - while(self.clip_load < autocvar_g_balance_minstanex_reload_ammo && self.ammo_cells) // make sure we don't add more ammo than we have - { - self.clip_load += 1; - self.ammo_cells -= 1; - } - self.minstanex_load = self.clip_load; - - t = ATTACK_FINISHED(self) - autocvar_g_balance_minstanex_reload_time - 1; - ATTACK_FINISHED(self) = t; - w_ready(); -} - void W_Minstanex_Reload() { - // return if reloading is disabled for this weapon - if(!autocvar_g_balance_minstanex_reload_ammo) - return; - + self.reload_ammo_player = ammo_fuel; if(autocvar_g_balance_minstanex_laser_ammo) - { - if(!W_ReloadCheck(self.ammo_cells, min(autocvar_g_balance_minstanex_ammo, autocvar_g_balance_minstanex_laser_ammo))) - return; - } - else if(!W_ReloadCheck(self.ammo_cells, autocvar_g_balance_minstanex_ammo)) - return; - - float t; - - sound (self, CHAN_WEAPON2, "weapons/reload.wav", VOL_BASE, ATTN_NORM); - - t = max(time, ATTACK_FINISHED(self)) + autocvar_g_balance_minstanex_reload_time + 1; - ATTACK_FINISHED(self) = t; - - weapon_thinkf(WFRAME_RELOAD, autocvar_g_balance_minstanex_reload_time, W_Minstanex_ReloadedAndReady); + self.reload_ammo_min = min(autocvar_g_balance_minstanex_ammo, autocvar_g_balance_minstanex_laser_ammo); + else + self.reload_ammo_min = autocvar_g_balance_minstanex_ammo; + self.reload_ammo_amount = autocvar_g_balance_minstanex_reload_ammo; + self.reload_time = autocvar_g_balance_minstanex_reload_time; + self.reload_sound = "weapons/reload.wav"; - self.old_clip_load = self.clip_load; - self.clip_load = -1; + W_Reload(); } void W_MinstaNex_Attack (void) diff --git a/qcsrc/server/w_nex.qc b/qcsrc/server/w_nex.qc index 6cf6e3df5..c33ac4087 100644 --- a/qcsrc/server/w_nex.qc +++ b/qcsrc/server/w_nex.qc @@ -18,44 +18,15 @@ void W_Nex_SetAmmoCounter() } } -void W_Nex_ReloadedAndReady() -{ - float t; - - // now 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 - while(self.clip_load < autocvar_g_balance_nex_reload_ammo && self.ammo_cells) // make sure we don't add more ammo than we have - { - self.clip_load += 1; - self.ammo_cells -= 1; - } - self.nex_load = self.clip_load; - - t = ATTACK_FINISHED(self) - autocvar_g_balance_nex_reload_time - 1; - ATTACK_FINISHED(self) = t; - w_ready(); -} - void W_Nex_Reload() { - // return if reloading is disabled for this weapon - if(!autocvar_g_balance_nex_reload_ammo) - return; - - if(!W_ReloadCheck(self.ammo_cells, min(autocvar_g_balance_nex_primary_ammo, autocvar_g_balance_nex_secondary_ammo))) - return; - - float t; - - sound (self, CHAN_WEAPON2, "weapons/reload.wav", VOL_BASE, ATTN_NORM); - - t = max(time, ATTACK_FINISHED(self)) + autocvar_g_balance_nex_reload_time + 1; - ATTACK_FINISHED(self) = t; - - weapon_thinkf(WFRAME_RELOAD, autocvar_g_balance_nex_reload_time, W_Nex_ReloadedAndReady); + self.reload_ammo_player = ammo_fuel; + self.reload_ammo_min = min(autocvar_g_balance_nex_primary_ammo, autocvar_g_balance_nex_secondary_ammo); + self.reload_ammo_amount = autocvar_g_balance_nex_reload_ammo; + self.reload_time = autocvar_g_balance_nex_reload_time; + self.reload_sound = "weapons/reload.wav"; - self.old_clip_load = self.clip_load; - self.clip_load = -1; + W_Reload(); } void SendCSQCNexBeamParticle(float charge) { diff --git a/qcsrc/server/w_rocketlauncher.qc b/qcsrc/server/w_rocketlauncher.qc index cb639430b..a87650a92 100644 --- a/qcsrc/server/w_rocketlauncher.qc +++ b/qcsrc/server/w_rocketlauncher.qc @@ -20,44 +20,15 @@ void W_RocketLauncher_SetAmmoCounter() } } -void W_RocketLauncher_ReloadedAndReady() -{ - float t; - - // now 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 - while(self.clip_load < autocvar_g_balance_rocketlauncher_reload_ammo && self.ammo_rockets) // make sure we don't add more ammo than we have - { - self.clip_load += 1; - self.ammo_rockets -= 1; - } - self.rocketlauncher_load = self.clip_load; - - t = ATTACK_FINISHED(self) - autocvar_g_balance_rocketlauncher_reload_time - 1; - ATTACK_FINISHED(self) = t; - w_ready(); -} - void W_RocketLauncher_Reload() { - // return if reloading is disabled for this weapon - if(!autocvar_g_balance_rocketlauncher_reload_ammo) - return; - - if(!W_ReloadCheck(self.ammo_rockets, autocvar_g_balance_rocketlauncher_ammo)) - return; - - float t; - - sound (self, CHAN_WEAPON2, "weapons/reload.wav", VOL_BASE, ATTN_NORM); - - t = max(time, ATTACK_FINISHED(self)) + autocvar_g_balance_rocketlauncher_reload_time + 1; - ATTACK_FINISHED(self) = t; - - weapon_thinkf(WFRAME_RELOAD, autocvar_g_balance_rocketlauncher_reload_time, W_RocketLauncher_ReloadedAndReady); + self.reload_ammo_player = ammo_fuel; + self.reload_ammo_min = autocvar_g_balance_rocketlauncher_ammo; + self.reload_ammo_amount = autocvar_g_balance_rocketlauncher_reload_ammo; + self.reload_time = autocvar_g_balance_rocketlauncher_reload_time; + self.reload_sound = "weapons/reload.wav"; - self.old_clip_load = self.clip_load; - self.clip_load = -1; + W_Reload(); } void W_Rocket_Unregister() diff --git a/qcsrc/server/w_seeker.qc b/qcsrc/server/w_seeker.qc index 0fdfaafb3..7d14148c2 100644 --- a/qcsrc/server/w_seeker.qc +++ b/qcsrc/server/w_seeker.qc @@ -20,44 +20,15 @@ void W_Seeker_SetAmmoCounter() } } -void W_Seeker_ReloadedAndReady() -{ - float t; - - // now 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 - while(self.clip_load < autocvar_g_balance_seeker_reload_ammo && self.ammo_rockets) // make sure we don't add more ammo than we have - { - self.clip_load += 1; - self.ammo_rockets -= 1; - } - self.seeker_load = self.clip_load; - - t = ATTACK_FINISHED(self) - autocvar_g_balance_seeker_reload_time - 1; - ATTACK_FINISHED(self) = t; - w_ready(); -} - void W_Seeker_Reload() { - // return if reloading is disabled for this weapon - if(!autocvar_g_balance_seeker_reload_ammo) - return; - - if(!W_ReloadCheck(self.ammo_rockets, min(autocvar_g_balance_seeker_missile_ammo, autocvar_g_balance_seeker_tag_ammo))) - return; - - float t; - - sound (self, CHAN_WEAPON2, "weapons/reload.wav", VOL_BASE, ATTN_NORM); - - t = max(time, ATTACK_FINISHED(self)) + autocvar_g_balance_seeker_reload_time + 1; - ATTACK_FINISHED(self) = t; - - weapon_thinkf(WFRAME_RELOAD, autocvar_g_balance_seeker_reload_time, W_Seeker_ReloadedAndReady); + self.reload_ammo_player = ammo_fuel; + self.reload_ammo_min = min(autocvar_g_balance_seeker_missile_ammo, autocvar_g_balance_seeker_tag_ammo); + self.reload_ammo_amount = autocvar_g_balance_seeker_reload_ammo; + self.reload_time = autocvar_g_balance_seeker_reload_time; + self.reload_sound = "weapons/reload.wav"; - self.old_clip_load = self.clip_load; - self.clip_load = -1; + W_Reload(); } void Seeker_Missile_Explode () diff --git a/qcsrc/server/w_shotgun.qc b/qcsrc/server/w_shotgun.qc index ad790eb92..2930dd480 100644 --- a/qcsrc/server/w_shotgun.qc +++ b/qcsrc/server/w_shotgun.qc @@ -18,44 +18,15 @@ void W_Shotgun_SetAmmoCounter() } } -void W_Shotgun_ReloadedAndReady() -{ - float t; - - // now 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 - while(self.clip_load < autocvar_g_balance_shotgun_reload_ammo && self.ammo_shells) // make sure we don't add more ammo than we have - { - self.clip_load += 1; - self.ammo_shells -= 1; - } - self.shotgun_load = self.clip_load; - - t = ATTACK_FINISHED(self) - autocvar_g_balance_shotgun_reload_time - 1; - ATTACK_FINISHED(self) = t; - w_ready(); -} - void W_Shotgun_Reload() { - // return if reloading is disabled for this weapon - if(!autocvar_g_balance_shotgun_reload_ammo) - return; - - if(!W_ReloadCheck(self.ammo_shells, autocvar_g_balance_shotgun_primary_ammo)) - return; - - float t; - - sound (self, CHAN_WEAPON2, "weapons/reload.wav", VOL_BASE, ATTN_NORM); - - t = max(time, ATTACK_FINISHED(self)) + autocvar_g_balance_shotgun_reload_time + 1; - ATTACK_FINISHED(self) = t; - - weapon_thinkf(WFRAME_RELOAD, autocvar_g_balance_shotgun_reload_time, W_Shotgun_ReloadedAndReady); + self.reload_ammo_player = ammo_fuel; + self.reload_ammo_min = autocvar_g_balance_shotgun_primary_ammo; + self.reload_ammo_amount = autocvar_g_balance_shotgun_reload_ammo; + self.reload_time = autocvar_g_balance_shotgun_reload_time; + self.reload_sound = "weapons/reload.wav"; - self.old_clip_load = self.clip_load; - self.clip_load = -1; + W_Reload(); } void W_Shotgun_Attack (void) diff --git a/qcsrc/server/w_sniperrifle.qc b/qcsrc/server/w_sniperrifle.qc index 523cab74e..4b4cd951c 100644 --- a/qcsrc/server/w_sniperrifle.qc +++ b/qcsrc/server/w_sniperrifle.qc @@ -23,44 +23,15 @@ void W_SniperRifle_SetAmmoCounter() } } -void W_SniperRifle_ReloadedAndReady() -{ - float t; - - // now 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 - while(self.clip_load < autocvar_g_balance_sniperrifle_reload_ammo && self.ammo_nails) // make sure we don't add more ammo than we have - { - self.clip_load += 1; - self.ammo_nails -= 1; - } - self.sniperrifle_load = self.clip_load; - - t = ATTACK_FINISHED(self) - autocvar_g_balance_sniperrifle_reload_time - 1; - ATTACK_FINISHED(self) = t; - w_ready(); -} - void W_SniperRifle_Reload() { - // return if reloading is disabled for this weapon - if(!autocvar_g_balance_sniperrifle_reload_ammo) - return; - - if(!W_ReloadCheck(self.ammo_nails, min(autocvar_g_balance_sniperrifle_primary_ammo, autocvar_g_balance_sniperrifle_secondary_ammo))) - return; - - float t; - - sound (self, CHAN_WEAPON2, "weapons/reload.wav", VOL_BASE, ATTN_NORM); - - t = max(time, ATTACK_FINISHED(self)) + autocvar_g_balance_sniperrifle_reload_time + 1; - ATTACK_FINISHED(self) = t; - - weapon_thinkf(WFRAME_RELOAD, autocvar_g_balance_sniperrifle_reload_time, W_SniperRifle_ReloadedAndReady); + self.reload_ammo_player = ammo_fuel; + self.reload_ammo_min = min(autocvar_g_balance_sniperrifle_primary_ammo, autocvar_g_balance_sniperrifle_secondary_ammo); + self.reload_ammo_amount = autocvar_g_balance_sniperrifle_reload_ammo; + self.reload_time = autocvar_g_balance_sniperrifle_reload_time; + self.reload_sound = "weapons/reload.wav"; - self.old_clip_load = self.clip_load; - self.clip_load = -1; + W_Reload(); } void W_SniperRifle_FireBullet(float pSpread, float pDamage, float pHeadshotAddedDamage, float pForce, float pSpeed, float pLifetime, float pAmmo, float deathtype, float pBulletConstant) diff --git a/qcsrc/server/w_uzi.qc b/qcsrc/server/w_uzi.qc index 360c89133..b4d4a75eb 100644 --- a/qcsrc/server/w_uzi.qc +++ b/qcsrc/server/w_uzi.qc @@ -18,44 +18,15 @@ void W_UZI_SetAmmoCounter() } } -void W_UZI_ReloadedAndReady() -{ - float t; - - // now 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 - while(self.clip_load < autocvar_g_balance_uzi_reload_ammo && self.ammo_nails) // make sure we don't add more ammo than we have - { - self.clip_load += 1; - self.ammo_nails -= 1; - } - self.uzi_load = self.clip_load; - - t = ATTACK_FINISHED(self) - autocvar_g_balance_uzi_reload_time - 1; - ATTACK_FINISHED(self) = t; - w_ready(); -} - void W_UZI_Reload() { - // return if reloading is disabled for this weapon - if(!autocvar_g_balance_uzi_reload_ammo) - return; - - if(!W_ReloadCheck(self.ammo_nails, min(max(autocvar_g_balance_uzi_sustained_ammo, autocvar_g_balance_uzi_first_ammo), autocvar_g_balance_uzi_burst_ammo))) - return; - - float t; - - sound (self, CHAN_WEAPON2, "weapons/reload.wav", VOL_BASE, ATTN_NORM); - - t = max(time, ATTACK_FINISHED(self)) + autocvar_g_balance_uzi_reload_time + 1; - ATTACK_FINISHED(self) = t; - - weapon_thinkf(WFRAME_RELOAD, autocvar_g_balance_uzi_reload_time, W_UZI_ReloadedAndReady); + self.reload_ammo_player = ammo_fuel; + self.reload_ammo_min = min(max(autocvar_g_balance_uzi_sustained_ammo, autocvar_g_balance_uzi_first_ammo), autocvar_g_balance_uzi_burst_ammo); + self.reload_ammo_amount = autocvar_g_balance_uzi_reload_ammo; + self.reload_time = autocvar_g_balance_uzi_reload_time; + self.reload_sound = "weapons/reload.wav"; - self.old_clip_load = self.clip_load; - self.clip_load = -1; + W_Reload(); } // leilei's fancy muzzleflash stuff -- 2.39.2