From 13513155e987b45425008e104105e699bcc6b6e0 Mon Sep 17 00:00:00 2001 From: FruitieX Date: Sat, 24 Jul 2010 01:25:09 +0300 Subject: [PATCH] =?utf8?q?primary=20mortar=20=C3=A0=20la=20Nexuiz=20(sligh?= =?utf8?q?tly=20nerfed=20though),=20secondary=20now=20instead=20sticky=20(?= =?utf8?q?with=20lifetime=20increased=20to=201)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- balance.cfg | 4 ++- balance25.cfg | 2 ++ balanceFruit.cfg | 30 +++++++++-------- balanceSamual.cfg | 2 ++ balanceXPM.cfg | 2 ++ qcsrc/server/w_grenadelauncher.qc | 56 +++++++++++++++++++++---------- 6 files changed, 64 insertions(+), 32 deletions(-) diff --git a/balance.cfg b/balance.cfg index 123c24249..3fc3de6d4 100644 --- a/balance.cfg +++ b/balance.cfg @@ -231,7 +231,7 @@ set g_balance_laser_secondary_lifetime 30 set g_balance_laser_secondary_shotangle 0 set g_balance_laser_secondary_delay 0 set g_balance_laser_secondary_gauntlet 0 -// }}} +// }} // {{{ shotgun set g_balance_shotgun_primary_bullets 6 set g_balance_shotgun_primary_damage 9 @@ -290,6 +290,7 @@ set g_balance_grenadelauncher_primary_refire 0.8 set g_balance_grenadelauncher_primary_animtime 0.3 set g_balance_grenadelauncher_primary_ammo 2 set g_balance_grenadelauncher_primary_health 25 +set g_balance_grenadelauncher_secondary_sticky 0 set g_balance_grenadelauncher_secondary_damage 70 set g_balance_grenadelauncher_secondary_edgedamage 38 set g_balance_grenadelauncher_secondary_force 400 @@ -299,6 +300,7 @@ 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_refire 0.7 set g_balance_grenadelauncher_secondary_animtime 0.3 set g_balance_grenadelauncher_secondary_ammo 2 diff --git a/balance25.cfg b/balance25.cfg index 46b3dafab..cae096bf8 100644 --- a/balance25.cfg +++ b/balance25.cfg @@ -290,6 +290,7 @@ set g_balance_grenadelauncher_primary_refire 0.8 set g_balance_grenadelauncher_primary_animtime 0.3 set g_balance_grenadelauncher_primary_ammo 2 set g_balance_grenadelauncher_primary_health 25 +set g_balance_grenadelauncher_secondary_sticky 0 set g_balance_grenadelauncher_secondary_damage 70 set g_balance_grenadelauncher_secondary_edgedamage 38 set g_balance_grenadelauncher_secondary_force 400 @@ -299,6 +300,7 @@ 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_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 9cf521256..6a9b96bd5 100644 --- a/balanceFruit.cfg +++ b/balanceFruit.cfg @@ -275,14 +275,14 @@ set g_balance_uzi_bulletconstant 115 // 13.1qu // }}} // {{{ mortar // TODO set g_balance_grenadelauncher_primary2secondary 0 -set g_balance_grenadelauncher_primary_sticky 1 -set g_balance_grenadelauncher_primary_damage 100 -set g_balance_grenadelauncher_primary_edgedamage 30 -set g_balance_grenadelauncher_primary_force 300 -set g_balance_grenadelauncher_primary_radius 150 -set g_balance_grenadelauncher_primary_speed 800 -set g_balance_grenadelauncher_primary_speed_up 0 -set g_balance_grenadelauncher_primary_speed_z 350 +set g_balance_grenadelauncher_primary_sticky 0 +set g_balance_grenadelauncher_primary_damage 60 +set g_balance_grenadelauncher_primary_edgedamage 35 +set g_balance_grenadelauncher_primary_force 280 +set g_balance_grenadelauncher_primary_radius 100 +set g_balance_grenadelauncher_primary_speed 2000 +set g_balance_grenadelauncher_primary_speed_up 200 +set g_balance_grenadelauncher_primary_speed_z 0 set g_balance_grenadelauncher_primary_spread 0 set g_balance_grenadelauncher_primary_lifetime 5 set g_balance_grenadelauncher_primary_lifetime2 0.65 @@ -290,19 +290,21 @@ set g_balance_grenadelauncher_primary_refire 0.8 set g_balance_grenadelauncher_primary_animtime 0.2 set g_balance_grenadelauncher_primary_ammo 2 set g_balance_grenadelauncher_primary_health 72 +set g_balance_grenadelauncher_secondary_sticky 1 set g_balance_grenadelauncher_secondary_damage 100 set g_balance_grenadelauncher_secondary_edgedamage 30 set g_balance_grenadelauncher_secondary_force 300 set g_balance_grenadelauncher_secondary_radius 150 -set g_balance_grenadelauncher_secondary_speed 800 -set g_balance_grenadelauncher_secondary_speed_up 0 -set g_balance_grenadelauncher_secondary_speed_z 350 -set g_balance_grenadelauncher_secondary_spread 0.025 -set g_balance_grenadelauncher_secondary_lifetime 2.2 +set g_balance_grenadelauncher_secondary_speed 1000 +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 5 +set g_balance_grenadelauncher_secondary_lifetime2 1 set g_balance_grenadelauncher_secondary_refire 0.8 set g_balance_grenadelauncher_secondary_animtime 0.2 set g_balance_grenadelauncher_secondary_ammo 2 -set g_balance_grenadelauncher_secondary_health 0 +set g_balance_grenadelauncher_secondary_health 72 set g_balance_grenadelauncher_secondary_damageforcescale 0 set g_balance_grenadelauncher_secondary_bouncefactor 0.7 set g_balance_grenadelauncher_secondary_bouncestop 0.12 diff --git a/balanceSamual.cfg b/balanceSamual.cfg index 6cdcb8a16..ded59fef8 100644 --- a/balanceSamual.cfg +++ b/balanceSamual.cfg @@ -290,6 +290,7 @@ set g_balance_grenadelauncher_primary_refire 0.8 set g_balance_grenadelauncher_primary_animtime 0.3 set g_balance_grenadelauncher_primary_ammo 2 set g_balance_grenadelauncher_primary_health 25 +set g_balance_grenadelauncher_secondary_sticky 0 set g_balance_grenadelauncher_secondary_damage 60 set g_balance_grenadelauncher_secondary_edgedamage 38 set g_balance_grenadelauncher_secondary_force 400 @@ -299,6 +300,7 @@ set g_balance_grenadelauncher_secondary_speed_up 150 set g_balance_grenadelauncher_secondary_speed_z 0 set g_balance_grenadelauncher_secondary_spread 0 set g_balance_grenadelauncher_secondary_lifetime 1 +set g_balance_grenadelauncher_secondary_lifetime2 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/balanceXPM.cfg b/balanceXPM.cfg index acca20694..b73f422a8 100644 --- a/balanceXPM.cfg +++ b/balanceXPM.cfg @@ -290,6 +290,7 @@ set g_balance_grenadelauncher_primary_refire 0.8 set g_balance_grenadelauncher_primary_animtime 0.2 set g_balance_grenadelauncher_primary_ammo 2 set g_balance_grenadelauncher_primary_health 25 +set g_balance_grenadelauncher_secondary_sticky 0 set g_balance_grenadelauncher_secondary_damage 100 set g_balance_grenadelauncher_secondary_edgedamage 30 set g_balance_grenadelauncher_secondary_force 300 @@ -299,6 +300,7 @@ set g_balance_grenadelauncher_secondary_speed_up 0 set g_balance_grenadelauncher_secondary_speed_z 200 set g_balance_grenadelauncher_secondary_spread 0 set g_balance_grenadelauncher_secondary_lifetime 1.5 +set g_balance_grenadelauncher_secondary_lifetime2 0 set g_balance_grenadelauncher_secondary_refire 0.8 set g_balance_grenadelauncher_secondary_animtime 0.2 set g_balance_grenadelauncher_secondary_ammo 2 diff --git a/qcsrc/server/w_grenadelauncher.qc b/qcsrc/server/w_grenadelauncher.qc index f6851af21..1afec7618 100644 --- a/qcsrc/server/w_grenadelauncher.qc +++ b/qcsrc/server/w_grenadelauncher.qc @@ -74,27 +74,46 @@ void W_Grenade_Touch1 (void) void W_Grenade_Touch2 (void) { PROJECTILE_TOUCH; - if (other.takedamage == DAMAGE_AIM) + if(cvar("g_balance_grenadelauncher_secondary_sticky") && other.takedamage != DAMAGE_AIM) { - self.use (); + spamsound (self, CHAN_PROJECTILE, "weapons/grenade_stick.wav", VOL_BASE, ATTN_NORM); + + // let it stick whereever it is + self.oldvelocity = self.velocity; + self.velocity = '0 0 0'; + self.movetype = MOVETYPE_NONE; // also disables gravity + self.gravity = 0; // nope, it does NOT! maybe a bug in CSQC code? TODO + UpdateCSQCProjectile(self); + + // do not respond to any more touches + self.solid = SOLID_NOT; + + self.nextthink = min(self.nextthink, time + cvar("g_balance_grenadelauncher_secondary_lifetime2")); } else { - float r; - r = random() * 6; - if(r < 1) - spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce1.wav", VOL_BASE, ATTN_NORM); - else if(r < 2) - spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce2.wav", VOL_BASE, ATTN_NORM); - else if(r < 3) - spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce3.wav", VOL_BASE, ATTN_NORM); - else if(r < 4) - spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce4.wav", VOL_BASE, ATTN_NORM); - else if(r < 5) - spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce5.wav", VOL_BASE, ATTN_NORM); + if (other.takedamage == DAMAGE_AIM) + { + self.use (); + } else - spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce6.wav", VOL_BASE, ATTN_NORM); - self.projectiledeathtype |= HITTYPE_BOUNCE; + { + float r; + r = random() * 6; + if(r < 1) + spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce1.wav", VOL_BASE, ATTN_NORM); + else if(r < 2) + spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce2.wav", VOL_BASE, ATTN_NORM); + else if(r < 3) + spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce3.wav", VOL_BASE, ATTN_NORM); + else if(r < 4) + spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce4.wav", VOL_BASE, ATTN_NORM); + else if(r < 5) + spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce5.wav", VOL_BASE, ATTN_NORM); + else + spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce6.wav", VOL_BASE, ATTN_NORM); + self.projectiledeathtype |= HITTYPE_BOUNCE; + } } } @@ -174,7 +193,10 @@ void W_Grenade_Attack2 (void) gren.angles = vectoangles (gren.velocity); gren.flags = FL_PROJECTILE; - CSQCProjectile(gren, TRUE, PROJECTILE_GRENADE_BOUNCING, TRUE); + if(cvar("g_balance_grenadelauncher_secondary_sticky")) + CSQCProjectile(gren, TRUE, PROJECTILE_GRENADE, TRUE); + else + CSQCProjectile(gren, TRUE, PROJECTILE_GRENADE_BOUNCING, TRUE); } void spawnfunc_weapon_grenadelauncher (void) -- 2.39.2