resurrect the nexrun dm stuff with a *few* changes :)
authorfruitiex <fruitiex@f962a42d-fe04-0410-a3ab-8c8b0445ebaa>
Wed, 24 Feb 2010 14:37:37 +0000 (14:37 +0000)
committerfruitiex <fruitiex@f962a42d-fe04-0410-a3ab-8c8b0445ebaa>
Wed, 24 Feb 2010 14:37:37 +0000 (14:37 +0000)
git-svn-id: svn://svn.icculus.org/nexuiz/trunk@8662 f962a42d-fe04-0410-a3ab-8c8b0445ebaa

data/balance.cfg
data/balance25.cfg
data/balanceHavoc.cfg
data/balanceNexrun.cfg
data/balanceSamual.cfg
data/qcsrc/server/w_crylink.qc
data/qcsrc/server/w_grenadelauncher.qc
data/qcsrc/server/w_hlac.qc
data/qcsrc/server/w_shotgun.qc
data/qcsrc/server/w_uzi.qc

index 2f7c631..ec63c5b 100644 (file)
@@ -255,6 +255,7 @@ set g_balance_shotgun_primary_animtime 0.2
 set g_balance_shotgun_primary_ammo 1
 set g_balance_shotgun_primary_speed 8000
 set g_balance_shotgun_primary_bulletconstant 75 // 3.8qu
+set g_balance_shotgun_secondary 1
 set g_balance_shotgun_secondary_bullets 6
 set g_balance_shotgun_secondary_damage 8
 set g_balance_shotgun_secondary_force 0
@@ -266,6 +267,7 @@ set g_balance_shotgun_secondary_speed 8000
 set g_balance_shotgun_secondary_bulletconstant 75 // 3.8qu
 // }}}
 // {{{ uzi
+set g_balance_uzi_first 1
 set g_balance_uzi_first_damage 12
 set g_balance_uzi_first_force 0
 set g_balance_uzi_first_spread 0.015
@@ -280,6 +282,7 @@ set g_balance_uzi_speed 18000
 set g_balance_uzi_bulletconstant 115 // 13.1qu
 // }}}
 // {{{ mortar
+set g_balance_grenadelauncher_primary2secondary 0
 set g_balance_grenadelauncher_primary_damage 50
 set g_balance_grenadelauncher_primary_edgedamage 38
 set g_balance_grenadelauncher_primary_force 400
@@ -361,6 +364,7 @@ set g_balance_crylink_primary_star_fadetime 0.25
 set g_balance_crylink_primary_other_lifetime 0.1 // range: 700 full, fades to 2450
 set g_balance_crylink_primary_other_fadetime 0.25
 
+set g_balance_crylink_secondary 1
 set g_balance_crylink_secondary_damage 10
 set g_balance_crylink_secondary_edgedamage 0
 set g_balance_crylink_secondary_force -40
@@ -378,8 +382,6 @@ set g_balance_crylink_secondary_middle_lifetime 5 // range: 35000 full, fades to
 set g_balance_crylink_secondary_middle_fadetime 5
 set g_balance_crylink_secondary_line_lifetime 2 // range: 35000 full, fades to 70000
 set g_balance_crylink_secondary_line_fadetime 2
-
-set g_balance_crylink_secondary_lightning 0
 // }}}
 // {{{ nex
 set g_balance_nex_damage 90
@@ -473,6 +475,8 @@ set g_balance_hook_secondary_power 3 // effect behaves like a square function
 set g_balance_hook_secondary_duration 1.5 // effect runs for three seconds
 // }}}
 // {{{ hlac
+set g_balance_hlac_primary_lightning 0
+
 set g_balance_hlac_primary_spread_min 0.01
 set g_balance_hlac_primary_spread_max 0.25
 set g_balance_hlac_primary_spread_add 0.0045
@@ -489,6 +493,7 @@ set g_balance_hlac_primary_refire 0.1
 set g_balance_hlac_primary_animtime 0.4
 set g_balance_hlac_primary_ammo 1
 
+set g_balance_hlac_secondary 1
 set g_balance_hlac_secondary_spread 0.15
 set g_balance_hlac_secondary_spread_crouchmod 0.5
 
index bcfa0ba..93fed08 100644 (file)
@@ -254,6 +254,7 @@ set g_balance_shotgun_primary_animtime 0.2
 set g_balance_shotgun_primary_ammo 1
 set g_balance_shotgun_primary_speed 12000
 set g_balance_shotgun_primary_bulletconstant 75 // 3.8qu
