Merge branch 'master' into fruitiex/fruitbalance
authorRudolf Polzer <divverent@alientrap.org>
Sun, 18 Jul 2010 14:59:44 +0000 (16:59 +0200)
committerRudolf Polzer <divverent@alientrap.org>
Sun, 18 Jul 2010 14:59:44 +0000 (16:59 +0200)
12 files changed:
balance.cfg
balance25.cfg
balanceFruit.cfg
balanceSamual.cfg
balanceXPM.cfg
defaultXPM.cfg
effectinfo.txt
qcsrc/server/autocvars.qh
qcsrc/server/w_electro.qc
qcsrc/server/w_grenadelauncher.qc
qcsrc/server/w_laser.qc
qcsrc/server/w_rocketlauncher.qc

index 156b69aed586e61776ebd45bc3dc5ee7035f6e99..df2ada6fda0802d72512fc65508a71137f5f4aee 100644 (file)
@@ -269,6 +269,7 @@ set g_balance_uzi_bulletconstant 115 // 13.1qu
 // }}}
 // {{{ mortar
 set g_balance_grenadelauncher_primary2secondary 0
+set g_balance_grenadelauncher_primary_sticky 0
 set g_balance_grenadelauncher_primary_damage 70
 set g_balance_grenadelauncher_primary_edgedamage 38
 set g_balance_grenadelauncher_primary_force 400
@@ -278,9 +279,11 @@ 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 30
+set g_balance_grenadelauncher_primary_lifetime2 1
 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_damage 70
 set g_balance_grenadelauncher_secondary_edgedamage 38
 set g_balance_grenadelauncher_secondary_force 400
@@ -438,6 +441,10 @@ set g_balance_rocketlauncher_laserguided_speedaccel 0
 set g_balance_rocketlauncher_laserguided_speedstart 1000
 set g_balance_rocketlauncher_laserguided_turnrate 0.75 //0.5
 set g_balance_rocketlauncher_laserguided_allow_steal 1
+set g_balance_rocketlauncher_remote_damage 105
+set g_balance_rocketlauncher_remote_edgedamage 40
+set g_balance_rocketlauncher_remote_radius 150
+set g_balance_rocketlauncher_remote_force 600
 // }}}
 // {{{ porto
 set g_balance_porto_primary_refire 1.5
index a4369249fad75c47203fb17c752354c91dcf8677..33a367e6f7aadef48514f77961f6aa75de6d4516 100644 (file)
@@ -269,6 +269,7 @@ set g_balance_uzi_bulletconstant 115 // 13.1qu
 // }}}
 // {{{ mortar
 set g_balance_grenadelauncher_primary2secondary 0
+set g_balance_grenadelauncher_primary_sticky 0
 set g_balance_grenadelauncher_primary_damage 70
 set g_balance_grenadelauncher_primary_edgedamage 38
 set g_balance_grenadelauncher_primary_force 400
@@ -278,9 +279,11 @@ 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 30
+set g_balance_grenadelauncher_primary_lifetime2 1
 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_damage 70
 set g_balance_grenadelauncher_secondary_edgedamage 38
 set g_balance_grenadelauncher_secondary_force 400
@@ -438,6 +441,10 @@ set g_balance_rocketlauncher_laserguided_speedaccel 0
 set g_balance_rocketlauncher_laserguided_speedstart 1000
 set g_balance_rocketlauncher_laserguided_turnrate 0.75 //0.5
 set g_balance_rocketlauncher_laserguided_allow_steal 1
+set g_balance_rocketlauncher_remote_damage 105
+set g_balance_rocketlauncher_remote_edgedamage 40
+set g_balance_rocketlauncher_remote_radius 150
+set g_balance_rocketlauncher_remote_force 600
 // }}}
 // {{{ porto
 set g_balance_porto_primary_refire 1.5
index 415a45808426df32717ab3684ff11492f19b0cc4..b09fc45fbc7412667708927e76f6b3e988217809 100644 (file)
@@ -1,7 +1,7 @@
 // {{{ starting gear
 set g_start_weapon_laser -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
-set g_start_weapon_shotgun -2 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
-set g_start_weapon_uzi 1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+set g_start_weapon_shotgun -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+set g_start_weapon_uzi -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
 set g_start_weapon_grenadelauncher -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
 set g_start_weapon_electro -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
 set g_start_weapon_crylink -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
@@ -18,8 +18,8 @@ set g_start_weapon_fireball 0 "0 = never provide the weapon, 1 = always provide
 set g_start_weapon_seeker 0 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
 set g_balance_health_start 125
 set g_balance_armor_start 0
-set g_start_ammo_shells 0
-set g_start_ammo_nails 90
+set g_start_ammo_shells 20
+set g_start_ammo_nails 0
 set g_start_ammo_rockets 0
 set g_start_ammo_cells 0
 set g_start_ammo_fuel 0
