]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Attempt to slightly rebalance the Crylink by giving it a new secondary
authorSamual Lenks <samual@xonotic.org>
Wed, 19 Sep 2012 22:07:06 +0000 (18:07 -0400)
committerSamual Lenks <samual@xonotic.org>
Wed, 19 Sep 2012 22:07:06 +0000 (18:07 -0400)
balance25.cfg
balanceFruitieX.cfg
balanceXPM.cfg
balanceXonotic.cfg
qcsrc/server/autocvars.qh
qcsrc/server/w_crylink.qc

index aafb163b441941ea73ad9a0ba736837fcc0bc25f..068f650f8f443e841deb73004c25874a35495653 100644 (file)
@@ -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
index 1bb8989120df04a0f5f3b7864c66c23ab0df2f57..5ccd6827b60626eb3574fa740d4ee2a46fdd8c15 100644 (file)
@@ -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
index a5bfb435db07825f9fe7dad5a3e306b930bc8a7a..cd440294c054be3d391685f4107a3e604979a08c 100644 (file)
@@ -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
index aea08c80e681e74e26bc93d6a4ee693ea630bcd4..871b9a390f2a39fc8daa1b59d6f0bbe34f3b50fa 100644 (file)
@@ -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
index 553ae5143ae155549c5dfbda32d33346bc2f2bbc..41a4e04fb4a60b9c7f05cb7ee3c15077154e7d16 100644 (file)
@@ -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;
index 595b1e5c060a68631413836ed28e357358853736..bb44e827e709cd0eb84e37bdf04c361179055e45 100644 (file)
@@ -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)