+set g_balance_shotgun_secondary 1
 set g_balance_shotgun_secondary_bullets 6
 set g_balance_shotgun_secondary_damage 9
 set g_balance_shotgun_secondary_force 60
@@ -265,6 +266,7 @@ set g_balance_shotgun_secondary_speed 12000
 set g_balance_shotgun_secondary_bulletconstant 75 // 3.8qu
 // }}}
 // {{{ uzi
+set g_balance_uzi_first 1
 set g_balance_uzi_first_damage 30
 set g_balance_uzi_first_force 50
 set g_balance_uzi_first_spread 0.015
@@ -279,6 +281,7 @@ set g_balance_uzi_speed 18000
 set g_balance_uzi_bulletconstant 115 // 13.1qu
 // }}}
 // {{{ mortar
+set g_balance_grenadelauncher_primary2secondary 0
 set g_balance_grenadelauncher_primary_damage 70
 set g_balance_grenadelauncher_primary_edgedamage 38
 set g_balance_grenadelauncher_primary_force 400
@@ -360,6 +363,7 @@ set g_balance_crylink_primary_star_fadetime 0.25
 set g_balance_crylink_primary_other_lifetime 0.1 // range: 700 full, fades to 2450
 set g_balance_crylink_primary_other_fadetime 0.25
 
+set g_balance_crylink_secondary 1
 set g_balance_crylink_secondary_damage 18
 set g_balance_crylink_secondary_edgedamage 0
 set g_balance_crylink_secondary_force -55
@@ -377,8 +381,6 @@ set g_balance_crylink_secondary_middle_lifetime 5 // range: 35000 full, fades to
 set g_balance_crylink_secondary_middle_fadetime 5
 set g_balance_crylink_secondary_line_lifetime 2 // range: 35000 full, fades to 70000
 set g_balance_crylink_secondary_line_fadetime 2
-
-set g_balance_crylink_secondary_lightning 0
 // }}}
 // {{{ nex
 set g_balance_nex_damage 100
@@ -472,6 +474,8 @@ set g_balance_hook_secondary_power 3 // effect behaves like a square function
 set g_balance_hook_secondary_duration 1.5 // effect runs for three seconds
 // }}}
 // {{{ hlac
+set g_balance_hlac_primary_lightning 0
+
 set g_balance_hlac_primary_spread_min 0.01
 set g_balance_hlac_primary_spread_max 0.25
 set g_balance_hlac_primary_spread_add 0.0045
@@ -488,6 +492,7 @@ set g_balance_hlac_primary_refire 0.1
 set g_balance_hlac_primary_animtime 0.4
 set g_balance_hlac_primary_ammo 1
 
+set g_balance_hlac_secondary 1
 set g_balance_hlac_secondary_spread 0.15
 set g_balance_hlac_secondary_spread_crouchmod 0.5
 
index 3fad57a..f769a8f 100644 (file)
@@ -254,6 +254,7 @@ set g_balance_shotgun_primary_animtime 0.5
 set g_balance_shotgun_primary_ammo 3
 set g_balance_shotgun_primary_speed 12000
 set g_balance_shotgun_primary_bulletconstant 75 // 3.8qu
+set g_balance_shotgun_secondary 1
 set g_balance_shotgun_secondary_bullets 5
 set g_balance_shotgun_secondary_damage 5
 set g_balance_shotgun_secondary_force 0
@@ -265,6 +266,7 @@ set g_balance_shotgun_secondary_speed 12000
 set g_balance_shotgun_secondary_bulletconstant 75 // 3.8qu
 // }}}
 // {{{ uzi
+set g_balance_uzi_first 1
 set g_balance_uzi_first_damage 25
 set g_balance_uzi_first_force 0
 set g_balance_uzi_first_spread 0.015
@@ -279,6 +281,7 @@ set g_balance_uzi_speed 18000
 set g_balance_uzi_bulletconstant 115 // 13.1qu
 // }}}
 // {{{ mortar
+set g_balance_grenadelauncher_primary2secondary 0
 set g_balance_grenadelauncher_primary_damage 40
 set g_balance_grenadelauncher_primary_edgedamage 20
 set g_balance_grenadelauncher_primary_force 400