@@ -56,8 +56,8 @@ set g_pickup_ammo_anyway 1
 set g_pickup_weapons_anyway 1
 set g_pickup_shells 15
 set g_pickup_shells_max 100
-set g_pickup_nails 80
-set g_pickup_nails_max 400
+set g_pickup_nails 150
+set g_pickup_nails_max 300
 set g_pickup_rockets 15
 set g_pickup_rockets_max 200
 set g_pickup_cells 25
@@ -139,7 +139,7 @@ set g_balance_fuel_limit 999
 
 // {{{ misc
 set g_balance_selfdamagepercent 0.65
-set g_balance_weaponswitchdelay 0.15
+set g_balance_weaponswitchdelay 0.1
 set g_weaponspeedfactor 1 "weapon projectile speed multiplier"
 set g_weaponratefactor 1 "weapon fire rate multiplier"
 set g_weapondamagefactor 1 "weapon damage multiplier"
@@ -149,7 +149,7 @@ set g_balance_firetransfer_time 0.9
 set g_balance_firetransfer_damage 0.8
 set g_throughfloor_damage 0.5
 set g_throughfloor_force 0.7
-set g_projectiles_newton_style 2
+set g_projectiles_newton_style 0
 // possible values:
 // 0: absolute velocity projectiles (like Quake)
 // 1: relative velocity projectiles, "Newtonian" (like Tribes 2)
@@ -206,14 +206,14 @@ set g_balance_grapplehook_health 130
 
 // {{{ weapon properties
 // {{{ laser
-set g_balance_laser_primary_damage 22
+set g_balance_laser_primary_damage 10
 set g_balance_laser_primary_edgedamage 0
-set g_balance_laser_primary_force 200
-set g_balance_laser_primary_radius 60
+set g_balance_laser_primary_force 75
+set g_balance_laser_primary_radius 10
 set g_balance_laser_primary_speed 0
 set g_balance_laser_primary_spread 0
-set g_balance_laser_primary_refire 0.1
-set g_balance_laser_primary_animtime 0.1
+set g_balance_laser_primary_refire 0.066
+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
@@ -226,22 +226,22 @@ set g_balance_laser_secondary_radius 70
 set g_balance_laser_secondary_speed 9000
 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_animtime 0
 set g_balance_laser_secondary_lifetime 30
 set g_balance_laser_secondary_shotangle 0
 set g_balance_laser_secondary_delay 0
 // }}}
 // {{{ shotgun
-set g_balance_shotgun_primary_bullets 15
-set g_balance_shotgun_primary_damage 7
+set g_balance_shotgun_primary_bullets 16
+set g_balance_shotgun_primary_damage 4
 set g_balance_shotgun_primary_force 20
 set g_balance_shotgun_primary_spread 0.16
 set g_balance_shotgun_primary_refire 1
-set g_balance_shotgun_primary_animtime 0.7
+set g_balance_shotgun_primary_animtime 0.4
 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 0
 set g_balance_shotgun_secondary_bullets 6 // one more per shot than 15/3 (primary bullets/amount of shots = 3)
 set g_balance_shotgun_secondary_damage 7
 set g_balance_shotgun_secondary_force 20
@@ -254,44 +254,47 @@ set g_balance_shotgun_secondary_bulletconstant 75 // 3.8qu
 // }}}
 // {{{ uzi
 set g_balance_uzi_first 1
-set g_balance_uzi_first_damage 24
-set g_balance_uzi_first_force 30
-set g_balance_uzi_first_spread 0.0125
+set g_balance_uzi_first_damage 18
+set g_balance_uzi_first_force 35
+set g_balance_uzi_first_spread 0.03
 set g_balance_uzi_first_refire 0.2
-set g_balance_uzi_first_ammo 1
-set g_balance_uzi_sustained_damage 12
-set g_balance_uzi_sustained_force 20
-set g_balance_uzi_sustained_spread 0.0125
-set g_balance_uzi_sustained_refire 0.1
+set g_balance_uzi_first_ammo 2
+set g_balance_uzi_sustained_damage 10
+set g_balance_uzi_sustained_force 7.5
+set g_balance_uzi_sustained_spread 0.1
+set g_balance_uzi_sustained_refire 0.075
 set g_balance_uzi_sustained_ammo 1
 set g_balance_uzi_speed 18000
 set g_balance_uzi_bulletconstant 115 // 13.1qu
 // }}}
 // {{{ mortar // TODO
 set g_balance_grenadelauncher_primary2secondary 0
-set g_balance_grenadelauncher_primary_damage 60
-set g_balance_grenadelauncher_primary_edgedamage 28
-set g_balance_grenadelauncher_primary_force 200
-set g_balance_grenadelauncher_primary_radius 140
-set g_balance_grenadelauncher_primary_speed 1200
-set g_balance_grenadelauncher_primary_speed_up 200
-set g_balance_grenadelauncher_primary_speed_z 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 240
+set g_balance_grenadelauncher_primary_speed 1000
+set g_balance_grenadelauncher_primary_speed_up 0
+set g_balance_grenadelauncher_primary_speed_z 200
 set g_balance_grenadelauncher_primary_spread 0
