From 93a11d3a439a2217678e28ca8d8bac6e4a668a54 Mon Sep 17 00:00:00 2001 From: Samual Lenks Date: Wed, 19 Sep 2012 18:07:06 -0400 Subject: [PATCH] Attempt to slightly rebalance the Crylink by giving it a new secondary --- balance25.cfg | 1 + balanceFruitieX.cfg | 1 + balanceXPM.cfg | 21 +++++++++++---------- balanceXonotic.cfg | 21 +++++++++++---------- qcsrc/server/autocvars.qh | 1 + qcsrc/server/w_crylink.qc | 26 +++++++++++++++++++++++++- 6 files changed, 50 insertions(+), 21 deletions(-) diff --git a/balance25.cfg b/balance25.cfg index aafb163b4..068f650f8 100644 --- a/balance25.cfg +++ b/balance25.cfg @@ -451,6 +451,7 @@ set g_balance_crylink_secondary_force -55 set g_balance_crylink_secondary_radius 3 set g_balance_crylink_secondary_speed 7000 set g_balance_crylink_secondary_spread 0.08 +set g_balance_crylink_secondary_spreadtype 0 set g_balance_crylink_secondary_shots 7 set g_balance_crylink_secondary_bounces 0 set g_balance_crylink_secondary_refire 0.5 diff --git a/balanceFruitieX.cfg b/balanceFruitieX.cfg index 1bb898912..5ccd6827b 100644 --- a/balanceFruitieX.cfg +++ b/balanceFruitieX.cfg @@ -451,6 +451,7 @@ set g_balance_crylink_secondary_force 16 // LOG: 20 -> 16 set g_balance_crylink_secondary_radius 15 // LOG: 20 -> 15 set g_balance_crylink_secondary_speed 1250 // LOG: 1500 -> 1250 set g_balance_crylink_secondary_spread 0.1 +set g_balance_crylink_secondary_spreadtype 0 set g_balance_crylink_secondary_shots 6 set g_balance_crylink_secondary_bounces 2 set g_balance_crylink_secondary_refire 0.9 // LOG: 0.8 -> 0.9 diff --git a/balanceXPM.cfg b/balanceXPM.cfg index a5bfb435d..cd440294c 100644 --- a/balanceXPM.cfg +++ b/balanceXPM.cfg @@ -419,7 +419,7 @@ set g_balance_electro_reload_time 2 // {{{ crylink set g_balance_crylink_primary_damage 12 set g_balance_crylink_primary_edgedamage 6 -set g_balance_crylink_primary_force -60 +set g_balance_crylink_primary_force -50 set g_balance_crylink_primary_radius 80 set g_balance_crylink_primary_speed 2000 set g_balance_crylink_primary_spread 0.08 @@ -445,15 +445,16 @@ set g_balance_crylink_primary_other_lifetime 5 set g_balance_crylink_primary_other_fadetime 5 set g_balance_crylink_secondary 1 -set g_balance_crylink_secondary_damage 5 -set g_balance_crylink_secondary_edgedamage 0 -set g_balance_crylink_secondary_force -40 -set g_balance_crylink_secondary_radius 70 -set g_balance_crylink_secondary_speed 2000 -set g_balance_crylink_secondary_spread 0.02 -set g_balance_crylink_secondary_shots 3 -set g_balance_crylink_secondary_bounces 1 -set g_balance_crylink_secondary_refire 0.2 +set g_balance_crylink_secondary_damage 10 +set g_balance_crylink_secondary_edgedamage 5 +set g_balance_crylink_secondary_force -150 +set g_balance_crylink_secondary_radius 100 +set g_balance_crylink_secondary_speed 3000 +set g_balance_crylink_secondary_spread 0.01 +set g_balance_crylink_secondary_spreadtype 1 +set g_balance_crylink_secondary_shots 5 +set g_balance_crylink_secondary_bounces 0 +set g_balance_crylink_secondary_refire 0.7 set g_balance_crylink_secondary_animtime 0.2 set g_balance_crylink_secondary_ammo 2 set g_balance_crylink_secondary_bouncedamagefactor 0.5 diff --git a/balanceXonotic.cfg b/balanceXonotic.cfg index aea08c80e..871b9a390 100644 --- a/balanceXonotic.cfg +++ b/balanceXonotic.cfg @@ -419,7 +419,7 @@ set g_balance_electro_reload_time 2 // {{{ crylink set g_balance_crylink_primary_damage 12 set g_balance_crylink_primary_edgedamage 6 -set g_balance_crylink_primary_force -60 +set g_balance_crylink_primary_force -50 set g_balance_crylink_primary_radius 80 set g_balance_crylink_primary_speed 2000 set g_balance_crylink_primary_spread 0.08 @@ -445,15 +445,16 @@ set g_balance_crylink_primary_other_lifetime 5 set g_balance_crylink_primary_other_fadetime 5 set g_balance_crylink_secondary 1 -set g_balance_crylink_secondary_damage 5 -set g_balance_crylink_secondary_edgedamage 0 -set g_balance_crylink_secondary_force -40 -set g_balance_crylink_secondary_radius 70 -set g_balance_crylink_secondary_speed 2000 -set g_balance_crylink_secondary_spread 0.02 -set g_balance_crylink_secondary_shots 3 -set g_balance_crylink_secondary_bounces 1 -set g_balance_crylink_secondary_refire 0.2 +set g_balance_crylink_secondary_damage 10 +set g_balance_crylink_secondary_edgedamage 5 +set g_balance_crylink_secondary_force -150 +set g_balance_crylink_secondary_radius 100 +set g_balance_crylink_secondary_speed 3000 +set g_balance_crylink_secondary_spread 0.01 +set g_balance_crylink_secondary_spreadtype 1 +set g_balance_crylink_secondary_shots 5 +set g_balance_crylink_secondary_bounces 0 +set g_balance_crylink_secondary_refire 0.7 set g_balance_crylink_secondary_animtime 0.2 set g_balance_crylink_secondary_ammo 2 set g_balance_crylink_secondary_bouncedamagefactor 0.5 diff --git a/qcsrc/server/autocvars.qh b/qcsrc/server/autocvars.qh index 553ae5143..41a4e04fb 100644 --- a/qcsrc/server/autocvars.qh +++ b/qcsrc/server/autocvars.qh @@ -177,6 +177,7 @@ float autocvar_g_balance_crylink_secondary_refire; float autocvar_g_balance_crylink_secondary_shots; float autocvar_g_balance_crylink_secondary_speed; float autocvar_g_balance_crylink_secondary_spread; +float autocvar_g_balance_crylink_secondary_spreadtype; float autocvar_g_balance_crylink_reload_ammo; float autocvar_g_balance_crylink_reload_time; float autocvar_g_balance_curse_empathy_minhealth; diff --git a/qcsrc/server/w_crylink.qc b/qcsrc/server/w_crylink.qc index 595b1e5c0..bb44e827e 100644 --- a/qcsrc/server/w_crylink.qc +++ b/qcsrc/server/w_crylink.qc @@ -455,6 +455,8 @@ void W_Crylink_Attack2 (void) { float counter, shots; entity proj, prevproj, firstproj; + vector s; + vector forward, right, up; float maxdmg; W_DecreaseAmmo(ammo_cells, autocvar_g_balance_crylink_secondary_ammo, autocvar_g_balance_crylink_reload_ammo); @@ -465,6 +467,9 @@ void W_Crylink_Attack2 (void) maxdmg += autocvar_g_balance_crylink_secondary_joinexplode_damage; W_SetupShot (self, FALSE, 2, "weapons/crylink_fire2.wav", CH_WEAPON_A, maxdmg); + forward = v_forward; + right = v_right; + up = v_up; shots = autocvar_g_balance_crylink_secondary_shots; pointparticles(particleeffectnum("crylink_muzzleflash"), w_shotorg, w_shotdir * 1000, shots); @@ -505,7 +510,26 @@ void W_Crylink_Attack2 (void) setorigin (proj, w_shotorg); setsize(proj, '0 0 0', '0 0 0'); - W_SetupProjectileVelocityEx(proj, (w_shotdir + (((counter + 0.5) / shots) * 2 - 1) * v_right * autocvar_g_balance_crylink_secondary_spread * g_weaponspreadfactor), v_up, autocvar_g_balance_crylink_secondary_speed, 0, 0, 0, FALSE); + if(autocvar_g_balance_crylink_secondary_spreadtype == 1) + { + s = '0 0 0'; + if (counter == 0) + s = '0 0 0'; + else + { + makevectors('0 360 0' * (0.75 + (counter - 0.5) / (shots - 1))); + s_y = v_forward_x; + s_z = v_forward_y; + } + s = s * autocvar_g_balance_crylink_secondary_spread * g_weaponspreadfactor; + s = w_shotdir + right * s_y + up * s_z; + } + else + { + s = (w_shotdir + (((counter + 0.5) / shots) * 2 - 1) * v_right * autocvar_g_balance_crylink_secondary_spread * g_weaponspreadfactor); + } + + W_SetupProjectileVelocityEx(proj, s, v_up, autocvar_g_balance_crylink_secondary_speed, 0, 0, 0, FALSE); proj.touch = W_Crylink_Touch2; proj.think = W_Crylink_Fadethink; if(counter == (shots - 1) / 2) -- 2.39.2