@@ -360,6 +363,7 @@ set g_balance_crylink_primary_star_fadetime 0.25
 set g_balance_crylink_primary_other_lifetime 0.1 // range: 700 full, fades to 2450
 set g_balance_crylink_primary_other_fadetime 0.25
 
+set g_balance_crylink_secondary 1
 set g_balance_crylink_secondary_damage 25
 set g_balance_crylink_secondary_edgedamage 0
 set g_balance_crylink_secondary_force 0
@@ -377,8 +381,6 @@ set g_balance_crylink_secondary_middle_lifetime 5 // range: 35000 full, fades to
 set g_balance_crylink_secondary_middle_fadetime 5
 set g_balance_crylink_secondary_line_lifetime 0.1 // range: 700 full, fades to 2450
 set g_balance_crylink_secondary_line_fadetime 0.25
-
-set g_balance_crylink_secondary_lightning 0
 // }}}
 // {{{ nex
 set g_balance_nex_damage 60
@@ -472,6 +474,8 @@ set g_balance_hook_secondary_power 3 // effect behaves like a square function
 set g_balance_hook_secondary_duration 1.5 // effect runs for three seconds
 // }}}
 // {{{ hlac
+set g_balance_hlac_primary_lightning 0
+
 set g_balance_hlac_primary_spread_min 0.0
 set g_balance_hlac_primary_spread_max 0.03
 set g_balance_hlac_primary_spread_add 0.03
@@ -488,6 +492,7 @@ set g_balance_hlac_primary_refire 0.3
 set g_balance_hlac_primary_animtime 0.3
 set g_balance_hlac_primary_ammo 2
 
+set g_balance_hlac_secondary 1
 set g_balance_hlac_secondary_spread 0.05
 set g_balance_hlac_secondary_spread_crouchmod 1
 
index 242a416..4285e36 100644 (file)
@@ -251,10 +251,11 @@ set g_balance_shotgun_primary_damage 3
 set g_balance_shotgun_primary_force 10
 set g_balance_shotgun_primary_spread 0.18
 set g_balance_shotgun_primary_refire 1
-set g_balance_shotgun_primary_animtime 0.5
+set g_balance_shotgun_primary_animtime 0.7
 set g_balance_shotgun_primary_ammo 1
 set g_balance_shotgun_primary_speed 12000
 set g_balance_shotgun_primary_bulletconstant 75 // 3.8qu
+set g_balance_shotgun_secondary 0
 set g_balance_shotgun_secondary_bullets 22
 set g_balance_shotgun_secondary_damage 2
 set g_balance_shotgun_secondary_force 12
@@ -266,11 +267,12 @@ set g_balance_shotgun_secondary_speed 12000
 set g_balance_shotgun_secondary_bulletconstant 75 // 3.8qu
 // }}}
 // {{{ uzi
+set g_balance_uzi_first 0
 set g_balance_uzi_first_damage 10
 set g_balance_uzi_first_force 50
 set g_balance_uzi_first_spread 0.007
 set g_balance_uzi_first_refire 0.15
-set g_balance_uzi_first_ammo 2
+set g_balance_uzi_first_ammo 1
 set g_balance_uzi_sustained_damage 7
 set g_balance_uzi_sustained_force 30
 set g_balance_uzi_sustained_spread 0.02
@@ -280,6 +282,7 @@ set g_balance_uzi_speed 18000
 set g_balance_uzi_bulletconstant 115 // 13.1qu
 // }}}
 // {{{ mortar
+set g_balance_grenadelauncher_primary2secondary 1
 set g_balance_grenadelauncher_primary_damage 60
 set g_balance_grenadelauncher_primary_edgedamage 10
 set g_balance_grenadelauncher_primary_force 250
@@ -291,16 +294,16 @@ set g_balance_grenadelauncher_primary_lifetime 5
 set g_balance_grenadelauncher_primary_refire 0.7
 set g_balance_grenadelauncher_primary_animtime 0.3
 set g_balance_grenadelauncher_primary_ammo 2
-set g_balance_grenadelauncher_secondary_damage 70
+set g_balance_grenadelauncher_secondary_damage 65
 set g_balance_grenadelauncher_secondary_edgedamage 10