-set g_balance_grenadelauncher_primary_lifetime 10
+set g_balance_grenadelauncher_primary_lifetime 5
+set g_balance_grenadelauncher_primary_lifetime2 1
 set g_balance_grenadelauncher_primary_refire 0.8
-set g_balance_grenadelauncher_primary_animtime 0.5
+set g_balance_grenadelauncher_primary_animtime 0.2
 set g_balance_grenadelauncher_primary_ammo 2
-set g_balance_grenadelauncher_secondary_damage 65
+set g_balance_grenadelauncher_primary_health 25
+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 200
-set g_balance_grenadelauncher_secondary_speed 800
+set g_balance_grenadelauncher_secondary_speed 600
 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 2
+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_animtime 0.2
 set g_balance_grenadelauncher_secondary_ammo 2
 set g_balance_grenadelauncher_secondary_health 0
 set g_balance_grenadelauncher_secondary_damageforcescale 0
@@ -299,18 +302,21 @@ set g_balance_grenadelauncher_secondary_bouncefactor 0.5
 set g_balance_grenadelauncher_secondary_bouncestop 0.075
 // }}}
 // {{{ electro // TODO
-set g_balance_electro_lightning 0
-set g_balance_electro_primary_damage 65
+set g_balance_electro_lightning 1
+set g_balance_electro_primary_damage 2
 set g_balance_electro_primary_edgedamage 0
-set g_balance_electro_primary_force 200
-set g_balance_electro_primary_radius 150
+set g_balance_electro_primary_force 13
+set g_balance_electro_primary_force_up 100
+set g_balance_electro_primary_radius 850
 set g_balance_electro_primary_comboradius 0
-set g_balance_electro_primary_speed 2000
+set g_balance_electro_primary_speed 0
 set g_balance_electro_primary_spread 0
-set g_balance_electro_primary_lifetime 30
-set g_balance_electro_primary_refire 0.6
-set g_balance_electro_primary_animtime 0.3
-set g_balance_electro_primary_ammo 2
+set g_balance_electro_primary_lifetime 0
+set g_balance_electro_primary_refire 0
+set g_balance_electro_primary_animtime 0
+set g_balance_electro_primary_ammo 0.66
+set g_balance_electro_primary_range 800
+set g_balance_electro_primary_velocityfactor 0.75
 set g_balance_electro_secondary_damage 50
 set g_balance_electro_secondary_spread 0.05
 set g_balance_electro_secondary_edgedamage 0
@@ -336,38 +342,38 @@ set g_balance_electro_combo_comboradius 0
 set g_balance_electro_combo_speed 2000
 // }}}
 // {{{ crylink
-set g_balance_crylink_primary_damage 18
+set g_balance_crylink_primary_damage 10
 set g_balance_crylink_primary_edgedamage 0
-set g_balance_crylink_primary_force -80
+set g_balance_crylink_primary_force 25
 set g_balance_crylink_primary_radius 100
-set g_balance_crylink_primary_speed 2000
-set g_balance_crylink_primary_spread 0.03
-set g_balance_crylink_primary_shots 4
+set g_balance_crylink_primary_speed 1100
+set g_balance_crylink_primary_spread 0.1
+set g_balance_crylink_primary_shots 7
 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_refire 0.8
+set g_balance_crylink_primary_animtime 0.4
 set g_balance_crylink_primary_ammo 2
 set g_balance_crylink_primary_bouncedamagefactor 0.5
 
 set g_balance_crylink_primary_middle_lifetime 5 // range: 10000 full, fades to 20000
 set g_balance_crylink_primary_middle_fadetime 5
-set g_balance_crylink_primary_star_lifetime 0.4 // range: 800 full, fades to 1300
+set g_balance_crylink_primary_star_lifetime 0.8 // range: 800 full, fades to 1300
 set g_balance_crylink_primary_star_fadetime 0.25
-set g_balance_crylink_primary_other_lifetime 0.4 // range: 800 full, fades to 1300
+set g_balance_crylink_primary_other_lifetime 0.8 // range: 800 full, fades to 1300
 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_damage 4
 set g_balance_crylink_secondary_edgedamage 0
-set g_balance_crylink_secondary_force -80
-set g_balance_crylink_secondary_radius 5
-set g_balance_crylink_secondary_speed 2000
-set g_balance_crylink_secondary_spread 0.04
-set g_balance_crylink_secondary_shots 7
+set g_balance_crylink_secondary_force 16
+set g_balance_crylink_secondary_radius 15
+set g_balance_crylink_secondary_speed 1600
+set g_balance_crylink_secondary_spread 0.03
+set g_balance_crylink_secondary_shots 3
 set g_balance_crylink_secondary_bounces 0
