From 6eab1015a0a4aeaae00f9a67d73ba412341f7363 Mon Sep 17 00:00:00 2001 From: FruitieX Date: Wed, 21 Jul 2010 12:44:29 +0300 Subject: [PATCH] laser secondary = gauntlet, better effects coming soon --- balance.cfg | 3 ++- balance25.cfg | 3 ++- balanceFruit.cfg | 23 ++++++++++++----------- balanceSamual.cfg | 3 ++- balanceXPM.cfg | 3 ++- qcsrc/server/w_electro.qc | 2 +- qcsrc/server/w_laser.qc | 35 ++++++++++++++++++++++++++--------- 7 files changed, 47 insertions(+), 25 deletions(-) diff --git a/balance.cfg b/balance.cfg index 1db210ec1b..123c242495 100644 --- a/balance.cfg +++ b/balance.cfg @@ -217,7 +217,7 @@ set g_balance_laser_primary_animtime 0.3 set g_balance_laser_primary_lifetime 30 set g_balance_laser_primary_shotangle 0 set g_balance_laser_primary_delay 0.03 -set g_balance_laser_gauntlet 0 +set g_balance_laser_primary_gauntlet 0 set g_balance_laser_secondary 0 // when 1, a secondary laser mode exists set g_balance_laser_secondary_damage 35 set g_balance_laser_secondary_edgedamage 10 @@ -230,6 +230,7 @@ set g_balance_laser_secondary_animtime 0.3 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 diff --git a/balance25.cfg b/balance25.cfg index bc415cac7a..46b3dafab3 100644 --- a/balance25.cfg +++ b/balance25.cfg @@ -217,7 +217,7 @@ set g_balance_laser_primary_animtime 0.3 set g_balance_laser_primary_lifetime 30 set g_balance_laser_primary_shotangle 0 set g_balance_laser_primary_delay 0 -set g_balance_laser_gauntlet 0 +set g_balance_laser_primary_gauntlet 0 set g_balance_laser_secondary 0 // when 1, a secondary laser mode exists set g_balance_laser_secondary_damage 35 set g_balance_laser_secondary_edgedamage 10 @@ -230,6 +230,7 @@ set g_balance_laser_secondary_animtime 0.3 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 diff --git a/balanceFruit.cfg b/balanceFruit.cfg index 9ef7ab1f87..ba90c56aa7 100644 --- a/balanceFruit.cfg +++ b/balanceFruit.cfg @@ -210,26 +210,27 @@ set g_balance_laser_primary_damage 30 // dps 50, hope that's not too high set g_balance_laser_primary_edgedamage 30 set g_balance_laser_primary_force 235 set g_balance_laser_primary_radius 70 -set g_balance_laser_primary_speed 9000 +set g_balance_laser_primary_speed 4500 set g_balance_laser_primary_spread 0 set g_balance_laser_primary_refire 0.6 set g_balance_laser_primary_animtime 0.6 set g_balance_laser_primary_lifetime 5 set g_balance_laser_primary_shotangle 0 set g_balance_laser_primary_delay 0 -set g_balance_laser_gauntlet 0 -set g_balance_laser_secondary 0 // when 1, a secondary laser mode exists -set g_balance_laser_secondary_damage 35 -set g_balance_laser_secondary_edgedamage 10 -set g_balance_laser_secondary_force 400 -set g_balance_laser_secondary_radius 70 -set g_balance_laser_secondary_speed 4500 +set g_balance_laser_primary_gauntlet 0 +set g_balance_laser_secondary 1 // when 1, a secondary laser mode exists +set g_balance_laser_secondary_damage 7 +set g_balance_laser_secondary_edgedamage 0 +set g_balance_laser_secondary_force 75 +set g_balance_laser_secondary_radius 10 +set g_balance_laser_secondary_speed 0 set g_balance_laser_secondary_spread 0 -set g_balance_laser_secondary_refire 0.7 -set g_balance_laser_secondary_animtime 0.3 -set g_balance_laser_secondary_lifetime 5 +set g_balance_laser_secondary_refire 0.066 +set g_balance_laser_secondary_animtime 0.066 +set g_balance_laser_secondary_lifetime 0 set g_balance_laser_secondary_shotangle 0 set g_balance_laser_secondary_delay 0 +set g_balance_laser_secondary_gauntlet 1 // }}} // {{{ shotgun set g_balance_shotgun_primary_bullets 16 diff --git a/balanceSamual.cfg b/balanceSamual.cfg index d9ae5ecb6c..6cdcb8a164 100644 --- a/balanceSamual.cfg +++ b/balanceSamual.cfg @@ -217,7 +217,7 @@ set g_balance_laser_primary_animtime 0.3 set g_balance_laser_primary_lifetime 30 set g_balance_laser_primary_shotangle 0 set g_balance_laser_primary_delay 0.03 -set g_balance_laser_gauntlet 0 +set g_balance_laser_primary_gauntlet 0 set g_balance_laser_secondary 0 // when 1, a secondary laser mode exists set g_balance_laser_secondary_damage 25 set g_balance_laser_secondary_edgedamage 10 @@ -230,6 +230,7 @@ set g_balance_laser_secondary_animtime 0.3 set g_balance_laser_secondary_lifetime 30 set g_balance_laser_secondary_shotangle -90 set g_balance_laser_secondary_delay 0 +set g_balance_laser_secondary_gauntlet 0 // }}} // {{{ shotgun set g_balance_shotgun_primary_bullets 6 diff --git a/balanceXPM.cfg b/balanceXPM.cfg index 9033e42630..acca206945 100644 --- a/balanceXPM.cfg +++ b/balanceXPM.cfg @@ -217,7 +217,7 @@ set g_balance_laser_primary_animtime 0.066 set g_balance_laser_primary_lifetime 0 set g_balance_laser_primary_shotangle 0 set g_balance_laser_primary_delay 0 -set g_balance_laser_gauntlet 1 +set g_balance_laser_primary_gauntlet 1 set g_balance_laser_secondary 0 // when 1, a secondary laser mode exists set g_balance_laser_secondary_damage 35 set g_balance_laser_secondary_edgedamage 10 @@ -230,6 +230,7 @@ set g_balance_laser_secondary_animtime 0 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 16 diff --git a/qcsrc/server/w_electro.qc b/qcsrc/server/w_electro.qc index 4d4fda1cab..3a54cf3861 100644 --- a/qcsrc/server/w_electro.qc +++ b/qcsrc/server/w_electro.qc @@ -184,7 +184,7 @@ void W_Electro_Attack2() CSQCProjectile(proj, TRUE, PROJECTILE_ELECTRO, FALSE); // no culling, it has sound } -.entity lgbeam, exteriorlgbeam; +.entity lgbeam; .float prevlgfire; void lgbeam_think() { diff --git a/qcsrc/server/w_laser.qc b/qcsrc/server/w_laser.qc index 00e0fff747..c716ae1e6d 100644 --- a/qcsrc/server/w_laser.qc +++ b/qcsrc/server/w_laser.qc @@ -101,18 +101,32 @@ void W_Laser_Attack (float issecondary) } } -void W_Laser_Attack2 (void) // gauntlet +void W_Laser_Attack2 (float issecondary) // gauntlet { - W_SetupShot (self, TRUE, 0, "weapons/gauntlet_fire.wav", cvar("g_balance_laser_primary_damage")); + float damage, force, myradius; + if(issecondary) + { + damage = cvar("g_balance_laser_secondary_damage"); + force = cvar("g_balance_laser_secondary_force"); + myradius = cvar("g_balance_laser_secondary_radius"); + } + else + { + damage = cvar("g_balance_laser_primary_damage"); + force = cvar("g_balance_laser_primary_force"); + myradius = cvar("g_balance_laser_primary_radius"); + } + + W_SetupShot (self, TRUE, 0, "weapons/gauntlet_fire.wav", damage); - WarpZone_traceline_antilag(self, w_shotorg, w_shotorg + w_shotdir * (cvar("g_balance_laser_primary_radius") + vlen(eX * self.velocity_x + eY * self.velocity_y)/5), FALSE, self, ANTILAG_LATENCY(self)); + WarpZone_traceline_antilag(self, w_shotorg, w_shotorg + w_shotdir * (myradius + vlen(eX * self.velocity_x + eY * self.velocity_y)/5), FALSE, self, ANTILAG_LATENCY(self)); pointparticles(particleeffectnum("laser_gauntletmuzzleflash"), w_shotorg, w_shotdir * 1000, 1); - pointparticles(particleeffectnum("laser_gauntlet"), w_shotorg + w_shotdir * (cvar("g_balance_laser_primary_radius") + vlen(eX * self.velocity_x + eY * self.velocity_y)/5), w_shotdir * 1000, 1); - pointparticles(particleeffectnum("laser_gauntlet"), w_shotorg + w_shotdir * (cvar("g_balance_laser_primary_radius") + vlen(eX * self.velocity_x + eY * self.velocity_y)/5) * 0.5, w_shotdir * 1000, 1); + pointparticles(particleeffectnum("laser_gauntlet"), w_shotorg + w_shotdir * (myradius + vlen(eX * self.velocity_x + eY * self.velocity_y)/5), w_shotdir * 1000, 1); + pointparticles(particleeffectnum("laser_gauntlet"), w_shotorg + w_shotdir * (myradius + vlen(eX * self.velocity_x + eY * self.velocity_y)/5) * 0.5, w_shotdir * 1000, 1); if (trace_fraction < 1) - Damage(trace_ent, self, self, cvar("g_balance_laser_primary_damage"), WEP_LASER | HITTYPE_SECONDARY, trace_endpos, cvar("g_balance_laser_primary_force") * w_shotdir); + Damage(trace_ent, self, self, damage, WEP_LASER | HITTYPE_SECONDARY, trace_endpos, cvar("g_balance_laser_primary_force") * w_shotdir); } void spawnfunc_weapon_laser (void) @@ -143,8 +157,8 @@ float w_laser(float req) if (self.BUTTON_ATCK) if (weapon_prepareattack(0, cvar("g_balance_laser_primary_refire"))) { - if(cvar("g_balance_laser_gauntlet")) - W_Laser_Attack2(); + if(cvar("g_balance_laser_primary_gauntlet")) + W_Laser_Attack2(0); else W_Laser_Attack(0); weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_laser_primary_animtime"), w_ready); @@ -155,7 +169,10 @@ float w_laser(float req) { if (weapon_prepareattack(0, cvar("g_balance_laser_secondary_refire"))) { - W_Laser_Attack(1); + if(cvar("g_balance_laser_secondary_gauntlet")) + W_Laser_Attack2(1); + else + W_Laser_Attack(1); weapon_thinkf(WFRAME_FIRE2, cvar("g_balance_laser_secondary_animtime"), w_ready); } } -- 2.39.2