-set g_balance_grenadelauncher_secondary_force 250
-set g_balance_grenadelauncher_secondary_radius 150
-set g_balance_grenadelauncher_secondary_speed 1000
+set g_balance_grenadelauncher_secondary_force 300
+set g_balance_grenadelauncher_secondary_radius 200
+set g_balance_grenadelauncher_secondary_speed 800
 set g_balance_grenadelauncher_secondary_speed_up 0
 set g_balance_grenadelauncher_secondary_spread 0
-set g_balance_grenadelauncher_secondary_lifetime 1.33
-set g_balance_grenadelauncher_secondary_refire 0.7
-set g_balance_grenadelauncher_secondary_animtime 0.3
+set g_balance_grenadelauncher_secondary_lifetime 1.5
+set g_balance_grenadelauncher_secondary_refire 0.8
+set g_balance_grenadelauncher_secondary_animtime 0.5
 set g_balance_grenadelauncher_secondary_ammo 2
 set g_balance_grenadelauncher_secondary_health 0
 set g_balance_grenadelauncher_secondary_damageforcescale 0
@@ -315,7 +318,7 @@ set g_balance_electro_primary_speed 2000
 set g_balance_electro_primary_spread 0
 set g_balance_electro_primary_lifetime 5
 set g_balance_electro_primary_refire 0.7
-set g_balance_electro_primary_animtime 0.4
+set g_balance_electro_primary_animtime 0.5
 set g_balance_electro_primary_ammo 2
 set g_balance_electro_secondary_damage 45
 set g_balance_electro_secondary_spread 0.10
@@ -342,15 +345,15 @@ set g_balance_electro_combo_speed 2000
 // }}}
 // {{{ crylink
 set g_balance_crylink_primary_damage 14
-set g_balance_crylink_primary_edgedamage 0
+set g_balance_crylink_primary_edgedamage 14
 set g_balance_crylink_primary_force 30
-set g_balance_crylink_primary_radius 80
+set g_balance_crylink_primary_radius 100
 set g_balance_crylink_primary_speed 7000
 set g_balance_crylink_primary_spread 0.01
 set g_balance_crylink_primary_shots 4
 set g_balance_crylink_primary_bounces 1
 set g_balance_crylink_primary_refire 0.4
-set g_balance_crylink_primary_animtime 0.3
+set g_balance_crylink_primary_animtime 0.4
 set g_balance_crylink_primary_ammo 3
 set g_balance_crylink_primary_bouncedamagefactor 0.5
 
@@ -361,31 +364,30 @@ set g_balance_crylink_primary_star_fadetime 0.25
 set g_balance_crylink_primary_other_lifetime 0.1 // range: 700 full, fades to 2450
 set g_balance_crylink_primary_other_fadetime 0.25
 
-set g_balance_crylink_secondary_damage 6
-set g_balance_crylink_secondary_edgedamage 0
-set g_balance_crylink_secondary_force 60 // todo: probably needs movement nerfing code when hit
-set g_balance_crylink_secondary_radius 850
-set g_balance_crylink_secondary_speed 3000
-set g_balance_crylink_secondary_spread 0.02
+set g_balance_crylink_secondary 0
+set g_balance_crylink_secondary_damage 8
+set g_balance_crylink_secondary_edgedamage 8
+set g_balance_crylink_secondary_force -40
+set g_balance_crylink_secondary_radius 10
+set g_balance_crylink_secondary_speed 4000
+set g_balance_crylink_secondary_spread 0.01
 set g_balance_crylink_secondary_shots 3
 set g_balance_crylink_secondary_bounces 0
-set g_balance_crylink_secondary_refire 0.066
-set g_balance_crylink_secondary_animtime 0.066
-set g_balance_crylink_secondary_ammo 0.66
+set g_balance_crylink_secondary_refire 0.1
+set g_balance_crylink_secondary_animtime 0.1
+set g_balance_crylink_secondary_ammo 1
 set g_balance_crylink_secondary_bouncedamagefactor 0.5
 
 set g_balance_crylink_secondary_middle_lifetime 5 // range: 35000 full, fades to 70000
 set g_balance_crylink_secondary_middle_fadetime 5
 set g_balance_crylink_secondary_line_lifetime 2 // range: 35000 full, fades to 70000
 set g_balance_crylink_secondary_line_fadetime 2
-
-set g_balance_crylink_secondary_lightning 1
 // }}}
 // {{{ nex
 set g_balance_nex_damage 100
 set g_balance_nex_force 200
 set g_balance_nex_refire 1.25