-set g_balance_crylink_secondary_refire 0.5
-set g_balance_crylink_secondary_animtime 0.3
-set g_balance_crylink_secondary_ammo 2
+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: 10000 full, fades to 10000
@@ -392,25 +398,25 @@ set g_balance_minstanex_animtime 1
 set g_balance_minstanex_ammo 10
 // }}}
 // {{{ hagar
-set g_balance_hagar_primary_damage 30
-set g_balance_hagar_primary_edgedamage 15
+set g_balance_hagar_primary_damage 12
+set g_balance_hagar_primary_edgedamage 12
 set g_balance_hagar_primary_force 70
-set g_balance_hagar_primary_radius 50
-set g_balance_hagar_primary_spread 0.005
-set g_balance_hagar_primary_speed 2000
+set g_balance_hagar_primary_radius 70
+set g_balance_hagar_primary_spread 0.1
+set g_balance_hagar_primary_speed 1800
 set g_balance_hagar_primary_lifetime 30
-set g_balance_hagar_primary_refire 0.13
+set g_balance_hagar_primary_refire 0.12
 set g_balance_hagar_primary_ammo 1
 set g_balance_hagar_secondary 1
-set g_balance_hagar_secondary_damage 30
-set g_balance_hagar_secondary_edgedamage 15
+set g_balance_hagar_secondary_damage 12
+set g_balance_hagar_secondary_edgedamage 12
 set g_balance_hagar_secondary_force 70
 set g_balance_hagar_secondary_radius 50
-set g_balance_hagar_secondary_spread 0.01
-set g_balance_hagar_secondary_speed 1400
+set g_balance_hagar_secondary_spread 0.15
+set g_balance_hagar_secondary_speed 1800
 set g_balance_hagar_secondary_lifetime_min 30
 set g_balance_hagar_secondary_lifetime_rand 0
-set g_balance_hagar_secondary_refire 0.13
+set g_balance_hagar_secondary_refire 0.12
 set g_balance_hagar_secondary_ammo 1
 // }}}
 // {{{ rocketlauncher // TODO
@@ -423,11 +429,11 @@ set g_balance_rocketlauncher_speedaccel 0
 set g_balance_rocketlauncher_speedstart 1000
 set g_balance_rocketlauncher_lifetime 30
 set g_balance_rocketlauncher_refire 1
-set g_balance_rocketlauncher_animtime 0.3
+set g_balance_rocketlauncher_animtime 0.2
 set g_balance_rocketlauncher_ammo 3
 set g_balance_rocketlauncher_health 0
 set g_balance_rocketlauncher_damageforcescale 0
-set g_balance_rocketlauncher_detonatedelay 9999 // 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_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 45 // 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)
@@ -438,6 +444,10 @@ set g_balance_rocketlauncher_laserguided_speedaccel 0
 set g_balance_rocketlauncher_laserguided_speedstart 1000
 set g_balance_rocketlauncher_laserguided_turnrate 0.75 //0.5
 set g_balance_rocketlauncher_laserguided_allow_steal 1
+set g_balance_rocketlauncher_remote_damage 50
+set g_balance_rocketlauncher_remote_edgedamage 16.5
+set g_balance_rocketlauncher_remote_radius 120
+set g_balance_rocketlauncher_remote_force 350
 // }}}
 // {{{ porto
 set g_balance_porto_primary_refire 1.5
@@ -505,7 +515,7 @@ set g_balance_campingrifle_magazinecapacity 8
 set g_balance_campingrifle_reloadtime 2 // matches reload anim
 set g_balance_campingrifle_auto_reload_after_changing_weapons 0
 set g_balance_campingrifle_bursttime 0
-set g_balance_campingrifle_tracer 0
+set g_balance_campingrifle_tracer 1
 set g_balance_campingrifle_primary_damage 60
 set g_balance_campingrifle_primary_headshotaddeddamage 100
 set g_balance_campingrifle_primary_spread 0
index 21242f16f0364632fbd0eaeb42bf0fba6d854283..02aac1996ab61fbbef328e77676bec681ad55188 100644 (file)
@@ -269,6 +269,7 @@ set g_balance_uzi_bulletconstant 115 // 13.1qu
 // }}}
 // {{{ mortar
 set g_balance_grenadelauncher_primary2secondary 0
+set g_balance_grenadelauncher_primary_sticky 0
 set g_balance_grenadelauncher_primary_damage 50
 set g_balance_grenadelauncher_primary_edgedamage 38
 set g_balance_grenadelauncher_primary_force 400
@@ -278,9 +279,11 @@ set g_balance_grenadelauncher_primary_speed_up 220
 set g_balance_grenadelauncher_primary_speed_z 0
 set g_balance_grenadelauncher_primary_spread 0
 set g_balance_grenadelauncher_primary_lifetime 30
