// {{{ misc
set g_balance_selfdamagepercent 0.6
-set g_balance_weaponswitchdelay 0.15
set g_weaponspeedfactor 1 "weapon projectile speed multiplier"
set g_weaponratefactor 1 "weapon fire rate multiplier"
set g_weapondamagefactor 1 "weapon damage multiplier"
// possible values:
// -2: absolutely no damage to projectiles (no exceptions)
// -1: no damage other than the exceptions (electro combo, hagar join explode, ML mines)
-// 0: only damage from contents (lava/slime) or exceptions
+// 0: only damage from contents (lava/slime) or exceptions
// 1: only self damage or damage from contents or exceptions
// 2: allow all damage to projectiles normally
set g_projectiles_keep_owner 0
set g_balance_grapplehook_airfriction 0.2
set g_balance_grapplehook_health 130
set g_balance_grapplehook_damagedbycontents 0
+set g_balance_grapplehook_refire 0.2
// }}}
// {{{ weapon properties
// {{{ laser
-set g_balance_laser_oldprimary 1
set g_balance_laser_primary_damage 35
set g_balance_laser_primary_edgedamage 10
set g_balance_laser_primary_force 400
set g_balance_laser_primary_radius 70
set g_balance_laser_primary_speed 9000
set g_balance_laser_primary_spread 0
-set g_balance_laser_primary_spread_max 100
-set g_balance_laser_primary_spread_min 20
set g_balance_laser_primary_refire 0.7
set g_balance_laser_primary_animtime 0.3
set g_balance_laser_primary_lifetime 30
-set g_balance_laser_primary_multiplier_min 0.5
-set g_balance_laser_primary_multiplier_accuracy 0.5
-set g_balance_laser_primary_multiplier_distance 0.5
set g_balance_laser_primary_shotangle 0
set g_balance_laser_primary_delay 0.05
set g_balance_laser_primary_gauntlet 0
set g_balance_laser_primary_force_zscale 1
set g_balance_laser_primary_force_velocitybias 0
set g_balance_laser_primary_force_other_scale 1
-set g_balance_laser_secondary 0 // 0 = switch away to last used weapon, 1 = projectile secondary, 2 = gauntlet secondary
+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_lifetime 30
set g_balance_laser_secondary_shotangle 0
set g_balance_laser_secondary_delay 0
+set g_balance_laser_secondary_gauntlet 0
set g_balance_laser_secondary_force_zscale 1
set g_balance_laser_secondary_force_velocitybias 0
set g_balance_laser_secondary_force_other_scale 1
+set g_balance_laser_switchdelay_drop 0.15
+set g_balance_laser_switchdelay_raise 0.15
set g_balance_laser_reload_ammo 0 //default: 6
set g_balance_laser_reload_time 2
// }}}
set g_balance_shotgun_primary_refire 0.5
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_primary_solidpenetration 3.8
set g_balance_shotgun_secondary 1
set g_balance_shotgun_secondary_melee_delay 0.25 // 0.35 was too slow
set g_balance_shotgun_secondary_melee_range 120
set g_balance_shotgun_secondary_force 150
set g_balance_shotgun_secondary_refire 1.1
set g_balance_shotgun_secondary_animtime 1
+set g_balance_shotgun_switchdelay_drop 0.15
+set g_balance_shotgun_switchdelay_raise 0.15
set g_balance_shotgun_reload_ammo 0 //default: 5
set g_balance_shotgun_reload_time 2
// }}}
set g_balance_uzi_burst_refire 0.05 // refire between burst bullets
set g_balance_uzi_burst_refire2 0.75 // refire after burst
set g_balance_uzi_burst_spread 0.04
-set g_balance_uzi_burst_damage 18
+set g_balance_uzi_burst_damage 18
set g_balance_uzi_burst_force 50
set g_balance_uzi_burst_ammo 3
set g_balance_uzi_first 1
set g_balance_uzi_first_damage 30
-set g_balance_uzi_first_headshotaddeddamage 0
set g_balance_uzi_first_force 50
set g_balance_uzi_first_spread 0.015
set g_balance_uzi_first_refire 0.2
set g_balance_uzi_first_ammo 1
set g_balance_uzi_sustained_damage 15
-set g_balance_uzi_sustained_headshotaddeddamage 0
set g_balance_uzi_sustained_force 27
set g_balance_uzi_sustained_spread 0.05
set g_balance_uzi_sustained_refire 0.1
set g_balance_uzi_sustained_ammo 1
-set g_balance_uzi_speed 18000
-set g_balance_uzi_bulletconstant 115 // 13.1qu
+set g_balance_uzi_solidpenetration 13.1
+
+set g_balance_uzi_switchdelay_drop 0.15
+set g_balance_uzi_switchdelay_raise 0.15
set g_balance_uzi_reload_ammo 0 //default: 30
set g_balance_uzi_reload_time 2
set g_balance_grenadelauncher_bouncefactor 0.5
set g_balance_grenadelauncher_bouncestop 0.075
+set g_balance_grenadelauncher_switchdelay_drop 0.15
+set g_balance_grenadelauncher_switchdelay_raise 0.15
+
set g_balance_grenadelauncher_reload_ammo 0 //default: 12
set g_balance_grenadelauncher_reload_time 2
// }}}
set g_balance_electro_combo_comboradius 0
set g_balance_electro_combo_speed 2000
set g_balance_electro_combo_safeammocheck 0
+set g_balance_electro_switchdelay_drop 0.15
+set g_balance_electro_switchdelay_raise 0.15
set g_balance_electro_reload_ammo 0 //default: 20
set g_balance_electro_reload_time 2
// }}}
set g_balance_crylink_primary_bouncedamagefactor 0.5
set g_balance_crylink_primary_joindelay 0
set g_balance_crylink_primary_joinspread 0
-set g_balance_crylink_primary_jointime 0
set g_balance_crylink_primary_joinexplode 0
set g_balance_crylink_primary_joinexplode_damage 0
set g_balance_crylink_primary_joinexplode_edgedamage 0
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
set g_balance_crylink_secondary_bouncedamagefactor 0.5
set g_balance_crylink_secondary_joindelay 0
set g_balance_crylink_secondary_joinspread 0
-set g_balance_crylink_secondary_jointime 0
-set g_balance_crylink_secondary_joinexplode 0
-set g_balance_crylink_secondary_joinexplode_damage 0
+set g_balance_crylink_secondary_joinexplode 0
+set g_balance_crylink_secondary_joinexplode_damage 0
set g_balance_crylink_secondary_joinexplode_edgedamage 0
set g_balance_crylink_secondary_joinexplode_radius 0
set g_balance_crylink_secondary_joinexplode_force 0
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_switchdelay_drop 0.15
+set g_balance_crylink_switchdelay_raise 0.15
+
set g_balance_crylink_reload_ammo 0 //default: 10
set g_balance_crylink_reload_time 2
// }}}
set g_balance_nex_charge_minspeed 400
set g_balance_nex_charge_maxspeed 1000
+set g_balance_nex_switchdelay_drop 0.15
+set g_balance_nex_switchdelay_raise 0.15
+
set g_balance_nex_reload_ammo 0 //default: 25
set g_balance_nex_reload_time 2
// }}}
set g_balance_minstanex_laser_ammo 0
set g_balance_minstanex_laser_animtime 0.3
set g_balance_minstanex_laser_refire 0.7
+set g_balance_minstanex_switchdelay_drop 0.15
+set g_balance_minstanex_switchdelay_raise 0.15
set g_balance_minstanex_reload_ammo 0 //default: 50
set g_balance_minstanex_reload_time 2
// }}}
set g_balance_hagar_secondary_lifetime_rand 0
set g_balance_hagar_secondary_refire 0.15
set g_balance_hagar_secondary_ammo 1
+set g_balance_hagar_switchdelay_drop 0.15
+set g_balance_hagar_switchdelay_raise 0.15
set g_balance_hagar_reload_ammo 0 //default: 25
set g_balance_hagar_reload_time 2
// }}}
set g_balance_rocketlauncher_remote_edgedamage 40
set g_balance_rocketlauncher_remote_radius 150
set g_balance_rocketlauncher_remote_force 600
+set g_balance_rocketlauncher_switchdelay_drop 0.15
+set g_balance_rocketlauncher_switchdelay_raise 0.15
set g_balance_rocketlauncher_reload_ammo 0 //default: 25
set g_balance_rocketlauncher_reload_time 2
// }}}
set g_balance_porto_secondary_animtime 0.3
set g_balance_porto_secondary_speed 2000
set g_balance_porto_secondary_lifetime 30
+set g_balance_porto_switchdelay_drop 0.15
+set g_balance_porto_switchdelay_raise 0.15
set g_balance_portal_health 200 // these get recharged whenever the portal is used
set g_balance_portal_lifetime 15 // these get recharged whenever the portal is used
// }}}
// {{{ hook
set g_balance_hook_primary_fuel 5 // hook monkeys set 0
-set g_balance_hook_primary_refire 0 // hook monkeys set 0
+set g_balance_hook_primary_refire 0.2 // hook monkeys set 0
set g_balance_hook_primary_animtime 0.3 // good shoot anim
set g_balance_hook_primary_hooked_time_max 0 // infinite
set g_balance_hook_primary_hooked_time_free 2 // 2s being hooked are free
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
set g_balance_hook_secondary_health 0
-set g_balance_hook_secondary_damageforcescale 0
+set g_balance_hook_secondary_damageforcescale 0
+set g_balance_hook_switchdelay_drop 0.15
+set g_balance_hook_switchdelay_raise 0.15
// }}}
// {{{ tuba
set g_balance_tuba_refire 0.05
set g_balance_tuba_radius 200
set g_balance_tuba_force 40
set g_balance_tuba_pitchstep 6
+set g_balance_tuba_switchdelay_drop 0.15
+set g_balance_tuba_switchdelay_raise 0.15
// }}}
// {{{ fireball
set g_balance_fireball_primary_animtime 0.15
set g_balance_fireball_secondary_speed_up 100
set g_balance_fireball_secondary_speed_z 0
set g_balance_fireball_secondary_spread 0
+set g_balance_fireball_switchdelay_drop 0.15
+set g_balance_fireball_switchdelay_raise 0.15
// }}}