-set g_balance_nex_animtime 0.5
+set g_balance_nex_animtime 0.8
 set g_balance_nex_ammo 5
 set g_balance_nex_damagefalloff_mindist 1000
 set g_balance_nex_damagefalloff_maxdist 3000
@@ -408,13 +410,13 @@ set g_balance_hagar_primary_lifetime 5
 set g_balance_hagar_primary_refire 0.1
 set g_balance_hagar_primary_ammo 1
 set g_balance_hagar_secondary_damage 11
-set g_balance_hagar_secondary_edgedamage 11
+set g_balance_hagar_secondary_edgedamage 4
 set g_balance_hagar_secondary_force 60
 set g_balance_hagar_secondary_radius 70
-set g_balance_hagar_secondary_spread 0.2
+set g_balance_hagar_secondary_spread 0.05
 set g_balance_hagar_secondary_speed 1800
-set g_balance_hagar_secondary_lifetime_min 0.1
-set g_balance_hagar_secondary_lifetime_rand 0.05
+set g_balance_hagar_secondary_lifetime_min 5
+set g_balance_hagar_secondary_lifetime_rand 0
 set g_balance_hagar_secondary_refire 0.1
 set g_balance_hagar_secondary_ammo 1
 // }}}
@@ -428,16 +430,16 @@ set g_balance_rocketlauncher_speedaccel 0
 set g_balance_rocketlauncher_speedstart 1000
 set g_balance_rocketlauncher_lifetime 10
 set g_balance_rocketlauncher_refire 0.9
-set g_balance_rocketlauncher_animtime 0.4
+set g_balance_rocketlauncher_animtime 0.7
 set g_balance_rocketlauncher_ammo 3
 set g_balance_rocketlauncher_health 0
 set g_balance_rocketlauncher_damageforcescale 0
 set g_balance_rocketlauncher_detonatedelay -1 // positive: timer till detonation is allowed, negative: "security device" that prevents ANY remote detonation if it could hurt its owner, zero: detonatable at any time
-set g_balance_rocketlauncher_guiderate 80 // max degrees per second
+set g_balance_rocketlauncher_guiderate 0 // max degrees per second
 set g_balance_rocketlauncher_guideratedelay 0.01 // immediate
 set g_balance_rocketlauncher_guidegoal 512 // goal distance for (non-laser) guiding (higher = less control, lower = erratic)
 set g_balance_rocketlauncher_guidedelay 0.15 // delay before guiding kicks in
-set g_balance_rocketlauncher_guidestop 0 // stop guiding when firing again
+set g_balance_rocketlauncher_guidestop 1 // stop guiding when firing again
 set g_balance_rocketlauncher_laserguided_speed 1000 //650
 set g_balance_rocketlauncher_laserguided_speedaccel 0
 set g_balance_rocketlauncher_laserguided_speedstart 1000
@@ -473,22 +475,26 @@ set g_balance_hook_secondary_power 3 // effect behaves like a square function
 set g_balance_hook_secondary_duration 1.5 // effect runs for three seconds
 // }}}
 // {{{ hlac
+
+set g_balance_hlac_primary_lightning 1
+
 set g_balance_hlac_primary_spread_min 0.01
 set g_balance_hlac_primary_spread_max 0.03
 set g_balance_hlac_primary_spread_add 0.002
 set g_balance_hlac_primary_spread_crouchmod 0.5
 
-set g_balance_hlac_primary_damage 18
+set g_balance_hlac_primary_damage 6
 set g_balance_hlac_primary_edgedamage 0
-set g_balance_hlac_primary_force 30
-set g_balance_hlac_primary_radius 70
-set g_balance_hlac_primary_speed 20000
-set g_balance_hlac_primary_lifetime 5
+set g_balance_hlac_primary_force 60 // todo: probably needs movement nerfing code when hit
+set g_balance_hlac_primary_radius 850
+set g_balance_hlac_primary_speed 0
+set g_balance_hlac_primary_lifetime 0
 
-set g_balance_hlac_primary_refire 0.132
-set g_balance_hlac_primary_animtime 0.132
-set g_balance_hlac_primary_ammo 1
+set g_balance_hlac_primary_refire 0.066
+set g_balance_hlac_primary_animtime 0.066
+set g_balance_hlac_primary_ammo 0.066
 
+set g_balance_hlac_secondary 0
 set g_balance_hlac_secondary_spread 0.06
 set g_balance_hlac_secondary_spread_crouchmod 0.5
 