+set g_balance_grenadelauncher_primary_lifetime2 1
 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_damage 60
 set g_balance_grenadelauncher_secondary_edgedamage 38
 set g_balance_grenadelauncher_secondary_force 400
@@ -438,6 +441,10 @@ set g_balance_rocketlauncher_laserguided_speedaccel 0
 set g_balance_rocketlauncher_laserguided_speedstart 1000
 set g_balance_rocketlauncher_laserguided_turnrate 0.75 //0.5
 set g_balance_rocketlauncher_laserguided_allow_steal 1
+set g_balance_rocketlauncher_remote_damage 80
+set g_balance_rocketlauncher_remote_edgedamage 40
+set g_balance_rocketlauncher_remote_radius 100
+set g_balance_rocketlauncher_remote_force 600
 // }}}
 // {{{ porto
 set g_balance_porto_primary_refire 1.5
index bb0416a3418daac9523bfc87c806ba0c4054d29c..39410ceb0d8c66d123358d41980c5ddf8df91fdc 100644 (file)
@@ -270,6 +270,7 @@ set g_balance_uzi_bulletconstant 115 // 13.1qu
 // }}}
 // {{{ mortar
 set g_balance_grenadelauncher_primary2secondary 1
+set g_balance_grenadelauncher_primary_sticky 0
 set g_balance_grenadelauncher_primary_damage 60
 set g_balance_grenadelauncher_primary_edgedamage 10
 set g_balance_grenadelauncher_primary_force 250
@@ -279,9 +280,11 @@ 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 1
 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_primary_health 25
 set g_balance_grenadelauncher_secondary_damage 65
 set g_balance_grenadelauncher_secondary_edgedamage 10
 set g_balance_grenadelauncher_secondary_force 300
@@ -439,6 +442,10 @@ set g_balance_rocketlauncher_laserguided_speedaccel 0
 set g_balance_rocketlauncher_laserguided_speedstart 1000
 set g_balance_rocketlauncher_laserguided_turnrate 0.75 //0.5
 set g_balance_rocketlauncher_laserguided_allow_steal 1
+set g_balance_rocketlauncher_remote_damage 90
+set g_balance_rocketlauncher_remote_edgedamage 30
+set g_balance_rocketlauncher_remote_radius 110
+set g_balance_rocketlauncher_remote_force 350
 // }}}
 // {{{ porto
 set g_balance_porto_primary_refire 1.5
index f480e22215a7ee43a9480584136a1f1f5a6b929b..3141a2409ce510d4a63d3de22a394148ea003a72 100644 (file)
@@ -19,5 +19,26 @@ set g_weaponreplace_fireball 0
 set g_weaponreplace_seeker 0
 set sv_q3acompat_machineshotgunswap 0
 
+// other options
+set sv_fragmessage_information_ping 1
+set sv_fragmessage_information_handicap 2
+set sv_fragmessage_information_stats 1
+set sv_fragmessage_information_typefrag 1
+
+set sv_defaultcharacter 1
+set sv_defaultplayermodel "models/player/nyx.iqm"
+set sv_defaultplayercolors 60 // force some visible color for now
+
+set g_jump_grunt 1
+set g_footsteps 1
+set g_shootfromcenter 1
+set g_fullbrightplayers 1 // until all models are visible with this set to 0
+set g_forced_respawn 1
+set g_mirrordamage 0
+set g_friendlyfire 1
+
+set timelimit_overtimes 1
+set timelimit_override 15 // for now, maybe not in future
+
 exec physicsXPM.cfg
-exec balanceXPM.cfg
+exec balanceFruit.cfg
index 53926a7a0b203cb37859fb8cc5a92443d0d15ee1..9f98d6af50f9585ea538cbafaac59c6db2dc53f8 100644 (file)
@@ -4743,19 +4743,82 @@ alpha 100 100 500
 // based off morphed's cl_gentle
 // used in qcsrc/server/w_laser.qc
 effect laser_gauntlet
+count 3
+type spark
+color 0xb44215 0x880000
 tex 43 43
-count 1.5
+size 7 10
+alpha 128 512 6280
+airfriction 10
+originjitter 2 2 2
+velocityjitter 150 150 150
+velocitymultiplier 0.2
+sizeincrease -100
+stretchfactor 2.3
+rotate -180 180 4000 -4000
+
+effect laser_gauntlet
+count 6
 type spark
