From 37c49a94d0691c536417066acdf31ac04499acea Mon Sep 17 00:00:00 2001 From: Samual Date: Mon, 6 Jun 2011 04:21:39 -0400 Subject: [PATCH] New feature to grenadelauncher which allows the lifetime to be changed when the projectile bounces --- balance25.cfg | 3 ++- balanceFruit.cfg | 3 ++- balanceLeeStricklin.cfg | 3 ++- balanceXonotic.cfg | 5 +++-- balancetZork.cfg | 3 ++- qcsrc/server/autocvars.qh | 5 +++-- qcsrc/server/w_grenadelauncher.qc | 8 ++++++-- 7 files changed, 20 insertions(+), 10 deletions(-) diff --git a/balance25.cfg b/balance25.cfg index e48e20933..843bd634f 100644 --- a/balance25.cfg +++ b/balance25.cfg @@ -333,7 +333,8 @@ set g_balance_grenadelauncher_secondary_speed_up 200 set g_balance_grenadelauncher_secondary_speed_z 0 set g_balance_grenadelauncher_secondary_spread 0 set g_balance_grenadelauncher_secondary_lifetime 2.5 -set g_balance_grenadelauncher_secondary_lifetime2 0 +set g_balance_grenadelauncher_secondary_lifetime_bounce 0 +set g_balance_grenadelauncher_secondary_lifetime_stick 0 set g_balance_grenadelauncher_secondary_refire 0.7 set g_balance_grenadelauncher_secondary_animtime 0.3 set g_balance_grenadelauncher_secondary_ammo 2 diff --git a/balanceFruit.cfg b/balanceFruit.cfg index 7256633ac..5a078e44c 100644 --- a/balanceFruit.cfg +++ b/balanceFruit.cfg @@ -333,7 +333,8 @@ set g_balance_grenadelauncher_secondary_speed_up 250 set g_balance_grenadelauncher_secondary_speed_z 0 set g_balance_grenadelauncher_secondary_spread 0 set g_balance_grenadelauncher_secondary_lifetime 3 -set g_balance_grenadelauncher_secondary_lifetime2 0.65 +set g_balance_grenadelauncher_secondary_lifetime_bounce 0 +set g_balance_grenadelauncher_secondary_lifetime_stick 0.65 set g_balance_grenadelauncher_secondary_refire 0.8 set g_balance_grenadelauncher_secondary_animtime 0.3 set g_balance_grenadelauncher_secondary_ammo 2 diff --git a/balanceLeeStricklin.cfg b/balanceLeeStricklin.cfg index 2237ef53e..02e804e79 100644 --- a/balanceLeeStricklin.cfg +++ b/balanceLeeStricklin.cfg @@ -333,7 +333,8 @@ set g_balance_grenadelauncher_secondary_speed_up 200 set g_balance_grenadelauncher_secondary_speed_z 0 set g_balance_grenadelauncher_secondary_spread 0 set g_balance_grenadelauncher_secondary_lifetime 2.5 -set g_balance_grenadelauncher_secondary_lifetime2 1 +set g_balance_grenadelauncher_secondary_lifetime_bounce 0 +set g_balance_grenadelauncher_secondary_lifetime_stick 1 set g_balance_grenadelauncher_secondary_refire 0.6 set g_balance_grenadelauncher_secondary_animtime 0.3 set g_balance_grenadelauncher_secondary_ammo 2 diff --git a/balanceXonotic.cfg b/balanceXonotic.cfg index a8719766f..864ead2cc 100644 --- a/balanceXonotic.cfg +++ b/balanceXonotic.cfg @@ -332,8 +332,9 @@ set g_balance_grenadelauncher_secondary_speed 1400 set g_balance_grenadelauncher_secondary_speed_up 150 set g_balance_grenadelauncher_secondary_speed_z 0 set g_balance_grenadelauncher_secondary_spread 0.02 -set g_balance_grenadelauncher_secondary_lifetime 1 -set g_balance_grenadelauncher_secondary_lifetime2 0 +set g_balance_grenadelauncher_secondary_lifetime 5 +set g_balance_grenadelauncher_secondary_lifetime_bounce 0.5 +set g_balance_grenadelauncher_secondary_lifetime_stick 0 set g_balance_grenadelauncher_secondary_refire 0.7 set g_balance_grenadelauncher_secondary_animtime 0.3 set g_balance_grenadelauncher_secondary_ammo 2 diff --git a/balancetZork.cfg b/balancetZork.cfg index 73600d3ee..57c499687 100644 --- a/balancetZork.cfg +++ b/balancetZork.cfg @@ -333,7 +333,8 @@ set g_balance_grenadelauncher_secondary_speed_up 200 set g_balance_grenadelauncher_secondary_speed_z 0 set g_balance_grenadelauncher_secondary_spread 0 set g_balance_grenadelauncher_secondary_lifetime 2.5 -set g_balance_grenadelauncher_secondary_lifetime2 0 +set g_balance_grenadelauncher_secondary_lifetime_bounce 0 +set g_balance_grenadelauncher_secondary_lifetime_stick 0 set g_balance_grenadelauncher_secondary_refire 0.7 set g_balance_grenadelauncher_secondary_animtime 0.3 set g_balance_grenadelauncher_secondary_ammo 2 diff --git a/qcsrc/server/autocvars.qh b/qcsrc/server/autocvars.qh index 36b41896c..5297f0907 100644 --- a/qcsrc/server/autocvars.qh +++ b/qcsrc/server/autocvars.qh @@ -289,7 +289,7 @@ float autocvar_g_balance_grenadelauncher_primary_edgedamage; float autocvar_g_balance_grenadelauncher_primary_force; float autocvar_g_balance_grenadelauncher_primary_health; float autocvar_g_balance_grenadelauncher_primary_lifetime; -float autocvar_g_balance_grenadelauncher_primary_lifetime2; +float autocvar_g_balance_grenadelauncher_primary_lifetime_stick; float autocvar_g_balance_grenadelauncher_primary_radius; float autocvar_g_balance_grenadelauncher_primary_refire; float autocvar_g_balance_grenadelauncher_primary_remote_minbouncecnt; @@ -304,7 +304,8 @@ float autocvar_g_balance_grenadelauncher_secondary_edgedamage; float autocvar_g_balance_grenadelauncher_secondary_force; float autocvar_g_balance_grenadelauncher_secondary_health; float autocvar_g_balance_grenadelauncher_secondary_lifetime; -float autocvar_g_balance_grenadelauncher_secondary_lifetime2; +float autocvar_g_balance_grenadelauncher_secondary_lifetime_bounce; +float autocvar_g_balance_grenadelauncher_secondary_lifetime_stick; float autocvar_g_balance_grenadelauncher_secondary_radius; float autocvar_g_balance_grenadelauncher_secondary_refire; float autocvar_g_balance_grenadelauncher_secondary_speed; diff --git a/qcsrc/server/w_grenadelauncher.qc b/qcsrc/server/w_grenadelauncher.qc index 02ba362ae..a3015ce02 100644 --- a/qcsrc/server/w_grenadelauncher.qc +++ b/qcsrc/server/w_grenadelauncher.qc @@ -110,7 +110,7 @@ void W_Grenade_Touch1 (void) // do not respond to any more touches self.solid = SOLID_NOT; - self.nextthink = min(self.nextthink, time + autocvar_g_balance_grenadelauncher_primary_lifetime2); + self.nextthink = min(self.nextthink, time + autocvar_g_balance_grenadelauncher_primary_lifetime_stick); } } @@ -139,6 +139,10 @@ void W_Grenade_Touch2 (void) spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce6.wav", VOL_BASE, ATTN_NORM); self.projectiledeathtype |= HITTYPE_BOUNCE; self.gl_bouncecnt += 1; + + if (autocvar_g_balance_grenadelauncher_secondary_lifetime_bounce && self.gl_bouncecnt == 1) + self.nextthink = time + autocvar_g_balance_grenadelauncher_secondary_lifetime_bounce; + } else if(autocvar_g_balance_grenadelauncher_secondary_type == 2 && (!other || (other.takedamage != DAMAGE_AIM && other.movetype == MOVETYPE_NONE))) // stick { @@ -154,7 +158,7 @@ void W_Grenade_Touch2 (void) // do not respond to any more touches self.solid = SOLID_NOT; - self.nextthink = min(self.nextthink, time + autocvar_g_balance_grenadelauncher_secondary_lifetime2); + self.nextthink = min(self.nextthink, time + autocvar_g_balance_grenadelauncher_secondary_lifetime_stick); } } -- 2.39.2