index 6481b6f..18a9ea9 100644 (file)
@@ -255,6 +255,7 @@ set g_balance_shotgun_primary_animtime 0.2
 set g_balance_shotgun_primary_ammo 1
 set g_balance_shotgun_primary_speed 8000
 set g_balance_shotgun_primary_bulletconstant 75 // 3.8qu
+set g_balance_shotgun_secondary 1
 set g_balance_shotgun_secondary_bullets 6
 set g_balance_shotgun_secondary_damage 8
 set g_balance_shotgun_secondary_force 0
@@ -266,6 +267,7 @@ set g_balance_shotgun_secondary_speed 8000
 set g_balance_shotgun_secondary_bulletconstant 75 // 3.8qu
 // }}}
 // {{{ uzi
+set g_balance_uzi_first 1
 set g_balance_uzi_first_damage 12
 set g_balance_uzi_first_force 0
 set g_balance_uzi_first_spread 0.015
@@ -280,6 +282,7 @@ set g_balance_uzi_speed 18000
 set g_balance_uzi_bulletconstant 115 // 13.1qu
 // }}}
 // {{{ mortar
+set g_balance_grenadelauncher_primary2secondary 0
 set g_balance_grenadelauncher_primary_damage 50
 set g_balance_grenadelauncher_primary_edgedamage 38
 set g_balance_grenadelauncher_primary_force 400
@@ -361,6 +364,7 @@ set g_balance_crylink_primary_star_fadetime 0.25
 set g_balance_crylink_primary_other_lifetime 0.1 // range: 700 full, fades to 2450
 set g_balance_crylink_primary_other_fadetime 0.25
 
+set g_balance_crylink_secondary 1
 set g_balance_crylink_secondary_damage 10
 set g_balance_crylink_secondary_edgedamage 0
 set g_balance_crylink_secondary_force -40
@@ -378,8 +382,6 @@ set g_balance_crylink_secondary_middle_lifetime 5 // range: 35000 full, fades to
 set g_balance_crylink_secondary_middle_fadetime 5
 set g_balance_crylink_secondary_line_lifetime 2 // range: 35000 full, fades to 70000
 set g_balance_crylink_secondary_line_fadetime 2
-
-set g_balance_crylink_secondary_lightning 0
 // }}}
 // {{{ nex
 set g_balance_nex_damage 90
@@ -473,6 +475,8 @@ set g_balance_hook_secondary_power 3 // effect behaves like a square function
 set g_balance_hook_secondary_duration 1.5 // effect runs for three seconds
 // }}}
 // {{{ hlac
+set g_balance_hlac_primary_lightning 0
+
 set g_balance_hlac_primary_spread_min 0.01
 set g_balance_hlac_primary_spread_max 0.25
 set g_balance_hlac_primary_spread_add 0.0045
@@ -489,6 +493,7 @@ set g_balance_hlac_primary_refire 0.1
 set g_balance_hlac_primary_animtime 0.4
 set g_balance_hlac_primary_ammo 1
 
+set g_balance_hlac_secondary 1
 set g_balance_hlac_secondary_spread 0.15
 set g_balance_hlac_secondary_spread_crouchmod 0.5
 
index a7bc0bc..0119c50 100644 (file)
@@ -176,21 +176,6 @@ void W_Crylink_Attack2 (void)
        }
 }
 
-// experimental lightning gun
-void W_Crylink_Attack3 (void)
-{
-       if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
-               self.ammo_cells = self.ammo_cells - cvar("g_balance_crylink_secondary_ammo");
-       W_SetupShot (self, TRUE, 0, "weapons/crylink_fire2.wav", cvar("g_balance_crylink_secondary_damage"));
-
-       traceline_antilag(self, w_shotorg, w_shotorg + w_shotdir * cvar("g_balance_crylink_secondary_radius"), FALSE, self, ANTILAG_LATENCY(self));
-
-       te_lightning1(self, w_shotorg, trace_endpos);
-
-       if (trace_fraction < 1)
-               Damage(trace_ent, self, self, cvar("g_balance_crylink_secondary_damage"), WEP_CRYLINK | HITTYPE_SECONDARY, trace_endpos, cvar("g_balance_crylink_secondary_force") * w_shotdir);
-}
-
 void spawnfunc_weapon_crylink (void)
 {
        weapon_defaultspawnfunc(WEP_CRYLINK);
@@ -216,10 +201,7 @@ float w_crylink(float req)
                if (self.BUTTON_ATCK2)
                if (weapon_prepareattack(1, cvar("g_balance_crylink_secondary_refire")))
                {
-                       if(cvar("g_balance_crylink_secondary_lightning"))
-                               W_Crylink_Attack3();
-                       else
-                               W_Crylink_Attack2();
+                       W_Crylink_Attack2();
                        weapon_thinkf(WFRAME_FIRE2, cvar("g_balance_crylink_secondary_animtime"), w_ready);
                }
        }