-color 0xff00ff 0xff0000
-size 4 8
-sizeincrease 34
-alpha 128 128 292
-gravity 0
-airfriction 5
-liquidfriction 10
-velocityjitter 50 50 50
+color 0xff4200 0xff0000
+tex 8 15
+size 7 9
+alpha 256 512 6280
+airfriction 12
+originjitter 2 2 2
+velocityjitter 100 100 100
+velocitymultiplier 0.2
+sizeincrease -100
+stretchfactor 2
+
+
+// muzzle flash
+effect laser_gauntletmuzzleflash
+// glow and light
+countabsolute 1
+type smoke
+color 0x220000 0x880000
+tex 65 65
+size 10 15
+alpha 256 512 6280
+airfriction 10
+sizeincrease -100
+stretchfactor 2
+lightradius 150
+lightradiusfade 500
+lightcolor 3 0.1 0.1
+// electricity
+effect laser_gauntletmuzzleflash
+count 3
+type spark
+color 0xb44215 0x880000
+tex 43 43
+size 7 10
+alpha 128 512 6280
+airfriction 10
+originjitter 2 2 2
+velocityjitter 150 150 150
+velocitymultiplier 0.2
+sizeincrease -100
+stretchfactor 2.3
+rotate -180 180 4000 -4000
 
 
+// fire
+effect laser_gauntletmuzzleflash
+count 6
+type spark
+color 0xff4200 0xff0000
+tex 8 15
+size 7 9
+alpha 256 512 6280
+airfriction 12
+originjitter 2 2 2
+velocityjitter 100 100 100
+velocitymultiplier 0.2
+sizeincrease -100
+stretchfactor 2
+
 //torch flame, spawn it as fast as you can  20 times per second or more, supports direction but not required
 //fast fire
 // used nowhere in code, meant for maps
@@ -4907,3 +4970,46 @@ bounce 1.5
 airfriction 5
 liquidfriction 10
 velocityjitter 156 156 156
+
+
+
+// used in qcsrc/server/w_electro.qc:  pointparticles(particleeffectnum("electro_muzzleflash"), w_shotorg, w_shotdir * 1000, 1)
+// used in qcsrc/server/w_electro.qc:  pointparticles(particleeffectnum("electro_muzzleflash"), w_shotorg, w_shotdir * 1000, 1)
+effect electro_lightning
+countabsolute 1
+type smoke
+color 0x283880 0x283880 // 0x202020 0x404040
+tex 65 65
+size 10 10
+alpha 256 256 1500
+originjitter 1.5 1.5 1.5
+velocityjitter 6 6 6
+sizeincrease -20
+velocitymultiplier 0.01
+
+effect electro_lightning
+count 3
+type spark
+tex 8 15
+color 0xD9FDFF 0xD9FDFF
+size 3 7
+alpha 110 228 2024
+originjitter 1 1 1
+velocityjitter 150 150 150
+velocitymultiplier 0.5
+airfriction 2
+stretchfactor 1.5
+
+effect electro_lightning
+count 5
+type spark
+tex 41 41
+color 0xD9FDFF 0xD9FDFF
+size 3 4
+alpha 110 228 1500
+originjitter 1 1 1
+velocityjitter 350 350 350
+velocitymultiplier 2.5
+airfriction 8
+gravity 1.3
+stretchfactor 0.1
index 36334b27127b218ece882fbbc6ea47da559fdad9..66b58df8c356f6f57900ccd9d510bc8dce07c5f4 100644 (file)
@@ -1,3 +1,4 @@
 float autocvar_sv_cheats;
 float autocvar_g_bastet;
 var float autocvar_g_movement_highspeed = 1;
+var float autocvar_sys_ticrate;
index 0b35eae662de8cc2848cb04ebe8d9e52a88f428a..32f85285c46edd1f7a4dbab41cf5b6003018a4df 100644 (file)
@@ -184,19 +184,66 @@ void W_Electro_Attack2()
        CSQCProjectile(proj, TRUE, PROJECTILE_ELECTRO, FALSE); // no culling, it has sound
 }
 
-// experimental lightning gun
-void W_Electro_Attack3 (void)
+void lgbeam_think()
 {
-       if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
-               self.ammo_cells = self.ammo_cells - cvar("g_balance_electro_primary_ammo");
-       W_SetupShot (self, TRUE, 0, "weapons/crylink_fire2.wav", cvar("g_balance_electro_primary_damage"));
+    if (!self.owner.BUTTON_ATCK || self.owner.ammo_cells <= 0) // || (self.ammo_cells <= 0 && !(self.items & IT_UNLIMITED_WEAPON_AMMO)))
+    {
+        sound (self, CHAN_PROJECTILE, "sound/misc/null.wav", VOL_BASE, ATTN_NORM);
+        remove(self);
+        return;
+    }
+
+    if (time - self.shot_spread + random() * 0.2 > 0)
+    {
+        self.shot_spread = time + 2;
+        sound (self, CHAN_PROJECTILE, "turrets/phaser.wav", VOL_BASE, ATTN_NORM);
+    }
+
+    if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
+       self.ammo_cells = self.ammo_cells - cvar("g_balance_electro_primary_ammo");
+
+    self.nextthink = time + self.ticrate;
 
-       traceline_antilag(self, w_shotorg, w_shotorg + w_shotdir * cvar("g_balance_electro_primary_radius"), FALSE, self, ANTILAG_LATENCY(self));
+    //w_deathtypestring = "was phased out of existence";
 
-       te_lightning1(self, w_shotorg, trace_endpos);
+    makevectors(self.owner.v_angle);
+    vector angle;
+    angle = v_forward;
 
-       if (trace_fraction < 1)
-               Damage(trace_ent, self, self, cvar("g_balance_electro_primary_damage"), WEP_ELECTRO | HITTYPE_SECONDARY, trace_endpos, cvar("g_balance_electro_primary_force") * w_shotdir);
+    vector force;
+    force = angle * cvar("g_balance_electro_primary_force");
+
+    traceline_antilag(self.owner, self.owner.origin, self.owner.origin + angle * cvar("g_balance_electro_primary_range"), FALSE, self.owner, ANTILAG_LATENCY(self.owner));
+
+    // apply the damage
+    if(trace_fraction < 1)
+    {
+       Damage (trace_ent, self.owner, self.owner, cvar("g_balance_electro_primary_damage"), WEP_ELECTRO, trace_endpos, force);
+       trace_ent.velocity = trace_ent.velocity * cvar("g_balance_electro_primary_velocityfactor") + '0 0 1' * cvar("g_balance_electro_primary_force_up");
+    }
+
+    self.scale = vlen(self.owner.origin - trace_endpos) / 256 * (0.75 + 0.75 * random());
+}
+
+// experimental lightning gun
+void W_Electro_Attack3 (void)
+{
+       entity beam;
+
+       beam = spawn();
+       beam.ticrate = autocvar_sys_ticrate;
+       setmodel(beam,"models/turrets/phaser_beam.md3");
+       beam.effects = EF_LOWPRECISION;
+       beam.solid = SOLID_NOT;
+       beam.think = lgbeam_think;
+       beam.shot_spread = 0;
+       beam.scale = cvar("g_balance_electro_primary_range") / 256;
+       beam.nextthink = time;
+       beam.owner = self;
+       beam.movetype = MOVETYPE_NONE;
+       beam.bot_dodge = TRUE;
+       beam.bot_dodgerating = cvar("g_balance_electro_primary_damage")/autocvar_sys_ticrate;
+       setattachment(beam, self.weaponentity, "shot");
 }
 
 void spawnfunc_weapon_electro (void)
@@ -220,6 +267,7 @@ void w_electro_checkattack()
 }
 
 .float bot_secondary_electromooth;
+.float BUTTON_ATCK_prev;
 float w_electro(float req)
 {
        if (req == WR_AIM)
@@ -251,12 +299,19 @@ float w_electro(float req)
                if (weapon_prepareattack(0, cvar("g_balance_electro_primary_refire")))
                {
                        if(cvar("g_balance_electro_lightning"))
-                               W_Electro_Attack3();
+                       {
+                               if (self.BUTTON_ATCK_prev == 0)
+                               {
+                                       W_Electro_Attack3();
+                               }
+                       }
                        else
+                       {
                                W_Electro_Attack();
+                       }
                        weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_electro_primary_animtime"), w_ready);
                }
-               if (self.BUTTON_ATCK2 && !cvar("g_balance_electro_lightning"))
+               if (self.BUTTON_ATCK2)
                if (time >= self.electro_secondarytime)
                if (weapon_prepareattack(1, cvar("g_balance_electro_secondary_refire")))
                {
@@ -289,6 +344,7 @@ float w_electro(float req)
        {
                self.electro_secondarytime = time;
        }
+       self.BUTTON_ATCK_prev = self.BUTTON_ATCK;
        return TRUE;
 };
 #endif
index a7d9a4935d7202a7a4a2bf18975cdafb4b1c5af1..a6e4d0dc0fc1cad0013db7639dcca143359aaf2b 100644 (file)
@@ -33,10 +33,56 @@ void W_Grenade_Explode2 (void)
        remove (self);
 }
 