index a9e8a6b..80b7020 100644 (file)
@@ -182,10 +182,13 @@ float w_glauncher(float req)
                if (self.BUTTON_ATCK)
                if (weapon_prepareattack(0, cvar("g_balance_grenadelauncher_primary_refire")))
                {
-                       W_Grenade_Attack();
+                       if(cvar("g_balance_grenadelauncher_primary2secondary"))
+                               W_Grenade_Attack2();
+                       else
+                               W_Grenade_Attack();
                        weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_grenadelauncher_primary_animtime"), w_ready);
                }
-               if (self.BUTTON_ATCK2)
+               if (self.BUTTON_ATCK2 && !cvar("g_balance_grenadelauncher_primary2secondary"))
                if (weapon_prepareattack(1, cvar("g_balance_grenadelauncher_secondary_refire")))
                {
                        W_Grenade_Attack2();
index a96aa66..ddd929f 100644 (file)
@@ -136,6 +136,20 @@ void W_HLAC_Attack2 (void)
        }
 }
 
+// experimental lightning gun
+void W_HLAC_Attack3 (void)
+{
+       if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
+               self.ammo_cells = self.ammo_cells - cvar("g_balance_hlac_primary_ammo");
+       W_SetupShot (self, TRUE, 0, "weapons/crylink_fire2.wav", cvar("g_balance_hlac_primary_damage"));
+
+       traceline_antilag(self, w_shotorg, w_shotorg + w_shotdir * cvar("g_balance_hlac_primary_radius"), FALSE, self, ANTILAG_LATENCY(self));
+
+       te_lightning1(self, w_shotorg, trace_endpos);
+
+       if (trace_fraction < 1)
+               Damage(trace_ent, self, self, cvar("g_balance_hlac_primary_damage"), WEP_HLAC | HITTYPE_SECONDARY, trace_endpos, cvar("g_balance_hlac_primary_force") * w_shotdir);
+}
 
 // weapon frames
 void HLAC_fire1_02()
@@ -181,11 +195,14 @@ float w_hlac(float req)
                if (weapon_prepareattack(0, cvar("g_balance_hlac_primary_refire")))
                {
                        self.HLAC_bulletcounter = 0;
-                       W_HLAC_Attack();
+                       if(cvar("g_balance_hlac_primary_lightning"))
+                               W_HLAC_Attack3();
+                       else
+                               W_HLAC_Attack();
                        weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_hlac_primary_refire"), HLAC_fire1_02);
                }
 
-               if (self.BUTTON_ATCK2)
+               if (self.BUTTON_ATCK2 && cvar("g_balance_hlac_secondary"))
                if (weapon_prepareattack(1, cvar("g_balance_hlac_secondary_refire")))
                {
                        W_HLAC_Attack2();
index a65dd50..71451aa 100644 (file)
@@ -117,7 +117,7 @@ float w_shotgun(float req)
                        W_Shotgun_Attack();
                        weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_shotgun_primary_animtime"), w_ready);
                }
-               if (self.BUTTON_ATCK2)
+               if (self.BUTTON_ATCK2 && cvar("g_balance_shotgun_secondary"))
                if (weapon_prepareattack(1, cvar("g_balance_shotgun_secondary_refire")))
                {
                        W_Shotgun_Attack2();
index c519b2d..ddec0e8 100644 (file)
@@ -103,7 +103,7 @@ float w_uzi(float req)
                        W_Uzi_Attack(WEP_UZI); // sets attack_finished
                        weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_uzi_sustained_refire"), uzi_fire1_02);
                }
-               if (self.BUTTON_ATCK2)
+               if (self.BUTTON_ATCK2 && cvar("g_balance_uzi_first"))
                if (weapon_prepareattack(1, 0))
                {
                        self.uzi_bulletcounter = 1;