+void W_Grenade_Damage (entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
+{
+       if (self.health <= 0)
+               return;
+       self.health = self.health - damage;
+       if (self.health <= 0)
+       {
+               W_PrepareExplosionByDamage(attacker, self.think);
+       }
+}
+
 void W_Grenade_Touch1 (void)
 {
        PROJECTILE_TOUCH;
-       W_Grenade_Explode ();
+       if(cvar("g_balance_grenadelauncher_primary_sticky") && other.takedamage != DAMAGE_AIM)
+       {
+               entity oldowner;
+               oldowner = self.owner;
+
+               vector temporigin;
+               temporigin = self.origin;
+
+               remove(self);
+               local entity gren;
+
+               gren = spawn ();
+               gren.owner = oldowner;
+               gren.classname = "grenade";
+               gren.bot_dodge = TRUE;
+               gren.bot_dodgerating = cvar("g_balance_grenadelauncher_primary_damage");
+               gren.movetype = MOVETYPE_NONE;
+               PROJECTILE_MAKETRIGGER(gren);
+               gren.projectiledeathtype = WEP_GRENADE_LAUNCHER;
+               setorigin(gren, temporigin);
+               setsize(gren, '0 0 -3', '0 0 -3');
+
+               gren.nextthink = time + cvar("g_balance_grenadelauncher_primary_lifetime2");
+               gren.think = adaptor_think2use_hittype_splash;
+               gren.use = W_Grenade_Explode;
+
+               gren.flags = FL_PROJECTILE;
+
+               gren.takedamage = DAMAGE_YES;
+               gren.health = cvar("g_balance_grenadelauncher_primary_health");
+               gren.event_damage = W_Grenade_Damage;
+
+               CSQCProjectile(gren, TRUE, PROJECTILE_GRENADE, TRUE);   
+       }
+       else
+               W_Grenade_Explode ();
 }
 
 void W_Grenade_Touch2 (void)
@@ -66,17 +112,6 @@ void W_Grenade_Touch2 (void)
        }
 }
 
-void W_Grenade_Damage (entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
-{
-       if (self.health <= 0)
-               return;
-       self.health = self.health - damage;
-       if (self.health <= 0)
-       {
-               W_PrepareExplosionByDamage(attacker, self.think);
-       }
-}
-
 void W_Grenade_Attack (void)
 {
        local entity gren;
index cdfdaa537c048af9fa45594d5334f35c256eda78..00e0fff7473e2444483c7faa9bd91033a17f7336 100644 (file)
@@ -105,9 +105,11 @@ void W_Laser_Attack2 (void) // gauntlet
 {
        W_SetupShot (self, TRUE, 0, "weapons/gauntlet_fire.wav", cvar("g_balance_laser_primary_damage"));
 
-       WarpZone_traceline_antilag(self, w_shotorg, w_shotorg + w_shotdir * cvar("g_balance_laser_primary_radius"), FALSE, self, ANTILAG_LATENCY(self));
+       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));
 
-       pointparticles(particleeffectnum("laser_gauntlet"), w_shotorg + w_shotdir * cvar("g_balance_laser_primary_radius"), '0 0 0', 1);
+       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);
 
        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);
index 35ca569777f4cce38f988bcb93ad9671352fcac6..a2ee89bc86beb01335be2c763e6b10b927da5357 100644 (file)
@@ -14,7 +14,7 @@ void W_Rocket_Unregister()
        }
 }
 
-void W_Rocket_Explode (void)
+void W_Rocket_Explode ()
 {
        W_Rocket_Unregister();
 
@@ -26,6 +26,7 @@ void W_Rocket_Explode (void)
 
        self.event_damage = SUB_Null;
        self.takedamage = DAMAGE_NO;
+
        RadiusDamage (self, self.owner, cvar("g_balance_rocketlauncher_damage"), cvar("g_balance_rocketlauncher_edgedamage"), cvar("g_balance_rocketlauncher_radius"), world, cvar("g_balance_rocketlauncher_force"), self.projectiledeathtype, other);
 
        if (self.owner.weapon == WEP_ROCKET_LAUNCHER)
@@ -106,10 +107,34 @@ void W_Rocket_RemoteExplode()
                {
                        other = world;
                        self.projectiledeathtype |= HITTYPE_BOUNCE;
-                       W_Rocket_Explode ();
                }
                else
                {
+                       W_Rocket_Unregister();
+
+                       if(other.takedamage == DAMAGE_AIM)
+                               if(other.classname == "player")
+                                       if(IsDifferentTeam(self.owner, other))
+                                               if(IsFlying(other))
+                                                       AnnounceTo(self.owner, "airshot");
+
+                       self.event_damage = SUB_Null;
+                       self.takedamage = DAMAGE_NO;
+
+                       RadiusDamage (self, self.owner, cvar("g_balance_rocketlauncher_remote_damage"), cvar("g_balance_rocketlauncher_remote_edgedamage"), cvar("g_balance_rocketlauncher_remote_radius"), world, cvar("g_balance_rocketlauncher_remote_force"), self.projectiledeathtype, other);
+
+                       if (self.owner.weapon == WEP_ROCKET_LAUNCHER)
+                       {
+                               if(self.owner.ammo_rockets < cvar("g_balance_rocketlauncher_ammo"))
+                               {
+                                       self.owner.cnt = WEP_ROCKET_LAUNCHER;
+                                       ATTACK_FINISHED(self.owner) = time;
+                                       self.owner.switchweapon = w_getbestweapon(self.owner);
+                               }
+                               if(g_laserguided_missile)
+                                       ATTACK_FINISHED(self.owner) = time + cvar("g_balance_rocketlauncher_refire") * W_WeaponRateFactor();
+                       }
+                       remove (self);
                }
        }
 }