(Untested) Merge branch 'master' into Mario/overkill
authorMario <zacjardine@y7mail.com>
Sat, 13 Dec 2014 02:59:44 +0000 (13:59 +1100)
committerMario <zacjardine@y7mail.com>
Sat, 13 Dec 2014 02:59:44 +0000 (13:59 +1100)
Conflicts:
balance25.cfg
balanceFruitieX.cfg
balanceXDF.cfg
balanceXPM.cfg
balanceXonotic.cfg
defaultXonotic.cfg
qcsrc/client/View.qc
qcsrc/client/autocvars.qh
qcsrc/client/waypointsprites.qc
qcsrc/client/weapons/projectile.qc
qcsrc/common/constants.qh
qcsrc/common/notifications.qh
qcsrc/common/weapons/all.qh
qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c
qcsrc/server/cl_weapons.qc
qcsrc/server/miscfunctions.qc
qcsrc/server/mutators/mutator_instagib.qc
qcsrc/server/mutators/mutator_nades.qc
qcsrc/server/mutators/mutator_nades.qh
qcsrc/server/progs.src
qcsrc/server/weapons/weaponsystem.qc

28 files changed:
1  2 
bal-wep-nexuiz25.cfg
bal-wep-overkill.cfg
bal-wep-samual.cfg
bal-wep-xdf.cfg
bal-wep-xonotic.cfg
bal-wep-xpm.cfg
balance-overkill.cfg
mutators.cfg
qcsrc/client/View.qc
qcsrc/client/autocvars.qh
qcsrc/client/weapons/projectile.qc
qcsrc/common/constants.qh
qcsrc/common/notifications.qh
qcsrc/common/stats.qh
qcsrc/common/weapons/all.qh
qcsrc/common/weapons/w_hmg.qc
qcsrc/common/weapons/w_rpc.qc
qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c
qcsrc/server/autocvars.qh
qcsrc/server/defs.qh
qcsrc/server/mutators/mutator_instagib.qc
qcsrc/server/mutators/mutator_overkill.qc
qcsrc/server/mutators/mutator_overkill.qh
qcsrc/server/mutators/mutators.qc
qcsrc/server/mutators/mutators.qh
qcsrc/server/mutators/mutators_include.qc
qcsrc/server/mutators/mutators_include.qh
qcsrc/server/weapons/weaponsystem.qc

index 0000000,b2427ec..0e9db81
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,763 +1,804 @@@
+ // {{{ #1: Blaster
+ set g_balance_blaster_primary_animtime 0.3
+ set g_balance_blaster_primary_damage 35
+ set g_balance_blaster_primary_delay 0
+ set g_balance_blaster_primary_edgedamage 10
+ set g_balance_blaster_primary_force 400
+ set g_balance_blaster_primary_force_zscale 1
+ set g_balance_blaster_primary_lifetime 30
+ set g_balance_blaster_primary_radius 70
+ set g_balance_blaster_primary_refire 0.7
+ set g_balance_blaster_primary_shotangle 0
+ set g_balance_blaster_primary_speed 9000
+ set g_balance_blaster_primary_spread 0
+ set g_balance_blaster_secondary 0
+ set g_balance_blaster_secondary_animtime 0.3
+ set g_balance_blaster_secondary_damage 35
+ set g_balance_blaster_secondary_delay 0
+ set g_balance_blaster_secondary_edgedamage 10
+ set g_balance_blaster_secondary_force 400
+ set g_balance_blaster_secondary_force_zscale 1
+ set g_balance_blaster_secondary_lifetime 30
+ set g_balance_blaster_secondary_radius 70
+ set g_balance_blaster_secondary_refire 0.7
+ set g_balance_blaster_secondary_shotangle 0
+ set g_balance_blaster_secondary_speed 9000
+ set g_balance_blaster_secondary_spread 0
+ set g_balance_blaster_switchdelay_drop 0.15
+ set g_balance_blaster_switchdelay_raise 0.15
+ set g_balance_blaster_weaponreplace ""
+ set g_balance_blaster_weaponstart 1
+ set g_balance_blaster_weaponstartoverride -1
+ set g_balance_blaster_weaponthrowable 0
+ // }}}
+ // {{{ #2: Shotgun
+ set g_balance_shotgun_primary_ammo 1
+ set g_balance_shotgun_primary_animtime 0.2
+ set g_balance_shotgun_primary_bullets 6
+ set g_balance_shotgun_primary_damage 9
+ set g_balance_shotgun_primary_force 60
+ set g_balance_shotgun_primary_refire 0.5
+ set g_balance_shotgun_primary_solidpenetration 3.8
+ set g_balance_shotgun_primary_spread 0.07
+ set g_balance_shotgun_reload_ammo 0
+ set g_balance_shotgun_reload_time 2
+ set g_balance_shotgun_secondary 2
+ set g_balance_shotgun_secondary_animtime 1
+ set g_balance_shotgun_secondary_damage 80
+ set g_balance_shotgun_secondary_force 200
+ set g_balance_shotgun_secondary_melee_delay 0.25
+ set g_balance_shotgun_secondary_melee_multihit 1
+ set g_balance_shotgun_secondary_melee_no_doubleslap 1
+ set g_balance_shotgun_secondary_melee_nonplayerdamage 40
+ set g_balance_shotgun_secondary_melee_range 120
+ set g_balance_shotgun_secondary_melee_swing_side 120
+ set g_balance_shotgun_secondary_melee_swing_up 30
+ set g_balance_shotgun_secondary_melee_time 0.15
+ set g_balance_shotgun_secondary_melee_traces 10
+ set g_balance_shotgun_secondary_refire 1.25
+ set g_balance_shotgun_secondary_alt_animtime 0.2
+ set g_balance_shotgun_secondary_alt_refire 1.2
+ set g_balance_shotgun_switchdelay_drop 0.15
+ set g_balance_shotgun_switchdelay_raise 0.15
+ set g_balance_shotgun_weaponreplace ""
+ set g_balance_shotgun_weaponstart 1
+ set g_balance_shotgun_weaponstartoverride -1
+ set g_balance_shotgun_weaponthrowable 1
+ // }}}
+ // {{{ #3: Machine Gun
+ set g_balance_machinegun_burst 0
+ set g_balance_machinegun_burst_ammo 3
+ set g_balance_machinegun_burst_animtime 0.75
+ set g_balance_machinegun_burst_refire 0.05
+ set g_balance_machinegun_burst_refire2 0.75
+ set g_balance_machinegun_burst_speed 0
+ set g_balance_machinegun_first 1
+ set g_balance_machinegun_first_ammo 1
+ set g_balance_machinegun_first_damage 30
+ set g_balance_machinegun_first_force 50
+ set g_balance_machinegun_first_refire 0.2
+ set g_balance_machinegun_first_spread 0.015
+ set g_balance_machinegun_mode 0
+ set g_balance_machinegun_reload_ammo 0
+ set g_balance_machinegun_reload_time 2
+ set g_balance_machinegun_solidpenetration 13.1
+ set g_balance_machinegun_spread_add 0.02
+ set g_balance_machinegun_spread_max 0.6
+ set g_balance_machinegun_spread_min 0.02
+ set g_balance_machinegun_sustained_ammo 1
+ set g_balance_machinegun_sustained_damage 15
+ set g_balance_machinegun_sustained_force 27
+ set g_balance_machinegun_sustained_refire 0.1
+ set g_balance_machinegun_sustained_spread 0.05
+ set g_balance_machinegun_switchdelay_drop 0.15
+ set g_balance_machinegun_switchdelay_raise 0.15
+ set g_balance_machinegun_weaponreplace ""
+ set g_balance_machinegun_weaponstart 0
+ set g_balance_machinegun_weaponstartoverride -1
+ set g_balance_machinegun_weaponthrowable 1
+ // }}}
+ // {{{ #4: Mortar
+ set g_balance_mortar_bouncefactor 0.5
+ set g_balance_mortar_bouncestop 0.075
+ set g_balance_mortar_primary_ammo 2
+ set g_balance_mortar_primary_animtime 0.3
+ set g_balance_mortar_primary_damage 70
+ set g_balance_mortar_primary_damageforcescale 4
+ set g_balance_mortar_primary_edgedamage 25
+ set g_balance_mortar_primary_force 400
+ set g_balance_mortar_primary_health 25
+ set g_balance_mortar_primary_lifetime 30
+ set g_balance_mortar_primary_lifetime_stick 1
+ set g_balance_mortar_primary_radius 140
+ set g_balance_mortar_primary_refire 0.8
+ set g_balance_mortar_primary_remote_minbouncecnt 0
+ set g_balance_mortar_primary_speed 2000
+ set g_balance_mortar_primary_speed_up 200
+ set g_balance_mortar_primary_speed_z 0
+ set g_balance_mortar_primary_spread 0
+ set g_balance_mortar_primary_type 0
+ set g_balance_mortar_reload_ammo 0
+ set g_balance_mortar_reload_time 2
+ set g_balance_mortar_secondary_ammo 2
+ set g_balance_mortar_secondary_animtime 0.3
+ set g_balance_mortar_secondary_damage 70
+ set g_balance_mortar_secondary_damageforcescale 4
+ set g_balance_mortar_secondary_edgedamage 38
+ set g_balance_mortar_secondary_force 400
+ set g_balance_mortar_secondary_health 10
+ set g_balance_mortar_secondary_lifetime 2.5
+ set g_balance_mortar_secondary_lifetime_bounce 0
+ set g_balance_mortar_secondary_lifetime_stick 0
+ set g_balance_mortar_secondary_radius 140
+ set g_balance_mortar_secondary_refire 0.7
+ set g_balance_mortar_secondary_remote_detonateprimary 0
+ set g_balance_mortar_secondary_speed 1400
+ set g_balance_mortar_secondary_speed_up 200
+ set g_balance_mortar_secondary_speed_z 0
+ set g_balance_mortar_secondary_spread 0
+ set g_balance_mortar_secondary_type 1
+ set g_balance_mortar_switchdelay_drop 0.15
+ set g_balance_mortar_switchdelay_raise 0.15
+ set g_balance_mortar_weaponreplace ""
+ set g_balance_mortar_weaponstart 0
+ set g_balance_mortar_weaponstartoverride -1
+ set g_balance_mortar_weaponthrowable 1
+ // }}}
+ // {{{ #5: Mine Layer (MUTATOR WEAPON)
+ set g_balance_minelayer_ammo 4
+ set g_balance_minelayer_animtime 0.4
+ set g_balance_minelayer_damage 40
+ set g_balance_minelayer_damageforcescale 0
+ set g_balance_minelayer_detonatedelay -1
+ set g_balance_minelayer_edgedamage 20
+ set g_balance_minelayer_force 250
+ set g_balance_minelayer_health 15
+ set g_balance_minelayer_lifetime 10
+ set g_balance_minelayer_lifetime_countdown 0.5
+ set g_balance_minelayer_limit 3
+ set g_balance_minelayer_protection 0
+ set g_balance_minelayer_proximityradius 150
+ set g_balance_minelayer_radius 175
+ set g_balance_minelayer_refire 1.5
+ set g_balance_minelayer_reload_ammo 0
+ set g_balance_minelayer_reload_time 2
+ set g_balance_minelayer_remote_damage 45
+ set g_balance_minelayer_remote_edgedamage 40
+ set g_balance_minelayer_remote_force 300
+ set g_balance_minelayer_remote_radius 200
+ set g_balance_minelayer_speed 1000
+ set g_balance_minelayer_switchdelay_drop 0.15
+ set g_balance_minelayer_switchdelay_raise 0.15
+ set g_balance_minelayer_time 0.5
+ set g_balance_minelayer_weaponreplace ""
+ set g_balance_minelayer_weaponstart 0
+ set g_balance_minelayer_weaponstartoverride -1
+ set g_balance_minelayer_weaponthrowable 1
+ // }}}
+ // {{{ #6: Electro
+ set g_balance_electro_combo_comboradius 0
+ set g_balance_electro_combo_comboradius_thruwall 0
+ set g_balance_electro_combo_damage 80
+ set g_balance_electro_combo_edgedamage 0
+ set g_balance_electro_combo_force 200
+ set g_balance_electro_combo_radius 250
+ set g_balance_electro_combo_safeammocheck 0
+ set g_balance_electro_combo_speed 2000
+ set g_balance_electro_primary_ammo 2
+ set g_balance_electro_primary_animtime 0.3
+ set g_balance_electro_primary_comboradius 0
+ set g_balance_electro_primary_damage 65
+ set g_balance_electro_primary_edgedamage 0
+ set g_balance_electro_primary_force 200
+ set g_balance_electro_primary_lifetime 30
+ set g_balance_electro_primary_midaircombo_explode 0
+ set g_balance_electro_primary_midaircombo_interval 0
+ set g_balance_electro_primary_midaircombo_radius 0
+ set g_balance_electro_primary_radius 150
+ set g_balance_electro_primary_refire 0.6
+ set g_balance_electro_primary_speed 2000
+ set g_balance_electro_primary_spread 0
+ set g_balance_electro_reload_ammo 0
+ set g_balance_electro_reload_time 2
+ set g_balance_electro_secondary_ammo 2
+ set g_balance_electro_secondary_animtime 0.3
+ set g_balance_electro_secondary_bouncefactor 0.5
+ set g_balance_electro_secondary_bouncestop 0.075
+ set g_balance_electro_secondary_count 1
+ set g_balance_electro_secondary_damage 50
+ set g_balance_electro_secondary_damagedbycontents 0
+ set g_balance_electro_secondary_damageforcescale 4
+ set g_balance_electro_secondary_edgedamage 0
+ set g_balance_electro_secondary_force 200
+ set g_balance_electro_secondary_health 5
+ set g_balance_electro_secondary_lifetime 5
+ set g_balance_electro_secondary_radius 150
+ set g_balance_electro_secondary_refire 0.3
+ set g_balance_electro_secondary_refire2 0
+ set g_balance_electro_secondary_speed 900
+ set g_balance_electro_secondary_speed_up 200
+ set g_balance_electro_secondary_speed_z 0
+ set g_balance_electro_secondary_spread 0.04
+ set g_balance_electro_secondary_touchexplode 0
+ set g_balance_electro_switchdelay_drop 0.15
+ set g_balance_electro_switchdelay_raise 0.15
+ set g_balance_electro_weaponreplace ""
+ set g_balance_electro_weaponstart 0
+ set g_balance_electro_weaponstartoverride -1
+ set g_balance_electro_weaponthrowable 1
+ // }}}
+ // {{{ #7: Crylink
+ set g_balance_crylink_primary_ammo 2
+ set g_balance_crylink_primary_animtime 0.3
+ set g_balance_crylink_primary_bouncedamagefactor 0.5
+ set g_balance_crylink_primary_bounces 1
+ set g_balance_crylink_primary_damage 18
+ set g_balance_crylink_primary_edgedamage 0
+ set g_balance_crylink_primary_force -55
+ set g_balance_crylink_primary_joindelay 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_primary_joinexplode_force 0
+ set g_balance_crylink_primary_joinexplode_radius 0
+ set g_balance_crylink_primary_joinspread 0
+ set g_balance_crylink_primary_linkexplode 1
+ set g_balance_crylink_primary_middle_fadetime 5
+ set g_balance_crylink_primary_middle_lifetime 5
+ set g_balance_crylink_primary_other_fadetime 0.25
+ set g_balance_crylink_primary_other_lifetime 0.1
+ set g_balance_crylink_primary_radius 80
+ set g_balance_crylink_primary_refire 0.4
+ set g_balance_crylink_primary_shots 4
+ set g_balance_crylink_primary_speed 7000
+ set g_balance_crylink_primary_spread 0.03
+ set g_balance_crylink_reload_ammo 0
+ set g_balance_crylink_reload_time 2
+ set g_balance_crylink_secondary 1
+ set g_balance_crylink_secondary_ammo 2
+ set g_balance_crylink_secondary_animtime 0.2
+ set g_balance_crylink_secondary_bouncedamagefactor 0.5
+ set g_balance_crylink_secondary_bounces 0
+ set g_balance_crylink_secondary_damage 18
+ set g_balance_crylink_secondary_edgedamage 5
+ set g_balance_crylink_secondary_force -55
+ set g_balance_crylink_secondary_joindelay 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_force 0
+ set g_balance_crylink_secondary_joinexplode_radius 0
+ set g_balance_crylink_secondary_joinspread 0
+ set g_balance_crylink_secondary_linkexplode 1
+ set g_balance_crylink_secondary_middle_fadetime 5
+ set g_balance_crylink_secondary_middle_lifetime 5
+ set g_balance_crylink_secondary_other_fadetime 2
+ set g_balance_crylink_secondary_other_lifetime 2
+ set g_balance_crylink_secondary_radius 100
+ set g_balance_crylink_secondary_refire 0.5
+ set g_balance_crylink_secondary_shots 7
+ 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_switchdelay_drop 0.15
+ set g_balance_crylink_switchdelay_raise 0.15
+ set g_balance_crylink_weaponreplace ""
+ set g_balance_crylink_weaponstart 0
+ set g_balance_crylink_weaponstartoverride -1
+ set g_balance_crylink_weaponthrowable 1
+ // }}}
+ // {{{ #8: Vortex
+ set g_balance_vortex_charge 0
+ set g_balance_vortex_charge_animlimit 0.5
+ set g_balance_vortex_charge_limit 1
+ set g_balance_vortex_charge_maxspeed 800
+ set g_balance_vortex_charge_mindmg 40
+ set g_balance_vortex_charge_minspeed 400
+ set g_balance_vortex_charge_rate 0.4
+ set g_balance_vortex_charge_rot_pause 0
+ set g_balance_vortex_charge_rot_rate 0
+ set g_balance_vortex_charge_shot_multiplier 0
+ set g_balance_vortex_charge_start 0.5
+ set g_balance_vortex_charge_velocity_rate 0
+ set g_balance_vortex_primary_ammo 5
+ set g_balance_vortex_primary_animtime 0.3
+ set g_balance_vortex_primary_damage 100
+ set g_balance_vortex_primary_damagefalloff_forcehalflife 0
+ set g_balance_vortex_primary_damagefalloff_halflife 0
+ set g_balance_vortex_primary_damagefalloff_maxdist 0
+ set g_balance_vortex_primary_damagefalloff_mindist 0
+ set g_balance_vortex_primary_force 600
+ set g_balance_vortex_primary_refire 1.5
+ set g_balance_vortex_reload_ammo 0
+ set g_balance_vortex_reload_time 2
+ set g_balance_vortex_secondary 0
+ set g_balance_vortex_secondary_ammo 2
+ set g_balance_vortex_secondary_animtime 0
+ set g_balance_vortex_secondary_chargepool 0
+ set g_balance_vortex_secondary_chargepool_pause_regen 1
+ set g_balance_vortex_secondary_chargepool_regen 0.15
+ set g_balance_vortex_secondary_damage 0
+ set g_balance_vortex_secondary_damagefalloff_forcehalflife 0
+ set g_balance_vortex_secondary_damagefalloff_halflife 0
+ set g_balance_vortex_secondary_damagefalloff_maxdist 0
+ set g_balance_vortex_secondary_damagefalloff_mindist 0
+ set g_balance_vortex_secondary_force 0
+ set g_balance_vortex_secondary_refire 0
+ set g_balance_vortex_switchdelay_drop 0.15
+ set g_balance_vortex_switchdelay_raise 0.15
+ set g_balance_vortex_weaponreplace ""
+ set g_balance_vortex_weaponstart 0
+ set g_balance_vortex_weaponstartoverride -1
+ set g_balance_vortex_weaponthrowable 1
+ // }}}
+ // {{{ #9: Hagar
+ set g_balance_hagar_primary_ammo 1
+ set g_balance_hagar_primary_damage 37
+ set g_balance_hagar_primary_damageforcescale 0
+ set g_balance_hagar_primary_edgedamage 15
+ set g_balance_hagar_primary_force 100
+ set g_balance_hagar_primary_health 0
+ set g_balance_hagar_primary_lifetime 30
+ set g_balance_hagar_primary_radius 65
+ set g_balance_hagar_primary_refire 0.15
+ set g_balance_hagar_primary_speed 3000
+ set g_balance_hagar_primary_spread 0.010
+ set g_balance_hagar_reload_ammo 0
+ set g_balance_hagar_reload_time 2
+ set g_balance_hagar_secondary 1
+ set g_balance_hagar_secondary_ammo 1
+ set g_balance_hagar_secondary_damage 37
+ set g_balance_hagar_secondary_damageforcescale 0
+ set g_balance_hagar_secondary_edgedamage 15
+ set g_balance_hagar_secondary_force 100
+ set g_balance_hagar_secondary_health 0
+ set g_balance_hagar_secondary_lifetime_min 30
+ set g_balance_hagar_secondary_lifetime_rand 0
+ set g_balance_hagar_secondary_load 0
+ set g_balance_hagar_secondary_load_abort 1
+ set g_balance_hagar_secondary_load_animtime 0.2
+ set g_balance_hagar_secondary_load_hold 4
+ set g_balance_hagar_secondary_load_linkexplode 0
+ set g_balance_hagar_secondary_load_max 4
+ set g_balance_hagar_secondary_load_releasedeath 0
+ set g_balance_hagar_secondary_load_speed 0.5
+ set g_balance_hagar_secondary_load_spread 0.075
+ set g_balance_hagar_secondary_load_spread_bias 0.5
+ set g_balance_hagar_secondary_radius 80
+ set g_balance_hagar_secondary_refire 0.15
+ set g_balance_hagar_secondary_speed 1400
+ set g_balance_hagar_secondary_spread 0.015
+ set g_balance_hagar_switchdelay_drop 0.15
+ set g_balance_hagar_switchdelay_raise 0.15
+ set g_balance_hagar_weaponreplace ""
+ set g_balance_hagar_weaponstart 0
+ set g_balance_hagar_weaponstartoverride -1
+ set g_balance_hagar_weaponthrowable 1
+ // }}}
+ // {{{ #10: Devastator
+ set g_balance_devastator_ammo 3
+ set g_balance_devastator_animtime 0.3
+ set g_balance_devastator_damage 105
+ set g_balance_devastator_damageforcescale 4
+ set g_balance_devastator_detonatedelay 0.2
+ set g_balance_devastator_edgedamage 40
+ set g_balance_devastator_force 600
+ set g_balance_devastator_guidedelay 0.15
+ set g_balance_devastator_guidegoal 512
+ set g_balance_devastator_guiderate 90
+ set g_balance_devastator_guideratedelay 0.01
+ set g_balance_devastator_guidestop 0
+ set g_balance_devastator_health 40
+ set g_balance_devastator_lifetime 30
+ set g_balance_devastator_radius 150
+ set g_balance_devastator_refire 1
+ set g_balance_devastator_reload_ammo 0
+ set g_balance_devastator_reload_time 2
+ set g_balance_devastator_remote_damage 105
+ set g_balance_devastator_remote_edgedamage 40
+ set g_balance_devastator_remote_force 600
+ set g_balance_devastator_remote_jump_damage 70
+ set g_balance_devastator_remote_jump_radius 0
+ set g_balance_devastator_remote_jump_velocity_z_add 400
+ set g_balance_devastator_remote_jump_velocity_z_max 1500
+ set g_balance_devastator_remote_jump_velocity_z_min 400
+ set g_balance_devastator_remote_radius 150
+ set g_balance_devastator_speed 850
+ set g_balance_devastator_speedaccel 0
+ set g_balance_devastator_speedstart 850
+ set g_balance_devastator_switchdelay_drop 0.15
+ set g_balance_devastator_switchdelay_raise 0.15
+ set g_balance_devastator_weaponreplace ""
+ set g_balance_devastator_weaponstart 0
+ set g_balance_devastator_weaponstartoverride -1
+ set g_balance_devastator_weaponthrowable 1
+ // }}}
+ // {{{ #11: Port-O-Launch
+ set g_balance_porto_primary_animtime 0.3
+ set g_balance_porto_primary_lifetime 30
+ set g_balance_porto_primary_refire 1.5
+ set g_balance_porto_primary_speed 2000
+ set g_balance_porto_secondary 1
+ set g_balance_porto_secondary_animtime 0.3
+ set g_balance_porto_secondary_lifetime 30
+ set g_balance_porto_secondary_refire 1.5
+ set g_balance_porto_secondary_speed 2000
+ set g_balance_porto_switchdelay_drop 0.15
+ set g_balance_porto_switchdelay_raise 0.15
+ set g_balance_porto_weaponreplace ""
+ set g_balance_porto_weaponstart 0
+ set g_balance_porto_weaponstartoverride -1
+ set g_balance_porto_weaponthrowable 1
+ // }}}
+ // {{{ #12: Vaporizer
+ set g_balance_vaporizer_primary_ammo 10
+ set g_balance_vaporizer_primary_animtime 0.3
+ set g_balance_vaporizer_primary_refire 1
+ set g_balance_vaporizer_reload_ammo 0
+ set g_balance_vaporizer_reload_time 0
+ set g_balance_vaporizer_secondary_ammo 0
+ set g_balance_vaporizer_secondary_animtime 0.2
+ set g_balance_vaporizer_secondary_damage 25
+ set g_balance_vaporizer_secondary_delay 0
+ set g_balance_vaporizer_secondary_edgedamage 12.5
+ set g_balance_vaporizer_secondary_force 400
+ set g_balance_vaporizer_secondary_lifetime 5
+ set g_balance_vaporizer_secondary_radius 70
+ set g_balance_vaporizer_secondary_refire 0.7
+ set g_balance_vaporizer_secondary_shotangle 0
+ set g_balance_vaporizer_secondary_speed 6000
+ set g_balance_vaporizer_secondary_spread 0
+ set g_balance_vaporizer_switchdelay_drop 0.15
+ set g_balance_vaporizer_switchdelay_raise 0.15
+ set g_balance_vaporizer_weaponreplace ""
+ set g_balance_vaporizer_weaponstart 0
+ set g_balance_vaporizer_weaponstartoverride -1
+ set g_balance_vaporizer_weaponthrowable 0
+ // }}}
+ // {{{ #13: Grappling Hook
+ set g_balance_hook_primary_ammo 5
+ set g_balance_hook_primary_animtime 0.3
+ set g_balance_hook_primary_hooked_ammo 5
+ set g_balance_hook_primary_hooked_time_free 2
+ set g_balance_hook_primary_hooked_time_max 0
+ set g_balance_hook_primary_refire 0.2
+ set g_balance_hook_secondary_animtime 0.3
+ set g_balance_hook_secondary_damage 25
+ set g_balance_hook_secondary_damageforcescale 0
+ set g_balance_hook_secondary_duration 1.5
+ set g_balance_hook_secondary_edgedamage 5
+ set g_balance_hook_secondary_force -2000
+ set g_balance_hook_secondary_gravity 5
+ set g_balance_hook_secondary_health 15
+ set g_balance_hook_secondary_lifetime 5
+ set g_balance_hook_secondary_power 3
+ set g_balance_hook_secondary_radius 500
+ set g_balance_hook_secondary_refire 3
+ set g_balance_hook_secondary_speed 0
+ set g_balance_hook_switchdelay_drop 0.15
+ set g_balance_hook_switchdelay_raise 0.15
+ set g_balance_hook_weaponreplace ""
+ set g_balance_hook_weaponstart 0
+ set g_balance_hook_weaponstartoverride -1
+ set g_balance_hook_weaponthrowable 1
+ // }}}
+ // {{{ #14: Heavy Laser Assault Cannon (MUTATOR WEAPON)
+ set g_balance_hlac_primary_ammo 1
+ set g_balance_hlac_primary_animtime 0.4
+ set g_balance_hlac_primary_damage 18
+ set g_balance_hlac_primary_edgedamage 9
+ set g_balance_hlac_primary_force 90
+ set g_balance_hlac_primary_lifetime 5
+ set g_balance_hlac_primary_radius 70
+ set g_balance_hlac_primary_refire 0.15
+ set g_balance_hlac_primary_speed 9000
+ set g_balance_hlac_primary_spread_add 0.0045
+ set g_balance_hlac_primary_spread_crouchmod 0.25
+ set g_balance_hlac_primary_spread_max 0.25
+ set g_balance_hlac_primary_spread_min 0.01
+ set g_balance_hlac_reload_ammo 0
+ set g_balance_hlac_reload_time 2
+ set g_balance_hlac_secondary 1
+ set g_balance_hlac_secondary_ammo 10
+ set g_balance_hlac_secondary_animtime 0.3
+ set g_balance_hlac_secondary_damage 15
+ set g_balance_hlac_secondary_edgedamage 7.5
+ set g_balance_hlac_secondary_force 90
+ set g_balance_hlac_secondary_lifetime 5
+ set g_balance_hlac_secondary_radius 70
+ set g_balance_hlac_secondary_refire 1
+ set g_balance_hlac_secondary_shots 6
+ set g_balance_hlac_secondary_speed 9000
+ set g_balance_hlac_secondary_spread 0.15
+ set g_balance_hlac_secondary_spread_crouchmod 0.5
+ set g_balance_hlac_switchdelay_drop 0.15
+ set g_balance_hlac_switchdelay_raise 0.15
+ set g_balance_hlac_weaponreplace ""
+ set g_balance_hlac_weaponstart 0
+ set g_balance_hlac_weaponstartoverride -1
+ set g_balance_hlac_weaponthrowable 1
+ // }}}
+ // {{{ #15: @!#%'n Tuba
+ set g_balance_tuba_animtime 0.05
+ set g_balance_tuba_attenuation 0.5
+ set g_balance_tuba_damage 5
+ set g_balance_tuba_edgedamage 0
+ set g_balance_tuba_fadetime 0.25
+ set g_balance_tuba_force 40
+ set g_balance_tuba_pitchstep 6
+ set g_balance_tuba_radius 200
+ set g_balance_tuba_refire 0.05
+ set g_balance_tuba_switchdelay_drop 0.15
+ set g_balance_tuba_switchdelay_raise 0.15
+ set g_balance_tuba_volume 1
+ set g_balance_tuba_weaponreplace ""
+ set g_balance_tuba_weaponstart 0
+ set g_balance_tuba_weaponstartoverride -1
+ set g_balance_tuba_weaponthrowable 1
+ // }}}
+ // {{{ #16: Rifle (MUTATOR WEAPON)
+ set g_balance_rifle_bursttime 0
+ set g_balance_rifle_primary_ammo 10
+ set g_balance_rifle_primary_animtime 0.4
+ set g_balance_rifle_primary_bullethail 0
+ set g_balance_rifle_primary_burstcost 0
+ set g_balance_rifle_primary_damage 80
+ set g_balance_rifle_primary_force 100
+ set g_balance_rifle_primary_refire 1.2
+ set g_balance_rifle_primary_shots 1
+ set g_balance_rifle_primary_solidpenetration 62.2
+ set g_balance_rifle_primary_spread 0
+ set g_balance_rifle_primary_tracer 1
+ set g_balance_rifle_reload_ammo 80
+ set g_balance_rifle_reload_time 2
+ set g_balance_rifle_secondary 1
+ set g_balance_rifle_secondary_ammo 10
+ set g_balance_rifle_secondary_animtime 0.3
+ set g_balance_rifle_secondary_bullethail 0
+ set g_balance_rifle_secondary_burstcost 0
+ set g_balance_rifle_secondary_damage 20
+ set g_balance_rifle_secondary_force 50
+ set g_balance_rifle_secondary_refire 0.9
+ set g_balance_rifle_secondary_reload 0
+ set g_balance_rifle_secondary_shots 4
+ set g_balance_rifle_secondary_solidpenetration 15.5
+ set g_balance_rifle_secondary_spread 0.04
+ set g_balance_rifle_secondary_tracer 0
+ set g_balance_rifle_switchdelay_drop 0.15
+ set g_balance_rifle_switchdelay_raise 0.15
+ set g_balance_rifle_weaponreplace ""
+ set g_balance_rifle_weaponstart 0
+ set g_balance_rifle_weaponstartoverride -1
+ set g_balance_rifle_weaponthrowable 1
+ // }}}
+ // {{{ #17: Fireball
+ set g_balance_fireball_primary_animtime 0.4
+ set g_balance_fireball_primary_bfgdamage 100
+ set g_balance_fireball_primary_bfgforce 0
+ set g_balance_fireball_primary_bfgradius 1000
+ set g_balance_fireball_primary_damage 200
+ set g_balance_fireball_primary_damageforcescale 0
+ set g_balance_fireball_primary_edgedamage 50
+ set g_balance_fireball_primary_force 600
+ set g_balance_fireball_primary_health 0
+ set g_balance_fireball_primary_laserburntime 0.5
+ set g_balance_fireball_primary_laserdamage 80
+ set g_balance_fireball_primary_laseredgedamage 20
+ set g_balance_fireball_primary_laserradius 256
+ set g_balance_fireball_primary_lifetime 15
+ set g_balance_fireball_primary_radius 200
+ set g_balance_fireball_primary_refire 2
+ set g_balance_fireball_primary_refire2 0
+ set g_balance_fireball_primary_speed 1200
+ set g_balance_fireball_primary_spread 0
+ set g_balance_fireball_secondary_animtime 0.3
+ set g_balance_fireball_secondary_damage 40
+ set g_balance_fireball_secondary_damageforcescale 4
+ set g_balance_fireball_secondary_damagetime 5
+ set g_balance_fireball_secondary_laserburntime 0.5
+ set g_balance_fireball_secondary_laserdamage 50
+ set g_balance_fireball_secondary_laseredgedamage 20
+ set g_balance_fireball_secondary_laserradius 110
+ set g_balance_fireball_secondary_lifetime 7
+ set g_balance_fireball_secondary_refire 1.5
+ set g_balance_fireball_secondary_speed 900
+ 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
+ set g_balance_fireball_weaponreplace ""
+ set g_balance_fireball_weaponstart 0
+ set g_balance_fireball_weaponstartoverride -1
+ set g_balance_fireball_weaponthrowable 0
+ // }}}
+ // {{{ #18: T.A.G. Seeker (MUTATOR WEAPON)
+ set g_balance_seeker_flac_ammo 1
+ set g_balance_seeker_flac_animtime 0.1
+ set g_balance_seeker_flac_damage 15
+ set g_balance_seeker_flac_edgedamage 10
+ set g_balance_seeker_flac_force 50
+ set g_balance_seeker_flac_lifetime 0.1
+ set g_balance_seeker_flac_lifetime_rand 0.05
+ set g_balance_seeker_flac_radius 100
+ set g_balance_seeker_flac_refire 0.1
+ set g_balance_seeker_flac_speed 3000
+ set g_balance_seeker_flac_speed_up 1000
+ set g_balance_seeker_flac_speed_z 0
+ set g_balance_seeker_flac_spread 0.4
+ set g_balance_seeker_missile_accel 1400
+ set g_balance_seeker_missile_ammo 2
+ set g_balance_seeker_missile_animtime 0.2
+ set g_balance_seeker_missile_count 3
+ set g_balance_seeker_missile_damage 30
+ set g_balance_seeker_missile_damageforcescale 4
+ set g_balance_seeker_missile_decel 1400
+ set g_balance_seeker_missile_delay 0.25
+ set g_balance_seeker_missile_edgedamage 10
+ set g_balance_seeker_missile_force 150
+ set g_balance_seeker_missile_health 5
+ set g_balance_seeker_missile_lifetime 15
+ set g_balance_seeker_missile_proxy 0
+ set g_balance_seeker_missile_proxy_delay 0.2
+ set g_balance_seeker_missile_proxy_maxrange 45
+ set g_balance_seeker_missile_radius 80
+ set g_balance_seeker_missile_refire 0.5
+ set g_balance_seeker_missile_smart 1
+ set g_balance_seeker_missile_smart_mindist 800
+ set g_balance_seeker_missile_smart_trace_max 2500
+ set g_balance_seeker_missile_smart_trace_min 1000
+ set g_balance_seeker_missile_speed 700
+ set g_balance_seeker_missile_speed_max 1300
+ set g_balance_seeker_missile_speed_up 300
+ set g_balance_seeker_missile_speed_z 0
+ set g_balance_seeker_missile_spread 0
+ set g_balance_seeker_missile_turnrate 0.65
+ set g_balance_seeker_reload_ammo 0
+ set g_balance_seeker_reload_time 2
+ set g_balance_seeker_switchdelay_drop 0.15
+ set g_balance_seeker_switchdelay_raise 0.15
+ set g_balance_seeker_tag_ammo 1
+ set g_balance_seeker_tag_animtime 0.2
+ set g_balance_seeker_tag_damageforcescale 4
+ set g_balance_seeker_tag_health 5
+ set g_balance_seeker_tag_lifetime 15
+ set g_balance_seeker_tag_refire 0.75
+ set g_balance_seeker_tag_speed 5000
+ set g_balance_seeker_tag_spread 0
+ set g_balance_seeker_tag_tracker_lifetime 10
+ set g_balance_seeker_type 0
+ set g_balance_seeker_weaponreplace ""
+ set g_balance_seeker_weaponstart 0
+ set g_balance_seeker_weaponstartoverride -1
+ set g_balance_seeker_weaponthrowable 1
+ // }}}
+ // {{{ #19: Shockwave (MUTATOR WEAPON)
+ set g_balance_shockwave_blast_animtime 0.3
+ set g_balance_shockwave_blast_damage 20
+ set g_balance_shockwave_blast_distance 1000
+ set g_balance_shockwave_blast_edgedamage 0
+ set g_balance_shockwave_blast_force 200
+ set g_balance_shockwave_blast_force_forwardbias 50
+ set g_balance_shockwave_blast_force_zscale 2
+ set g_balance_shockwave_blast_jump_damage 20
+ set g_balance_shockwave_blast_jump_edgedamage 0
+ set g_balance_shockwave_blast_jump_force 300
+ set g_balance_shockwave_blast_jump_force_velocitybias 0
+ set g_balance_shockwave_blast_jump_force_zscale 1.25
+ set g_balance_shockwave_blast_jump_multiplier_accuracy 0.5
+ set g_balance_shockwave_blast_jump_multiplier_distance 0.5
+ set g_balance_shockwave_blast_jump_multiplier_min 0
+ set g_balance_shockwave_blast_jump_radius 150
+ set g_balance_shockwave_blast_multiplier_accuracy 0.5
+ set g_balance_shockwave_blast_multiplier_distance 0.5
+ set g_balance_shockwave_blast_multiplier_min 0
+ set g_balance_shockwave_blast_refire 0.75
+ set g_balance_shockwave_blast_splash_damage 15
+ set g_balance_shockwave_blast_splash_edgedamage 0
+ set g_balance_shockwave_blast_splash_force 100
+ set g_balance_shockwave_blast_splash_force_forwardbias 50
+ set g_balance_shockwave_blast_splash_multiplier_accuracy 0.5
+ set g_balance_shockwave_blast_splash_multiplier_distance 0.5
+ set g_balance_shockwave_blast_splash_multiplier_min 0
+ set g_balance_shockwave_blast_splash_radius 70
+ set g_balance_shockwave_blast_spread_max 120
+ set g_balance_shockwave_blast_spread_min 25
+ set g_balance_shockwave_melee_animtime 1.3
+ set g_balance_shockwave_melee_damage 80
+ set g_balance_shockwave_melee_delay 0.25
+ set g_balance_shockwave_melee_force 200
+ set g_balance_shockwave_melee_multihit 1
+ set g_balance_shockwave_melee_no_doubleslap 1
+ set g_balance_shockwave_melee_nonplayerdamage 40
+ set g_balance_shockwave_melee_range 120
+ set g_balance_shockwave_melee_refire 1.25
+ set g_balance_shockwave_melee_swing_side 120
+ set g_balance_shockwave_melee_swing_up 30
+ set g_balance_shockwave_melee_time 0.15
+ set g_balance_shockwave_melee_traces 10
+ set g_balance_shockwave_switchdelay_drop 0.15
+ set g_balance_shockwave_switchdelay_raise 0.15
+ set g_balance_shockwave_weaponreplace ""
+ set g_balance_shockwave_weaponstart 1
+ set g_balance_shockwave_weaponstartoverride -1
+ set g_balance_shockwave_weaponthrowable 0
+ // }}}
+ // {{{ #20: Arc
+ set g_balance_arc_beam_ammo 4
+ set g_balance_arc_beam_animtime 0.2
+ set g_balance_arc_beam_botaimlifetime 0
+ set g_balance_arc_beam_botaimspeed 0
+ set g_balance_arc_beam_damage 115
+ set g_balance_arc_beam_degreespersegment 1
+ set g_balance_arc_beam_distancepersegment 0
+ set g_balance_arc_beam_falloff_halflifedist 0
+ set g_balance_arc_beam_falloff_maxdist 0
+ set g_balance_arc_beam_falloff_mindist 0
+ set g_balance_arc_beam_force 900
+ set g_balance_arc_beam_healing_amax 100
+ set g_balance_arc_beam_healing_aps 50
+ set g_balance_arc_beam_healing_hmax 150
+ set g_balance_arc_beam_healing_hps 50
+ set g_balance_arc_cooldown 2.5
+ set g_balance_arc_overheat_max 5
+ set g_balance_arc_overheat_min 3
+ set g_balance_arc_beam_heat 1
+ set g_balance_arc_burst_heat 3
+ set g_balance_arc_beam_maxangle 10
+ set g_balance_arc_beam_nonplayerdamage 80
+ set g_balance_arc_beam_range 1000
+ set g_balance_arc_beam_refire 0.5
+ set g_balance_arc_beam_returnspeed 8
+ set g_balance_arc_beam_tightness 0.5
+ set g_balance_arc_burst_ammo 15
+ set g_balance_arc_burst_damage 150
+ set g_balance_arc_burst_healing_aps 100
+ set g_balance_arc_burst_healing_hps 100
+ set g_balance_arc_switchdelay_drop 0.3
+ set g_balance_arc_switchdelay_raise 0.3
+ set g_balance_arc_weaponreplace ""
+ set g_balance_arc_weaponstart 0
+ set g_balance_arc_weaponstartoverride -1
+ set g_balance_arc_weaponthrowable 1
+ // }}}
++// {{{ #21: Heavy Machine Gun
++set g_balance_hmg_ammo 0
++set g_balance_hmg_damage 0
++set g_balance_hmg_force 0
++set g_balance_hmg_refire 0
++set g_balance_hmg_reload_ammo 120
++set g_balance_hmg_reload_time 1
++set g_balance_hmg_solidpenetration 32
++set g_balance_hmg_spread_add 0.01
++set g_balance_hmg_spread_max 0.05
++set g_balance_hmg_spread_min 0.02
++set g_balance_hmg_switchdelay_drop 0.2
++set g_balance_hmg_switchdelay_raise 0.2
++set g_balance_hmg_weaponreplace ""
++set g_balance_hmg_weaponstart 0
++set g_balance_hmg_weaponstartoverride 0
++set g_balance_hmg_weaponthrowable 0
++// }}}
++// {{{ #22: Rocket Propelled Chainsaw
++set g_balance_rpc_ammo 10
++set g_balance_rpc_animtime 1
++set g_balance_rpc_damage 150
++set g_balance_rpc_damage2 500
++set g_balance_rpc_damageforcescale 2
++set g_balance_rpc_edgedamage 50
++set g_balance_rpc_force 400
++set g_balance_rpc_health 25
++set g_balance_rpc_lifetime 30
++set g_balance_rpc_radius 300
++set g_balance_rpc_refire 1
++set g_balance_rpc_reload_ammo 10
++set g_balance_rpc_reload_time 1
++set g_balance_rpc_speed 1250
++set g_balance_rpc_speedaccel 5000
++set g_balance_rpc_switchdelay_drop 0.2
++set g_balance_rpc_switchdelay_raise 0.2
++set g_balance_rpc_weaponreplace ""
++set g_balance_rpc_weaponstart 0
++set g_balance_rpc_weaponstartoverride 0
++set g_balance_rpc_weaponthrowable 0
++// }}}
index 0000000,0000000..ab18a5d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,804 @@@
++// {{{ #1: Blaster
++set g_balance_blaster_primary_animtime 0.2
++set g_balance_blaster_primary_damage 25
++set g_balance_blaster_primary_delay 0
++set g_balance_blaster_primary_edgedamage 12.5
++set g_balance_blaster_primary_force 300
++set g_balance_blaster_primary_force_zscale 1.25
++set g_balance_blaster_primary_lifetime 5
++set g_balance_blaster_primary_radius 60
++set g_balance_blaster_primary_refire 0.7
++set g_balance_blaster_primary_shotangle 0
++set g_balance_blaster_primary_speed 6000
++set g_balance_blaster_primary_spread 0
++set g_balance_blaster_secondary 0
++set g_balance_blaster_secondary_animtime 0.2
++set g_balance_blaster_secondary_damage 25
++set g_balance_blaster_secondary_delay 0
++set g_balance_blaster_secondary_edgedamage 12.5
++set g_balance_blaster_secondary_force 300
++set g_balance_blaster_secondary_force_zscale 1.2
++set g_balance_blaster_secondary_lifetime 5
++set g_balance_blaster_secondary_radius 70
++set g_balance_blaster_secondary_refire 0.7
++set g_balance_blaster_secondary_shotangle 0
++set g_balance_blaster_secondary_speed 6000
++set g_balance_blaster_secondary_spread 0
++set g_balance_blaster_switchdelay_drop 0.2
++set g_balance_blaster_switchdelay_raise 0.2
++set g_balance_blaster_weaponreplace ""
++set g_balance_blaster_weaponstart 1
++set g_balance_blaster_weaponstartoverride -1
++set g_balance_blaster_weaponthrowable 0
++// }}}
++// {{{ #2: Shotgun
++set g_balance_shotgun_primary_ammo 6.25
++set g_balance_shotgun_primary_animtime 0.65
++set g_balance_shotgun_primary_bullets 10
++set g_balance_shotgun_primary_damage 17
++set g_balance_shotgun_primary_force 80
++set g_balance_shotgun_primary_refire 0.75
++set g_balance_shotgun_primary_solidpenetration 3.8
++set g_balance_shotgun_primary_spread 0.07
++set g_balance_shotgun_reload_ammo 50
++set g_balance_shotgun_reload_time 2
++set g_balance_shotgun_secondary 1
++set g_balance_shotgun_secondary_alt_animtime 0.2
++set g_balance_shotgun_secondary_alt_refire 1.2
++set g_balance_shotgun_secondary_animtime 1
++set g_balance_shotgun_secondary_damage 70
++set g_balance_shotgun_secondary_force 200
++set g_balance_shotgun_secondary_melee_delay 0.25
++set g_balance_shotgun_secondary_melee_multihit 1
++set g_balance_shotgun_secondary_melee_no_doubleslap 1
++set g_balance_shotgun_secondary_melee_nonplayerdamage 40
++set g_balance_shotgun_secondary_melee_range 120
++set g_balance_shotgun_secondary_melee_swing_side 120
++set g_balance_shotgun_secondary_melee_swing_up 30
++set g_balance_shotgun_secondary_melee_time 0.15
++set g_balance_shotgun_secondary_melee_traces 10
++set g_balance_shotgun_secondary_refire 1.25
++set g_balance_shotgun_switchdelay_drop 0.2
++set g_balance_shotgun_switchdelay_raise 0.2
++set g_balance_shotgun_weaponreplace ""
++set g_balance_shotgun_weaponstart 1
++set g_balance_shotgun_weaponstartoverride -1
++set g_balance_shotgun_weaponthrowable 1
++// }}}
++// {{{ #3: Machine Gun
++set g_balance_machinegun_burst 3
++set g_balance_machinegun_burst_ammo 3
++set g_balance_machinegun_burst_animtime 0.3
++set g_balance_machinegun_burst_refire 0.06
++set g_balance_machinegun_burst_refire2 0.45
++set g_balance_machinegun_burst_speed 0
++set g_balance_machinegun_first 1
++set g_balance_machinegun_first_ammo 1
++set g_balance_machinegun_first_damage 14
++set g_balance_machinegun_first_force 5
++set g_balance_machinegun_first_refire 0.125
++set g_balance_machinegun_first_spread 0.03
++set g_balance_machinegun_mode 1
++set g_balance_machinegun_reload_ammo 30
++set g_balance_machinegun_reload_time 1.5
++set g_balance_machinegun_solidpenetration 13.1
++set g_balance_machinegun_spread_add 0.012
++set g_balance_machinegun_spread_max 0.05
++set g_balance_machinegun_spread_min 0.02
++set g_balance_machinegun_sustained_ammo 1
++set g_balance_machinegun_sustained_damage 25
++set g_balance_machinegun_sustained_force 5
++set g_balance_machinegun_sustained_refire 0.1
++set g_balance_machinegun_sustained_spread 0.01
++set g_balance_machinegun_switchdelay_drop 0.2
++set g_balance_machinegun_switchdelay_raise 0.2
++set g_balance_machinegun_weaponreplace ""
++set g_balance_machinegun_weaponstart 0
++set g_balance_machinegun_weaponstartoverride -1
++set g_balance_machinegun_weaponthrowable 1
++// }}}
++// {{{ #4: Mortar
++set g_balance_mortar_bouncefactor 0.5
++set g_balance_mortar_bouncestop 0.075
++set g_balance_mortar_primary_ammo 2
++set g_balance_mortar_primary_animtime 0.3
++set g_balance_mortar_primary_damage 55
++set g_balance_mortar_primary_damageforcescale 0
++set g_balance_mortar_primary_edgedamage 25
++set g_balance_mortar_primary_force 250
++set g_balance_mortar_primary_health 15
++set g_balance_mortar_primary_lifetime 5
++set g_balance_mortar_primary_lifetime_stick 0
++set g_balance_mortar_primary_radius 120
++set g_balance_mortar_primary_refire 0.8
++set g_balance_mortar_primary_remote_minbouncecnt 0
++set g_balance_mortar_primary_speed 1900
++set g_balance_mortar_primary_speed_up 225
++set g_balance_mortar_primary_speed_z 0
++set g_balance_mortar_primary_spread 0
++set g_balance_mortar_primary_type 0
++set g_balance_mortar_reload_ammo 0
++set g_balance_mortar_reload_time 2
++set g_balance_mortar_secondary_ammo 2
++set g_balance_mortar_secondary_animtime 0.3
++set g_balance_mortar_secondary_damage 55
++set g_balance_mortar_secondary_damageforcescale 4
++set g_balance_mortar_secondary_edgedamage 30
++set g_balance_mortar_secondary_force 250
++set g_balance_mortar_secondary_health 30
++set g_balance_mortar_secondary_lifetime 5
++set g_balance_mortar_secondary_lifetime_bounce 0.5
++set g_balance_mortar_secondary_lifetime_stick 0
++set g_balance_mortar_secondary_radius 120
++set g_balance_mortar_secondary_refire 0.7
++set g_balance_mortar_secondary_remote_detonateprimary 0
++set g_balance_mortar_secondary_speed 1400
++set g_balance_mortar_secondary_speed_up 150
++set g_balance_mortar_secondary_speed_z 0
++set g_balance_mortar_secondary_spread 0
++set g_balance_mortar_secondary_type 1
++set g_balance_mortar_switchdelay_drop 0.2
++set g_balance_mortar_switchdelay_raise 0.2
++set g_balance_mortar_weaponreplace ""
++set g_balance_mortar_weaponstart 0
++set g_balance_mortar_weaponstartoverride -1
++set g_balance_mortar_weaponthrowable 1
++// }}}
++// {{{ #5: Mine Layer (MUTATOR WEAPON)
++set g_balance_minelayer_ammo 4
++set g_balance_minelayer_animtime 0.4
++set g_balance_minelayer_damage 40
++set g_balance_minelayer_damageforcescale 0
++set g_balance_minelayer_detonatedelay -1
++set g_balance_minelayer_edgedamage 20
++set g_balance_minelayer_force 250
++set g_balance_minelayer_health 15
++set g_balance_minelayer_lifetime 10
++set g_balance_minelayer_lifetime_countdown 0.5
++set g_balance_minelayer_limit 3
++set g_balance_minelayer_protection 0
++set g_balance_minelayer_proximityradius 150
++set g_balance_minelayer_radius 175
++set g_balance_minelayer_refire 1.5
++set g_balance_minelayer_reload_ammo 0
++set g_balance_minelayer_reload_time 2
++set g_balance_minelayer_remote_damage 45
++set g_balance_minelayer_remote_edgedamage 40
++set g_balance_minelayer_remote_force 300
++set g_balance_minelayer_remote_radius 200
++set g_balance_minelayer_speed 1000
++set g_balance_minelayer_switchdelay_drop 0.2
++set g_balance_minelayer_switchdelay_raise 0.2
++set g_balance_minelayer_time 0.5
++set g_balance_minelayer_weaponreplace ""
++set g_balance_minelayer_weaponstart 0
++set g_balance_minelayer_weaponstartoverride -1
++set g_balance_minelayer_weaponthrowable 1
++// }}}
++// {{{ #6: Electro
++set g_balance_electro_combo_comboradius 300
++set g_balance_electro_combo_comboradius_thruwall 200
++set g_balance_electro_combo_damage 50
++set g_balance_electro_combo_edgedamage 25
++set g_balance_electro_combo_force 120
++set g_balance_electro_combo_radius 150
++set g_balance_electro_combo_safeammocheck 1
++set g_balance_electro_combo_speed 2000
++set g_balance_electro_primary_ammo 4
++set g_balance_electro_primary_animtime 0.3
++set g_balance_electro_primary_comboradius 300
++set g_balance_electro_primary_damage 40
++set g_balance_electro_primary_edgedamage 20
++set g_balance_electro_primary_force 200
++set g_balance_electro_primary_lifetime 5
++set g_balance_electro_primary_midaircombo_explode 1
++set g_balance_electro_primary_midaircombo_interval 0.1
++set g_balance_electro_primary_midaircombo_radius 150
++set g_balance_electro_primary_radius 100
++set g_balance_electro_primary_refire 0.6
++set g_balance_electro_primary_speed 2500
++set g_balance_electro_primary_spread 0
++set g_balance_electro_reload_ammo 0
++set g_balance_electro_reload_time 2
++set g_balance_electro_secondary_ammo 2
++set g_balance_electro_secondary_animtime 0.2
++set g_balance_electro_secondary_bouncefactor 0.3
++set g_balance_electro_secondary_bouncestop 0.05
++set g_balance_electro_secondary_count 3
++set g_balance_electro_secondary_damage 30
++set g_balance_electro_secondary_damagedbycontents 1
++set g_balance_electro_secondary_damageforcescale 4
++set g_balance_electro_secondary_edgedamage 15
++set g_balance_electro_secondary_force 50
++set g_balance_electro_secondary_health 5
++set g_balance_electro_secondary_lifetime 4
++set g_balance_electro_secondary_radius 150
++set g_balance_electro_secondary_refire 0.2
++set g_balance_electro_secondary_refire2 1.6
++set g_balance_electro_secondary_speed 1000
++set g_balance_electro_secondary_speed_up 200
++set g_balance_electro_secondary_speed_z 0
++set g_balance_electro_secondary_spread 0.04
++set g_balance_electro_secondary_touchexplode 0
++set g_balance_electro_switchdelay_drop 0.2
++set g_balance_electro_switchdelay_raise 0.2
++set g_balance_electro_weaponreplace ""
++set g_balance_electro_weaponstart 0
++set g_balance_electro_weaponstartoverride -1
++set g_balance_electro_weaponthrowable 1
++// }}}
++// {{{ #7: Crylink
++set g_balance_crylink_primary_ammo 3
++set g_balance_crylink_primary_animtime 0.3
++set g_balance_crylink_primary_bouncedamagefactor 0.5
++set g_balance_crylink_primary_bounces 1
++set g_balance_crylink_primary_damage 12
++set g_balance_crylink_primary_edgedamage 6
++set g_balance_crylink_primary_force -50
++set g_balance_crylink_primary_joindelay 0.1
++set g_balance_crylink_primary_joinexplode 1
++set g_balance_crylink_primary_joinexplode_damage 0
++set g_balance_crylink_primary_joinexplode_edgedamage 0
++set g_balance_crylink_primary_joinexplode_force 0
++set g_balance_crylink_primary_joinexplode_radius 0
++set g_balance_crylink_primary_joinspread 0.2
++set g_balance_crylink_primary_linkexplode 1
++set g_balance_crylink_primary_middle_fadetime 5
++set g_balance_crylink_primary_middle_lifetime 5
++set g_balance_crylink_primary_other_fadetime 5
++set g_balance_crylink_primary_other_lifetime 5
++set g_balance_crylink_primary_radius 80
++set g_balance_crylink_primary_refire 0.7
++set g_balance_crylink_primary_shots 6
++set g_balance_crylink_primary_speed 2000
++set g_balance_crylink_primary_spread 0.08
++set g_balance_crylink_reload_ammo 0
++set g_balance_crylink_reload_time 2
++set g_balance_crylink_secondary 1
++set g_balance_crylink_secondary_ammo 2
++set g_balance_crylink_secondary_animtime 0.2
++set g_balance_crylink_secondary_bouncedamagefactor 0.5
++set g_balance_crylink_secondary_bounces 0
++set g_balance_crylink_secondary_damage 10
++set g_balance_crylink_secondary_edgedamage 5
++set g_balance_crylink_secondary_force -250
++set g_balance_crylink_secondary_joindelay 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_force 0
++set g_balance_crylink_secondary_joinexplode_radius 0
++set g_balance_crylink_secondary_joinspread 0
++set g_balance_crylink_secondary_linkexplode 1
++set g_balance_crylink_secondary_middle_fadetime 5
++set g_balance_crylink_secondary_middle_lifetime 5
++set g_balance_crylink_secondary_other_fadetime 5
++set g_balance_crylink_secondary_other_lifetime 5
++set g_balance_crylink_secondary_radius 100
++set g_balance_crylink_secondary_refire 0.7
++set g_balance_crylink_secondary_shots 5
++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_switchdelay_drop 0.2
++set g_balance_crylink_switchdelay_raise 0.2
++set g_balance_crylink_weaponreplace ""
++set g_balance_crylink_weaponstart 0
++set g_balance_crylink_weaponstartoverride -1
++set g_balance_crylink_weaponthrowable 1
++// }}}
++// {{{ #8: Vortex
++set g_balance_vortex_charge 0
++set g_balance_vortex_charge_animlimit 0.5
++set g_balance_vortex_charge_limit 1
++set g_balance_vortex_charge_maxspeed 800
++set g_balance_vortex_charge_mindmg 40
++set g_balance_vortex_charge_minspeed 400
++set g_balance_vortex_charge_rate 0.6
++set g_balance_vortex_charge_rot_pause 0
++set g_balance_vortex_charge_rot_rate 0
++set g_balance_vortex_charge_shot_multiplier 0
++set g_balance_vortex_charge_start 0.5
++set g_balance_vortex_charge_velocity_rate 0
++set g_balance_vortex_primary_ammo 10
++set g_balance_vortex_primary_animtime 0.95
++set g_balance_vortex_primary_damage 100
++set g_balance_vortex_primary_damagefalloff_forcehalflife 0
++set g_balance_vortex_primary_damagefalloff_halflife 0
++set g_balance_vortex_primary_damagefalloff_maxdist 0
++set g_balance_vortex_primary_damagefalloff_mindist 0
++set g_balance_vortex_primary_force 500
++set g_balance_vortex_primary_refire 1
++set g_balance_vortex_reload_ammo 50
++set g_balance_vortex_reload_time 2
++set g_balance_vortex_secondary 1
++set g_balance_vortex_secondary_ammo 2
++set g_balance_vortex_secondary_animtime 0
++set g_balance_vortex_secondary_chargepool 0
++set g_balance_vortex_secondary_chargepool_pause_regen 1
++set g_balance_vortex_secondary_chargepool_regen 0.15
++set g_balance_vortex_secondary_damage 0
++set g_balance_vortex_secondary_damagefalloff_forcehalflife 0
++set g_balance_vortex_secondary_damagefalloff_halflife 0
++set g_balance_vortex_secondary_damagefalloff_maxdist 0
++set g_balance_vortex_secondary_damagefalloff_mindist 0
++set g_balance_vortex_secondary_force 0
++set g_balance_vortex_secondary_refire 0
++set g_balance_vortex_switchdelay_drop 0.25
++set g_balance_vortex_switchdelay_raise 0.25
++set g_balance_vortex_weaponreplace ""
++set g_balance_vortex_weaponstart 0
++set g_balance_vortex_weaponstartoverride -1
++set g_balance_vortex_weaponthrowable 1
++// }}}
++// {{{ #9: Hagar
++set g_balance_hagar_primary_ammo 1
++set g_balance_hagar_primary_damage 25
++set g_balance_hagar_primary_damageforcescale 0
++set g_balance_hagar_primary_edgedamage 12.5
++set g_balance_hagar_primary_force 100
++set g_balance_hagar_primary_health 15
++set g_balance_hagar_primary_lifetime 5
++set g_balance_hagar_primary_radius 65
++set g_balance_hagar_primary_refire 0.16667
++set g_balance_hagar_primary_speed 2200
++set g_balance_hagar_primary_spread 0.03
++set g_balance_hagar_reload_ammo 0
++set g_balance_hagar_reload_time 2
++set g_balance_hagar_secondary 1
++set g_balance_hagar_secondary_ammo 1
++set g_balance_hagar_secondary_damage 35
++set g_balance_hagar_secondary_damageforcescale 0
++set g_balance_hagar_secondary_edgedamage 17.5
++set g_balance_hagar_secondary_force 75
++set g_balance_hagar_secondary_health 15
++set g_balance_hagar_secondary_lifetime_min 10
++set g_balance_hagar_secondary_lifetime_rand 0
++set g_balance_hagar_secondary_load 1
++set g_balance_hagar_secondary_load_abort 1
++set g_balance_hagar_secondary_load_animtime 0.2
++set g_balance_hagar_secondary_load_hold 4
++set g_balance_hagar_secondary_load_linkexplode 0
++set g_balance_hagar_secondary_load_max 4
++set g_balance_hagar_secondary_load_releasedeath 0
++set g_balance_hagar_secondary_load_speed 0.5
++set g_balance_hagar_secondary_load_spread 0.075
++set g_balance_hagar_secondary_load_spread_bias 0.5
++set g_balance_hagar_secondary_radius 80
++set g_balance_hagar_secondary_refire 0.5
++set g_balance_hagar_secondary_speed 2000
++set g_balance_hagar_secondary_spread 0.05
++set g_balance_hagar_switchdelay_drop 0.2
++set g_balance_hagar_switchdelay_raise 0.2
++set g_balance_hagar_weaponreplace ""
++set g_balance_hagar_weaponstart 0
++set g_balance_hagar_weaponstartoverride -1
++set g_balance_hagar_weaponthrowable 1
++// }}}
++// {{{ #10: Devastator
++set g_balance_devastator_ammo 4
++set g_balance_devastator_animtime 0.4
++set g_balance_devastator_damage 80
++set g_balance_devastator_damageforcescale 1
++set g_balance_devastator_detonatedelay 0.02
++set g_balance_devastator_edgedamage 40
++set g_balance_devastator_force 400
++set g_balance_devastator_guidedelay 0.2
++set g_balance_devastator_guidegoal 512
++set g_balance_devastator_guiderate 90
++set g_balance_devastator_guideratedelay 0.01
++set g_balance_devastator_guidestop 0
++set g_balance_devastator_health 30
++set g_balance_devastator_lifetime 10
++set g_balance_devastator_radius 110
++set g_balance_devastator_refire 1.1
++set g_balance_devastator_reload_ammo 0
++set g_balance_devastator_reload_time 2
++set g_balance_devastator_remote_damage 70
++set g_balance_devastator_remote_edgedamage 35
++set g_balance_devastator_remote_force 300
++set g_balance_devastator_remote_jump_damage 70
++set g_balance_devastator_remote_jump_radius 0
++set g_balance_devastator_remote_jump_velocity_z_add 400
++set g_balance_devastator_remote_jump_velocity_z_max 1500
++set g_balance_devastator_remote_jump_velocity_z_min 400
++set g_balance_devastator_remote_radius 110
++set g_balance_devastator_speed 1300
++set g_balance_devastator_speedaccel 1300
++set g_balance_devastator_speedstart 1000
++set g_balance_devastator_switchdelay_drop 0.2
++set g_balance_devastator_switchdelay_raise 0.2
++set g_balance_devastator_weaponreplace ""
++set g_balance_devastator_weaponstart 0
++set g_balance_devastator_weaponstartoverride -1
++set g_balance_devastator_weaponthrowable 1
++// }}}
++// {{{ #11: Port-O-Launch
++set g_balance_porto_primary_animtime 0.3
++set g_balance_porto_primary_lifetime 5
++set g_balance_porto_primary_refire 1.5
++set g_balance_porto_primary_speed 1000
++set g_balance_porto_secondary 1
++set g_balance_porto_secondary_animtime 0.3
++set g_balance_porto_secondary_lifetime 5
++set g_balance_porto_secondary_refire 1.5
++set g_balance_porto_secondary_speed 1000
++set g_balance_porto_switchdelay_drop 0.2
++set g_balance_porto_switchdelay_raise 0.2
++set g_balance_porto_weaponreplace ""
++set g_balance_porto_weaponstart 0
++set g_balance_porto_weaponstartoverride -1
++set g_balance_porto_weaponthrowable 1
++// }}}
++// {{{ #12: Vaporizer
++set g_balance_vaporizer_primary_ammo 10
++set g_balance_vaporizer_primary_animtime 0.3
++set g_balance_vaporizer_primary_refire 1
++set g_balance_vaporizer_reload_ammo 0
++set g_balance_vaporizer_reload_time 0
++set g_balance_vaporizer_secondary_ammo 0
++set g_balance_vaporizer_secondary_animtime 0.2
++set g_balance_vaporizer_secondary_damage 25
++set g_balance_vaporizer_secondary_delay 0
++set g_balance_vaporizer_secondary_edgedamage 12.5
++set g_balance_vaporizer_secondary_force 400
++set g_balance_vaporizer_secondary_lifetime 5
++set g_balance_vaporizer_secondary_radius 70
++set g_balance_vaporizer_secondary_refire 0.7
++set g_balance_vaporizer_secondary_shotangle 0
++set g_balance_vaporizer_secondary_speed 6000
++set g_balance_vaporizer_secondary_spread 0
++set g_balance_vaporizer_switchdelay_drop 0.2
++set g_balance_vaporizer_switchdelay_raise 0.2
++set g_balance_vaporizer_weaponreplace ""
++set g_balance_vaporizer_weaponstart 0
++set g_balance_vaporizer_weaponstartoverride -1
++set g_balance_vaporizer_weaponthrowable 0
++// }}}
++// {{{ #13: Grappling Hook
++set g_balance_hook_primary_ammo 5
++set g_balance_hook_primary_animtime 0.3
++set g_balance_hook_primary_hooked_ammo 5
++set g_balance_hook_primary_hooked_time_free 2
++set g_balance_hook_primary_hooked_time_max 0
++set g_balance_hook_primary_refire 0.2
++set g_balance_hook_secondary_animtime 0.3
++set g_balance_hook_secondary_damage 25
++set g_balance_hook_secondary_damageforcescale 0
++set g_balance_hook_secondary_duration 1.5
++set g_balance_hook_secondary_edgedamage 5
++set g_balance_hook_secondary_force -2000
++set g_balance_hook_secondary_gravity 5
++set g_balance_hook_secondary_health 15
++set g_balance_hook_secondary_lifetime 5
++set g_balance_hook_secondary_power 3
++set g_balance_hook_secondary_radius 500
++set g_balance_hook_secondary_refire 3
++set g_balance_hook_secondary_speed 0
++set g_balance_hook_switchdelay_drop 0.2
++set g_balance_hook_switchdelay_raise 0.2
++set g_balance_hook_weaponreplace ""
++set g_balance_hook_weaponstart 0
++set g_balance_hook_weaponstartoverride -1
++set g_balance_hook_weaponthrowable 1
++// }}}
++// {{{ #14: Heavy Laser Assault Cannon (MUTATOR WEAPON)
++set g_balance_hlac_primary_ammo 1
++set g_balance_hlac_primary_animtime 0.4
++set g_balance_hlac_primary_damage 18
++set g_balance_hlac_primary_edgedamage 9
++set g_balance_hlac_primary_force 90
++set g_balance_hlac_primary_lifetime 5
++set g_balance_hlac_primary_radius 70
++set g_balance_hlac_primary_refire 0.15
++set g_balance_hlac_primary_speed 9000
++set g_balance_hlac_primary_spread_add 0.0045
++set g_balance_hlac_primary_spread_crouchmod 0.25
++set g_balance_hlac_primary_spread_max 0.25
++set g_balance_hlac_primary_spread_min 0.01
++set g_balance_hlac_reload_ammo 0
++set g_balance_hlac_reload_time 2
++set g_balance_hlac_secondary 1
++set g_balance_hlac_secondary_ammo 10
++set g_balance_hlac_secondary_animtime 0.3
++set g_balance_hlac_secondary_damage 15
++set g_balance_hlac_secondary_edgedamage 7.5
++set g_balance_hlac_secondary_force 90
++set g_balance_hlac_secondary_lifetime 5
++set g_balance_hlac_secondary_radius 70
++set g_balance_hlac_secondary_refire 1
++set g_balance_hlac_secondary_shots 6
++set g_balance_hlac_secondary_speed 9000
++set g_balance_hlac_secondary_spread 0.15
++set g_balance_hlac_secondary_spread_crouchmod 0.5
++set g_balance_hlac_switchdelay_drop 0.2
++set g_balance_hlac_switchdelay_raise 0.2
++set g_balance_hlac_weaponreplace ""
++set g_balance_hlac_weaponstart 0
++set g_balance_hlac_weaponstartoverride -1
++set g_balance_hlac_weaponthrowable 1
++// }}}
++// {{{ #15: @!#%'n Tuba
++set g_balance_tuba_animtime 0.05
++set g_balance_tuba_attenuation 0.5
++set g_balance_tuba_damage 5
++set g_balance_tuba_edgedamage 0
++set g_balance_tuba_fadetime 0.25
++set g_balance_tuba_force 40
++set g_balance_tuba_pitchstep 6
++set g_balance_tuba_radius 200
++set g_balance_tuba_refire 0.05
++set g_balance_tuba_switchdelay_drop 0.2
++set g_balance_tuba_switchdelay_raise 0.2
++set g_balance_tuba_volume 1
++set g_balance_tuba_weaponreplace ""
++set g_balance_tuba_weaponstart 0
++set g_balance_tuba_weaponstartoverride -1
++set g_balance_tuba_weaponthrowable 1
++// }}}
++// {{{ #16: Rifle (MUTATOR WEAPON)
++set g_balance_rifle_bursttime 0
++set g_balance_rifle_primary_ammo 10
++set g_balance_rifle_primary_animtime 0.4
++set g_balance_rifle_primary_bullethail 0
++set g_balance_rifle_primary_burstcost 0
++set g_balance_rifle_primary_damage 80
++set g_balance_rifle_primary_force 100
++set g_balance_rifle_primary_refire 1.2
++set g_balance_rifle_primary_shots 1
++set g_balance_rifle_primary_solidpenetration 62.2
++set g_balance_rifle_primary_spread 0
++set g_balance_rifle_primary_tracer 1
++set g_balance_rifle_reload_ammo 80
++set g_balance_rifle_reload_time 2
++set g_balance_rifle_secondary 1
++set g_balance_rifle_secondary_ammo 10
++set g_balance_rifle_secondary_animtime 0.3
++set g_balance_rifle_secondary_bullethail 0
++set g_balance_rifle_secondary_burstcost 0
++set g_balance_rifle_secondary_damage 20
++set g_balance_rifle_secondary_force 50
++set g_balance_rifle_secondary_refire 0.9
++set g_balance_rifle_secondary_reload 0
++set g_balance_rifle_secondary_shots 4
++set g_balance_rifle_secondary_solidpenetration 15.5
++set g_balance_rifle_secondary_spread 0.04
++set g_balance_rifle_secondary_tracer 0
++set g_balance_rifle_switchdelay_drop 0.2
++set g_balance_rifle_switchdelay_raise 0.2
++set g_balance_rifle_weaponreplace ""
++set g_balance_rifle_weaponstart 0
++set g_balance_rifle_weaponstartoverride -1
++set g_balance_rifle_weaponthrowable 1
++// }}}
++// {{{ #17: Fireball
++set g_balance_fireball_primary_animtime 0.4
++set g_balance_fireball_primary_bfgdamage 100
++set g_balance_fireball_primary_bfgforce 0
++set g_balance_fireball_primary_bfgradius 1000
++set g_balance_fireball_primary_damage 200
++set g_balance_fireball_primary_damageforcescale 0
++set g_balance_fireball_primary_edgedamage 50
++set g_balance_fireball_primary_force 600
++set g_balance_fireball_primary_health 0
++set g_balance_fireball_primary_laserburntime 0.5
++set g_balance_fireball_primary_laserdamage 80
++set g_balance_fireball_primary_laseredgedamage 20
++set g_balance_fireball_primary_laserradius 256
++set g_balance_fireball_primary_lifetime 15
++set g_balance_fireball_primary_radius 200
++set g_balance_fireball_primary_refire 2
++set g_balance_fireball_primary_refire2 0
++set g_balance_fireball_primary_speed 1200
++set g_balance_fireball_primary_spread 0
++set g_balance_fireball_secondary_animtime 0.3
++set g_balance_fireball_secondary_damage 40
++set g_balance_fireball_secondary_damageforcescale 4
++set g_balance_fireball_secondary_damagetime 5
++set g_balance_fireball_secondary_laserburntime 0.5
++set g_balance_fireball_secondary_laserdamage 50
++set g_balance_fireball_secondary_laseredgedamage 20
++set g_balance_fireball_secondary_laserradius 110
++set g_balance_fireball_secondary_lifetime 7
++set g_balance_fireball_secondary_refire 1.5
++set g_balance_fireball_secondary_speed 900
++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.2
++set g_balance_fireball_switchdelay_raise 0.2
++set g_balance_fireball_weaponreplace ""
++set g_balance_fireball_weaponstart 0
++set g_balance_fireball_weaponstartoverride -1
++set g_balance_fireball_weaponthrowable 0
++// }}}
++// {{{ #18: T.A.G. Seeker (MUTATOR WEAPON)
++set g_balance_seeker_flac_ammo 1
++set g_balance_seeker_flac_animtime 0.1
++set g_balance_seeker_flac_damage 15
++set g_balance_seeker_flac_edgedamage 10
++set g_balance_seeker_flac_force 50
++set g_balance_seeker_flac_lifetime 0.1
++set g_balance_seeker_flac_lifetime_rand 0.05
++set g_balance_seeker_flac_radius 100
++set g_balance_seeker_flac_refire 0.1
++set g_balance_seeker_flac_speed 3000
++set g_balance_seeker_flac_speed_up 1000
++set g_balance_seeker_flac_speed_z 0
++set g_balance_seeker_flac_spread 0.4
++set g_balance_seeker_missile_accel 1400
++set g_balance_seeker_missile_ammo 2
++set g_balance_seeker_missile_animtime 0.2
++set g_balance_seeker_missile_count 3
++set g_balance_seeker_missile_damage 30
++set g_balance_seeker_missile_damageforcescale 4
++set g_balance_seeker_missile_decel 1400
++set g_balance_seeker_missile_delay 0.25
++set g_balance_seeker_missile_edgedamage 10
++set g_balance_seeker_missile_force 150
++set g_balance_seeker_missile_health 5
++set g_balance_seeker_missile_lifetime 15
++set g_balance_seeker_missile_proxy 0
++set g_balance_seeker_missile_proxy_delay 0.2
++set g_balance_seeker_missile_proxy_maxrange 45
++set g_balance_seeker_missile_radius 80
++set g_balance_seeker_missile_refire 0.5
++set g_balance_seeker_missile_smart 1
++set g_balance_seeker_missile_smart_mindist 800
++set g_balance_seeker_missile_smart_trace_max 2500
++set g_balance_seeker_missile_smart_trace_min 1000
++set g_balance_seeker_missile_speed 700
++set g_balance_seeker_missile_speed_max 1300
++set g_balance_seeker_missile_speed_up 300
++set g_balance_seeker_missile_speed_z 0
++set g_balance_seeker_missile_spread 0
++set g_balance_seeker_missile_turnrate 0.65
++set g_balance_seeker_reload_ammo 0
++set g_balance_seeker_reload_time 2
++set g_balance_seeker_switchdelay_drop 0.2
++set g_balance_seeker_switchdelay_raise 0.2
++set g_balance_seeker_tag_ammo 1
++set g_balance_seeker_tag_animtime 0.2
++set g_balance_seeker_tag_damageforcescale 4
++set g_balance_seeker_tag_health 5
++set g_balance_seeker_tag_lifetime 15
++set g_balance_seeker_tag_refire 0.75
++set g_balance_seeker_tag_speed 5000
++set g_balance_seeker_tag_spread 0
++set g_balance_seeker_tag_tracker_lifetime 10
++set g_balance_seeker_type 0
++set g_balance_seeker_weaponreplace ""
++set g_balance_seeker_weaponstart 0
++set g_balance_seeker_weaponstartoverride -1
++set g_balance_seeker_weaponthrowable 1
++// }}}
++// {{{ #19: Shockwave (MUTATOR WEAPON)
++set g_balance_shockwave_blast_animtime 0.3
++set g_balance_shockwave_blast_damage 20
++set g_balance_shockwave_blast_distance 1000
++set g_balance_shockwave_blast_edgedamage 0
++set g_balance_shockwave_blast_force 200
++set g_balance_shockwave_blast_force_forwardbias 50
++set g_balance_shockwave_blast_force_zscale 2
++set g_balance_shockwave_blast_jump_damage 20
++set g_balance_shockwave_blast_jump_edgedamage 0
++set g_balance_shockwave_blast_jump_force 300
++set g_balance_shockwave_blast_jump_force_velocitybias 0
++set g_balance_shockwave_blast_jump_force_zscale 1.25
++set g_balance_shockwave_blast_jump_multiplier_accuracy 0.5
++set g_balance_shockwave_blast_jump_multiplier_distance 0.5
++set g_balance_shockwave_blast_jump_multiplier_min 0
++set g_balance_shockwave_blast_jump_radius 150
++set g_balance_shockwave_blast_multiplier_accuracy 0.5
++set g_balance_shockwave_blast_multiplier_distance 0.5
++set g_balance_shockwave_blast_multiplier_min 0
++set g_balance_shockwave_blast_refire 0.75
++set g_balance_shockwave_blast_splash_damage 15
++set g_balance_shockwave_blast_splash_edgedamage 0
++set g_balance_shockwave_blast_splash_force 100
++set g_balance_shockwave_blast_splash_force_forwardbias 50
++set g_balance_shockwave_blast_splash_multiplier_accuracy 0.5
++set g_balance_shockwave_blast_splash_multiplier_distance 0.5
++set g_balance_shockwave_blast_splash_multiplier_min 0
++set g_balance_shockwave_blast_splash_radius 70
++set g_balance_shockwave_blast_spread_max 120
++set g_balance_shockwave_blast_spread_min 25
++set g_balance_shockwave_melee_animtime 1.3
++set g_balance_shockwave_melee_damage 80
++set g_balance_shockwave_melee_delay 0.25
++set g_balance_shockwave_melee_force 200
++set g_balance_shockwave_melee_multihit 1
++set g_balance_shockwave_melee_no_doubleslap 1
++set g_balance_shockwave_melee_nonplayerdamage 40
++set g_balance_shockwave_melee_range 120
++set g_balance_shockwave_melee_refire 1.25
++set g_balance_shockwave_melee_swing_side 120
++set g_balance_shockwave_melee_swing_up 30
++set g_balance_shockwave_melee_time 0.15
++set g_balance_shockwave_melee_traces 10
++set g_balance_shockwave_switchdelay_drop 0.2
++set g_balance_shockwave_switchdelay_raise 0.2
++set g_balance_shockwave_weaponreplace ""
++set g_balance_shockwave_weaponstart 0
++set g_balance_shockwave_weaponstartoverride -1
++set g_balance_shockwave_weaponthrowable 0
++// }}}
++// {{{ #20: Arc
++set g_balance_arc_beam_ammo 4
++set g_balance_arc_beam_animtime 0.2
++set g_balance_arc_beam_botaimlifetime 0
++set g_balance_arc_beam_botaimspeed 0
++set g_balance_arc_beam_damage 115
++set g_balance_arc_beam_degreespersegment 1
++set g_balance_arc_beam_distancepersegment 0
++set g_balance_arc_beam_falloff_halflifedist 0
++set g_balance_arc_beam_falloff_maxdist 0
++set g_balance_arc_beam_falloff_mindist 0
++set g_balance_arc_beam_force 900
++set g_balance_arc_beam_healing_amax 100
++set g_balance_arc_beam_healing_aps 50
++set g_balance_arc_beam_healing_hmax 150
++set g_balance_arc_beam_healing_hps 50
++set g_balance_arc_beam_heat 1
++set g_balance_arc_beam_maxangle 10
++set g_balance_arc_beam_nonplayerdamage 80
++set g_balance_arc_beam_range 1000
++set g_balance_arc_beam_refire 0.5
++set g_balance_arc_beam_returnspeed 8
++set g_balance_arc_beam_tightness 0.5
++set g_balance_arc_burst_ammo 15
++set g_balance_arc_burst_damage 250
++set g_balance_arc_burst_healing_aps 100
++set g_balance_arc_burst_healing_hps 100
++set g_balance_arc_burst_heat 4
++set g_balance_arc_cooldown 2.5
++set g_balance_arc_overheat_max 5
++set g_balance_arc_overheat_min 3
++set g_balance_arc_switchdelay_drop 0.3
++set g_balance_arc_switchdelay_raise 0.3
++set g_balance_arc_weaponreplace ""
++set g_balance_arc_weaponstart 0
++set g_balance_arc_weaponstartoverride -1
++set g_balance_arc_weaponthrowable 1
++// }}}
++// {{{ #21: Heavy Machine Gun
++set g_balance_hmg_ammo 0
++set g_balance_hmg_damage 0
++set g_balance_hmg_force 0
++set g_balance_hmg_refire 0
++set g_balance_hmg_reload_ammo 120
++set g_balance_hmg_reload_time 1
++set g_balance_hmg_solidpenetration 32
++set g_balance_hmg_spread_add 0.01
++set g_balance_hmg_spread_max 0.05
++set g_balance_hmg_spread_min 0.02
++set g_balance_hmg_switchdelay_drop 0.2
++set g_balance_hmg_switchdelay_raise 0.2
++set g_balance_hmg_weaponreplace ""
++set g_balance_hmg_weaponstart 0
++set g_balance_hmg_weaponstartoverride 0
++set g_balance_hmg_weaponthrowable 0
++// }}}
++// {{{ #22: Rocket Propelled Chainsaw
++set g_balance_rpc_ammo 10
++set g_balance_rpc_animtime 1
++set g_balance_rpc_damage 150
++set g_balance_rpc_damage2 500
++set g_balance_rpc_damageforcescale 2
++set g_balance_rpc_edgedamage 50
++set g_balance_rpc_force 400
++set g_balance_rpc_health 25
++set g_balance_rpc_lifetime 30
++set g_balance_rpc_radius 300
++set g_balance_rpc_refire 1
++set g_balance_rpc_reload_ammo 10
++set g_balance_rpc_reload_time 1
++set g_balance_rpc_speed 1250
++set g_balance_rpc_speedaccel 5000
++set g_balance_rpc_switchdelay_drop 0.2
++set g_balance_rpc_switchdelay_raise 0.2
++set g_balance_rpc_weaponreplace ""
++set g_balance_rpc_weaponstart 0
++set g_balance_rpc_weaponstartoverride 0
++set g_balance_rpc_weaponthrowable 0
++// }}}
index 0000000,2ec59d6..82549c8
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,761 +1,802 @@@
+ // {{{ #1: Blaster
+ set g_balance_blaster_primary_animtime 0.2
+ set g_balance_blaster_primary_damage 25
+ set g_balance_blaster_primary_delay 0
+ set g_balance_blaster_primary_edgedamage 12.5
+ set g_balance_blaster_primary_force 300
+ set g_balance_blaster_primary_lifetime 5
+ set g_balance_blaster_primary_radius 70
+ set g_balance_blaster_primary_refire 0.7
+ set g_balance_blaster_primary_shotangle 0
+ set g_balance_blaster_primary_speed 6000
+ set g_balance_blaster_primary_spread 0
+ set g_balance_blaster_secondary 0
+ set g_balance_blaster_secondary_animtime 0.2
+ set g_balance_blaster_secondary_damage 25
+ set g_balance_blaster_secondary_delay 0
+ set g_balance_blaster_secondary_edgedamage 12.5
+ set g_balance_blaster_secondary_force 300
+ set g_balance_blaster_secondary_lifetime 5
+ set g_balance_blaster_secondary_radius 70
+ set g_balance_blaster_secondary_refire 0.7
+ set g_balance_blaster_secondary_shotangle 0
+ set g_balance_blaster_secondary_speed 6000
+ set g_balance_blaster_secondary_spread 0
+ set g_balance_blaster_switchdelay_drop 0.15
+ set g_balance_blaster_switchdelay_raise 0.15
+ set g_balance_blaster_weaponreplace ""
+ set g_balance_blaster_weaponstart 1
+ set g_balance_blaster_weaponstartoverride -1
+ set g_balance_blaster_weaponthrowable 0
+ // }}}
+ // {{{ #2: Shockwave
+ set g_balance_shockwave_blast_animtime 0.3
+ set g_balance_shockwave_blast_damage 20
+ set g_balance_shockwave_blast_distance 1000
+ set g_balance_shockwave_blast_edgedamage 0
+ set g_balance_shockwave_blast_force 200
+ set g_balance_shockwave_blast_force_forwardbias 50
+ set g_balance_shockwave_blast_force_zscale 2
+ set g_balance_shockwave_blast_jump_damage 20
+ set g_balance_shockwave_blast_jump_edgedamage 0
+ set g_balance_shockwave_blast_jump_force 300
+ set g_balance_shockwave_blast_jump_force_velocitybias 0
+ set g_balance_shockwave_blast_jump_force_zscale 1.25
+ set g_balance_shockwave_blast_jump_multiplier_accuracy 0.5
+ set g_balance_shockwave_blast_jump_multiplier_distance 0.5
+ set g_balance_shockwave_blast_jump_multiplier_min 0
+ set g_balance_shockwave_blast_jump_radius 150
+ set g_balance_shockwave_blast_multiplier_accuracy 0.5
+ set g_balance_shockwave_blast_multiplier_distance 0.5
+ set g_balance_shockwave_blast_multiplier_min 0
+ set g_balance_shockwave_blast_refire 0.75
+ set g_balance_shockwave_blast_splash_damage 15
+ set g_balance_shockwave_blast_splash_edgedamage 0
+ set g_balance_shockwave_blast_splash_force 100
+ set g_balance_shockwave_blast_splash_force_forwardbias 50
+ set g_balance_shockwave_blast_splash_multiplier_accuracy 0.5
+ set g_balance_shockwave_blast_splash_multiplier_distance 0.5
+ set g_balance_shockwave_blast_splash_multiplier_min 0
+ set g_balance_shockwave_blast_splash_radius 70
+ set g_balance_shockwave_blast_spread_max 120
+ set g_balance_shockwave_blast_spread_min 25
+ set g_balance_shockwave_melee_animtime 1.3
+ set g_balance_shockwave_melee_damage 80
+ set g_balance_shockwave_melee_delay 0.25
+ set g_balance_shockwave_melee_force 200
+ set g_balance_shockwave_melee_multihit 1
+ set g_balance_shockwave_melee_no_doubleslap 1
+ set g_balance_shockwave_melee_nonplayerdamage 40
+ set g_balance_shockwave_melee_range 120
+ set g_balance_shockwave_melee_refire 1.25
+ set g_balance_shockwave_melee_swing_side 120
+ set g_balance_shockwave_melee_swing_up 30
+ set g_balance_shockwave_melee_time 0.15
+ set g_balance_shockwave_melee_traces 10
+ set g_balance_shockwave_switchdelay_drop 0.2
+ set g_balance_shockwave_switchdelay_raise 0.2
+ set g_balance_shockwave_weaponreplace ""
+ set g_balance_shockwave_weaponstart 1
+ set g_balance_shockwave_weaponstartoverride -1
+ set g_balance_shockwave_weaponthrowable 0
+ // }}}
+ // {{{ #3: Machine Gun
+ set g_balance_machinegun_burst 3
+ set g_balance_machinegun_burst_ammo 3
+ set g_balance_machinegun_burst_animtime 0.3
+ set g_balance_machinegun_burst_refire 0.06
+ set g_balance_machinegun_burst_refire2 0.45
+ set g_balance_machinegun_burst_speed 0
+ set g_balance_machinegun_first 1
+ set g_balance_machinegun_first_ammo 1
+ set g_balance_machinegun_first_damage 14
+ set g_balance_machinegun_first_force 5
+ set g_balance_machinegun_first_refire 0.125
+ set g_balance_machinegun_first_spread 0.03
+ set g_balance_machinegun_mode 1
+ set g_balance_machinegun_reload_ammo 60
+ set g_balance_machinegun_reload_time 2
+ set g_balance_machinegun_solidpenetration 13.1
+ set g_balance_machinegun_spread_add 0.012
+ set g_balance_machinegun_spread_max 0.05
+ set g_balance_machinegun_spread_min 0.02
+ set g_balance_machinegun_sustained_ammo 1
+ set g_balance_machinegun_sustained_damage 10
+ set g_balance_machinegun_sustained_force 5
+ set g_balance_machinegun_sustained_refire 0.1
+ set g_balance_machinegun_sustained_spread 0.03
+ set g_balance_machinegun_switchdelay_drop 0.2
+ set g_balance_machinegun_switchdelay_raise 0.2
+ set g_balance_machinegun_weaponreplace "arc"
+ set g_balance_machinegun_weaponstart 0
+ set g_balance_machinegun_weaponstartoverride -1
+ set g_balance_machinegun_weaponthrowable 1
+ // }}}
+ // {{{ #4: Mortar
+ set g_balance_mortar_bouncefactor 0.5
+ set g_balance_mortar_bouncestop 0.075
+ set g_balance_mortar_primary_ammo 2
+ set g_balance_mortar_primary_animtime 0.3
+ set g_balance_mortar_primary_damage 50
+ set g_balance_mortar_primary_damageforcescale 0
+ set g_balance_mortar_primary_edgedamage 25
+ set g_balance_mortar_primary_force 250
+ set g_balance_mortar_primary_health 15
+ set g_balance_mortar_primary_lifetime 5
+ set g_balance_mortar_primary_lifetime_stick 0
+ set g_balance_mortar_primary_radius 120
+ set g_balance_mortar_primary_refire 0.8
+ set g_balance_mortar_primary_remote_minbouncecnt 0
+ set g_balance_mortar_primary_speed 1900
+ set g_balance_mortar_primary_speed_up 225
+ set g_balance_mortar_primary_speed_z 0
+ set g_balance_mortar_primary_spread 0
+ set g_balance_mortar_primary_type 0
+ set g_balance_mortar_reload_ammo 0
+ set g_balance_mortar_reload_time 2
+ set g_balance_mortar_secondary_ammo 2
+ set g_balance_mortar_secondary_animtime 0.3
+ set g_balance_mortar_secondary_damage 60
+ set g_balance_mortar_secondary_damageforcescale 4
+ set g_balance_mortar_secondary_edgedamage 30
+ set g_balance_mortar_secondary_force 250
+ set g_balance_mortar_secondary_health 30
+ set g_balance_mortar_secondary_lifetime 5
+ set g_balance_mortar_secondary_lifetime_bounce 0.5
+ set g_balance_mortar_secondary_lifetime_stick 0
+ set g_balance_mortar_secondary_radius 120
+ set g_balance_mortar_secondary_refire 0.7
+ set g_balance_mortar_secondary_remote_detonateprimary 0
+ set g_balance_mortar_secondary_speed 1400
+ set g_balance_mortar_secondary_speed_up 150
+ set g_balance_mortar_secondary_speed_z 0
+ set g_balance_mortar_secondary_spread 0
+ set g_balance_mortar_secondary_type 1
+ set g_balance_mortar_switchdelay_drop 0.2
+ set g_balance_mortar_switchdelay_raise 0.2
+ set g_balance_mortar_weaponreplace ""
+ set g_balance_mortar_weaponstart 0
+ set g_balance_mortar_weaponstartoverride -1
+ set g_balance_mortar_weaponthrowable 1
+ // }}}
+ // {{{ #5: Mine Layer (MUTATOR WEAPON)
+ set g_balance_minelayer_ammo 4
+ set g_balance_minelayer_animtime 0.4
+ set g_balance_minelayer_damage 40
+ set g_balance_minelayer_damageforcescale 0
+ set g_balance_minelayer_detonatedelay -1
+ set g_balance_minelayer_edgedamage 20
+ set g_balance_minelayer_force 250
+ set g_balance_minelayer_health 15
+ set g_balance_minelayer_lifetime 10
+ set g_balance_minelayer_lifetime_countdown 0.5
+ set g_balance_minelayer_limit 3
+ set g_balance_minelayer_protection 0
+ set g_balance_minelayer_proximityradius 150
+ set g_balance_minelayer_radius 175
+ set g_balance_minelayer_refire 1.5
+ set g_balance_minelayer_reload_ammo 0
+ set g_balance_minelayer_reload_time 2
+ set g_balance_minelayer_remote_damage 45
+ set g_balance_minelayer_remote_edgedamage 40
+ set g_balance_minelayer_remote_force 300
+ set g_balance_minelayer_remote_radius 200
+ set g_balance_minelayer_speed 1000
+ set g_balance_minelayer_switchdelay_drop 0.2
+ set g_balance_minelayer_switchdelay_raise 0.2
+ set g_balance_minelayer_time 0.5
+ set g_balance_minelayer_weaponreplace ""
+ set g_balance_minelayer_weaponstart 0
+ set g_balance_minelayer_weaponstartoverride -1
+ set g_balance_minelayer_weaponthrowable 1
+ // }}}
+ // {{{ #6: Electro
+ set g_balance_electro_combo_comboradius 300
+ set g_balance_electro_combo_comboradius_thruwall 200
+ set g_balance_electro_combo_damage 50
+ set g_balance_electro_combo_edgedamage 25
+ set g_balance_electro_combo_force 120
+ set g_balance_electro_combo_radius 150
+ set g_balance_electro_combo_safeammocheck 1
+ set g_balance_electro_combo_speed 2000
+ set g_balance_electro_primary_ammo 4
+ set g_balance_electro_primary_animtime 0.3
+ set g_balance_electro_primary_comboradius 300
+ set g_balance_electro_primary_damage 40
+ set g_balance_electro_primary_edgedamage 20
+ set g_balance_electro_primary_force 200
+ set g_balance_electro_primary_lifetime 5
+ set g_balance_electro_primary_midaircombo_explode 1
+ set g_balance_electro_primary_midaircombo_interval 0.1
+ set g_balance_electro_primary_midaircombo_radius 100
+ set g_balance_electro_primary_radius 100
+ set g_balance_electro_primary_refire 0.6
+ set g_balance_electro_primary_speed 2500
+ set g_balance_electro_primary_spread 0
+ set g_balance_electro_reload_ammo 0
+ set g_balance_electro_reload_time 2
+ set g_balance_electro_secondary_ammo 2
+ set g_balance_electro_secondary_animtime 0.2
+ set g_balance_electro_secondary_bouncefactor 0.3
+ set g_balance_electro_secondary_bouncestop 0.05
+ set g_balance_electro_secondary_count 3
+ set g_balance_electro_secondary_damage 40
+ set g_balance_electro_secondary_damagedbycontents 1
+ set g_balance_electro_secondary_damageforcescale 4
+ set g_balance_electro_secondary_edgedamage 20
+ set g_balance_electro_secondary_force 50
+ set g_balance_electro_secondary_health 5
+ set g_balance_electro_secondary_lifetime 4
+ set g_balance_electro_secondary_radius 150
+ set g_balance_electro_secondary_refire 0.2
+ set g_balance_electro_secondary_refire2 1.6
+ set g_balance_electro_secondary_speed 1000
+ set g_balance_electro_secondary_speed_up 200
+ set g_balance_electro_secondary_speed_z 0
+ set g_balance_electro_secondary_spread 0.04
+ set g_balance_electro_secondary_touchexplode 0
+ set g_balance_electro_switchdelay_drop 0.2
+ set g_balance_electro_switchdelay_raise 0.2
+ set g_balance_electro_weaponreplace ""
+ set g_balance_electro_weaponstart 0
+ set g_balance_electro_weaponstartoverride -1
+ set g_balance_electro_weaponthrowable 1
+ // }}}
+ // {{{ #7: Arc
+ set g_balance_arc_beam_ammo 0
+ set g_balance_arc_beam_animtime 0.2
+ set g_balance_arc_beam_botaimlifetime 0
+ set g_balance_arc_beam_botaimspeed 0
+ set g_balance_arc_beam_damage 150
+ set g_balance_arc_beam_degreespersegment 1
+ set g_balance_arc_beam_distancepersegment 0
+ set g_balance_arc_beam_falloff_halflifedist 0
+ set g_balance_arc_beam_falloff_maxdist 0
+ set g_balance_arc_beam_falloff_mindist 0
+ set g_balance_arc_beam_force 2000
+ set g_balance_arc_beam_healing_amax 200
+ set g_balance_arc_beam_healing_aps 50
+ set g_balance_arc_beam_healing_hmax 200
+ set g_balance_arc_beam_healing_hps 50
+ set g_balance_arc_beam_maxangle 10
+ set g_balance_arc_beam_nonplayerdamage 80
+ set g_balance_arc_beam_range 1000
+ set g_balance_arc_beam_refire 0.5
+ set g_balance_arc_beam_returnspeed 8
+ set g_balance_arc_beam_tightness 0.5
+ set g_balance_arc_burst_ammo 0
+ set g_balance_arc_burst_damage 500
+ set g_balance_arc_burst_healing_aps 100
+ set g_balance_arc_burst_healing_hps 100
+ set g_balance_arc_cooldown 2.5
+ set g_balance_arc_overheat_max 5
+ set g_balance_arc_overheat_min 3
+ set g_balance_arc_beam_heat 1
+ set g_balance_arc_burst_heat 5
+ set g_balance_arc_switchdelay_drop 0.3
+ set g_balance_arc_switchdelay_raise 0.3
+ set g_balance_arc_weaponreplace ""
+ set g_balance_arc_weaponstart 0
+ set g_balance_arc_weaponstartoverride -1
+ set g_balance_arc_weaponthrowable 1
+ // }}}
+ // {{{ #8: Crylink
+ set g_balance_crylink_primary_ammo 3
+ set g_balance_crylink_primary_animtime 0.3
+ set g_balance_crylink_primary_bouncedamagefactor 0.5
+ set g_balance_crylink_primary_bounces 1
+ set g_balance_crylink_primary_damage 12
+ set g_balance_crylink_primary_edgedamage 6
+ set g_balance_crylink_primary_force -50
+ set g_balance_crylink_primary_joindelay 0.1
+ set g_balance_crylink_primary_joinexplode 1
+ set g_balance_crylink_primary_joinexplode_damage 0
+ set g_balance_crylink_primary_joinexplode_edgedamage 0
+ set g_balance_crylink_primary_joinexplode_force 0
+ set g_balance_crylink_primary_joinexplode_radius 0
+ set g_balance_crylink_primary_joinspread 0.2
+ set g_balance_crylink_primary_linkexplode 1
+ set g_balance_crylink_primary_middle_fadetime 5
+ set g_balance_crylink_primary_middle_lifetime 5
+ set g_balance_crylink_primary_other_fadetime 5
+ set g_balance_crylink_primary_other_lifetime 5
+ set g_balance_crylink_primary_radius 80
+ set g_balance_crylink_primary_refire 0.7
+ set g_balance_crylink_primary_shots 6
+ set g_balance_crylink_primary_speed 2000
+ set g_balance_crylink_primary_spread 0.08
+ set g_balance_crylink_reload_ammo 0
+ set g_balance_crylink_reload_time 2
+ set g_balance_crylink_secondary 1
+ set g_balance_crylink_secondary_ammo 2
+ set g_balance_crylink_secondary_animtime 0.2
+ set g_balance_crylink_secondary_bouncedamagefactor 0.5
+ set g_balance_crylink_secondary_bounces 0
+ set g_balance_crylink_secondary_damage 10
+ set g_balance_crylink_secondary_edgedamage 5
+ set g_balance_crylink_secondary_force -250
+ set g_balance_crylink_secondary_joindelay 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_force 0
+ set g_balance_crylink_secondary_joinexplode_radius 0
+ set g_balance_crylink_secondary_joinspread 0
+ set g_balance_crylink_secondary_linkexplode 1
+ set g_balance_crylink_secondary_middle_fadetime 5
+ set g_balance_crylink_secondary_middle_lifetime 5
+ set g_balance_crylink_secondary_other_fadetime 5
+ set g_balance_crylink_secondary_other_lifetime 5
+ set g_balance_crylink_secondary_radius 100
+ set g_balance_crylink_secondary_refire 0.7
+ set g_balance_crylink_secondary_shots 5
+ 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_switchdelay_drop 0.2
+ set g_balance_crylink_switchdelay_raise 0.2
+ set g_balance_crylink_weaponreplace ""
+ set g_balance_crylink_weaponstart 0
+ set g_balance_crylink_weaponstartoverride -1
+ set g_balance_crylink_weaponthrowable 1
+ // }}}
+ // {{{ #9: Vortex
+ set g_balance_vortex_charge 1
+ set g_balance_vortex_charge_animlimit 0.5
+ set g_balance_vortex_charge_limit 1
+ set g_balance_vortex_charge_maxspeed 800
+ set g_balance_vortex_charge_mindmg 40
+ set g_balance_vortex_charge_minspeed 400
+ set g_balance_vortex_charge_rate 0.4
+ set g_balance_vortex_charge_rot_pause 0
+ set g_balance_vortex_charge_rot_rate 0
+ set g_balance_vortex_charge_shot_multiplier 0
+ set g_balance_vortex_charge_start 0.5
+ set g_balance_vortex_charge_velocity_rate 0
+ set g_balance_vortex_primary_ammo 6
+ set g_balance_vortex_primary_animtime 0.6
+ set g_balance_vortex_primary_damage 80
+ set g_balance_vortex_primary_damagefalloff_forcehalflife 0
+ set g_balance_vortex_primary_damagefalloff_halflife 0
+ set g_balance_vortex_primary_damagefalloff_maxdist 0
+ set g_balance_vortex_primary_damagefalloff_mindist 0
+ set g_balance_vortex_primary_force 400
+ set g_balance_vortex_primary_refire 1.5
+ set g_balance_vortex_reload_ammo 0
+ set g_balance_vortex_reload_time 2
+ set g_balance_vortex_secondary 0
+ set g_balance_vortex_secondary_ammo 2
+ set g_balance_vortex_secondary_animtime 0
+ set g_balance_vortex_secondary_chargepool 0
+ set g_balance_vortex_secondary_chargepool_pause_regen 1
+ set g_balance_vortex_secondary_chargepool_regen 0.15
+ set g_balance_vortex_secondary_damage 0
+ set g_balance_vortex_secondary_damagefalloff_forcehalflife 0
+ set g_balance_vortex_secondary_damagefalloff_halflife 0
+ set g_balance_vortex_secondary_damagefalloff_maxdist 0
+ set g_balance_vortex_secondary_damagefalloff_mindist 0
+ set g_balance_vortex_secondary_force 0
+ set g_balance_vortex_secondary_refire 0
+ set g_balance_vortex_switchdelay_drop 0.3
+ set g_balance_vortex_switchdelay_raise 0.25
+ set g_balance_vortex_weaponreplace ""
+ set g_balance_vortex_weaponstart 0
+ set g_balance_vortex_weaponstartoverride -1
+ set g_balance_vortex_weaponthrowable 1
+ // }}}
+ // {{{ #10: Hagar
+ set g_balance_hagar_primary_ammo 1
+ set g_balance_hagar_primary_damage 25
+ set g_balance_hagar_primary_damageforcescale 0
+ set g_balance_hagar_primary_edgedamage 12.5
+ set g_balance_hagar_primary_force 100
+ set g_balance_hagar_primary_health 15
+ set g_balance_hagar_primary_lifetime 5
+ set g_balance_hagar_primary_radius 65
+ set g_balance_hagar_primary_refire 0.16667
+ set g_balance_hagar_primary_speed 2500
+ set g_balance_hagar_primary_spread 0.03
+ set g_balance_hagar_reload_ammo 0
+ set g_balance_hagar_reload_time 2
+ set g_balance_hagar_secondary 1
+ set g_balance_hagar_secondary_ammo 1
+ set g_balance_hagar_secondary_damage 40
+ set g_balance_hagar_secondary_damageforcescale 0
+ set g_balance_hagar_secondary_edgedamage 20
+ set g_balance_hagar_secondary_force 75
+ set g_balance_hagar_secondary_health 15
+ set g_balance_hagar_secondary_lifetime_min 10
+ set g_balance_hagar_secondary_lifetime_rand 0
+ set g_balance_hagar_secondary_load 1
+ set g_balance_hagar_secondary_load_abort 0
+ set g_balance_hagar_secondary_load_animtime 0.2
+ set g_balance_hagar_secondary_load_hold 4
+ set g_balance_hagar_secondary_load_linkexplode 0
+ set g_balance_hagar_secondary_load_max 4
+ set g_balance_hagar_secondary_load_releasedeath 0
+ set g_balance_hagar_secondary_load_speed 0.5
+ set g_balance_hagar_secondary_load_spread 0.075
+ set g_balance_hagar_secondary_load_spread_bias 0.5
+ set g_balance_hagar_secondary_radius 80
+ set g_balance_hagar_secondary_refire 0.5
+ set g_balance_hagar_secondary_speed 2500
+ set g_balance_hagar_secondary_spread 0.05
+ set g_balance_hagar_switchdelay_drop 0.2
+ set g_balance_hagar_switchdelay_raise 0.2
+ set g_balance_hagar_weaponreplace ""
+ set g_balance_hagar_weaponstart 0
+ set g_balance_hagar_weaponstartoverride -1
+ set g_balance_hagar_weaponthrowable 1
+ // }}}
+ // {{{ #11: Devastator
+ set g_balance_devastator_ammo 4
+ set g_balance_devastator_animtime 0.4
+ set g_balance_devastator_damage 70
+ set g_balance_devastator_damageforcescale 1
+ set g_balance_devastator_detonatedelay 0.02
+ set g_balance_devastator_edgedamage 35
+ set g_balance_devastator_force 450
+ set g_balance_devastator_guidedelay 0.2
+ set g_balance_devastator_guidegoal 512
+ set g_balance_devastator_guiderate 70
+ set g_balance_devastator_guideratedelay 0.01
+ set g_balance_devastator_guidestop 0
+ set g_balance_devastator_health 30
+ set g_balance_devastator_lifetime 10
+ set g_balance_devastator_radius 110
+ set g_balance_devastator_refire 1.2
+ set g_balance_devastator_reload_ammo 0
+ set g_balance_devastator_reload_time 2
+ set g_balance_devastator_remote_damage 70
+ set g_balance_devastator_remote_edgedamage 35
+ set g_balance_devastator_remote_force 400
+ set g_balance_devastator_remote_jump_damage 40
+ set g_balance_devastator_remote_jump_radius 200
+ set g_balance_devastator_remote_jump_velocity_z_add 500
+ set g_balance_devastator_remote_jump_velocity_z_max 1500
+ set g_balance_devastator_remote_jump_velocity_z_min 500
+ set g_balance_devastator_remote_radius 110
+ set g_balance_devastator_speed 1300
+ set g_balance_devastator_speedaccel 1300
+ set g_balance_devastator_speedstart 1000
+ set g_balance_devastator_switchdelay_drop 0.3
+ set g_balance_devastator_switchdelay_raise 0.2
+ set g_balance_devastator_weaponreplace ""
+ set g_balance_devastator_weaponstart 0
+ set g_balance_devastator_weaponstartoverride -1
+ set g_balance_devastator_weaponthrowable 1
+ // }}}
+ // {{{ #12: Port-O-Launch
+ set g_balance_porto_primary_animtime 0.3
+ set g_balance_porto_primary_lifetime 5
+ set g_balance_porto_primary_refire 1.5
+ set g_balance_porto_primary_speed 1000
+ set g_balance_porto_secondary 1
+ set g_balance_porto_secondary_animtime 0.3
+ set g_balance_porto_secondary_lifetime 5
+ set g_balance_porto_secondary_refire 1.5
+ set g_balance_porto_secondary_speed 1000
+ set g_balance_porto_switchdelay_drop 0.2
+ set g_balance_porto_switchdelay_raise 0.2
+ set g_balance_porto_weaponreplace ""
+ set g_balance_porto_weaponstart 0
+ set g_balance_porto_weaponstartoverride -1
+ set g_balance_porto_weaponthrowable 1
+ // }}}
+ // {{{ #13: Vaporizer
+ set g_balance_vaporizer_primary_ammo 10
+ set g_balance_vaporizer_primary_animtime 0.3
+ set g_balance_vaporizer_primary_refire 1
+ set g_balance_vaporizer_reload_ammo 0
+ set g_balance_vaporizer_reload_time 0
+ set g_balance_vaporizer_secondary_ammo 0
+ set g_balance_vaporizer_secondary_animtime 0.2
+ set g_balance_vaporizer_secondary_damage 25
+ set g_balance_vaporizer_secondary_delay 0
+ set g_balance_vaporizer_secondary_edgedamage 12.5
+ set g_balance_vaporizer_secondary_force 400
+ set g_balance_vaporizer_secondary_lifetime 5
+ set g_balance_vaporizer_secondary_radius 70
+ set g_balance_vaporizer_secondary_refire 0.7
+ set g_balance_vaporizer_secondary_shotangle 0
+ set g_balance_vaporizer_secondary_speed 6000
+ set g_balance_vaporizer_secondary_spread 0
+ set g_balance_vaporizer_switchdelay_drop 0.2
+ set g_balance_vaporizer_switchdelay_raise 0.2
+ set g_balance_vaporizer_weaponreplace ""
+ set g_balance_vaporizer_weaponstart 0
+ set g_balance_vaporizer_weaponstartoverride -1
+ set g_balance_vaporizer_weaponthrowable 0
+ // }}}
+ // {{{ #14: Grappling Hook
+ set g_balance_hook_primary_ammo 5
+ set g_balance_hook_primary_animtime 0.3
+ set g_balance_hook_primary_hooked_ammo 5
+ set g_balance_hook_primary_hooked_time_free 2
+ set g_balance_hook_primary_hooked_time_max 0
+ set g_balance_hook_primary_refire 0
+ set g_balance_hook_secondary_animtime 0.3
+ set g_balance_hook_secondary_damage 25
+ set g_balance_hook_secondary_damageforcescale 0
+ set g_balance_hook_secondary_duration 1.5
+ set g_balance_hook_secondary_edgedamage 5
+ set g_balance_hook_secondary_force -2000
+ set g_balance_hook_secondary_gravity 5
+ set g_balance_hook_secondary_health 15
+ set g_balance_hook_secondary_lifetime 5
+ set g_balance_hook_secondary_power 3
+ set g_balance_hook_secondary_radius 500
+ set g_balance_hook_secondary_refire 3
+ set g_balance_hook_secondary_speed 0
+ set g_balance_hook_switchdelay_drop 0.2
+ set g_balance_hook_switchdelay_raise 0.2
+ set g_balance_hook_weaponreplace ""
+ set g_balance_hook_weaponstart 0
+ set g_balance_hook_weaponstartoverride -1
+ set g_balance_hook_weaponthrowable 1
+ // }}}
+ // {{{ #15: Heavy Laser Assault Cannon (MUTATOR WEAPON)
+ set g_balance_hlac_primary_ammo 1
+ set g_balance_hlac_primary_animtime 0.4
+ set g_balance_hlac_primary_damage 18
+ set g_balance_hlac_primary_edgedamage 9
+ set g_balance_hlac_primary_force 90
+ set g_balance_hlac_primary_lifetime 5
+ set g_balance_hlac_primary_radius 70
+ set g_balance_hlac_primary_refire 0.15
+ set g_balance_hlac_primary_speed 9000
+ set g_balance_hlac_primary_spread_add 0.0045
+ set g_balance_hlac_primary_spread_crouchmod 0.25
+ set g_balance_hlac_primary_spread_max 0.25
+ set g_balance_hlac_primary_spread_min 0.01
+ set g_balance_hlac_reload_ammo 0
+ set g_balance_hlac_reload_time 2
+ set g_balance_hlac_secondary 1
+ set g_balance_hlac_secondary_ammo 10
+ set g_balance_hlac_secondary_animtime 0.3
+ set g_balance_hlac_secondary_damage 15
+ set g_balance_hlac_secondary_edgedamage 7.5
+ set g_balance_hlac_secondary_force 90
+ set g_balance_hlac_secondary_lifetime 5
+ set g_balance_hlac_secondary_radius 70
+ set g_balance_hlac_secondary_refire 1
+ set g_balance_hlac_secondary_shots 6
+ set g_balance_hlac_secondary_speed 9000
+ set g_balance_hlac_secondary_spread 0.15
+ set g_balance_hlac_secondary_spread_crouchmod 0.5
+ set g_balance_hlac_switchdelay_drop 0.2
+ set g_balance_hlac_switchdelay_raise 0.2
+ set g_balance_hlac_weaponreplace ""
+ set g_balance_hlac_weaponstart 0
+ set g_balance_hlac_weaponstartoverride -1
+ set g_balance_hlac_weaponthrowable 1
+ // }}}
+ // {{{ #16: @!#%'n Tuba
+ set g_balance_tuba_animtime 0.05
+ set g_balance_tuba_attenuation 0.5
+ set g_balance_tuba_damage 5
+ set g_balance_tuba_edgedamage 0
+ set g_balance_tuba_fadetime 0.25
+ set g_balance_tuba_force 40
+ set g_balance_tuba_pitchstep 6
+ set g_balance_tuba_radius 200
+ set g_balance_tuba_refire 0.05
+ set g_balance_tuba_switchdelay_drop 0.2
+ set g_balance_tuba_switchdelay_raise 0.2
+ set g_balance_tuba_volume 1
+ set g_balance_tuba_weaponreplace ""
+ set g_balance_tuba_weaponstart 0
+ set g_balance_tuba_weaponstartoverride -1
+ set g_balance_tuba_weaponthrowable 1
+ // }}}
+ // {{{ #17: Rifle (MUTATOR WEAPON)
+ set g_balance_rifle_bursttime 0
+ set g_balance_rifle_primary_ammo 10
+ set g_balance_rifle_primary_animtime 0.4
+ set g_balance_rifle_primary_bullethail 0
+ set g_balance_rifle_primary_burstcost 0
+ set g_balance_rifle_primary_damage 80
+ set g_balance_rifle_primary_force 100
+ set g_balance_rifle_primary_refire 1.2
+ set g_balance_rifle_primary_shots 1
+ set g_balance_rifle_primary_solidpenetration 62.2
+ set g_balance_rifle_primary_spread 0
+ set g_balance_rifle_primary_tracer 1
+ set g_balance_rifle_reload_ammo 80
+ set g_balance_rifle_reload_time 2
+ set g_balance_rifle_secondary 1
+ set g_balance_rifle_secondary_ammo 10
+ set g_balance_rifle_secondary_animtime 0.3
+ set g_balance_rifle_secondary_bullethail 0
+ set g_balance_rifle_secondary_burstcost 0
+ set g_balance_rifle_secondary_damage 20
+ set g_balance_rifle_secondary_force 50
+ set g_balance_rifle_secondary_refire 0.9
+ set g_balance_rifle_secondary_reload 0
+ set g_balance_rifle_secondary_shots 4
+ set g_balance_rifle_secondary_solidpenetration 15.5
+ set g_balance_rifle_secondary_spread 0.04
+ set g_balance_rifle_secondary_tracer 0
+ set g_balance_rifle_switchdelay_drop 0.2
+ set g_balance_rifle_switchdelay_raise 0.2
+ set g_balance_rifle_weaponreplace ""
+ set g_balance_rifle_weaponstart 0
+ set g_balance_rifle_weaponstartoverride -1
+ set g_balance_rifle_weaponthrowable 1
+ // }}}
+ // {{{ #18: Fireball
+ set g_balance_fireball_primary_animtime 0.2
+ set g_balance_fireball_primary_bfgdamage 100
+ set g_balance_fireball_primary_bfgforce 0
+ set g_balance_fireball_primary_bfgradius 1000
+ set g_balance_fireball_primary_damage 200
+ set g_balance_fireball_primary_damageforcescale 0
+ set g_balance_fireball_primary_edgedamage 50
+ set g_balance_fireball_primary_force 600
+ set g_balance_fireball_primary_health 0
+ set g_balance_fireball_primary_laserburntime 0.5
+ set g_balance_fireball_primary_laserdamage 80
+ set g_balance_fireball_primary_laseredgedamage 20
+ set g_balance_fireball_primary_laserradius 256
+ set g_balance_fireball_primary_lifetime 15
+ set g_balance_fireball_primary_radius 200
+ set g_balance_fireball_primary_refire 2
+ set g_balance_fireball_primary_refire2 0
+ set g_balance_fireball_primary_speed 1200
+ set g_balance_fireball_primary_spread 0
+ set g_balance_fireball_secondary_animtime 0.3
+ set g_balance_fireball_secondary_damage 40
+ set g_balance_fireball_secondary_damageforcescale 4
+ set g_balance_fireball_secondary_damagetime 5
+ set g_balance_fireball_secondary_laserburntime 0.5
+ set g_balance_fireball_secondary_laserdamage 50
+ set g_balance_fireball_secondary_laseredgedamage 20
+ set g_balance_fireball_secondary_laserradius 110
+ set g_balance_fireball_secondary_lifetime 7
+ set g_balance_fireball_secondary_refire 1.5
+ set g_balance_fireball_secondary_speed 900
+ 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.2
+ set g_balance_fireball_switchdelay_raise 0.2
+ set g_balance_fireball_weaponreplace ""
+ set g_balance_fireball_weaponstart 0
+ set g_balance_fireball_weaponstartoverride -1
+ set g_balance_fireball_weaponthrowable 0
+ // }}}
+ // {{{ #19: T.A.G. Seeker (MUTATOR WEAPON)
+ set g_balance_seeker_flac_ammo 1
+ set g_balance_seeker_flac_animtime 0.1
+ set g_balance_seeker_flac_damage 15
+ set g_balance_seeker_flac_edgedamage 10
+ set g_balance_seeker_flac_force 50
+ set g_balance_seeker_flac_lifetime 0.1
+ set g_balance_seeker_flac_lifetime_rand 0.05
+ set g_balance_seeker_flac_radius 100
+ set g_balance_seeker_flac_refire 0.1
+ set g_balance_seeker_flac_speed 3000
+ set g_balance_seeker_flac_speed_up 1000
+ set g_balance_seeker_flac_speed_z 0
+ set g_balance_seeker_flac_spread 0.4
+ set g_balance_seeker_missile_accel 1400
+ set g_balance_seeker_missile_ammo 2
+ set g_balance_seeker_missile_animtime 0.2
+ set g_balance_seeker_missile_count 3
+ set g_balance_seeker_missile_damage 30
+ set g_balance_seeker_missile_damageforcescale 4
+ set g_balance_seeker_missile_decel 1400
+ set g_balance_seeker_missile_delay 0.25
+ set g_balance_seeker_missile_edgedamage 10
+ set g_balance_seeker_missile_force 150
+ set g_balance_seeker_missile_health 5
+ set g_balance_seeker_missile_lifetime 15
+ set g_balance_seeker_missile_proxy 0
+ set g_balance_seeker_missile_proxy_delay 0.2
+ set g_balance_seeker_missile_proxy_maxrange 45
+ set g_balance_seeker_missile_radius 80
+ set g_balance_seeker_missile_refire 0.5
+ set g_balance_seeker_missile_smart 1
+ set g_balance_seeker_missile_smart_mindist 800
+ set g_balance_seeker_missile_smart_trace_max 2500
+ set g_balance_seeker_missile_smart_trace_min 1000
+ set g_balance_seeker_missile_speed 700
+ set g_balance_seeker_missile_speed_max 1300
+ set g_balance_seeker_missile_speed_up 300
+ set g_balance_seeker_missile_speed_z 0
+ set g_balance_seeker_missile_spread 0
+ set g_balance_seeker_missile_turnrate 0.65
+ set g_balance_seeker_reload_ammo 0
+ set g_balance_seeker_reload_time 2
+ set g_balance_seeker_switchdelay_drop 0.2
+ set g_balance_seeker_switchdelay_raise 0.2
+ set g_balance_seeker_tag_ammo 1
+ set g_balance_seeker_tag_animtime 0.2
+ set g_balance_seeker_tag_damageforcescale 4
+ set g_balance_seeker_tag_health 5
+ set g_balance_seeker_tag_lifetime 15
+ set g_balance_seeker_tag_refire 0.75
+ set g_balance_seeker_tag_speed 5000
+ set g_balance_seeker_tag_spread 0
+ set g_balance_seeker_tag_tracker_lifetime 10
+ set g_balance_seeker_type 0
+ set g_balance_seeker_weaponreplace ""
+ set g_balance_seeker_weaponstart 0
+ set g_balance_seeker_weaponstartoverride -1
+ set g_balance_seeker_weaponthrowable 1
+ // }}}
+ // {{{ #20: Shotgun (MUTATOR WEAPON)
+ set g_balance_shotgun_primary_ammo 1
+ set g_balance_shotgun_primary_animtime 0.2
+ set g_balance_shotgun_primary_bullets 14
+ set g_balance_shotgun_primary_damage 4
+ set g_balance_shotgun_primary_force 15
+ set g_balance_shotgun_primary_refire 0.75
+ set g_balance_shotgun_primary_solidpenetration 3.8
+ set g_balance_shotgun_primary_spread 0.12
+ set g_balance_shotgun_reload_ammo 0
+ set g_balance_shotgun_reload_time 2
+ set g_balance_shotgun_secondary 1
+ set g_balance_shotgun_secondary_animtime 1
+ set g_balance_shotgun_secondary_damage 80
+ set g_balance_shotgun_secondary_force 200
+ set g_balance_shotgun_secondary_melee_delay 0.25
+ set g_balance_shotgun_secondary_melee_multihit 1
+ set g_balance_shotgun_secondary_melee_no_doubleslap 1
+ set g_balance_shotgun_secondary_melee_nonplayerdamage 40
+ set g_balance_shotgun_secondary_melee_range 120
+ set g_balance_shotgun_secondary_melee_swing_side 120
+ set g_balance_shotgun_secondary_melee_swing_up 30
+ set g_balance_shotgun_secondary_melee_time 0.15
+ set g_balance_shotgun_secondary_melee_traces 10
+ set g_balance_shotgun_secondary_refire 1.25
+ set g_balance_shotgun_secondary_alt_animtime 0.2
+ set g_balance_shotgun_secondary_alt_refire 1.2
+ set g_balance_shotgun_switchdelay_drop 0.2
+ set g_balance_shotgun_switchdelay_raise 0.2
+ set g_balance_shotgun_weaponreplace ""
+ set g_balance_shotgun_weaponstart 0
+ set g_balance_shotgun_weaponstartoverride -1
+ set g_balance_shotgun_weaponthrowable 1
+ // }}}
++// {{{ #21: Heavy Machine Gun
++set g_balance_hmg_ammo 0
++set g_balance_hmg_damage 0
++set g_balance_hmg_force 0
++set g_balance_hmg_refire 0
++set g_balance_hmg_reload_ammo 120
++set g_balance_hmg_reload_time 1
++set g_balance_hmg_solidpenetration 32
++set g_balance_hmg_spread_add 0.01
++set g_balance_hmg_spread_max 0.05
++set g_balance_hmg_spread_min 0.02
++set g_balance_hmg_switchdelay_drop 0.2
++set g_balance_hmg_switchdelay_raise 0.2
++set g_balance_hmg_weaponreplace ""
++set g_balance_hmg_weaponstart 0
++set g_balance_hmg_weaponstartoverride 0
++set g_balance_hmg_weaponthrowable 0
++// }}}
++// {{{ #22: Rocket Propelled Chainsaw
++set g_balance_rpc_ammo 10
++set g_balance_rpc_animtime 1
++set g_balance_rpc_damage 150
++set g_balance_rpc_damage2 500
++set g_balance_rpc_damageforcescale 2
++set g_balance_rpc_edgedamage 50
++set g_balance_rpc_force 400
++set g_balance_rpc_health 25
++set g_balance_rpc_lifetime 30
++set g_balance_rpc_radius 300
++set g_balance_rpc_refire 1
++set g_balance_rpc_reload_ammo 10
++set g_balance_rpc_reload_time 1
++set g_balance_rpc_speed 1250
++set g_balance_rpc_speedaccel 5000
++set g_balance_rpc_switchdelay_drop 0.2
++set g_balance_rpc_switchdelay_raise 0.2
++set g_balance_rpc_weaponreplace ""
++set g_balance_rpc_weaponstart 0
++set g_balance_rpc_weaponstartoverride 0
++set g_balance_rpc_weaponthrowable 0
++// }}}
diff --cc bal-wep-xdf.cfg
index 0000000,ef8035e..be087a5
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,763 +1,804 @@@
+ // {{{ #1: Blaster
+ set g_balance_blaster_primary_animtime 0.3
+ set g_balance_blaster_primary_damage 25
+ set g_balance_blaster_primary_delay 0
+ set g_balance_blaster_primary_edgedamage 12.5
+ set g_balance_blaster_primary_force 250
+ set g_balance_blaster_primary_force_zscale 1.5
+ set g_balance_blaster_primary_lifetime 5
+ set g_balance_blaster_primary_radius 60
+ set g_balance_blaster_primary_refire 0.7
+ set g_balance_blaster_primary_shotangle 0
+ set g_balance_blaster_primary_speed 6000
+ set g_balance_blaster_primary_spread 0
+ set g_balance_blaster_secondary 0
+ set g_balance_blaster_secondary_animtime 0.3
+ set g_balance_blaster_secondary_damage 25
+ set g_balance_blaster_secondary_delay 0
+ set g_balance_blaster_secondary_edgedamage 12.5
+ set g_balance_blaster_secondary_force 300
+ set g_balance_blaster_secondary_force_zscale 1.2
+ set g_balance_blaster_secondary_lifetime 5
+ set g_balance_blaster_secondary_radius 70
+ set g_balance_blaster_secondary_refire 0.7
+ set g_balance_blaster_secondary_shotangle 0
+ set g_balance_blaster_secondary_speed 6000
+ set g_balance_blaster_secondary_spread 0
+ set g_balance_blaster_switchdelay_drop 0
+ set g_balance_blaster_switchdelay_raise 0
+ set g_balance_blaster_weaponreplace ""
+ set g_balance_blaster_weaponstart 0
+ set g_balance_blaster_weaponstartoverride -1
+ set g_balance_blaster_weaponthrowable 0
+ // }}}
+ // {{{ #2: Shotgun
+ set g_balance_shotgun_primary_ammo 1
+ set g_balance_shotgun_primary_animtime 0.2
+ set g_balance_shotgun_primary_bullets 14
+ set g_balance_shotgun_primary_damage 4
+ set g_balance_shotgun_primary_force 15
+ set g_balance_shotgun_primary_refire 0.75
+ set g_balance_shotgun_primary_solidpenetration 3.8
+ set g_balance_shotgun_primary_spread 0.12
+ set g_balance_shotgun_reload_ammo 0
+ set g_balance_shotgun_reload_time 2
+ set g_balance_shotgun_secondary 1
+ set g_balance_shotgun_secondary_animtime 1
+ set g_balance_shotgun_secondary_damage 80
+ set g_balance_shotgun_secondary_force 200
+ set g_balance_shotgun_secondary_melee_delay 0.25
+ set g_balance_shotgun_secondary_melee_multihit 1
+ set g_balance_shotgun_secondary_melee_no_doubleslap 1
+ set g_balance_shotgun_secondary_melee_nonplayerdamage 40
+ set g_balance_shotgun_secondary_melee_range 120
+ set g_balance_shotgun_secondary_melee_swing_side 120
+ set g_balance_shotgun_secondary_melee_swing_up 30
+ set g_balance_shotgun_secondary_melee_time 0.15
+ set g_balance_shotgun_secondary_melee_traces 10
+ set g_balance_shotgun_secondary_refire 1.25
+ set g_balance_shotgun_secondary_alt_animtime 0.2
+ set g_balance_shotgun_secondary_alt_refire 1.2
+ set g_balance_shotgun_switchdelay_drop 0
+ set g_balance_shotgun_switchdelay_raise 0
+ set g_balance_shotgun_weaponreplace ""
+ set g_balance_shotgun_weaponstart 0
+ set g_balance_shotgun_weaponstartoverride -1
+ set g_balance_shotgun_weaponthrowable 1
+ // }}}
+ // {{{ #3: Machine Gun
+ set g_balance_machinegun_burst 3
+ set g_balance_machinegun_burst_ammo 3
+ set g_balance_machinegun_burst_animtime 0.3
+ set g_balance_machinegun_burst_refire 0.06
+ set g_balance_machinegun_burst_refire2 0.45
+ set g_balance_machinegun_burst_speed 0
+ set g_balance_machinegun_first 1
+ set g_balance_machinegun_first_ammo 1
+ set g_balance_machinegun_first_damage 14
+ set g_balance_machinegun_first_force 5
+ set g_balance_machinegun_first_refire 0.4
+ set g_balance_machinegun_first_spread 0.03
+ set g_balance_machinegun_mode 1
+ set g_balance_machinegun_reload_ammo 0
+ set g_balance_machinegun_reload_time 2
+ set g_balance_machinegun_solidpenetration 13.1
+ set g_balance_machinegun_spread_add 0
+ set g_balance_machinegun_spread_max 0
+ set g_balance_machinegun_spread_min 0
+ set g_balance_machinegun_sustained_ammo 1
+ set g_balance_machinegun_sustained_damage 12
+ set g_balance_machinegun_sustained_force 5
+ set g_balance_machinegun_sustained_refire 0.1
+ set g_balance_machinegun_sustained_spread 0
+ set g_balance_machinegun_switchdelay_drop 0
+ set g_balance_machinegun_switchdelay_raise 0
+ set g_balance_machinegun_weaponreplace ""
+ set g_balance_machinegun_weaponstart 1
+ set g_balance_machinegun_weaponstartoverride -1
+ set g_balance_machinegun_weaponthrowable 1
+ // }}}
+ // {{{ #4: Mortar
+ set g_balance_mortar_bouncefactor 0.5
+ set g_balance_mortar_bouncestop 0.075
+ set g_balance_mortar_primary_ammo 2
+ set g_balance_mortar_primary_animtime 0.3
+ set g_balance_mortar_primary_damage 50
+ set g_balance_mortar_primary_damageforcescale 0
+ set g_balance_mortar_primary_edgedamage 25
+ set g_balance_mortar_primary_force 250
+ set g_balance_mortar_primary_health 0
+ set g_balance_mortar_primary_lifetime 5
+ set g_balance_mortar_primary_lifetime_stick 0
+ set g_balance_mortar_primary_radius 100
+ set g_balance_mortar_primary_refire 0.7
+ set g_balance_mortar_primary_remote_minbouncecnt 0
+ set g_balance_mortar_primary_speed 2000
+ set g_balance_mortar_primary_speed_up 200
+ set g_balance_mortar_primary_speed_z 0
+ set g_balance_mortar_primary_spread 0
+ set g_balance_mortar_primary_type 0
+ set g_balance_mortar_reload_ammo 0
+ set g_balance_mortar_reload_time 2
+ set g_balance_mortar_secondary_ammo 2
+ set g_balance_mortar_secondary_animtime 0.5
+ set g_balance_mortar_secondary_damage 55
+ set g_balance_mortar_secondary_damageforcescale 0
+ set g_balance_mortar_secondary_edgedamage 30
+ set g_balance_mortar_secondary_force 300
+ set g_balance_mortar_secondary_health 0
+ set g_balance_mortar_secondary_lifetime 8
+ set g_balance_mortar_secondary_lifetime_bounce 0.5
+ set g_balance_mortar_secondary_lifetime_stick 0
+ set g_balance_mortar_secondary_radius 200
+ set g_balance_mortar_secondary_refire 0.7
+ set g_balance_mortar_secondary_remote_detonateprimary 0
+ set g_balance_mortar_secondary_speed 800
+ set g_balance_mortar_secondary_speed_up 0
+ set g_balance_mortar_secondary_speed_z 200
+ set g_balance_mortar_secondary_spread 0
+ set g_balance_mortar_secondary_type 1
+ set g_balance_mortar_switchdelay_drop 0
+ set g_balance_mortar_switchdelay_raise 0
+ set g_balance_mortar_weaponreplace ""
+ set g_balance_mortar_weaponstart 0
+ set g_balance_mortar_weaponstartoverride -1
+ set g_balance_mortar_weaponthrowable 1
+ // }}}
+ // {{{ #5: Mine Layer (MUTATOR WEAPON)
+ set g_balance_minelayer_ammo 4
+ set g_balance_minelayer_animtime 0.4
+ set g_balance_minelayer_damage 40
+ set g_balance_minelayer_damageforcescale 0
+ set g_balance_minelayer_detonatedelay -1
+ set g_balance_minelayer_edgedamage 20
+ set g_balance_minelayer_force 250
+ set g_balance_minelayer_health 15
+ set g_balance_minelayer_lifetime 10
+ set g_balance_minelayer_lifetime_countdown 0.5
+ set g_balance_minelayer_limit 3
+ set g_balance_minelayer_protection 0
+ set g_balance_minelayer_proximityradius 150
+ set g_balance_minelayer_radius 175
+ set g_balance_minelayer_refire 1.5
+ set g_balance_minelayer_reload_ammo 0
+ set g_balance_minelayer_reload_time 2
+ set g_balance_minelayer_remote_damage 45
+ set g_balance_minelayer_remote_edgedamage 40
+ set g_balance_minelayer_remote_force 300
+ set g_balance_minelayer_remote_radius 200
+ set g_balance_minelayer_speed 1000
+ set g_balance_minelayer_switchdelay_drop 0
+ set g_balance_minelayer_switchdelay_raise 0
+ set g_balance_minelayer_time 0.5
+ set g_balance_minelayer_weaponreplace ""
+ set g_balance_minelayer_weaponstart 0
+ set g_balance_minelayer_weaponstartoverride -1
+ set g_balance_minelayer_weaponthrowable 1
+ // }}}
+ // {{{ #6: Electro
+ set g_balance_electro_combo_comboradius 275
+ set g_balance_electro_combo_comboradius_thruwall 200
+ set g_balance_electro_combo_damage 40
+ set g_balance_electro_combo_edgedamage 20
+ set g_balance_electro_combo_force 120
+ set g_balance_electro_combo_radius 175
+ set g_balance_electro_combo_safeammocheck 1
+ set g_balance_electro_combo_speed 2000
+ set g_balance_electro_primary_ammo 4
+ set g_balance_electro_primary_animtime 0.1
+ set g_balance_electro_primary_comboradius 150
+ set g_balance_electro_primary_damage 55
+ set g_balance_electro_primary_edgedamage 27.5
+ set g_balance_electro_primary_force 200
+ set g_balance_electro_primary_lifetime 5
+ set g_balance_electro_primary_midaircombo_explode 1
+ set g_balance_electro_primary_midaircombo_interval 0.1
+ set g_balance_electro_primary_midaircombo_radius 100
+ set g_balance_electro_primary_radius 100
+ set g_balance_electro_primary_refire 0.6
+ set g_balance_electro_primary_speed 2500
+ set g_balance_electro_primary_spread 0
+ set g_balance_electro_reload_ammo 0
+ set g_balance_electro_reload_time 2
+ set g_balance_electro_secondary_ammo 2
+ set g_balance_electro_secondary_animtime 0.2
+ set g_balance_electro_secondary_bouncefactor 0.4
+ set g_balance_electro_secondary_bouncestop 0.05
+ set g_balance_electro_secondary_count 3
+ set g_balance_electro_secondary_damage 40
+ set g_balance_electro_secondary_damagedbycontents 1
+ set g_balance_electro_secondary_damageforcescale 4
+ set g_balance_electro_secondary_edgedamage 20
+ set g_balance_electro_secondary_force 200
+ set g_balance_electro_secondary_health 5
+ set g_balance_electro_secondary_lifetime 3
+ set g_balance_electro_secondary_radius 150
+ set g_balance_electro_secondary_refire 0.2
+ set g_balance_electro_secondary_refire2 1.5
+ set g_balance_electro_secondary_speed 900
+ set g_balance_electro_secondary_speed_up 200
+ set g_balance_electro_secondary_speed_z 0
+ set g_balance_electro_secondary_spread 0.05
+ set g_balance_electro_secondary_touchexplode 0
+ set g_balance_electro_switchdelay_drop 0
+ set g_balance_electro_switchdelay_raise 0
+ set g_balance_electro_weaponreplace ""
+ set g_balance_electro_weaponstart 0
+ set g_balance_electro_weaponstartoverride -1
+ set g_balance_electro_weaponthrowable 1
+ // }}}
+ // {{{ #7: Crylink
+ set g_balance_crylink_primary_ammo 3
+ set g_balance_crylink_primary_animtime 0.3
+ set g_balance_crylink_primary_bouncedamagefactor 0.5
+ set g_balance_crylink_primary_bounces 1
+ 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_joindelay 0.1
+ set g_balance_crylink_primary_joinexplode 1
+ set g_balance_crylink_primary_joinexplode_damage 0
+ set g_balance_crylink_primary_joinexplode_edgedamage 0
+ set g_balance_crylink_primary_joinexplode_force 0
+ set g_balance_crylink_primary_joinexplode_radius 0
+ set g_balance_crylink_primary_joinspread 0.2
+ set g_balance_crylink_primary_linkexplode 1
+ set g_balance_crylink_primary_middle_fadetime 5
+ set g_balance_crylink_primary_middle_lifetime 5
+ set g_balance_crylink_primary_other_fadetime 5
+ set g_balance_crylink_primary_other_lifetime 5
+ set g_balance_crylink_primary_radius 80
+ set g_balance_crylink_primary_refire 0.7
+ set g_balance_crylink_primary_shots 6
+ set g_balance_crylink_primary_speed 2000
+ set g_balance_crylink_primary_spread 0.08
+ set g_balance_crylink_reload_ammo 0
+ set g_balance_crylink_reload_time 2
+ set g_balance_crylink_secondary 1
+ set g_balance_crylink_secondary_ammo 2
+ set g_balance_crylink_secondary_animtime 0.2
+ set g_balance_crylink_secondary_bouncedamagefactor 0.5
+ set g_balance_crylink_secondary_bounces 0
+ 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_joindelay 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_force 0
+ set g_balance_crylink_secondary_joinexplode_radius 0
+ set g_balance_crylink_secondary_joinspread 0
+ set g_balance_crylink_secondary_linkexplode 1
+ set g_balance_crylink_secondary_middle_fadetime 5
+ set g_balance_crylink_secondary_middle_lifetime 5
+ set g_balance_crylink_secondary_other_fadetime 5
+ set g_balance_crylink_secondary_other_lifetime 5
+ set g_balance_crylink_secondary_radius 100
+ set g_balance_crylink_secondary_refire 0.7
+ set g_balance_crylink_secondary_shots 5
+ 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_switchdelay_drop 0
+ set g_balance_crylink_switchdelay_raise 0
+ set g_balance_crylink_weaponreplace ""
+ set g_balance_crylink_weaponstart 0
+ set g_balance_crylink_weaponstartoverride -1
+ set g_balance_crylink_weaponthrowable 1
+ // }}}
+ // {{{ #8: Vortex
+ set g_balance_vortex_charge 1
+ set g_balance_vortex_charge_animlimit 0.5
+ set g_balance_vortex_charge_limit 1
+ set g_balance_vortex_charge_maxspeed 800
+ set g_balance_vortex_charge_mindmg 40
+ set g_balance_vortex_charge_minspeed 400
+ set g_balance_vortex_charge_rate 0.4
+ set g_balance_vortex_charge_rot_pause 0
+ set g_balance_vortex_charge_rot_rate 0
+ set g_balance_vortex_charge_shot_multiplier 0
+ set g_balance_vortex_charge_start 0.5
+ set g_balance_vortex_charge_velocity_rate 0
+ set g_balance_vortex_primary_ammo 6
+ set g_balance_vortex_primary_animtime 0.4
+ set g_balance_vortex_primary_damage 90
+ set g_balance_vortex_primary_damagefalloff_forcehalflife 0
+ set g_balance_vortex_primary_damagefalloff_halflife 0
+ set g_balance_vortex_primary_damagefalloff_maxdist 0
+ set g_balance_vortex_primary_damagefalloff_mindist 0
+ set g_balance_vortex_primary_force 400
+ set g_balance_vortex_primary_refire 1.5
+ set g_balance_vortex_reload_ammo 0
+ set g_balance_vortex_reload_time 2
+ set g_balance_vortex_secondary 0
+ set g_balance_vortex_secondary_ammo 2
+ set g_balance_vortex_secondary_animtime 0
+ set g_balance_vortex_secondary_chargepool 0
+ set g_balance_vortex_secondary_chargepool_pause_regen 1
+ set g_balance_vortex_secondary_chargepool_regen 0.15
+ set g_balance_vortex_secondary_damage 0
+ set g_balance_vortex_secondary_damagefalloff_forcehalflife 0
+ set g_balance_vortex_secondary_damagefalloff_halflife 0
+ set g_balance_vortex_secondary_damagefalloff_maxdist 0
+ set g_balance_vortex_secondary_damagefalloff_mindist 0
+ set g_balance_vortex_secondary_force 0
+ set g_balance_vortex_secondary_refire 0
+ set g_balance_vortex_switchdelay_drop 0
+ set g_balance_vortex_switchdelay_raise 0
+ set g_balance_vortex_weaponreplace ""
+ set g_balance_vortex_weaponstart 0
+ set g_balance_vortex_weaponstartoverride -1
+ set g_balance_vortex_weaponthrowable 1
+ // }}}
+ // {{{ #9: Hagar
+ set g_balance_hagar_primary_ammo 1
+ set g_balance_hagar_primary_damage 25
+ set g_balance_hagar_primary_damageforcescale 0
+ set g_balance_hagar_primary_edgedamage 12.5
+ set g_balance_hagar_primary_force 92
+ set g_balance_hagar_primary_health 15
+ set g_balance_hagar_primary_lifetime 5
+ set g_balance_hagar_primary_radius 25
+ set g_balance_hagar_primary_refire 0.11
+ set g_balance_hagar_primary_speed 2000
+ set g_balance_hagar_primary_spread 0.03
+ set g_balance_hagar_reload_ammo 0
+ set g_balance_hagar_reload_time 2
+ set g_balance_hagar_secondary 0
+ set g_balance_hagar_secondary_ammo 1
+ set g_balance_hagar_secondary_damage 40
+ set g_balance_hagar_secondary_damageforcescale 0
+ set g_balance_hagar_secondary_edgedamage 20
+ set g_balance_hagar_secondary_force 75
+ set g_balance_hagar_secondary_health 15
+ set g_balance_hagar_secondary_lifetime_min 10
+ set g_balance_hagar_secondary_lifetime_rand 0
+ set g_balance_hagar_secondary_load 1
+ set g_balance_hagar_secondary_load_abort 1
+ set g_balance_hagar_secondary_load_animtime 0.2
+ set g_balance_hagar_secondary_load_hold 4
+ set g_balance_hagar_secondary_load_linkexplode 0
+ set g_balance_hagar_secondary_load_max 4
+ set g_balance_hagar_secondary_load_releasedeath 0
+ set g_balance_hagar_secondary_load_speed 0.5
+ set g_balance_hagar_secondary_load_spread 0.075
+ set g_balance_hagar_secondary_load_spread_bias 0.5
+ set g_balance_hagar_secondary_radius 80
+ set g_balance_hagar_secondary_refire 0.5
+ set g_balance_hagar_secondary_speed 2000
+ set g_balance_hagar_secondary_spread 0.05
+ set g_balance_hagar_switchdelay_drop 0
+ set g_balance_hagar_switchdelay_raise 0
+ set g_balance_hagar_weaponreplace ""
+ set g_balance_hagar_weaponstart 0
+ set g_balance_hagar_weaponstartoverride -1
+ set g_balance_hagar_weaponthrowable 1
+ // }}}
+ // {{{ #10: Devastator
+ set g_balance_devastator_ammo 4
+ set g_balance_devastator_animtime 0.7
+ set g_balance_devastator_damage 80
+ set g_balance_devastator_damageforcescale 0
+ set g_balance_devastator_detonatedelay 0.02
+ set g_balance_devastator_edgedamage 40
+ set g_balance_devastator_force 350
+ set g_balance_devastator_guidedelay 0.2
+ set g_balance_devastator_guidegoal 512
+ set g_balance_devastator_guiderate 0
+ set g_balance_devastator_guideratedelay 999
+ set g_balance_devastator_guidestop 1
+ set g_balance_devastator_health 0
+ set g_balance_devastator_lifetime 100
+ set g_balance_devastator_radius 110
+ set g_balance_devastator_refire 0.9
+ set g_balance_devastator_reload_ammo 0
+ set g_balance_devastator_reload_time 2
+ set g_balance_devastator_remote_damage 70
+ set g_balance_devastator_remote_edgedamage 35
+ set g_balance_devastator_remote_force 350
+ set g_balance_devastator_remote_jump_damage 70
+ set g_balance_devastator_remote_jump_radius 0
+ set g_balance_devastator_remote_jump_velocity_z_add 400
+ set g_balance_devastator_remote_jump_velocity_z_max 1500
+ set g_balance_devastator_remote_jump_velocity_z_min 400
+ set g_balance_devastator_remote_radius 110
+ set g_balance_devastator_speed 1000
+ set g_balance_devastator_speedaccel 0
+ set g_balance_devastator_speedstart 1000
+ set g_balance_devastator_switchdelay_drop 0
+ set g_balance_devastator_switchdelay_raise 0
+ set g_balance_devastator_weaponreplace ""
+ set g_balance_devastator_weaponstart 0
+ set g_balance_devastator_weaponstartoverride -1
+ set g_balance_devastator_weaponthrowable 1
+ // }}}
+ // {{{ #11: Port-O-Launch
+ set g_balance_porto_primary_animtime 0.3
+ set g_balance_porto_primary_lifetime 5
+ set g_balance_porto_primary_refire 1.5
+ set g_balance_porto_primary_speed 5000
+ set g_balance_porto_secondary 1
+ set g_balance_porto_secondary_animtime 0.3
+ set g_balance_porto_secondary_lifetime 5
+ set g_balance_porto_secondary_refire 1.5
+ set g_balance_porto_secondary_speed 1000
+ set g_balance_porto_switchdelay_drop 0
+ set g_balance_porto_switchdelay_raise 0
+ set g_balance_porto_weaponreplace ""
+ set g_balance_porto_weaponstart 0
+ set g_balance_porto_weaponstartoverride -1
+ set g_balance_porto_weaponthrowable 1
+ // }}}
+ // {{{ #12: Vaporizer
+ set g_balance_vaporizer_primary_ammo 10
+ set g_balance_vaporizer_primary_animtime 0.3
+ set g_balance_vaporizer_primary_refire 1
+ set g_balance_vaporizer_reload_ammo 0
+ set g_balance_vaporizer_reload_time 0
+ set g_balance_vaporizer_secondary_ammo 0
+ set g_balance_vaporizer_secondary_animtime 0.2
+ set g_balance_vaporizer_secondary_damage 25
+ set g_balance_vaporizer_secondary_delay 0
+ set g_balance_vaporizer_secondary_edgedamage 12.5
+ set g_balance_vaporizer_secondary_force 400
+ set g_balance_vaporizer_secondary_lifetime 5
+ set g_balance_vaporizer_secondary_radius 70
+ set g_balance_vaporizer_secondary_refire 0.7
+ set g_balance_vaporizer_secondary_shotangle 0
+ set g_balance_vaporizer_secondary_speed 6000
+ set g_balance_vaporizer_secondary_spread 0
+ set g_balance_vaporizer_switchdelay_drop 0
+ set g_balance_vaporizer_switchdelay_raise 0
+ set g_balance_vaporizer_weaponreplace ""
+ set g_balance_vaporizer_weaponstart 0
+ set g_balance_vaporizer_weaponstartoverride -1
+ set g_balance_vaporizer_weaponthrowable 0
+ // }}}
+ // {{{ #13: Grappling Hook
+ set g_balance_hook_primary_ammo 5
+ set g_balance_hook_primary_animtime 0.3
+ set g_balance_hook_primary_hooked_ammo 5
+ set g_balance_hook_primary_hooked_time_free 2
+ set g_balance_hook_primary_hooked_time_max 0
+ set g_balance_hook_primary_refire 0.2
+ set g_balance_hook_secondary_animtime 0.3
+ set g_balance_hook_secondary_damage 25
+ set g_balance_hook_secondary_damageforcescale 0
+ set g_balance_hook_secondary_duration 1.5
+ set g_balance_hook_secondary_edgedamage 5
+ set g_balance_hook_secondary_force -2000
+ set g_balance_hook_secondary_gravity 5
+ set g_balance_hook_secondary_health 15
+ set g_balance_hook_secondary_lifetime 5
+ set g_balance_hook_secondary_power 3
+ set g_balance_hook_secondary_radius 500
+ set g_balance_hook_secondary_refire 3
+ set g_balance_hook_secondary_speed 0
+ set g_balance_hook_switchdelay_drop 0
+ set g_balance_hook_switchdelay_raise 0
+ set g_balance_hook_weaponreplace ""
+ set g_balance_hook_weaponstart 0
+ set g_balance_hook_weaponstartoverride -1
+ set g_balance_hook_weaponthrowable 1
+ // }}}
+ // {{{ #14: Heavy Laser Assault Cannon (MUTATOR WEAPON)
+ set g_balance_hlac_primary_ammo 1
+ set g_balance_hlac_primary_animtime 0.4
+ set g_balance_hlac_primary_damage 18
+ set g_balance_hlac_primary_edgedamage 9
+ set g_balance_hlac_primary_force 90
+ set g_balance_hlac_primary_lifetime 5
+ set g_balance_hlac_primary_radius 70
+ set g_balance_hlac_primary_refire 0.15
+ set g_balance_hlac_primary_speed 9000
+ set g_balance_hlac_primary_spread_add 0.0045
+ set g_balance_hlac_primary_spread_crouchmod 0.25
+ set g_balance_hlac_primary_spread_max 0.25
+ set g_balance_hlac_primary_spread_min 0.01
+ set g_balance_hlac_reload_ammo 0
+ set g_balance_hlac_reload_time 2
+ set g_balance_hlac_secondary 1
+ set g_balance_hlac_secondary_ammo 10
+ set g_balance_hlac_secondary_animtime 0.3
+ set g_balance_hlac_secondary_damage 15
+ set g_balance_hlac_secondary_edgedamage 7.5
+ set g_balance_hlac_secondary_force 90
+ set g_balance_hlac_secondary_lifetime 5
+ set g_balance_hlac_secondary_radius 70
+ set g_balance_hlac_secondary_refire 1
+ set g_balance_hlac_secondary_shots 6
+ set g_balance_hlac_secondary_speed 9000
+ set g_balance_hlac_secondary_spread 0.15
+ set g_balance_hlac_secondary_spread_crouchmod 0.5
+ set g_balance_hlac_switchdelay_drop 0
+ set g_balance_hlac_switchdelay_raise 0
+ set g_balance_hlac_weaponreplace ""
+ set g_balance_hlac_weaponstart 0
+ set g_balance_hlac_weaponstartoverride -1
+ set g_balance_hlac_weaponthrowable 1
+ // }}}
+ // {{{ #15: @!#%'n Tuba
+ set g_balance_tuba_animtime 0.05
+ set g_balance_tuba_attenuation 0.5
+ set g_balance_tuba_damage 5
+ set g_balance_tuba_edgedamage 0
+ set g_balance_tuba_fadetime 0.25
+ set g_balance_tuba_force 40
+ set g_balance_tuba_pitchstep 6
+ set g_balance_tuba_radius 200
+ set g_balance_tuba_refire 0.05
+ set g_balance_tuba_switchdelay_drop 0
+ set g_balance_tuba_switchdelay_raise 0
+ set g_balance_tuba_volume 1
+ set g_balance_tuba_weaponreplace ""
+ set g_balance_tuba_weaponstart 0
+ set g_balance_tuba_weaponstartoverride -1
+ set g_balance_tuba_weaponthrowable 1
+ // }}}
+ // {{{ #16: Rifle (MUTATOR WEAPON)
+ set g_balance_rifle_bursttime 0
+ set g_balance_rifle_primary_ammo 10
+ set g_balance_rifle_primary_animtime 0.4
+ set g_balance_rifle_primary_bullethail 0
+ set g_balance_rifle_primary_burstcost 0
+ set g_balance_rifle_primary_damage 80
+ set g_balance_rifle_primary_force 100
+ set g_balance_rifle_primary_refire 1.2
+ set g_balance_rifle_primary_shots 1
+ set g_balance_rifle_primary_solidpenetration 62.2
+ set g_balance_rifle_primary_spread 0
+ set g_balance_rifle_primary_tracer 1
+ set g_balance_rifle_reload_ammo 80
+ set g_balance_rifle_reload_time 2
+ set g_balance_rifle_secondary 1
+ set g_balance_rifle_secondary_ammo 10
+ set g_balance_rifle_secondary_animtime 0.3
+ set g_balance_rifle_secondary_bullethail 0
+ set g_balance_rifle_secondary_burstcost 0
+ set g_balance_rifle_secondary_damage 20
+ set g_balance_rifle_secondary_force 50
+ set g_balance_rifle_secondary_refire 0.9
+ set g_balance_rifle_secondary_reload 0
+ set g_balance_rifle_secondary_shots 4
+ set g_balance_rifle_secondary_solidpenetration 15.5
+ set g_balance_rifle_secondary_spread 0.04
+ set g_balance_rifle_secondary_tracer 0
+ set g_balance_rifle_switchdelay_drop 0
+ set g_balance_rifle_switchdelay_raise 0
+ set g_balance_rifle_weaponreplace ""
+ set g_balance_rifle_weaponstart 0
+ set g_balance_rifle_weaponstartoverride -1
+ set g_balance_rifle_weaponthrowable 1
+ // }}}
+ // {{{ #17: Fireball
+ set g_balance_fireball_primary_animtime 0.4
+ set g_balance_fireball_primary_bfgdamage 100
+ set g_balance_fireball_primary_bfgforce 0
+ set g_balance_fireball_primary_bfgradius 1000
+ set g_balance_fireball_primary_damage 200
+ set g_balance_fireball_primary_damageforcescale 0
+ set g_balance_fireball_primary_edgedamage 50
+ set g_balance_fireball_primary_force 600
+ set g_balance_fireball_primary_health 0
+ set g_balance_fireball_primary_laserburntime 0.5
+ set g_balance_fireball_primary_laserdamage 80
+ set g_balance_fireball_primary_laseredgedamage 20
+ set g_balance_fireball_primary_laserradius 256
+ set g_balance_fireball_primary_lifetime 15
+ set g_balance_fireball_primary_radius 200
+ set g_balance_fireball_primary_refire 2
+ set g_balance_fireball_primary_refire2 0
+ set g_balance_fireball_primary_speed 1200
+ set g_balance_fireball_primary_spread 0
+ set g_balance_fireball_secondary_animtime 0.3
+ set g_balance_fireball_secondary_damage 40
+ set g_balance_fireball_secondary_damageforcescale 4
+ set g_balance_fireball_secondary_damagetime 5
+ set g_balance_fireball_secondary_laserburntime 0.5
+ set g_balance_fireball_secondary_laserdamage 50
+ set g_balance_fireball_secondary_laseredgedamage 20
+ set g_balance_fireball_secondary_laserradius 110
+ set g_balance_fireball_secondary_lifetime 7
+ set g_balance_fireball_secondary_refire 1.5
+ set g_balance_fireball_secondary_speed 900
+ 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
+ set g_balance_fireball_switchdelay_raise 0
+ set g_balance_fireball_weaponreplace ""
+ set g_balance_fireball_weaponstart 0
+ set g_balance_fireball_weaponstartoverride -1
+ set g_balance_fireball_weaponthrowable 0
+ // }}}
+ // {{{ #18: T.A.G. Seeker (MUTATOR WEAPON)
+ set g_balance_seeker_flac_ammo 1
+ set g_balance_seeker_flac_animtime 0.1
+ set g_balance_seeker_flac_damage 15
+ set g_balance_seeker_flac_edgedamage 10
+ set g_balance_seeker_flac_force 50
+ set g_balance_seeker_flac_lifetime 0.1
+ set g_balance_seeker_flac_lifetime_rand 0.05
+ set g_balance_seeker_flac_radius 100
+ set g_balance_seeker_flac_refire 0.1
+ set g_balance_seeker_flac_speed 3000
+ set g_balance_seeker_flac_speed_up 1000
+ set g_balance_seeker_flac_speed_z 0
+ set g_balance_seeker_flac_spread 0.4
+ set g_balance_seeker_missile_accel 1400
+ set g_balance_seeker_missile_ammo 2
+ set g_balance_seeker_missile_animtime 0.2
+ set g_balance_seeker_missile_count 3
+ set g_balance_seeker_missile_damage 30
+ set g_balance_seeker_missile_damageforcescale 4
+ set g_balance_seeker_missile_decel 1400
+ set g_balance_seeker_missile_delay 0.25
+ set g_balance_seeker_missile_edgedamage 10
+ set g_balance_seeker_missile_force 150
+ set g_balance_seeker_missile_health 5
+ set g_balance_seeker_missile_lifetime 15
+ set g_balance_seeker_missile_proxy 0
+ set g_balance_seeker_missile_proxy_delay 0.2
+ set g_balance_seeker_missile_proxy_maxrange 45
+ set g_balance_seeker_missile_radius 80
+ set g_balance_seeker_missile_refire 0.5
+ set g_balance_seeker_missile_smart 1
+ set g_balance_seeker_missile_smart_mindist 800
+ set g_balance_seeker_missile_smart_trace_max 2500
+ set g_balance_seeker_missile_smart_trace_min 1000
+ set g_balance_seeker_missile_speed 700
+ set g_balance_seeker_missile_speed_max 1300
+ set g_balance_seeker_missile_speed_up 300
+ set g_balance_seeker_missile_speed_z 0
+ set g_balance_seeker_missile_spread 0
+ set g_balance_seeker_missile_turnrate 0.65
+ set g_balance_seeker_reload_ammo 0
+ set g_balance_seeker_reload_time 2
+ set g_balance_seeker_switchdelay_drop 0
+ set g_balance_seeker_switchdelay_raise 0
+ set g_balance_seeker_tag_ammo 1
+ set g_balance_seeker_tag_animtime 0.2
+ set g_balance_seeker_tag_damageforcescale 4
+ set g_balance_seeker_tag_health 5
+ set g_balance_seeker_tag_lifetime 15
+ set g_balance_seeker_tag_refire 0.75
+ set g_balance_seeker_tag_speed 5000
+ set g_balance_seeker_tag_spread 0
+ set g_balance_seeker_tag_tracker_lifetime 10
+ set g_balance_seeker_type 0
+ set g_balance_seeker_weaponreplace ""
+ set g_balance_seeker_weaponstart 0
+ set g_balance_seeker_weaponstartoverride -1
+ set g_balance_seeker_weaponthrowable 1
+ // }}}
+ // {{{ #19: Shockwave (MUTATOR WEAPON)
+ set g_balance_shockwave_blast_animtime 0.3
+ set g_balance_shockwave_blast_damage 20
+ set g_balance_shockwave_blast_distance 1000
+ set g_balance_shockwave_blast_edgedamage 0
+ set g_balance_shockwave_blast_force 200
+ set g_balance_shockwave_blast_force_forwardbias 50
+ set g_balance_shockwave_blast_force_zscale 2
+ set g_balance_shockwave_blast_jump_damage 20
+ set g_balance_shockwave_blast_jump_edgedamage 0
+ set g_balance_shockwave_blast_jump_force 300
+ set g_balance_shockwave_blast_jump_force_velocitybias 0
+ set g_balance_shockwave_blast_jump_force_zscale 1.25
+ set g_balance_shockwave_blast_jump_multiplier_accuracy 0.5
+ set g_balance_shockwave_blast_jump_multiplier_distance 0.5
+ set g_balance_shockwave_blast_jump_multiplier_min 0
+ set g_balance_shockwave_blast_jump_radius 150
+ set g_balance_shockwave_blast_multiplier_accuracy 0.5
+ set g_balance_shockwave_blast_multiplier_distance 0.5
+ set g_balance_shockwave_blast_multiplier_min 0
+ set g_balance_shockwave_blast_refire 0.75
+ set g_balance_shockwave_blast_splash_damage 15
+ set g_balance_shockwave_blast_splash_edgedamage 0
+ set g_balance_shockwave_blast_splash_force 100
+ set g_balance_shockwave_blast_splash_force_forwardbias 50
+ set g_balance_shockwave_blast_splash_multiplier_accuracy 0.5
+ set g_balance_shockwave_blast_splash_multiplier_distance 0.5
+ set g_balance_shockwave_blast_splash_multiplier_min 0
+ set g_balance_shockwave_blast_splash_radius 70
+ set g_balance_shockwave_blast_spread_max 120
+ set g_balance_shockwave_blast_spread_min 25
+ set g_balance_shockwave_melee_animtime 1.3
+ set g_balance_shockwave_melee_damage 80
+ set g_balance_shockwave_melee_delay 0.25
+ set g_balance_shockwave_melee_force 200
+ set g_balance_shockwave_melee_multihit 1
+ set g_balance_shockwave_melee_no_doubleslap 1
+ set g_balance_shockwave_melee_nonplayerdamage 40
+ set g_balance_shockwave_melee_range 120
+ set g_balance_shockwave_melee_refire 1.25
+ set g_balance_shockwave_melee_swing_side 120
+ set g_balance_shockwave_melee_swing_up 30
+ set g_balance_shockwave_melee_time 0.15
+ set g_balance_shockwave_melee_traces 10
+ set g_balance_shockwave_switchdelay_drop 0
+ set g_balance_shockwave_switchdelay_raise 0
+ set g_balance_shockwave_weaponreplace ""
+ set g_balance_shockwave_weaponstart 0
+ set g_balance_shockwave_weaponstartoverride -1
+ set g_balance_shockwave_weaponthrowable 0
+ // }}}
+ // {{{ #20: Arc
+ set g_balance_arc_beam_ammo 4
+ set g_balance_arc_beam_animtime 0.2
+ set g_balance_arc_beam_botaimlifetime 0
+ set g_balance_arc_beam_botaimspeed 0
+ set g_balance_arc_beam_damage 115
+ set g_balance_arc_beam_degreespersegment 1
+ set g_balance_arc_beam_distancepersegment 0
+ set g_balance_arc_beam_falloff_halflifedist 0
+ set g_balance_arc_beam_falloff_maxdist 0
+ set g_balance_arc_beam_falloff_mindist 0
+ set g_balance_arc_beam_force 900
+ set g_balance_arc_beam_healing_amax 100
+ set g_balance_arc_beam_healing_aps 50
+ set g_balance_arc_beam_healing_hmax 150
+ set g_balance_arc_beam_healing_hps 50
+ set g_balance_arc_cooldown 2.5
+ set g_balance_arc_overheat_max 5
+ set g_balance_arc_overheat_min 3
+ set g_balance_arc_beam_heat 1
+ set g_balance_arc_burst_heat 5
+ set g_balance_arc_beam_maxangle 10
+ set g_balance_arc_beam_nonplayerdamage 80
+ set g_balance_arc_beam_range 1000
+ set g_balance_arc_beam_refire 0.5
+ set g_balance_arc_beam_returnspeed 8
+ set g_balance_arc_beam_tightness 0.5
+ set g_balance_arc_burst_ammo 15
+ set g_balance_arc_burst_damage 250
+ set g_balance_arc_burst_healing_aps 100
+ set g_balance_arc_burst_healing_hps 100
+ set g_balance_arc_switchdelay_drop 0.3
+ set g_balance_arc_switchdelay_raise 0.3
+ set g_balance_arc_weaponreplace ""
+ set g_balance_arc_weaponstart 0
+ set g_balance_arc_weaponstartoverride -1
+ set g_balance_arc_weaponthrowable 1
+ // }}}
++// {{{ #21: Heavy Machine Gun
++set g_balance_hmg_ammo 0
++set g_balance_hmg_damage 0
++set g_balance_hmg_force 0
++set g_balance_hmg_refire 0
++set g_balance_hmg_reload_ammo 120
++set g_balance_hmg_reload_time 1
++set g_balance_hmg_solidpenetration 32
++set g_balance_hmg_spread_add 0.01
++set g_balance_hmg_spread_max 0.05
++set g_balance_hmg_spread_min 0.02
++set g_balance_hmg_switchdelay_drop 0.2
++set g_balance_hmg_switchdelay_raise 0.2
++set g_balance_hmg_weaponreplace ""
++set g_balance_hmg_weaponstart 0
++set g_balance_hmg_weaponstartoverride 0
++set g_balance_hmg_weaponthrowable 0
++// }}}
++// {{{ #22: Rocket Propelled Chainsaw
++set g_balance_rpc_ammo 10
++set g_balance_rpc_animtime 1
++set g_balance_rpc_damage 150
++set g_balance_rpc_damage2 500
++set g_balance_rpc_damageforcescale 2
++set g_balance_rpc_edgedamage 50
++set g_balance_rpc_force 400
++set g_balance_rpc_health 25
++set g_balance_rpc_lifetime 30
++set g_balance_rpc_radius 300
++set g_balance_rpc_refire 1
++set g_balance_rpc_reload_ammo 10
++set g_balance_rpc_reload_time 1
++set g_balance_rpc_speed 1250
++set g_balance_rpc_speedaccel 5000
++set g_balance_rpc_switchdelay_drop 0.2
++set g_balance_rpc_switchdelay_raise 0.2
++set g_balance_rpc_weaponreplace ""
++set g_balance_rpc_weaponstart 0
++set g_balance_rpc_weaponstartoverride 0
++set g_balance_rpc_weaponthrowable 0
++// }}}
index 0000000,320ce22..e061e69
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,763 +1,804 @@@
+ // {{{ #1: Blaster
+ set g_balance_blaster_primary_animtime 0.2
+ set g_balance_blaster_primary_damage 25
+ set g_balance_blaster_primary_delay 0
+ set g_balance_blaster_primary_edgedamage 12.5
+ set g_balance_blaster_primary_force 300
+ set g_balance_blaster_primary_force_zscale 1.25
+ set g_balance_blaster_primary_lifetime 5
+ set g_balance_blaster_primary_radius 60
+ set g_balance_blaster_primary_refire 0.7
+ set g_balance_blaster_primary_shotangle 0
+ set g_balance_blaster_primary_speed 6000
+ set g_balance_blaster_primary_spread 0
+ set g_balance_blaster_secondary 0
+ set g_balance_blaster_secondary_animtime 0.2
+ set g_balance_blaster_secondary_damage 25
+ set g_balance_blaster_secondary_delay 0
+ set g_balance_blaster_secondary_edgedamage 12.5
+ set g_balance_blaster_secondary_force 300
+ set g_balance_blaster_secondary_force_zscale 1.2
+ set g_balance_blaster_secondary_lifetime 5
+ set g_balance_blaster_secondary_radius 70
+ set g_balance_blaster_secondary_refire 0.7
+ set g_balance_blaster_secondary_shotangle 0
+ set g_balance_blaster_secondary_speed 6000
+ set g_balance_blaster_secondary_spread 0
+ set g_balance_blaster_switchdelay_drop 0.2
+ set g_balance_blaster_switchdelay_raise 0.2
+ set g_balance_blaster_weaponreplace ""
+ set g_balance_blaster_weaponstart 1
+ set g_balance_blaster_weaponstartoverride -1
+ set g_balance_blaster_weaponthrowable 0
+ // }}}
+ // {{{ #2: Shotgun
+ set g_balance_shotgun_primary_ammo 1
+ set g_balance_shotgun_primary_animtime 0.2
+ set g_balance_shotgun_primary_bullets 14
+ set g_balance_shotgun_primary_damage 3.5
+ set g_balance_shotgun_primary_force 15
+ set g_balance_shotgun_primary_refire 0.75
+ set g_balance_shotgun_primary_solidpenetration 3.8
+ set g_balance_shotgun_primary_spread 0.11
+ set g_balance_shotgun_reload_ammo 0
+ set g_balance_shotgun_reload_time 2
+ set g_balance_shotgun_secondary 1
+ set g_balance_shotgun_secondary_animtime 1
+ set g_balance_shotgun_secondary_damage 70
+ set g_balance_shotgun_secondary_force 200
+ set g_balance_shotgun_secondary_melee_delay 0.25
+ set g_balance_shotgun_secondary_melee_multihit 1
+ set g_balance_shotgun_secondary_melee_no_doubleslap 1
+ set g_balance_shotgun_secondary_melee_nonplayerdamage 40
+ set g_balance_shotgun_secondary_melee_range 120
+ set g_balance_shotgun_secondary_melee_swing_side 120
+ set g_balance_shotgun_secondary_melee_swing_up 30
+ set g_balance_shotgun_secondary_melee_time 0.15
+ set g_balance_shotgun_secondary_melee_traces 10
+ set g_balance_shotgun_secondary_refire 1.25
+ set g_balance_shotgun_secondary_alt_animtime 0.2
+ set g_balance_shotgun_secondary_alt_refire 1.2
+ set g_balance_shotgun_switchdelay_drop 0.2
+ set g_balance_shotgun_switchdelay_raise 0.2
+ set g_balance_shotgun_weaponreplace ""
+ set g_balance_shotgun_weaponstart 1
+ set g_balance_shotgun_weaponstartoverride -1
+ set g_balance_shotgun_weaponthrowable 1
+ // }}}
+ // {{{ #3: Machine Gun
+ set g_balance_machinegun_burst 3
+ set g_balance_machinegun_burst_ammo 3
+ set g_balance_machinegun_burst_animtime 0.3
+ set g_balance_machinegun_burst_refire 0.06
+ set g_balance_machinegun_burst_refire2 0.45
+ set g_balance_machinegun_burst_speed 0
+ set g_balance_machinegun_first 1
+ set g_balance_machinegun_first_ammo 1
+ set g_balance_machinegun_first_damage 14
+ set g_balance_machinegun_first_force 5
+ set g_balance_machinegun_first_refire 0.125
+ set g_balance_machinegun_first_spread 0.03
+ set g_balance_machinegun_mode 1
+ set g_balance_machinegun_reload_ammo 60
+ set g_balance_machinegun_reload_time 2
+ set g_balance_machinegun_solidpenetration 13.1
+ set g_balance_machinegun_spread_add 0.012
+ set g_balance_machinegun_spread_max 0.05
+ set g_balance_machinegun_spread_min 0.02
+ set g_balance_machinegun_sustained_ammo 1
+ set g_balance_machinegun_sustained_damage 10
+ set g_balance_machinegun_sustained_force 5
+ set g_balance_machinegun_sustained_refire 0.1
+ set g_balance_machinegun_sustained_spread 0.03
+ set g_balance_machinegun_switchdelay_drop 0.2
+ set g_balance_machinegun_switchdelay_raise 0.2
+ set g_balance_machinegun_weaponreplace ""
+ set g_balance_machinegun_weaponstart 0
+ set g_balance_machinegun_weaponstartoverride -1
+ set g_balance_machinegun_weaponthrowable 1
+ // }}}
+ // {{{ #4: Mortar
+ set g_balance_mortar_bouncefactor 0.5
+ set g_balance_mortar_bouncestop 0.075
+ set g_balance_mortar_primary_ammo 2
+ set g_balance_mortar_primary_animtime 0.3
+ set g_balance_mortar_primary_damage 55
+ set g_balance_mortar_primary_damageforcescale 0
+ set g_balance_mortar_primary_edgedamage 25
+ set g_balance_mortar_primary_force 250
+ set g_balance_mortar_primary_health 15
+ set g_balance_mortar_primary_lifetime 5
+ set g_balance_mortar_primary_lifetime_stick 0
+ set g_balance_mortar_primary_radius 120
+ set g_balance_mortar_primary_refire 0.8
+ set g_balance_mortar_primary_remote_minbouncecnt 0
+ set g_balance_mortar_primary_speed 1900
+ set g_balance_mortar_primary_speed_up 225
+ set g_balance_mortar_primary_speed_z 0
+ set g_balance_mortar_primary_spread 0
+ set g_balance_mortar_primary_type 0
+ set g_balance_mortar_reload_ammo 0
+ set g_balance_mortar_reload_time 2
+ set g_balance_mortar_secondary_ammo 2
+ set g_balance_mortar_secondary_animtime 0.3
+ set g_balance_mortar_secondary_damage 55
+ set g_balance_mortar_secondary_damageforcescale 4
+ set g_balance_mortar_secondary_edgedamage 30
+ set g_balance_mortar_secondary_force 250
+ set g_balance_mortar_secondary_health 30
+ set g_balance_mortar_secondary_lifetime 5
+ set g_balance_mortar_secondary_lifetime_bounce 0.5
+ set g_balance_mortar_secondary_lifetime_stick 0
+ set g_balance_mortar_secondary_radius 120
+ set g_balance_mortar_secondary_refire 0.7
+ set g_balance_mortar_secondary_remote_detonateprimary 0
+ set g_balance_mortar_secondary_speed 1400
+ set g_balance_mortar_secondary_speed_up 150
+ set g_balance_mortar_secondary_speed_z 0
+ set g_balance_mortar_secondary_spread 0
+ set g_balance_mortar_secondary_type 1
+ set g_balance_mortar_switchdelay_drop 0.2
+ set g_balance_mortar_switchdelay_raise 0.2
+ set g_balance_mortar_weaponreplace ""
+ set g_balance_mortar_weaponstart 0
+ set g_balance_mortar_weaponstartoverride -1
+ set g_balance_mortar_weaponthrowable 1
+ // }}}
+ // {{{ #5: Mine Layer (MUTATOR WEAPON)
+ set g_balance_minelayer_ammo 4
+ set g_balance_minelayer_animtime 0.4
+ set g_balance_minelayer_damage 40
+ set g_balance_minelayer_damageforcescale 0
+ set g_balance_minelayer_detonatedelay -1
+ set g_balance_minelayer_edgedamage 20
+ set g_balance_minelayer_force 250
+ set g_balance_minelayer_health 15
+ set g_balance_minelayer_lifetime 10
+ set g_balance_minelayer_lifetime_countdown 0.5
+ set g_balance_minelayer_limit 3
+ set g_balance_minelayer_protection 0
+ set g_balance_minelayer_proximityradius 150
+ set g_balance_minelayer_radius 175
+ set g_balance_minelayer_refire 1.5
+ set g_balance_minelayer_reload_ammo 0
+ set g_balance_minelayer_reload_time 2
+ set g_balance_minelayer_remote_damage 45
+ set g_balance_minelayer_remote_edgedamage 40
+ set g_balance_minelayer_remote_force 300
+ set g_balance_minelayer_remote_radius 200
+ set g_balance_minelayer_speed 1000
+ set g_balance_minelayer_switchdelay_drop 0.2
+ set g_balance_minelayer_switchdelay_raise 0.2
+ set g_balance_minelayer_time 0.5
+ set g_balance_minelayer_weaponreplace ""
+ set g_balance_minelayer_weaponstart 0
+ set g_balance_minelayer_weaponstartoverride -1
+ set g_balance_minelayer_weaponthrowable 1
+ // }}}
+ // {{{ #6: Electro
+ set g_balance_electro_combo_comboradius 300
+ set g_balance_electro_combo_comboradius_thruwall 200
+ set g_balance_electro_combo_damage 50
+ set g_balance_electro_combo_edgedamage 25
+ set g_balance_electro_combo_force 120
+ set g_balance_electro_combo_radius 150
+ set g_balance_electro_combo_safeammocheck 1
+ set g_balance_electro_combo_speed 2000
+ set g_balance_electro_primary_ammo 4
+ set g_balance_electro_primary_animtime 0.3
+ set g_balance_electro_primary_comboradius 300
+ set g_balance_electro_primary_damage 40
+ set g_balance_electro_primary_edgedamage 20
+ set g_balance_electro_primary_force 200
+ set g_balance_electro_primary_lifetime 5
+ set g_balance_electro_primary_midaircombo_explode 1
+ set g_balance_electro_primary_midaircombo_interval 0.1
+ set g_balance_electro_primary_midaircombo_radius 150
+ set g_balance_electro_primary_radius 100
+ set g_balance_electro_primary_refire 0.6
+ set g_balance_electro_primary_speed 2500
+ set g_balance_electro_primary_spread 0
+ set g_balance_electro_reload_ammo 0
+ set g_balance_electro_reload_time 2
+ set g_balance_electro_secondary_ammo 2
+ set g_balance_electro_secondary_animtime 0.2
+ set g_balance_electro_secondary_bouncefactor 0.3
+ set g_balance_electro_secondary_bouncestop 0.05
+ set g_balance_electro_secondary_count 3
+ set g_balance_electro_secondary_damage 30
+ set g_balance_electro_secondary_damagedbycontents 1
+ set g_balance_electro_secondary_damageforcescale 4
+ set g_balance_electro_secondary_edgedamage 15
+ set g_balance_electro_secondary_force 50
+ set g_balance_electro_secondary_health 5
+ set g_balance_electro_secondary_lifetime 4
+ set g_balance_electro_secondary_radius 150
+ set g_balance_electro_secondary_refire 0.2
+ set g_balance_electro_secondary_refire2 1.6
+ set g_balance_electro_secondary_speed 1000
+ set g_balance_electro_secondary_speed_up 200
+ set g_balance_electro_secondary_speed_z 0
+ set g_balance_electro_secondary_spread 0.04
+ set g_balance_electro_secondary_touchexplode 0
+ set g_balance_electro_switchdelay_drop 0.2
+ set g_balance_electro_switchdelay_raise 0.2
+ set g_balance_electro_weaponreplace ""
+ set g_balance_electro_weaponstart 0
+ set g_balance_electro_weaponstartoverride -1
+ set g_balance_electro_weaponthrowable 1
+ // }}}
+ // {{{ #7: Crylink
+ set g_balance_crylink_primary_ammo 3
+ set g_balance_crylink_primary_animtime 0.3
+ set g_balance_crylink_primary_bouncedamagefactor 0.5
+ set g_balance_crylink_primary_bounces 1
+ set g_balance_crylink_primary_damage 12
+ set g_balance_crylink_primary_edgedamage 6
+ set g_balance_crylink_primary_force -50
+ set g_balance_crylink_primary_joindelay 0.1
+ set g_balance_crylink_primary_joinexplode 1
+ set g_balance_crylink_primary_joinexplode_damage 0
+ set g_balance_crylink_primary_joinexplode_edgedamage 0
+ set g_balance_crylink_primary_joinexplode_force 0
+ set g_balance_crylink_primary_joinexplode_radius 0
+ set g_balance_crylink_primary_joinspread 0.2
+ set g_balance_crylink_primary_linkexplode 1
+ set g_balance_crylink_primary_middle_fadetime 5
+ set g_balance_crylink_primary_middle_lifetime 5
+ set g_balance_crylink_primary_other_fadetime 5
+ set g_balance_crylink_primary_other_lifetime 5
+ set g_balance_crylink_primary_radius 80
+ set g_balance_crylink_primary_refire 0.7
+ set g_balance_crylink_primary_shots 6
+ set g_balance_crylink_primary_speed 2000
+ set g_balance_crylink_primary_spread 0.08
+ set g_balance_crylink_reload_ammo 0
+ set g_balance_crylink_reload_time 2
+ set g_balance_crylink_secondary 1
+ set g_balance_crylink_secondary_ammo 2
+ set g_balance_crylink_secondary_animtime 0.2
+ set g_balance_crylink_secondary_bouncedamagefactor 0.5
+ set g_balance_crylink_secondary_bounces 0
+ set g_balance_crylink_secondary_damage 10
+ set g_balance_crylink_secondary_edgedamage 5
+ set g_balance_crylink_secondary_force -250
+ set g_balance_crylink_secondary_joindelay 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_force 0
+ set g_balance_crylink_secondary_joinexplode_radius 0
+ set g_balance_crylink_secondary_joinspread 0
+ set g_balance_crylink_secondary_linkexplode 1
+ set g_balance_crylink_secondary_middle_fadetime 5
+ set g_balance_crylink_secondary_middle_lifetime 5
+ set g_balance_crylink_secondary_other_fadetime 5
+ set g_balance_crylink_secondary_other_lifetime 5
+ set g_balance_crylink_secondary_radius 100
+ set g_balance_crylink_secondary_refire 0.7
+ set g_balance_crylink_secondary_shots 5
+ 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_switchdelay_drop 0.2
+ set g_balance_crylink_switchdelay_raise 0.2
+ set g_balance_crylink_weaponreplace ""
+ set g_balance_crylink_weaponstart 0
+ set g_balance_crylink_weaponstartoverride -1
+ set g_balance_crylink_weaponthrowable 1
+ // }}}
+ // {{{ #8: Vortex
+ set g_balance_vortex_charge 1
+ set g_balance_vortex_charge_animlimit 0.5
+ set g_balance_vortex_charge_limit 1
+ set g_balance_vortex_charge_maxspeed 800
+ set g_balance_vortex_charge_mindmg 40
+ set g_balance_vortex_charge_minspeed 400
+ set g_balance_vortex_charge_rate 0.6
+ set g_balance_vortex_charge_rot_pause 0
+ set g_balance_vortex_charge_rot_rate 0
+ set g_balance_vortex_charge_shot_multiplier 0
+ set g_balance_vortex_charge_start 0.5
+ set g_balance_vortex_charge_velocity_rate 0
+ set g_balance_vortex_primary_ammo 6
+ set g_balance_vortex_primary_animtime 0.4
+ set g_balance_vortex_primary_damage 80
+ set g_balance_vortex_primary_damagefalloff_forcehalflife 0
+ set g_balance_vortex_primary_damagefalloff_halflife 0
+ set g_balance_vortex_primary_damagefalloff_maxdist 0
+ set g_balance_vortex_primary_damagefalloff_mindist 0
+ set g_balance_vortex_primary_force 400
+ set g_balance_vortex_primary_refire 1.5
+ set g_balance_vortex_reload_ammo 0
+ set g_balance_vortex_reload_time 2
+ set g_balance_vortex_secondary 0
+ set g_balance_vortex_secondary_ammo 2
+ set g_balance_vortex_secondary_animtime 0
+ set g_balance_vortex_secondary_chargepool 0
+ set g_balance_vortex_secondary_chargepool_pause_regen 1
+ set g_balance_vortex_secondary_chargepool_regen 0.15
+ set g_balance_vortex_secondary_damage 0
+ set g_balance_vortex_secondary_damagefalloff_forcehalflife 0
+ set g_balance_vortex_secondary_damagefalloff_halflife 0
+ set g_balance_vortex_secondary_damagefalloff_maxdist 0
+ set g_balance_vortex_secondary_damagefalloff_mindist 0
+ set g_balance_vortex_secondary_force 0
+ set g_balance_vortex_secondary_refire 0
+ set g_balance_vortex_switchdelay_drop 0.25
+ set g_balance_vortex_switchdelay_raise 0.25
+ set g_balance_vortex_weaponreplace ""
+ set g_balance_vortex_weaponstart 0
+ set g_balance_vortex_weaponstartoverride -1
+ set g_balance_vortex_weaponthrowable 1
+ // }}}
+ // {{{ #9: Hagar
+ set g_balance_hagar_primary_ammo 1
+ set g_balance_hagar_primary_damage 25
+ set g_balance_hagar_primary_damageforcescale 0
+ set g_balance_hagar_primary_edgedamage 12.5
+ set g_balance_hagar_primary_force 100
+ set g_balance_hagar_primary_health 15
+ set g_balance_hagar_primary_lifetime 5
+ set g_balance_hagar_primary_radius 65
+ set g_balance_hagar_primary_refire 0.16667
+ set g_balance_hagar_primary_speed 2200
+ set g_balance_hagar_primary_spread 0.03
+ set g_balance_hagar_reload_ammo 0
+ set g_balance_hagar_reload_time 2
+ set g_balance_hagar_secondary 1
+ set g_balance_hagar_secondary_ammo 1
+ set g_balance_hagar_secondary_damage 35
+ set g_balance_hagar_secondary_damageforcescale 0
+ set g_balance_hagar_secondary_edgedamage 17.5
+ set g_balance_hagar_secondary_force 75
+ set g_balance_hagar_secondary_health 15
+ set g_balance_hagar_secondary_lifetime_min 10
+ set g_balance_hagar_secondary_lifetime_rand 0
+ set g_balance_hagar_secondary_load 1
+ set g_balance_hagar_secondary_load_abort 1
+ set g_balance_hagar_secondary_load_animtime 0.2
+ set g_balance_hagar_secondary_load_hold 4
+ set g_balance_hagar_secondary_load_linkexplode 0
+ set g_balance_hagar_secondary_load_max 4
+ set g_balance_hagar_secondary_load_releasedeath 0
+ set g_balance_hagar_secondary_load_speed 0.5
+ set g_balance_hagar_secondary_load_spread 0.075
+ set g_balance_hagar_secondary_load_spread_bias 0.5
+ set g_balance_hagar_secondary_radius 80
+ set g_balance_hagar_secondary_refire 0.5
+ set g_balance_hagar_secondary_speed 2000
+ set g_balance_hagar_secondary_spread 0.05
+ set g_balance_hagar_switchdelay_drop 0.2
+ set g_balance_hagar_switchdelay_raise 0.2
+ set g_balance_hagar_weaponreplace ""
+ set g_balance_hagar_weaponstart 0
+ set g_balance_hagar_weaponstartoverride -1
+ set g_balance_hagar_weaponthrowable 1
+ // }}}
+ // {{{ #10: Devastator
+ set g_balance_devastator_ammo 4
+ set g_balance_devastator_animtime 0.4
+ set g_balance_devastator_damage 80
+ set g_balance_devastator_damageforcescale 1
+ set g_balance_devastator_detonatedelay 0.02
+ set g_balance_devastator_edgedamage 40
+ set g_balance_devastator_force 400
+ set g_balance_devastator_guidedelay 0.2
+ set g_balance_devastator_guidegoal 512
+ set g_balance_devastator_guiderate 90
+ set g_balance_devastator_guideratedelay 0.01
+ set g_balance_devastator_guidestop 0
+ set g_balance_devastator_health 30
+ set g_balance_devastator_lifetime 10
+ set g_balance_devastator_radius 110
+ set g_balance_devastator_refire 1.1
+ set g_balance_devastator_reload_ammo 0
+ set g_balance_devastator_reload_time 2
+ set g_balance_devastator_remote_damage 70
+ set g_balance_devastator_remote_edgedamage 35
+ set g_balance_devastator_remote_force 300
+ set g_balance_devastator_remote_jump_damage 70
+ set g_balance_devastator_remote_jump_radius 0
+ set g_balance_devastator_remote_jump_velocity_z_add 400
+ set g_balance_devastator_remote_jump_velocity_z_max 1500
+ set g_balance_devastator_remote_jump_velocity_z_min 400
+ set g_balance_devastator_remote_radius 110
+ set g_balance_devastator_speed 1300
+ set g_balance_devastator_speedaccel 1300
+ set g_balance_devastator_speedstart 1000
+ set g_balance_devastator_switchdelay_drop 0.2
+ set g_balance_devastator_switchdelay_raise 0.2
+ set g_balance_devastator_weaponreplace ""
+ set g_balance_devastator_weaponstart 0
+ set g_balance_devastator_weaponstartoverride -1
+ set g_balance_devastator_weaponthrowable 1
+ // }}}
+ // {{{ #11: Port-O-Launch
+ set g_balance_porto_primary_animtime 0.3
+ set g_balance_porto_primary_lifetime 5
+ set g_balance_porto_primary_refire 1.5
+ set g_balance_porto_primary_speed 1000
+ set g_balance_porto_secondary 1
+ set g_balance_porto_secondary_animtime 0.3
+ set g_balance_porto_secondary_lifetime 5
+ set g_balance_porto_secondary_refire 1.5
+ set g_balance_porto_secondary_speed 1000
+ set g_balance_porto_switchdelay_drop 0.2
+ set g_balance_porto_switchdelay_raise 0.2
+ set g_balance_porto_weaponreplace ""
+ set g_balance_porto_weaponstart 0
+ set g_balance_porto_weaponstartoverride -1
+ set g_balance_porto_weaponthrowable 1
+ // }}}
+ // {{{ #12: Vaporizer
+ set g_balance_vaporizer_primary_ammo 10
+ set g_balance_vaporizer_primary_animtime 0.3
+ set g_balance_vaporizer_primary_refire 1
+ set g_balance_vaporizer_reload_ammo 0
+ set g_balance_vaporizer_reload_time 0
+ set g_balance_vaporizer_secondary_ammo 0
+ set g_balance_vaporizer_secondary_animtime 0.2
+ set g_balance_vaporizer_secondary_damage 25
+ set g_balance_vaporizer_secondary_delay 0
+ set g_balance_vaporizer_secondary_edgedamage 12.5
+ set g_balance_vaporizer_secondary_force 400
+ set g_balance_vaporizer_secondary_lifetime 5
+ set g_balance_vaporizer_secondary_radius 70
+ set g_balance_vaporizer_secondary_refire 0.7
+ set g_balance_vaporizer_secondary_shotangle 0
+ set g_balance_vaporizer_secondary_speed 6000
+ set g_balance_vaporizer_secondary_spread 0
+ set g_balance_vaporizer_switchdelay_drop 0.2
+ set g_balance_vaporizer_switchdelay_raise 0.2
+ set g_balance_vaporizer_weaponreplace ""
+ set g_balance_vaporizer_weaponstart 0
+ set g_balance_vaporizer_weaponstartoverride -1
+ set g_balance_vaporizer_weaponthrowable 0
+ // }}}
+ // {{{ #13: Grappling Hook
+ set g_balance_hook_primary_ammo 5
+ set g_balance_hook_primary_animtime 0.3
+ set g_balance_hook_primary_hooked_ammo 5
+ set g_balance_hook_primary_hooked_time_free 2
+ set g_balance_hook_primary_hooked_time_max 0
+ set g_balance_hook_primary_refire 0.2
+ set g_balance_hook_secondary_animtime 0.3
+ set g_balance_hook_secondary_damage 25
+ set g_balance_hook_secondary_damageforcescale 0
+ set g_balance_hook_secondary_duration 1.5
+ set g_balance_hook_secondary_edgedamage 5
+ set g_balance_hook_secondary_force -2000
+ set g_balance_hook_secondary_gravity 5
+ set g_balance_hook_secondary_health 15
+ set g_balance_hook_secondary_lifetime 5
+ set g_balance_hook_secondary_power 3
+ set g_balance_hook_secondary_radius 500
+ set g_balance_hook_secondary_refire 3
+ set g_balance_hook_secondary_speed 0
+ set g_balance_hook_switchdelay_drop 0.2
+ set g_balance_hook_switchdelay_raise 0.2
+ set g_balance_hook_weaponreplace ""
+ set g_balance_hook_weaponstart 0
+ set g_balance_hook_weaponstartoverride -1
+ set g_balance_hook_weaponthrowable 1
+ // }}}
+ // {{{ #14: Heavy Laser Assault Cannon (MUTATOR WEAPON)
+ set g_balance_hlac_primary_ammo 1
+ set g_balance_hlac_primary_animtime 0.4
+ set g_balance_hlac_primary_damage 18
+ set g_balance_hlac_primary_edgedamage 9
+ set g_balance_hlac_primary_force 90
+ set g_balance_hlac_primary_lifetime 5
+ set g_balance_hlac_primary_radius 70
+ set g_balance_hlac_primary_refire 0.15
+ set g_balance_hlac_primary_speed 9000
+ set g_balance_hlac_primary_spread_add 0.0045
+ set g_balance_hlac_primary_spread_crouchmod 0.25
+ set g_balance_hlac_primary_spread_max 0.25
+ set g_balance_hlac_primary_spread_min 0.01
+ set g_balance_hlac_reload_ammo 0
+ set g_balance_hlac_reload_time 2
+ set g_balance_hlac_secondary 1
+ set g_balance_hlac_secondary_ammo 10
+ set g_balance_hlac_secondary_animtime 0.3
+ set g_balance_hlac_secondary_damage 15
+ set g_balance_hlac_secondary_edgedamage 7.5
+ set g_balance_hlac_secondary_force 90
+ set g_balance_hlac_secondary_lifetime 5
+ set g_balance_hlac_secondary_radius 70
+ set g_balance_hlac_secondary_refire 1
+ set g_balance_hlac_secondary_shots 6
+ set g_balance_hlac_secondary_speed 9000
+ set g_balance_hlac_secondary_spread 0.15
+ set g_balance_hlac_secondary_spread_crouchmod 0.5
+ set g_balance_hlac_switchdelay_drop 0.2
+ set g_balance_hlac_switchdelay_raise 0.2
+ set g_balance_hlac_weaponreplace ""
+ set g_balance_hlac_weaponstart 0
+ set g_balance_hlac_weaponstartoverride -1
+ set g_balance_hlac_weaponthrowable 1
+ // }}}
+ // {{{ #15: @!#%'n Tuba
+ set g_balance_tuba_animtime 0.05
+ set g_balance_tuba_attenuation 0.5
+ set g_balance_tuba_damage 5
+ set g_balance_tuba_edgedamage 0
+ set g_balance_tuba_fadetime 0.25
+ set g_balance_tuba_force 40
+ set g_balance_tuba_pitchstep 6
+ set g_balance_tuba_radius 200
+ set g_balance_tuba_refire 0.05
+ set g_balance_tuba_switchdelay_drop 0.2
+ set g_balance_tuba_switchdelay_raise 0.2
+ set g_balance_tuba_volume 1
+ set g_balance_tuba_weaponreplace ""
+ set g_balance_tuba_weaponstart 0
+ set g_balance_tuba_weaponstartoverride -1
+ set g_balance_tuba_weaponthrowable 1
+ // }}}
+ // {{{ #16: Rifle (MUTATOR WEAPON)
+ set g_balance_rifle_bursttime 0
+ set g_balance_rifle_primary_ammo 10
+ set g_balance_rifle_primary_animtime 0.4
+ set g_balance_rifle_primary_bullethail 0
+ set g_balance_rifle_primary_burstcost 0
+ set g_balance_rifle_primary_damage 80
+ set g_balance_rifle_primary_force 100
+ set g_balance_rifle_primary_refire 1.2
+ set g_balance_rifle_primary_shots 1
+ set g_balance_rifle_primary_solidpenetration 62.2
+ set g_balance_rifle_primary_spread 0
+ set g_balance_rifle_primary_tracer 1
+ set g_balance_rifle_reload_ammo 80
+ set g_balance_rifle_reload_time 2
+ set g_balance_rifle_secondary 1
+ set g_balance_rifle_secondary_ammo 10
+ set g_balance_rifle_secondary_animtime 0.3
+ set g_balance_rifle_secondary_bullethail 0
+ set g_balance_rifle_secondary_burstcost 0
+ set g_balance_rifle_secondary_damage 20
+ set g_balance_rifle_secondary_force 50
+ set g_balance_rifle_secondary_refire 0.9
+ set g_balance_rifle_secondary_reload 0
+ set g_balance_rifle_secondary_shots 4
+ set g_balance_rifle_secondary_solidpenetration 15.5
+ set g_balance_rifle_secondary_spread 0.04
+ set g_balance_rifle_secondary_tracer 0
+ set g_balance_rifle_switchdelay_drop 0.2
+ set g_balance_rifle_switchdelay_raise 0.2
+ set g_balance_rifle_weaponreplace ""
+ set g_balance_rifle_weaponstart 0
+ set g_balance_rifle_weaponstartoverride -1
+ set g_balance_rifle_weaponthrowable 1
+ // }}}
+ // {{{ #17: Fireball
+ set g_balance_fireball_primary_animtime 0.4
+ set g_balance_fireball_primary_bfgdamage 100
+ set g_balance_fireball_primary_bfgforce 0
+ set g_balance_fireball_primary_bfgradius 1000
+ set g_balance_fireball_primary_damage 200
+ set g_balance_fireball_primary_damageforcescale 0
+ set g_balance_fireball_primary_edgedamage 50
+ set g_balance_fireball_primary_force 600
+ set g_balance_fireball_primary_health 0
+ set g_balance_fireball_primary_laserburntime 0.5
+ set g_balance_fireball_primary_laserdamage 80
+ set g_balance_fireball_primary_laseredgedamage 20
+ set g_balance_fireball_primary_laserradius 256
+ set g_balance_fireball_primary_lifetime 15
+ set g_balance_fireball_primary_radius 200
+ set g_balance_fireball_primary_refire 2
+ set g_balance_fireball_primary_refire2 0
+ set g_balance_fireball_primary_speed 1200
+ set g_balance_fireball_primary_spread 0
+ set g_balance_fireball_secondary_animtime 0.3
+ set g_balance_fireball_secondary_damage 40
+ set g_balance_fireball_secondary_damageforcescale 4
+ set g_balance_fireball_secondary_damagetime 5
+ set g_balance_fireball_secondary_laserburntime 0.5
+ set g_balance_fireball_secondary_laserdamage 50
+ set g_balance_fireball_secondary_laseredgedamage 20
+ set g_balance_fireball_secondary_laserradius 110
+ set g_balance_fireball_secondary_lifetime 7
+ set g_balance_fireball_secondary_refire 1.5
+ set g_balance_fireball_secondary_speed 900
+ 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.2
+ set g_balance_fireball_switchdelay_raise 0.2
+ set g_balance_fireball_weaponreplace ""
+ set g_balance_fireball_weaponstart 0
+ set g_balance_fireball_weaponstartoverride -1
+ set g_balance_fireball_weaponthrowable 0
+ // }}}
+ // {{{ #18: T.A.G. Seeker (MUTATOR WEAPON)
+ set g_balance_seeker_flac_ammo 1
+ set g_balance_seeker_flac_animtime 0.1
+ set g_balance_seeker_flac_damage 15
+ set g_balance_seeker_flac_edgedamage 10
+ set g_balance_seeker_flac_force 50
+ set g_balance_seeker_flac_lifetime 0.1
+ set g_balance_seeker_flac_lifetime_rand 0.05
+ set g_balance_seeker_flac_radius 100
+ set g_balance_seeker_flac_refire 0.1
+ set g_balance_seeker_flac_speed 3000
+ set g_balance_seeker_flac_speed_up 1000
+ set g_balance_seeker_flac_speed_z 0
+ set g_balance_seeker_flac_spread 0.4
+ set g_balance_seeker_missile_accel 1400
+ set g_balance_seeker_missile_ammo 2
+ set g_balance_seeker_missile_animtime 0.2
+ set g_balance_seeker_missile_count 3
+ set g_balance_seeker_missile_damage 30
+ set g_balance_seeker_missile_damageforcescale 4
+ set g_balance_seeker_missile_decel 1400
+ set g_balance_seeker_missile_delay 0.25
+ set g_balance_seeker_missile_edgedamage 10
+ set g_balance_seeker_missile_force 150
+ set g_balance_seeker_missile_health 5
+ set g_balance_seeker_missile_lifetime 15
+ set g_balance_seeker_missile_proxy 0
+ set g_balance_seeker_missile_proxy_delay 0.2
+ set g_balance_seeker_missile_proxy_maxrange 45
+ set g_balance_seeker_missile_radius 80
+ set g_balance_seeker_missile_refire 0.5
+ set g_balance_seeker_missile_smart 1
+ set g_balance_seeker_missile_smart_mindist 800
+ set g_balance_seeker_missile_smart_trace_max 2500
+ set g_balance_seeker_missile_smart_trace_min 1000
+ set g_balance_seeker_missile_speed 700
+ set g_balance_seeker_missile_speed_max 1300
+ set g_balance_seeker_missile_speed_up 300
+ set g_balance_seeker_missile_speed_z 0
+ set g_balance_seeker_missile_spread 0
+ set g_balance_seeker_missile_turnrate 0.65
+ set g_balance_seeker_reload_ammo 0
+ set g_balance_seeker_reload_time 2
+ set g_balance_seeker_switchdelay_drop 0.2
+ set g_balance_seeker_switchdelay_raise 0.2
+ set g_balance_seeker_tag_ammo 1
+ set g_balance_seeker_tag_animtime 0.2
+ set g_balance_seeker_tag_damageforcescale 4
+ set g_balance_seeker_tag_health 5
+ set g_balance_seeker_tag_lifetime 15
+ set g_balance_seeker_tag_refire 0.75
+ set g_balance_seeker_tag_speed 5000
+ set g_balance_seeker_tag_spread 0
+ set g_balance_seeker_tag_tracker_lifetime 10
+ set g_balance_seeker_type 0
+ set g_balance_seeker_weaponreplace ""
+ set g_balance_seeker_weaponstart 0
+ set g_balance_seeker_weaponstartoverride -1
+ set g_balance_seeker_weaponthrowable 1
+ // }}}
+ // {{{ #19: Shockwave (MUTATOR WEAPON)
+ set g_balance_shockwave_blast_animtime 0.3
+ set g_balance_shockwave_blast_damage 20
+ set g_balance_shockwave_blast_distance 1000
+ set g_balance_shockwave_blast_edgedamage 0
+ set g_balance_shockwave_blast_force 200
+ set g_balance_shockwave_blast_force_forwardbias 50
+ set g_balance_shockwave_blast_force_zscale 2
+ set g_balance_shockwave_blast_jump_damage 20
+ set g_balance_shockwave_blast_jump_edgedamage 0
+ set g_balance_shockwave_blast_jump_force 300
+ set g_balance_shockwave_blast_jump_force_velocitybias 0
+ set g_balance_shockwave_blast_jump_force_zscale 1.25
+ set g_balance_shockwave_blast_jump_multiplier_accuracy 0.5
+ set g_balance_shockwave_blast_jump_multiplier_distance 0.5
+ set g_balance_shockwave_blast_jump_multiplier_min 0
+ set g_balance_shockwave_blast_jump_radius 150
+ set g_balance_shockwave_blast_multiplier_accuracy 0.5
+ set g_balance_shockwave_blast_multiplier_distance 0.5
+ set g_balance_shockwave_blast_multiplier_min 0
+ set g_balance_shockwave_blast_refire 0.75
+ set g_balance_shockwave_blast_splash_damage 15
+ set g_balance_shockwave_blast_splash_edgedamage 0
+ set g_balance_shockwave_blast_splash_force 100
+ set g_balance_shockwave_blast_splash_force_forwardbias 50
+ set g_balance_shockwave_blast_splash_multiplier_accuracy 0.5
+ set g_balance_shockwave_blast_splash_multiplier_distance 0.5
+ set g_balance_shockwave_blast_splash_multiplier_min 0
+ set g_balance_shockwave_blast_splash_radius 70
+ set g_balance_shockwave_blast_spread_max 120
+ set g_balance_shockwave_blast_spread_min 25
+ set g_balance_shockwave_melee_animtime 1.3
+ set g_balance_shockwave_melee_damage 80
+ set g_balance_shockwave_melee_delay 0.25
+ set g_balance_shockwave_melee_force 200
+ set g_balance_shockwave_melee_multihit 1
+ set g_balance_shockwave_melee_no_doubleslap 1
+ set g_balance_shockwave_melee_nonplayerdamage 40
+ set g_balance_shockwave_melee_range 120
+ set g_balance_shockwave_melee_refire 1.25
+ set g_balance_shockwave_melee_swing_side 120
+ set g_balance_shockwave_melee_swing_up 30
+ set g_balance_shockwave_melee_time 0.15
+ set g_balance_shockwave_melee_traces 10
+ set g_balance_shockwave_switchdelay_drop 0.2
+ set g_balance_shockwave_switchdelay_raise 0.2
+ set g_balance_shockwave_weaponreplace ""
+ set g_balance_shockwave_weaponstart 0
+ set g_balance_shockwave_weaponstartoverride -1
+ set g_balance_shockwave_weaponthrowable 0
+ // }}}
+ // {{{ #20: Arc
+ set g_balance_arc_beam_ammo 4
+ set g_balance_arc_beam_animtime 0.2
+ set g_balance_arc_beam_botaimlifetime 0
+ set g_balance_arc_beam_botaimspeed 0
+ set g_balance_arc_beam_damage 115
+ set g_balance_arc_beam_degreespersegment 1
+ set g_balance_arc_beam_distancepersegment 0
+ set g_balance_arc_beam_falloff_halflifedist 0
+ set g_balance_arc_beam_falloff_maxdist 0
+ set g_balance_arc_beam_falloff_mindist 0
+ set g_balance_arc_beam_force 900
+ set g_balance_arc_beam_healing_amax 100
+ set g_balance_arc_beam_healing_aps 50
+ set g_balance_arc_beam_healing_hmax 150
+ set g_balance_arc_beam_healing_hps 50
+ set g_balance_arc_cooldown 2.5
+ set g_balance_arc_overheat_max 5
+ set g_balance_arc_overheat_min 3
+ set g_balance_arc_beam_heat 1
+ set g_balance_arc_burst_heat 4
+ set g_balance_arc_beam_maxangle 10
+ set g_balance_arc_beam_nonplayerdamage 80
+ set g_balance_arc_beam_range 1000
+ set g_balance_arc_beam_refire 0.5
+ set g_balance_arc_beam_returnspeed 8
+ set g_balance_arc_beam_tightness 0.5
+ set g_balance_arc_burst_ammo 15
+ set g_balance_arc_burst_damage 250
+ set g_balance_arc_burst_healing_aps 100
+ set g_balance_arc_burst_healing_hps 100
+ set g_balance_arc_switchdelay_drop 0.3
+ set g_balance_arc_switchdelay_raise 0.3
+ set g_balance_arc_weaponreplace ""
+ set g_balance_arc_weaponstart 0
+ set g_balance_arc_weaponstartoverride -1
+ set g_balance_arc_weaponthrowable 1
+ // }}}
++// {{{ #21: Heavy Machine Gun
++set g_balance_hmg_ammo 0
++set g_balance_hmg_damage 0
++set g_balance_hmg_force 0
++set g_balance_hmg_refire 0
++set g_balance_hmg_reload_ammo 120
++set g_balance_hmg_reload_time 1
++set g_balance_hmg_solidpenetration 32
++set g_balance_hmg_spread_add 0.01
++set g_balance_hmg_spread_max 0.05
++set g_balance_hmg_spread_min 0.02
++set g_balance_hmg_switchdelay_drop 0.2
++set g_balance_hmg_switchdelay_raise 0.2
++set g_balance_hmg_weaponreplace ""
++set g_balance_hmg_weaponstart 0
++set g_balance_hmg_weaponstartoverride 0
++set g_balance_hmg_weaponthrowable 0
++// }}}
++// {{{ #22: Rocket Propelled Chainsaw
++set g_balance_rpc_ammo 10
++set g_balance_rpc_animtime 1
++set g_balance_rpc_damage 150
++set g_balance_rpc_damage2 500
++set g_balance_rpc_damageforcescale 2
++set g_balance_rpc_edgedamage 50
++set g_balance_rpc_force 400
++set g_balance_rpc_health 25
++set g_balance_rpc_lifetime 30
++set g_balance_rpc_radius 300
++set g_balance_rpc_refire 1
++set g_balance_rpc_reload_ammo 10
++set g_balance_rpc_reload_time 1
++set g_balance_rpc_speed 1250
++set g_balance_rpc_speedaccel 5000
++set g_balance_rpc_switchdelay_drop 0.2
++set g_balance_rpc_switchdelay_raise 0.2
++set g_balance_rpc_weaponreplace ""
++set g_balance_rpc_weaponstart 0
++set g_balance_rpc_weaponstartoverride 0
++set g_balance_rpc_weaponthrowable 0
++// }}}
diff --cc bal-wep-xpm.cfg
index 0000000,320ce22..e061e69
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,763 +1,804 @@@
+ // {{{ #1: Blaster
+ set g_balance_blaster_primary_animtime 0.2
+ set g_balance_blaster_primary_damage 25
+ set g_balance_blaster_primary_delay 0
+ set g_balance_blaster_primary_edgedamage 12.5
+ set g_balance_blaster_primary_force 300
+ set g_balance_blaster_primary_force_zscale 1.25
+ set g_balance_blaster_primary_lifetime 5
+ set g_balance_blaster_primary_radius 60
+ set g_balance_blaster_primary_refire 0.7
+ set g_balance_blaster_primary_shotangle 0
+ set g_balance_blaster_primary_speed 6000
+ set g_balance_blaster_primary_spread 0
+ set g_balance_blaster_secondary 0
+ set g_balance_blaster_secondary_animtime 0.2
+ set g_balance_blaster_secondary_damage 25
+ set g_balance_blaster_secondary_delay 0
+ set g_balance_blaster_secondary_edgedamage 12.5
+ set g_balance_blaster_secondary_force 300
+ set g_balance_blaster_secondary_force_zscale 1.2
+ set g_balance_blaster_secondary_lifetime 5
+ set g_balance_blaster_secondary_radius 70
+ set g_balance_blaster_secondary_refire 0.7
+ set g_balance_blaster_secondary_shotangle 0
+ set g_balance_blaster_secondary_speed 6000
+ set g_balance_blaster_secondary_spread 0
+ set g_balance_blaster_switchdelay_drop 0.2
+ set g_balance_blaster_switchdelay_raise 0.2
+ set g_balance_blaster_weaponreplace ""
+ set g_balance_blaster_weaponstart 1
+ set g_balance_blaster_weaponstartoverride -1
+ set g_balance_blaster_weaponthrowable 0
+ // }}}
+ // {{{ #2: Shotgun
+ set g_balance_shotgun_primary_ammo 1
+ set g_balance_shotgun_primary_animtime 0.2
+ set g_balance_shotgun_primary_bullets 14
+ set g_balance_shotgun_primary_damage 3.5
+ set g_balance_shotgun_primary_force 15
+ set g_balance_shotgun_primary_refire 0.75
+ set g_balance_shotgun_primary_solidpenetration 3.8
+ set g_balance_shotgun_primary_spread 0.11
+ set g_balance_shotgun_reload_ammo 0
+ set g_balance_shotgun_reload_time 2
+ set g_balance_shotgun_secondary 1
+ set g_balance_shotgun_secondary_animtime 1
+ set g_balance_shotgun_secondary_damage 70
+ set g_balance_shotgun_secondary_force 200
+ set g_balance_shotgun_secondary_melee_delay 0.25
+ set g_balance_shotgun_secondary_melee_multihit 1
+ set g_balance_shotgun_secondary_melee_no_doubleslap 1
+ set g_balance_shotgun_secondary_melee_nonplayerdamage 40
+ set g_balance_shotgun_secondary_melee_range 120
+ set g_balance_shotgun_secondary_melee_swing_side 120
+ set g_balance_shotgun_secondary_melee_swing_up 30
+ set g_balance_shotgun_secondary_melee_time 0.15
+ set g_balance_shotgun_secondary_melee_traces 10
+ set g_balance_shotgun_secondary_refire 1.25
+ set g_balance_shotgun_secondary_alt_animtime 0.2
+ set g_balance_shotgun_secondary_alt_refire 1.2
+ set g_balance_shotgun_switchdelay_drop 0.2
+ set g_balance_shotgun_switchdelay_raise 0.2
+ set g_balance_shotgun_weaponreplace ""
+ set g_balance_shotgun_weaponstart 1
+ set g_balance_shotgun_weaponstartoverride -1
+ set g_balance_shotgun_weaponthrowable 1
+ // }}}
+ // {{{ #3: Machine Gun
+ set g_balance_machinegun_burst 3
+ set g_balance_machinegun_burst_ammo 3
+ set g_balance_machinegun_burst_animtime 0.3
+ set g_balance_machinegun_burst_refire 0.06
+ set g_balance_machinegun_burst_refire2 0.45
+ set g_balance_machinegun_burst_speed 0
+ set g_balance_machinegun_first 1
+ set g_balance_machinegun_first_ammo 1
+ set g_balance_machinegun_first_damage 14
+ set g_balance_machinegun_first_force 5
+ set g_balance_machinegun_first_refire 0.125
+ set g_balance_machinegun_first_spread 0.03
+ set g_balance_machinegun_mode 1
+ set g_balance_machinegun_reload_ammo 60
+ set g_balance_machinegun_reload_time 2
+ set g_balance_machinegun_solidpenetration 13.1
+ set g_balance_machinegun_spread_add 0.012
+ set g_balance_machinegun_spread_max 0.05
+ set g_balance_machinegun_spread_min 0.02
+ set g_balance_machinegun_sustained_ammo 1
+ set g_balance_machinegun_sustained_damage 10
+ set g_balance_machinegun_sustained_force 5
+ set g_balance_machinegun_sustained_refire 0.1
+ set g_balance_machinegun_sustained_spread 0.03
+ set g_balance_machinegun_switchdelay_drop 0.2
+ set g_balance_machinegun_switchdelay_raise 0.2
+ set g_balance_machinegun_weaponreplace ""
+ set g_balance_machinegun_weaponstart 0
+ set g_balance_machinegun_weaponstartoverride -1
+ set g_balance_machinegun_weaponthrowable 1
+ // }}}
+ // {{{ #4: Mortar
+ set g_balance_mortar_bouncefactor 0.5
+ set g_balance_mortar_bouncestop 0.075
+ set g_balance_mortar_primary_ammo 2
+ set g_balance_mortar_primary_animtime 0.3
+ set g_balance_mortar_primary_damage 55
+ set g_balance_mortar_primary_damageforcescale 0
+ set g_balance_mortar_primary_edgedamage 25
+ set g_balance_mortar_primary_force 250
+ set g_balance_mortar_primary_health 15
+ set g_balance_mortar_primary_lifetime 5
+ set g_balance_mortar_primary_lifetime_stick 0
+ set g_balance_mortar_primary_radius 120
+ set g_balance_mortar_primary_refire 0.8
+ set g_balance_mortar_primary_remote_minbouncecnt 0
+ set g_balance_mortar_primary_speed 1900
+ set g_balance_mortar_primary_speed_up 225
+ set g_balance_mortar_primary_speed_z 0
+ set g_balance_mortar_primary_spread 0
+ set g_balance_mortar_primary_type 0
+ set g_balance_mortar_reload_ammo 0
+ set g_balance_mortar_reload_time 2
+ set g_balance_mortar_secondary_ammo 2
+ set g_balance_mortar_secondary_animtime 0.3
+ set g_balance_mortar_secondary_damage 55
+ set g_balance_mortar_secondary_damageforcescale 4
+ set g_balance_mortar_secondary_edgedamage 30
+ set g_balance_mortar_secondary_force 250
+ set g_balance_mortar_secondary_health 30
+ set g_balance_mortar_secondary_lifetime 5
+ set g_balance_mortar_secondary_lifetime_bounce 0.5
+ set g_balance_mortar_secondary_lifetime_stick 0
+ set g_balance_mortar_secondary_radius 120
+ set g_balance_mortar_secondary_refire 0.7
+ set g_balance_mortar_secondary_remote_detonateprimary 0
+ set g_balance_mortar_secondary_speed 1400
+ set g_balance_mortar_secondary_speed_up 150
+ set g_balance_mortar_secondary_speed_z 0
+ set g_balance_mortar_secondary_spread 0
+ set g_balance_mortar_secondary_type 1
+ set g_balance_mortar_switchdelay_drop 0.2
+ set g_balance_mortar_switchdelay_raise 0.2
+ set g_balance_mortar_weaponreplace ""
+ set g_balance_mortar_weaponstart 0
+ set g_balance_mortar_weaponstartoverride -1
+ set g_balance_mortar_weaponthrowable 1
+ // }}}
+ // {{{ #5: Mine Layer (MUTATOR WEAPON)
+ set g_balance_minelayer_ammo 4
+ set g_balance_minelayer_animtime 0.4
+ set g_balance_minelayer_damage 40
+ set g_balance_minelayer_damageforcescale 0
+ set g_balance_minelayer_detonatedelay -1
+ set g_balance_minelayer_edgedamage 20
+ set g_balance_minelayer_force 250
+ set g_balance_minelayer_health 15
+ set g_balance_minelayer_lifetime 10
+ set g_balance_minelayer_lifetime_countdown 0.5
+ set g_balance_minelayer_limit 3
+ set g_balance_minelayer_protection 0
+ set g_balance_minelayer_proximityradius 150
+ set g_balance_minelayer_radius 175
+ set g_balance_minelayer_refire 1.5
+ set g_balance_minelayer_reload_ammo 0
+ set g_balance_minelayer_reload_time 2
+ set g_balance_minelayer_remote_damage 45
+ set g_balance_minelayer_remote_edgedamage 40
+ set g_balance_minelayer_remote_force 300
+ set g_balance_minelayer_remote_radius 200
+ set g_balance_minelayer_speed 1000
+ set g_balance_minelayer_switchdelay_drop 0.2
+ set g_balance_minelayer_switchdelay_raise 0.2
+ set g_balance_minelayer_time 0.5
+ set g_balance_minelayer_weaponreplace ""
+ set g_balance_minelayer_weaponstart 0
+ set g_balance_minelayer_weaponstartoverride -1
+ set g_balance_minelayer_weaponthrowable 1
+ // }}}
+ // {{{ #6: Electro
+ set g_balance_electro_combo_comboradius 300
+ set g_balance_electro_combo_comboradius_thruwall 200
+ set g_balance_electro_combo_damage 50
+ set g_balance_electro_combo_edgedamage 25
+ set g_balance_electro_combo_force 120
+ set g_balance_electro_combo_radius 150
+ set g_balance_electro_combo_safeammocheck 1
+ set g_balance_electro_combo_speed 2000
+ set g_balance_electro_primary_ammo 4
+ set g_balance_electro_primary_animtime 0.3
+ set g_balance_electro_primary_comboradius 300
+ set g_balance_electro_primary_damage 40
+ set g_balance_electro_primary_edgedamage 20
+ set g_balance_electro_primary_force 200
+ set g_balance_electro_primary_lifetime 5
+ set g_balance_electro_primary_midaircombo_explode 1
+ set g_balance_electro_primary_midaircombo_interval 0.1
+ set g_balance_electro_primary_midaircombo_radius 150
+ set g_balance_electro_primary_radius 100
+ set g_balance_electro_primary_refire 0.6
+ set g_balance_electro_primary_speed 2500
+ set g_balance_electro_primary_spread 0
+ set g_balance_electro_reload_ammo 0
+ set g_balance_electro_reload_time 2
+ set g_balance_electro_secondary_ammo 2
+ set g_balance_electro_secondary_animtime 0.2
+ set g_balance_electro_secondary_bouncefactor 0.3
+ set g_balance_electro_secondary_bouncestop 0.05
+ set g_balance_electro_secondary_count 3
+ set g_balance_electro_secondary_damage 30
+ set g_balance_electro_secondary_damagedbycontents 1
+ set g_balance_electro_secondary_damageforcescale 4
+ set g_balance_electro_secondary_edgedamage 15
+ set g_balance_electro_secondary_force 50
+ set g_balance_electro_secondary_health 5
+ set g_balance_electro_secondary_lifetime 4
+ set g_balance_electro_secondary_radius 150
+ set g_balance_electro_secondary_refire 0.2
+ set g_balance_electro_secondary_refire2 1.6
+ set g_balance_electro_secondary_speed 1000
+ set g_balance_electro_secondary_speed_up 200
+ set g_balance_electro_secondary_speed_z 0
+ set g_balance_electro_secondary_spread 0.04
+ set g_balance_electro_secondary_touchexplode 0
+ set g_balance_electro_switchdelay_drop 0.2
+ set g_balance_electro_switchdelay_raise 0.2
+ set g_balance_electro_weaponreplace ""
+ set g_balance_electro_weaponstart 0
+ set g_balance_electro_weaponstartoverride -1
+ set g_balance_electro_weaponthrowable 1
+ // }}}
+ // {{{ #7: Crylink
+ set g_balance_crylink_primary_ammo 3
+ set g_balance_crylink_primary_animtime 0.3
+ set g_balance_crylink_primary_bouncedamagefactor 0.5
+ set g_balance_crylink_primary_bounces 1
+ set g_balance_crylink_primary_damage 12
+ set g_balance_crylink_primary_edgedamage 6
+ set g_balance_crylink_primary_force -50
+ set g_balance_crylink_primary_joindelay 0.1
+ set g_balance_crylink_primary_joinexplode 1
+ set g_balance_crylink_primary_joinexplode_damage 0
+ set g_balance_crylink_primary_joinexplode_edgedamage 0
+ set g_balance_crylink_primary_joinexplode_force 0
+ set g_balance_crylink_primary_joinexplode_radius 0
+ set g_balance_crylink_primary_joinspread 0.2
+ set g_balance_crylink_primary_linkexplode 1
+ set g_balance_crylink_primary_middle_fadetime 5
+ set g_balance_crylink_primary_middle_lifetime 5
+ set g_balance_crylink_primary_other_fadetime 5
+ set g_balance_crylink_primary_other_lifetime 5
+ set g_balance_crylink_primary_radius 80
+ set g_balance_crylink_primary_refire 0.7
+ set g_balance_crylink_primary_shots 6
+ set g_balance_crylink_primary_speed 2000
+ set g_balance_crylink_primary_spread 0.08
+ set g_balance_crylink_reload_ammo 0
+ set g_balance_crylink_reload_time 2
+ set g_balance_crylink_secondary 1
+ set g_balance_crylink_secondary_ammo 2
+ set g_balance_crylink_secondary_animtime 0.2
+ set g_balance_crylink_secondary_bouncedamagefactor 0.5
+ set g_balance_crylink_secondary_bounces 0
+ set g_balance_crylink_secondary_damage 10
+ set g_balance_crylink_secondary_edgedamage 5
+ set g_balance_crylink_secondary_force -250
+ set g_balance_crylink_secondary_joindelay 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_force 0
+ set g_balance_crylink_secondary_joinexplode_radius 0
+ set g_balance_crylink_secondary_joinspread 0
+ set g_balance_crylink_secondary_linkexplode 1
+ set g_balance_crylink_secondary_middle_fadetime 5
+ set g_balance_crylink_secondary_middle_lifetime 5
+ set g_balance_crylink_secondary_other_fadetime 5
+ set g_balance_crylink_secondary_other_lifetime 5
+ set g_balance_crylink_secondary_radius 100
+ set g_balance_crylink_secondary_refire 0.7
+ set g_balance_crylink_secondary_shots 5
+ 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_switchdelay_drop 0.2
+ set g_balance_crylink_switchdelay_raise 0.2
+ set g_balance_crylink_weaponreplace ""
+ set g_balance_crylink_weaponstart 0
+ set g_balance_crylink_weaponstartoverride -1
+ set g_balance_crylink_weaponthrowable 1
+ // }}}
+ // {{{ #8: Vortex
+ set g_balance_vortex_charge 1
+ set g_balance_vortex_charge_animlimit 0.5
+ set g_balance_vortex_charge_limit 1
+ set g_balance_vortex_charge_maxspeed 800
+ set g_balance_vortex_charge_mindmg 40
+ set g_balance_vortex_charge_minspeed 400
+ set g_balance_vortex_charge_rate 0.6
+ set g_balance_vortex_charge_rot_pause 0
+ set g_balance_vortex_charge_rot_rate 0
+ set g_balance_vortex_charge_shot_multiplier 0
+ set g_balance_vortex_charge_start 0.5
+ set g_balance_vortex_charge_velocity_rate 0
+ set g_balance_vortex_primary_ammo 6
+ set g_balance_vortex_primary_animtime 0.4
+ set g_balance_vortex_primary_damage 80
+ set g_balance_vortex_primary_damagefalloff_forcehalflife 0
+ set g_balance_vortex_primary_damagefalloff_halflife 0
+ set g_balance_vortex_primary_damagefalloff_maxdist 0
+ set g_balance_vortex_primary_damagefalloff_mindist 0
+ set g_balance_vortex_primary_force 400
+ set g_balance_vortex_primary_refire 1.5
+ set g_balance_vortex_reload_ammo 0
+ set g_balance_vortex_reload_time 2
+ set g_balance_vortex_secondary 0
+ set g_balance_vortex_secondary_ammo 2
+ set g_balance_vortex_secondary_animtime 0
+ set g_balance_vortex_secondary_chargepool 0
+ set g_balance_vortex_secondary_chargepool_pause_regen 1
+ set g_balance_vortex_secondary_chargepool_regen 0.15
+ set g_balance_vortex_secondary_damage 0
+ set g_balance_vortex_secondary_damagefalloff_forcehalflife 0
+ set g_balance_vortex_secondary_damagefalloff_halflife 0
+ set g_balance_vortex_secondary_damagefalloff_maxdist 0
+ set g_balance_vortex_secondary_damagefalloff_mindist 0
+ set g_balance_vortex_secondary_force 0
+ set g_balance_vortex_secondary_refire 0
+ set g_balance_vortex_switchdelay_drop 0.25
+ set g_balance_vortex_switchdelay_raise 0.25
+ set g_balance_vortex_weaponreplace ""
+ set g_balance_vortex_weaponstart 0
+ set g_balance_vortex_weaponstartoverride -1
+ set g_balance_vortex_weaponthrowable 1
+ // }}}
+ // {{{ #9: Hagar
+ set g_balance_hagar_primary_ammo 1
+ set g_balance_hagar_primary_damage 25
+ set g_balance_hagar_primary_damageforcescale 0
+ set g_balance_hagar_primary_edgedamage 12.5
+ set g_balance_hagar_primary_force 100
+ set g_balance_hagar_primary_health 15
+ set g_balance_hagar_primary_lifetime 5
+ set g_balance_hagar_primary_radius 65
+ set g_balance_hagar_primary_refire 0.16667
+ set g_balance_hagar_primary_speed 2200
+ set g_balance_hagar_primary_spread 0.03
+ set g_balance_hagar_reload_ammo 0
+ set g_balance_hagar_reload_time 2
+ set g_balance_hagar_secondary 1
+ set g_balance_hagar_secondary_ammo 1
+ set g_balance_hagar_secondary_damage 35
+ set g_balance_hagar_secondary_damageforcescale 0
+ set g_balance_hagar_secondary_edgedamage 17.5
+ set g_balance_hagar_secondary_force 75
+ set g_balance_hagar_secondary_health 15
+ set g_balance_hagar_secondary_lifetime_min 10
+ set g_balance_hagar_secondary_lifetime_rand 0
+ set g_balance_hagar_secondary_load 1
+ set g_balance_hagar_secondary_load_abort 1
+ set g_balance_hagar_secondary_load_animtime 0.2
+ set g_balance_hagar_secondary_load_hold 4
+ set g_balance_hagar_secondary_load_linkexplode 0
+ set g_balance_hagar_secondary_load_max 4
+ set g_balance_hagar_secondary_load_releasedeath 0
+ set g_balance_hagar_secondary_load_speed 0.5
+ set g_balance_hagar_secondary_load_spread 0.075
+ set g_balance_hagar_secondary_load_spread_bias 0.5
+ set g_balance_hagar_secondary_radius 80
+ set g_balance_hagar_secondary_refire 0.5
+ set g_balance_hagar_secondary_speed 2000
+ set g_balance_hagar_secondary_spread 0.05
+ set g_balance_hagar_switchdelay_drop 0.2
+ set g_balance_hagar_switchdelay_raise 0.2
+ set g_balance_hagar_weaponreplace ""
+ set g_balance_hagar_weaponstart 0
+ set g_balance_hagar_weaponstartoverride -1
+ set g_balance_hagar_weaponthrowable 1
+ // }}}
+ // {{{ #10: Devastator
+ set g_balance_devastator_ammo 4
+ set g_balance_devastator_animtime 0.4
+ set g_balance_devastator_damage 80
+ set g_balance_devastator_damageforcescale 1
+ set g_balance_devastator_detonatedelay 0.02
+ set g_balance_devastator_edgedamage 40
+ set g_balance_devastator_force 400
+ set g_balance_devastator_guidedelay 0.2
+ set g_balance_devastator_guidegoal 512
+ set g_balance_devastator_guiderate 90
+ set g_balance_devastator_guideratedelay 0.01
+ set g_balance_devastator_guidestop 0
+ set g_balance_devastator_health 30
+ set g_balance_devastator_lifetime 10
+ set g_balance_devastator_radius 110
+ set g_balance_devastator_refire 1.1
+ set g_balance_devastator_reload_ammo 0
+ set g_balance_devastator_reload_time 2
+ set g_balance_devastator_remote_damage 70
+ set g_balance_devastator_remote_edgedamage 35
+ set g_balance_devastator_remote_force 300
+ set g_balance_devastator_remote_jump_damage 70
+ set g_balance_devastator_remote_jump_radius 0
+ set g_balance_devastator_remote_jump_velocity_z_add 400
+ set g_balance_devastator_remote_jump_velocity_z_max 1500
+ set g_balance_devastator_remote_jump_velocity_z_min 400
+ set g_balance_devastator_remote_radius 110
+ set g_balance_devastator_speed 1300
+ set g_balance_devastator_speedaccel 1300
+ set g_balance_devastator_speedstart 1000
+ set g_balance_devastator_switchdelay_drop 0.2
+ set g_balance_devastator_switchdelay_raise 0.2
+ set g_balance_devastator_weaponreplace ""
+ set g_balance_devastator_weaponstart 0
+ set g_balance_devastator_weaponstartoverride -1
+ set g_balance_devastator_weaponthrowable 1
+ // }}}
+ // {{{ #11: Port-O-Launch
+ set g_balance_porto_primary_animtime 0.3
+ set g_balance_porto_primary_lifetime 5
+ set g_balance_porto_primary_refire 1.5
+ set g_balance_porto_primary_speed 1000
+ set g_balance_porto_secondary 1
+ set g_balance_porto_secondary_animtime 0.3
+ set g_balance_porto_secondary_lifetime 5
+ set g_balance_porto_secondary_refire 1.5
+ set g_balance_porto_secondary_speed 1000
+ set g_balance_porto_switchdelay_drop 0.2
+ set g_balance_porto_switchdelay_raise 0.2
+ set g_balance_porto_weaponreplace ""
+ set g_balance_porto_weaponstart 0
+ set g_balance_porto_weaponstartoverride -1
+ set g_balance_porto_weaponthrowable 1
+ // }}}
+ // {{{ #12: Vaporizer
+ set g_balance_vaporizer_primary_ammo 10
+ set g_balance_vaporizer_primary_animtime 0.3
+ set g_balance_vaporizer_primary_refire 1
+ set g_balance_vaporizer_reload_ammo 0
+ set g_balance_vaporizer_reload_time 0
+ set g_balance_vaporizer_secondary_ammo 0
+ set g_balance_vaporizer_secondary_animtime 0.2
+ set g_balance_vaporizer_secondary_damage 25
+ set g_balance_vaporizer_secondary_delay 0
+ set g_balance_vaporizer_secondary_edgedamage 12.5
+ set g_balance_vaporizer_secondary_force 400
+ set g_balance_vaporizer_secondary_lifetime 5
+ set g_balance_vaporizer_secondary_radius 70
+ set g_balance_vaporizer_secondary_refire 0.7
+ set g_balance_vaporizer_secondary_shotangle 0
+ set g_balance_vaporizer_secondary_speed 6000
+ set g_balance_vaporizer_secondary_spread 0
+ set g_balance_vaporizer_switchdelay_drop 0.2
+ set g_balance_vaporizer_switchdelay_raise 0.2
+ set g_balance_vaporizer_weaponreplace ""
+ set g_balance_vaporizer_weaponstart 0
+ set g_balance_vaporizer_weaponstartoverride -1
+ set g_balance_vaporizer_weaponthrowable 0
+ // }}}
+ // {{{ #13: Grappling Hook
+ set g_balance_hook_primary_ammo 5
+ set g_balance_hook_primary_animtime 0.3
+ set g_balance_hook_primary_hooked_ammo 5
+ set g_balance_hook_primary_hooked_time_free 2
+ set g_balance_hook_primary_hooked_time_max 0
+ set g_balance_hook_primary_refire 0.2
+ set g_balance_hook_secondary_animtime 0.3
+ set g_balance_hook_secondary_damage 25
+ set g_balance_hook_secondary_damageforcescale 0
+ set g_balance_hook_secondary_duration 1.5
+ set g_balance_hook_secondary_edgedamage 5
+ set g_balance_hook_secondary_force -2000
+ set g_balance_hook_secondary_gravity 5
+ set g_balance_hook_secondary_health 15
+ set g_balance_hook_secondary_lifetime 5
+ set g_balance_hook_secondary_power 3
+ set g_balance_hook_secondary_radius 500
+ set g_balance_hook_secondary_refire 3
+ set g_balance_hook_secondary_speed 0
+ set g_balance_hook_switchdelay_drop 0.2
+ set g_balance_hook_switchdelay_raise 0.2
+ set g_balance_hook_weaponreplace ""
+ set g_balance_hook_weaponstart 0
+ set g_balance_hook_weaponstartoverride -1
+ set g_balance_hook_weaponthrowable 1
+ // }}}
+ // {{{ #14: Heavy Laser Assault Cannon (MUTATOR WEAPON)
+ set g_balance_hlac_primary_ammo 1
+ set g_balance_hlac_primary_animtime 0.4
+ set g_balance_hlac_primary_damage 18
+ set g_balance_hlac_primary_edgedamage 9
+ set g_balance_hlac_primary_force 90
+ set g_balance_hlac_primary_lifetime 5
+ set g_balance_hlac_primary_radius 70
+ set g_balance_hlac_primary_refire 0.15
+ set g_balance_hlac_primary_speed 9000
+ set g_balance_hlac_primary_spread_add 0.0045
+ set g_balance_hlac_primary_spread_crouchmod 0.25
+ set g_balance_hlac_primary_spread_max 0.25
+ set g_balance_hlac_primary_spread_min 0.01
+ set g_balance_hlac_reload_ammo 0
+ set g_balance_hlac_reload_time 2
+ set g_balance_hlac_secondary 1
+ set g_balance_hlac_secondary_ammo 10
+ set g_balance_hlac_secondary_animtime 0.3
+ set g_balance_hlac_secondary_damage 15
+ set g_balance_hlac_secondary_edgedamage 7.5
+ set g_balance_hlac_secondary_force 90
+ set g_balance_hlac_secondary_lifetime 5
+ set g_balance_hlac_secondary_radius 70
+ set g_balance_hlac_secondary_refire 1
+ set g_balance_hlac_secondary_shots 6
+ set g_balance_hlac_secondary_speed 9000
+ set g_balance_hlac_secondary_spread 0.15
+ set g_balance_hlac_secondary_spread_crouchmod 0.5
+ set g_balance_hlac_switchdelay_drop 0.2
+ set g_balance_hlac_switchdelay_raise 0.2
+ set g_balance_hlac_weaponreplace ""
+ set g_balance_hlac_weaponstart 0
+ set g_balance_hlac_weaponstartoverride -1
+ set g_balance_hlac_weaponthrowable 1
+ // }}}
+ // {{{ #15: @!#%'n Tuba
+ set g_balance_tuba_animtime 0.05
+ set g_balance_tuba_attenuation 0.5
+ set g_balance_tuba_damage 5
+ set g_balance_tuba_edgedamage 0
+ set g_balance_tuba_fadetime 0.25
+ set g_balance_tuba_force 40
+ set g_balance_tuba_pitchstep 6
+ set g_balance_tuba_radius 200
+ set g_balance_tuba_refire 0.05
+ set g_balance_tuba_switchdelay_drop 0.2
+ set g_balance_tuba_switchdelay_raise 0.2
+ set g_balance_tuba_volume 1
+ set g_balance_tuba_weaponreplace ""
+ set g_balance_tuba_weaponstart 0
+ set g_balance_tuba_weaponstartoverride -1
+ set g_balance_tuba_weaponthrowable 1
+ // }}}
+ // {{{ #16: Rifle (MUTATOR WEAPON)
+ set g_balance_rifle_bursttime 0
+ set g_balance_rifle_primary_ammo 10
+ set g_balance_rifle_primary_animtime 0.4
+ set g_balance_rifle_primary_bullethail 0
+ set g_balance_rifle_primary_burstcost 0
+ set g_balance_rifle_primary_damage 80
+ set g_balance_rifle_primary_force 100
+ set g_balance_rifle_primary_refire 1.2
+ set g_balance_rifle_primary_shots 1
+ set g_balance_rifle_primary_solidpenetration 62.2
+ set g_balance_rifle_primary_spread 0
+ set g_balance_rifle_primary_tracer 1
+ set g_balance_rifle_reload_ammo 80
+ set g_balance_rifle_reload_time 2
+ set g_balance_rifle_secondary 1
+ set g_balance_rifle_secondary_ammo 10
+ set g_balance_rifle_secondary_animtime 0.3
+ set g_balance_rifle_secondary_bullethail 0
+ set g_balance_rifle_secondary_burstcost 0
+ set g_balance_rifle_secondary_damage 20
+ set g_balance_rifle_secondary_force 50
+ set g_balance_rifle_secondary_refire 0.9
+ set g_balance_rifle_secondary_reload 0
+ set g_balance_rifle_secondary_shots 4
+ set g_balance_rifle_secondary_solidpenetration 15.5
+ set g_balance_rifle_secondary_spread 0.04
+ set g_balance_rifle_secondary_tracer 0
+ set g_balance_rifle_switchdelay_drop 0.2
+ set g_balance_rifle_switchdelay_raise 0.2
+ set g_balance_rifle_weaponreplace ""
+ set g_balance_rifle_weaponstart 0
+ set g_balance_rifle_weaponstartoverride -1
+ set g_balance_rifle_weaponthrowable 1
+ // }}}
+ // {{{ #17: Fireball
+ set g_balance_fireball_primary_animtime 0.4
+ set g_balance_fireball_primary_bfgdamage 100
+ set g_balance_fireball_primary_bfgforce 0
+ set g_balance_fireball_primary_bfgradius 1000
+ set g_balance_fireball_primary_damage 200
+ set g_balance_fireball_primary_damageforcescale 0
+ set g_balance_fireball_primary_edgedamage 50
+ set g_balance_fireball_primary_force 600
+ set g_balance_fireball_primary_health 0
+ set g_balance_fireball_primary_laserburntime 0.5
+ set g_balance_fireball_primary_laserdamage 80
+ set g_balance_fireball_primary_laseredgedamage 20
+ set g_balance_fireball_primary_laserradius 256
+ set g_balance_fireball_primary_lifetime 15
+ set g_balance_fireball_primary_radius 200
+ set g_balance_fireball_primary_refire 2
+ set g_balance_fireball_primary_refire2 0
+ set g_balance_fireball_primary_speed 1200
+ set g_balance_fireball_primary_spread 0
+ set g_balance_fireball_secondary_animtime 0.3
+ set g_balance_fireball_secondary_damage 40
+ set g_balance_fireball_secondary_damageforcescale 4
+ set g_balance_fireball_secondary_damagetime 5
+ set g_balance_fireball_secondary_laserburntime 0.5
+ set g_balance_fireball_secondary_laserdamage 50
+ set g_balance_fireball_secondary_laseredgedamage 20
+ set g_balance_fireball_secondary_laserradius 110
+ set g_balance_fireball_secondary_lifetime 7
+ set g_balance_fireball_secondary_refire 1.5
+ set g_balance_fireball_secondary_speed 900
+ 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.2
+ set g_balance_fireball_switchdelay_raise 0.2
+ set g_balance_fireball_weaponreplace ""
+ set g_balance_fireball_weaponstart 0
+ set g_balance_fireball_weaponstartoverride -1
+ set g_balance_fireball_weaponthrowable 0
+ // }}}
+ // {{{ #18: T.A.G. Seeker (MUTATOR WEAPON)
+ set g_balance_seeker_flac_ammo 1
+ set g_balance_seeker_flac_animtime 0.1
+ set g_balance_seeker_flac_damage 15
+ set g_balance_seeker_flac_edgedamage 10
+ set g_balance_seeker_flac_force 50
+ set g_balance_seeker_flac_lifetime 0.1
+ set g_balance_seeker_flac_lifetime_rand 0.05
+ set g_balance_seeker_flac_radius 100
+ set g_balance_seeker_flac_refire 0.1
+ set g_balance_seeker_flac_speed 3000
+ set g_balance_seeker_flac_speed_up 1000
+ set g_balance_seeker_flac_speed_z 0
+ set g_balance_seeker_flac_spread 0.4
+ set g_balance_seeker_missile_accel 1400
+ set g_balance_seeker_missile_ammo 2
+ set g_balance_seeker_missile_animtime 0.2
+ set g_balance_seeker_missile_count 3
+ set g_balance_seeker_missile_damage 30
+ set g_balance_seeker_missile_damageforcescale 4
+ set g_balance_seeker_missile_decel 1400
+ set g_balance_seeker_missile_delay 0.25
+ set g_balance_seeker_missile_edgedamage 10
+ set g_balance_seeker_missile_force 150
+ set g_balance_seeker_missile_health 5
+ set g_balance_seeker_missile_lifetime 15
+ set g_balance_seeker_missile_proxy 0
+ set g_balance_seeker_missile_proxy_delay 0.2
+ set g_balance_seeker_missile_proxy_maxrange 45
+ set g_balance_seeker_missile_radius 80
+ set g_balance_seeker_missile_refire 0.5
+ set g_balance_seeker_missile_smart 1
+ set g_balance_seeker_missile_smart_mindist 800
+ set g_balance_seeker_missile_smart_trace_max 2500
+ set g_balance_seeker_missile_smart_trace_min 1000
+ set g_balance_seeker_missile_speed 700
+ set g_balance_seeker_missile_speed_max 1300
+ set g_balance_seeker_missile_speed_up 300
+ set g_balance_seeker_missile_speed_z 0
+ set g_balance_seeker_missile_spread 0
+ set g_balance_seeker_missile_turnrate 0.65
+ set g_balance_seeker_reload_ammo 0
+ set g_balance_seeker_reload_time 2
+ set g_balance_seeker_switchdelay_drop 0.2
+ set g_balance_seeker_switchdelay_raise 0.2
+ set g_balance_seeker_tag_ammo 1
+ set g_balance_seeker_tag_animtime 0.2
+ set g_balance_seeker_tag_damageforcescale 4
+ set g_balance_seeker_tag_health 5
+ set g_balance_seeker_tag_lifetime 15
+ set g_balance_seeker_tag_refire 0.75
+ set g_balance_seeker_tag_speed 5000
+ set g_balance_seeker_tag_spread 0
+ set g_balance_seeker_tag_tracker_lifetime 10
+ set g_balance_seeker_type 0
+ set g_balance_seeker_weaponreplace ""
+ set g_balance_seeker_weaponstart 0
+ set g_balance_seeker_weaponstartoverride -1
+ set g_balance_seeker_weaponthrowable 1
+ // }}}
+ // {{{ #19: Shockwave (MUTATOR WEAPON)
+ set g_balance_shockwave_blast_animtime 0.3
+ set g_balance_shockwave_blast_damage 20
+ set g_balance_shockwave_blast_distance 1000
+ set g_balance_shockwave_blast_edgedamage 0
+ set g_balance_shockwave_blast_force 200
+ set g_balance_shockwave_blast_force_forwardbias 50
+ set g_balance_shockwave_blast_force_zscale 2
+ set g_balance_shockwave_blast_jump_damage 20
+ set g_balance_shockwave_blast_jump_edgedamage 0
+ set g_balance_shockwave_blast_jump_force 300
+ set g_balance_shockwave_blast_jump_force_velocitybias 0
+ set g_balance_shockwave_blast_jump_force_zscale 1.25
+ set g_balance_shockwave_blast_jump_multiplier_accuracy 0.5
+ set g_balance_shockwave_blast_jump_multiplier_distance 0.5
+ set g_balance_shockwave_blast_jump_multiplier_min 0
+ set g_balance_shockwave_blast_jump_radius 150
+ set g_balance_shockwave_blast_multiplier_accuracy 0.5
+ set g_balance_shockwave_blast_multiplier_distance 0.5
+ set g_balance_shockwave_blast_multiplier_min 0
+ set g_balance_shockwave_blast_refire 0.75
+ set g_balance_shockwave_blast_splash_damage 15
+ set g_balance_shockwave_blast_splash_edgedamage 0
+ set g_balance_shockwave_blast_splash_force 100
+ set g_balance_shockwave_blast_splash_force_forwardbias 50
+ set g_balance_shockwave_blast_splash_multiplier_accuracy 0.5
+ set g_balance_shockwave_blast_splash_multiplier_distance 0.5
+ set g_balance_shockwave_blast_splash_multiplier_min 0
+ set g_balance_shockwave_blast_splash_radius 70
+ set g_balance_shockwave_blast_spread_max 120
+ set g_balance_shockwave_blast_spread_min 25
+ set g_balance_shockwave_melee_animtime 1.3
+ set g_balance_shockwave_melee_damage 80
+ set g_balance_shockwave_melee_delay 0.25
+ set g_balance_shockwave_melee_force 200
+ set g_balance_shockwave_melee_multihit 1
+ set g_balance_shockwave_melee_no_doubleslap 1
+ set g_balance_shockwave_melee_nonplayerdamage 40
+ set g_balance_shockwave_melee_range 120
+ set g_balance_shockwave_melee_refire 1.25
+ set g_balance_shockwave_melee_swing_side 120
+ set g_balance_shockwave_melee_swing_up 30
+ set g_balance_shockwave_melee_time 0.15
+ set g_balance_shockwave_melee_traces 10
+ set g_balance_shockwave_switchdelay_drop 0.2
+ set g_balance_shockwave_switchdelay_raise 0.2
+ set g_balance_shockwave_weaponreplace ""
+ set g_balance_shockwave_weaponstart 0
+ set g_balance_shockwave_weaponstartoverride -1
+ set g_balance_shockwave_weaponthrowable 0
+ // }}}
+ // {{{ #20: Arc
+ set g_balance_arc_beam_ammo 4
+ set g_balance_arc_beam_animtime 0.2
+ set g_balance_arc_beam_botaimlifetime 0
+ set g_balance_arc_beam_botaimspeed 0
+ set g_balance_arc_beam_damage 115
+ set g_balance_arc_beam_degreespersegment 1
+ set g_balance_arc_beam_distancepersegment 0
+ set g_balance_arc_beam_falloff_halflifedist 0
+ set g_balance_arc_beam_falloff_maxdist 0
+ set g_balance_arc_beam_falloff_mindist 0
+ set g_balance_arc_beam_force 900
+ set g_balance_arc_beam_healing_amax 100
+ set g_balance_arc_beam_healing_aps 50
+ set g_balance_arc_beam_healing_hmax 150
+ set g_balance_arc_beam_healing_hps 50
+ set g_balance_arc_cooldown 2.5
+ set g_balance_arc_overheat_max 5
+ set g_balance_arc_overheat_min 3
+ set g_balance_arc_beam_heat 1
+ set g_balance_arc_burst_heat 4
+ set g_balance_arc_beam_maxangle 10
+ set g_balance_arc_beam_nonplayerdamage 80
+ set g_balance_arc_beam_range 1000
+ set g_balance_arc_beam_refire 0.5
+ set g_balance_arc_beam_returnspeed 8
+ set g_balance_arc_beam_tightness 0.5
+ set g_balance_arc_burst_ammo 15
+ set g_balance_arc_burst_damage 250
+ set g_balance_arc_burst_healing_aps 100
+ set g_balance_arc_burst_healing_hps 100
+ set g_balance_arc_switchdelay_drop 0.3
+ set g_balance_arc_switchdelay_raise 0.3
+ set g_balance_arc_weaponreplace ""
+ set g_balance_arc_weaponstart 0
+ set g_balance_arc_weaponstartoverride -1
+ set g_balance_arc_weaponthrowable 1
+ // }}}
++// {{{ #21: Heavy Machine Gun
++set g_balance_hmg_ammo 0
++set g_balance_hmg_damage 0
++set g_balance_hmg_force 0
++set g_balance_hmg_refire 0
++set g_balance_hmg_reload_ammo 120
++set g_balance_hmg_reload_time 1
++set g_balance_hmg_solidpenetration 32
++set g_balance_hmg_spread_add 0.01
++set g_balance_hmg_spread_max 0.05
++set g_balance_hmg_spread_min 0.02
++set g_balance_hmg_switchdelay_drop 0.2
++set g_balance_hmg_switchdelay_raise 0.2
++set g_balance_hmg_weaponreplace ""
++set g_balance_hmg_weaponstart 0
++set g_balance_hmg_weaponstartoverride 0
++set g_balance_hmg_weaponthrowable 0
++// }}}
++// {{{ #22: Rocket Propelled Chainsaw
++set g_balance_rpc_ammo 10
++set g_balance_rpc_animtime 1
++set g_balance_rpc_damage 150
++set g_balance_rpc_damage2 500
++set g_balance_rpc_damageforcescale 2
++set g_balance_rpc_edgedamage 50
++set g_balance_rpc_force 400
++set g_balance_rpc_health 25
++set g_balance_rpc_lifetime 30
++set g_balance_rpc_radius 300
++set g_balance_rpc_refire 1
++set g_balance_rpc_reload_ammo 10
++set g_balance_rpc_reload_time 1
++set g_balance_rpc_speed 1250
++set g_balance_rpc_speedaccel 5000
++set g_balance_rpc_switchdelay_drop 0.2
++set g_balance_rpc_switchdelay_raise 0.2
++set g_balance_rpc_weaponreplace ""
++set g_balance_rpc_weaponstart 0
++set g_balance_rpc_weaponstartoverride 0
++set g_balance_rpc_weaponthrowable 0
++// }}}
index 0000000,0000000..c333618
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,228 @@@
++g_mod_balance Overkill
++
++// {{{ starting gear
++set g_balance_health_start 100
++set g_balance_armor_start 0
++set g_start_ammo_shells 15
++set g_start_ammo_nails 0
++set g_start_ammo_rockets 0
++set g_start_ammo_cells 0
++set g_start_ammo_plasma 0
++set g_start_ammo_fuel 0
++set g_warmup_start_health 100 "starting values when being in warmup-stage"
++set g_warmup_start_armor 100 "starting values when being in warmup-stage"
++set g_warmup_start_ammo_shells 30 "starting values when being in warmup-stage"
++set g_warmup_start_ammo_nails 160 "starting values when being in warmup-stage"
++set g_warmup_start_ammo_rockets 80 "starting values when being in warmup-stage"
++set g_warmup_start_ammo_cells 90 "starting values when being in warmup-stage"
++set g_warmup_start_ammo_plasma 90 "starting values when being in warmup-stage"
++set g_warmup_start_ammo_fuel 0 "starting values when being in warmup-stage"
++set g_lms_start_health 200
++set g_lms_start_armor 200
++set g_lms_start_ammo_shells 60
++set g_lms_start_ammo_nails 320
++set g_lms_start_ammo_rockets 160
++set g_lms_start_ammo_cells 180
++set g_lms_start_ammo_plasma 180
++set g_lms_start_ammo_fuel 0
++set g_balance_nix_roundtime 25
++set g_balance_nix_incrtime 1.6
++set g_balance_nix_ammo_shells 60
++set g_balance_nix_ammo_nails 320
++set g_balance_nix_ammo_rockets 160
++set g_balance_nix_ammo_cells 180
++set g_balance_nix_ammo_plasma 180
++set g_balance_nix_ammo_fuel 0
++set g_balance_nix_ammoincr_shells 2 // eh this will need figured out later I assume
++set g_balance_nix_ammoincr_nails 6
++set g_balance_nix_ammoincr_rockets 2
++set g_balance_nix_ammoincr_cells 2
++set g_balance_nix_ammoincr_plasma 2
++set g_balance_nix_ammoincr_fuel 2
++// }}}
++
++// {{{ pickup items
++set g_pickup_ammo_anyway 1
++set g_pickup_weapons_anyway 1
++set g_pickup_shells 15
++set g_pickup_shells_weapon 15
++set g_pickup_shells_max 60
++set g_pickup_nails 80
++set g_pickup_nails_weapon 80
++set g_pickup_nails_max 320
++set g_pickup_rockets 40
++set g_pickup_rockets_weapon 40
++set g_pickup_rockets_max 160
++set g_pickup_cells 30
++set g_pickup_cells_weapon 30
++set g_pickup_cells_max 180
++set g_pickup_plasma 30
++set g_pickup_plasma_weapon 30
++set g_pickup_plasma_max 180
++set g_pickup_fuel 50
++set g_pickup_fuel_weapon 50
++set g_pickup_fuel_jetpack 100
++set g_pickup_fuel_max 100
++set g_pickup_armorsmall 5
++set g_pickup_armorsmall_max 20
++set g_pickup_armorsmall_anyway 0
++set g_pickup_armormedium 25
++set g_pickup_armormedium_max 200
++set g_pickup_armormedium_anyway 1
++set g_pickup_armorbig 50
++set g_pickup_armorbig_max 200
++set g_pickup_armorbig_anyway 1
++set g_pickup_armorlarge 100
++set g_pickup_armorlarge_max 200
++set g_pickup_armorlarge_anyway 1
++set g_pickup_healthsmall 5
++set g_pickup_healthsmall_max 200
++set g_pickup_healthsmall_anyway 1
++set g_pickup_healthmedium 25
++set g_pickup_healthmedium_max 200
++set g_pickup_healthmedium_anyway 1
++set g_pickup_healthlarge 50
++set g_pickup_healthlarge_max 200
++set g_pickup_healthlarge_anyway 1
++set g_pickup_healthmega 100
++set g_pickup_healthmega_max 200
++set g_pickup_healthmega_anyway 0
++set g_pickup_respawntime_short 15
++set g_pickup_respawntime_medium 20
++set g_pickup_respawntime_long 30
++set g_pickup_respawntime_powerup 120
++set g_pickup_respawntime_weapon 10
++set g_pickup_respawntime_superweapon 120
++set g_pickup_respawntime_ammo 10
++set g_pickup_respawntimejitter_short 0
++set g_pickup_respawntimejitter_medium 0
++set g_pickup_respawntimejitter_long 0
++set g_pickup_respawntimejitter_powerup 0
++set g_pickup_respawntimejitter_weapon 0
++set g_pickup_respawntimejitter_superweapon 10
++set g_pickup_respawntimejitter_ammo 0
++// }}}
++
++// {{{ regen/rot
++set g_balance_health_regen 0
++set g_balance_health_regenlinear 100
++set g_balance_pause_health_regen 2
++set g_balance_pause_health_regen_spawn 0
++set g_balance_health_rot 0
++set g_balance_health_rotlinear 1
++set g_balance_pause_health_rot 1
++set g_balance_pause_health_rot_spawn 5
++set g_balance_health_regenstable 100
++set g_balance_health_rotstable 200
++set g_balance_health_limit 999
++set g_balance_armor_regen 0
++set g_balance_armor_regenlinear 0
++set g_balance_armor_rot 0
++set g_balance_armor_rotlinear 1
++set g_balance_pause_armor_rot 1
++set g_balance_pause_armor_rot_spawn 5
++set g_balance_armor_regenstable 100
++set g_balance_armor_rotstable 0
++set g_balance_armor_limit 999
++set g_balance_armor_blockpercent 0.7
++set g_balance_fuel_regen 0.1 "fuel regeneration (only applies if the player owns IT_FUEL_REGEN)"
++set g_balance_fuel_regenlinear 0
++set g_balance_pause_fuel_regen 2 // other than this, fuel uses the health regen counter
++set g_balance_fuel_rot 0.05
++set g_balance_fuel_rotlinear 0
++set g_balance_pause_fuel_rot 5
++set g_balance_pause_fuel_rot_spawn 10
++set g_balance_fuel_regenstable 50
++set g_balance_fuel_rotstable 100
++set g_balance_fuel_limit 999
++// }}}
++
++// {{{ misc
++set g_balance_selfdamagepercent 0.65
++set g_weaponspeedfactor 1 "weapon projectile speed multiplier"
++set g_weaponratefactor 1 "weapon fire rate multiplier"
++set g_weapondamagefactor 1 "weapon damage multiplier"
++set g_weaponforcefactor 1 "weapon force multiplier"
++set g_weaponspreadfactor 1 "weapon spread multiplier"
++set g_balance_firetransfer_time 0.9
++set g_balance_firetransfer_damage 0.8
++set g_throughfloor_damage 0.75
++set g_throughfloor_force 0.75
++set g_projectiles_damage -2
++// 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
++// 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_projectiles_newton_style 0
++// possible values:
++// 0: absolute velocity projectiles (like Quake)
++// 1: relative velocity projectiles, "Newtonian" (like Tribes 2)
++// 2: relative velocity projectiles, but aim is precorrected so projectiles hit the crosshair (note: strafe rockets then are SLOWER than ones shot while standing, happens in 1 too when aiming correctly which is hard)
++set g_projectiles_newton_style_2_minfactor 1
++set g_projectiles_newton_style_2_maxfactor 1.5
++set g_projectiles_spread_style 7
++// possible values:
++// 0: forward + solid sphere (like Quake) - varies velocity
++// 1: forward + flattened solid sphere
++// 2: forward + solid circle
++// 3: forward + normal distribution 3D - varies velocity
++// 4: forward + normal distribution on a plane
++// 5: forward + circle with 1-r falloff
++// 6: forward + circle with 1-r^2 falloff
++// 7: forward + circle with (1-r)(2-r) falloff
++set g_balance_falldamage_deadminspeed 250
++set g_balance_falldamage_minspeed 900
++set g_balance_falldamage_factor 0.20
++set g_balance_falldamage_maxdamage 40
++set g_balance_damagepush_speedfactor 2.5
++set g_balance_contents_damagerate 0.2 // ticrate interval for applying damage with playerdamage/projectiledamage
++set g_balance_contents_drowndelay 10 // time under water before a player begins drowning
++set g_balance_contents_playerdamage_drowning 20 // damage per second for while player is drowning
++set g_balance_contents_playerdamage_lava 50 // damage per second for while player is inside lava
++set g_balance_contents_playerdamage_slime 30 // damage per second for while player is inside slime
++set g_balance_contents_projectiledamage 10000 // instantly kill projectiles upon touching lava/slime
++set g_maxpushtime 8.0 "timeout for kill credit when your damage knocks someone into a death trap"
++// }}}
++
++// {{{ powerups
++set g_balance_powerup_invincible_takedamage 0.33 // only 1/3rd damage is taken
++set g_balance_powerup_invincible_time 30
++set g_balance_powerup_strength_damage 3
++set g_balance_powerup_strength_force 3
++set g_balance_powerup_strength_time 30
++set g_balance_powerup_strength_selfdamage 1.5
++set g_balance_powerup_strength_selfforce 1.5
++set g_balance_superweapons_time 30
++// }}}
++
++// {{{ jetpack/hook
++set g_jetpack_antigravity 0.8 "factor of gravity compensation of the jetpack"
++set g_jetpack_acceleration_side 1200 "acceleration of the jetpack in xy direction"
++set g_jetpack_acceleration_up 600 "acceleration of the jetpack in z direction (note: you have to factor in gravity here, if antigravity is not 1)"
++set g_jetpack_maxspeed_side 1200 "max speed of the jetpack in xy direction"
++set g_jetpack_maxspeed_up 600 "max speed of the jetpack in z direction"
++set g_jetpack_fuel 8 "fuel per second for jetpack"
++set g_jetpack_attenuation 2 "jetpack sound attenuation"
++
++set g_grappling_hook_tarzan 2 // 2: can also pull players
++set g_balance_grapplehook_speed_fly 1800
++set g_balance_grapplehook_speed_pull 2000
++set g_balance_grapplehook_force_rubber 2000
++set g_balance_grapplehook_force_rubber_overstretch 1000
++set g_balance_grapplehook_length_min 50
++set g_balance_grapplehook_stretch 50
++set g_balance_grapplehook_airfriction 0.2
++set g_balance_grapplehook_health 50
++set g_balance_grapplehook_damagedbycontents 1
++set g_balance_grapplehook_refire 0.2
++// }}}
++
++// {{{ port-o-launch
++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
++// }}}
++
++exec bal-wep-xonotic.cfg
diff --cc mutators.cfg
@@@ -23,44 -23,16 +23,45 @@@ set sv_dodging_frozen 0 "allow dodging 
  
  
  // ===========
- //  minstagib
+ //  instagib
  // ===========
- set g_minstagib 0 "enable minstagib"
- set g_minstagib_extralives 1 "how many extra lives you will get per powerup"
- set g_minstagib_ammo_start 10 "starting ammo"
- set g_minstagib_ammo_drop 5 "how much ammo you'll get for weapons or cells"
- set g_minstagib_invis_alpha 0.15
- set g_minstagib_speed_highspeed 1.5 "speed-multiplier that applies while you carry the invincibility powerup"
+ set g_instagib 0 "enable instagib"
+ set g_instagib_extralives 1 "how many extra lives you will get per powerup"
+ set g_instagib_ammo_start 10 "starting ammo"
+ set g_instagib_ammo_drop 5 "how much ammo you'll get for weapons or cells"
+ set g_instagib_invis_alpha 0.15
+ set g_instagib_speed_highspeed 1.5 "speed-multiplier that applies while you carry the invincibility powerup"
  
  
- set g_overkill_ammo_charge_rate_nex 0.5
- set g_overkill_ammo_charge_rate_uzi 0.5
 +// ==========
 +//  overkill
 +// ==========
 +set g_overkill 0 "enable overkill"
++set g_overkill_superguns_builtin 0
 +
 +set g_overkill_100a_anyway 1
 +set g_overkill_100h_anyway 1
 +set g_overkill_powerups_replace 1
 +set g_overkill_superguns_onemag 1
 +set g_overkill_superguns_respawn_time 20
 +
 +set g_overkill_ammo_charge 1
 +set g_overkill_ammo_charge_notice 1
 +set g_overkill_ammo_charge_limit 1
 +set g_overkill_ammo_charge_rate 0.5
- set g_overkill_ammo_decharge_uzi 0.025
++set g_overkill_ammo_charge_rate_vortex 0.5
++set g_overkill_ammo_charge_rate_machinegun 0.5
 +set g_overkill_ammo_charge_rate_shotgun 0.5
 +set g_overkill_ammo_charge_rate_hmg 0.25
 +set g_overkill_ammo_charge_rate_rpc 1.5
 +set g_overkill_ammo_decharge 0.1
- set g_overkill_ammo_decharge_nex 0.2
++set g_overkill_ammo_decharge_machinegun 0.025
 +set g_overkill_ammo_decharge_shotgun 0.15
++set g_overkill_ammo_decharge_vortex 0.2
 +set g_overkill_ammo_decharge_rpc 1
 +set g_overkill_ammo_decharge_hmg 0.01
 +
 +
  // =========
  //  vampire
  // =========
@@@ -1436,16 -1520,14 +1520,18 @@@ void CSQC_UpdateView(float w, float h
                                        weapon_clipload = getstati(STAT_WEAPON_CLIPLOAD);
                                        weapon_clipsize = getstati(STAT_WEAPON_CLIPSIZE);
  
-                                       float nex_charge, nex_chargepool;
-                                       nex_charge = getstatf(STAT_NEX_CHARGE);
-                                       nex_chargepool = getstatf(STAT_NEX_CHARGEPOOL);
-                                       
 +                                      float ok_ammo_charge, ok_ammo_chargepool;
 +                                      ok_ammo_charge = getstatf(STAT_OK_AMMO_CHARGE);
 +                                      ok_ammo_chargepool = getstatf(STAT_OK_AMMO_CHARGEPOOl);
 +
-                                       if(nex_charge_movingavg == 0) // this should only happen if we have just loaded up the game
-                                               nex_charge_movingavg = nex_charge;
+                                       float vortex_charge, vortex_chargepool;
+                                       vortex_charge = getstatf(STAT_VORTEX_CHARGE);
+                                       vortex_chargepool = getstatf(STAT_VORTEX_CHARGEPOOL);
+                                       float arc_heat = getstatf(STAT_ARC_HEAT);
+                                       if(vortex_charge_movingavg == 0) // this should only happen if we have just loaded up the game
+                                               vortex_charge_movingavg = vortex_charge;
  
  
                                        // handle the values
@@@ -439,13 -452,4 +452,12 @@@ string autocvar__cl_playermodel
  float autocvar_cl_deathglow;
  float autocvar_developer_csqcentities;
  float autocvar_g_jetpack_attenuation;
- // OK Crosshair
 +var string autocvar_crosshair_hmg = ""; 
 +var vector autocvar_crosshair_hmg_color = '0.2 1.0 0.2';
 +var float autocvar_crosshair_hmg_alpha = 1;
 +var float autocvar_crosshair_hmg_size = 1;
 +var string autocvar_crosshair_rpc = ""; 
 +var vector autocvar_crosshair_rpc_color = '0.2 1.0 0.2';
 +var float autocvar_crosshair_rpc_alpha = 1;
 +var float autocvar_crosshair_rpc_size = 1;
+ float autocvar_cl_nade_timer;
index 0000000,0d2bce9..ba6491f
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,511 +1,515 @@@
+ .vector iorigin1, iorigin2;
+ .float spawntime;
+ .vector trail_oldorigin;
+ .float trail_oldtime;
+ .float fade_time, fade_rate;
+ void SUB_Stop()
+ {
+       self.move_velocity = self.move_avelocity = '0 0 0';
+       self.move_movetype = MOVETYPE_NONE;
+ }
+ .float alphamod;
+ .float count; // set if clientside projectile
+ .float cnt; // sound index
+ .float gravity;
+ .float snd_looping;
+ .float silent;
+ void Projectile_ResetTrail(vector to)
+ {
+       self.trail_oldorigin = to;
+       self.trail_oldtime = time;
+ }
+ void Projectile_DrawTrail(vector to)
+ {
+       vector from;
+       float t0;
+       from = self.trail_oldorigin;
+       t0 = self.trail_oldtime;
+       self.trail_oldorigin = to;
+       self.trail_oldtime = time;
+       // force the effect even for stationary firemine
+       if(self.cnt == PROJECTILE_FIREMINE)
+               if(from == to)
+                       from_z += 1;
+       if (self.traileffect)
+       {
+               particles_alphamin = particles_alphamax = particles_fade = sqrt(self.alpha);
+               boxparticles(self.traileffect, self, from, to, self.velocity, self.velocity, 1, PARTICLES_USEALPHA | PARTICLES_USEFADE | PARTICLES_DRAWASTRAIL);
+       }
+ }
+ .float proj_time;
+ void Projectile_Draw()
+ {
+       vector rot;
+       vector trailorigin;
+       float f;
+       float drawn;
+       float t;
+       float a;
+       float dt = time - self.proj_time;
+       self.proj_time = time;
+       if(dt <= 0) { return; }
+       f = self.move_flags;
+       if(self.count & 0x80)
+       {
+               //self.move_flags &= ~FL_ONGROUND;
+               if(self.move_movetype == MOVETYPE_NONE || self.move_movetype == MOVETYPE_FLY)
+                       Movetype_Physics_NoMatchServer();
+                       // the trivial movetypes do not have to match the
+                       // server's ticrate as they are ticrate independent
+                       // NOTE: this assumption is only true if MOVETYPE_FLY
+                       // projectiles detonate on impact. If they continue
+                       // moving, we might still be ticrate dependent.
+               else
+                       Movetype_Physics_MatchServer(autocvar_cl_projectiles_sloppy);
+               if(!(self.move_flags & FL_ONGROUND))
+                       if(self.velocity != '0 0 0')
+                               self.move_angles = self.angles = vectoangles(self.velocity);
+       }
+       else
+       {
+               InterpolateOrigin_Do();
+       }
+       if(self.count & 0x80)
+       {
+               drawn = (time >= self.spawntime - 0.02);
+               t = max(time, self.spawntime);
+       }
+       else
+       {
+               drawn = (self.iflags & IFLAG_VALID);
+               t = time;
+       }
+       if(!(f & FL_ONGROUND))
+       {
+               rot = '0 0 0';
+               switch(self.cnt)
+               {
+                       /*
+                       case PROJECTILE_GRENADE:
+                               rot = '-2000 0 0'; // forward
+                               break;
+                       */
+                       case PROJECTILE_GRENADE_BOUNCING:
+                               rot = '0 -1000 0'; // sideways
+                               break;
+                       case PROJECTILE_HOOKBOMB:
+                               rot = '1000 0 0'; // forward
+                               break;
+                       default:
+                               break;
+               }
+               if(Nade_IDFromProjectile(self.cnt) != 0)
+                       rot = self.avelocity;
+               self.angles = AnglesTransform_ToAngles(AnglesTransform_Multiply(AnglesTransform_FromAngles(self.angles), rot * (t - self.spawntime)));
+       }
+       vector ang;
+       ang = self.angles;
+       ang_x = -ang_x;
+       makevectors(ang);
+       a = 1 - (time - self.fade_time) * self.fade_rate;
+       self.alpha = bound(0, self.alphamod * a, 1);
+       if(self.alpha <= 0)
+               drawn = 0;
+       self.renderflags = 0;
+       trailorigin = self.origin;
+       switch(self.cnt)
+       {
+               case PROJECTILE_GRENADE:
+               case PROJECTILE_GRENADE_BOUNCING:
+                       trailorigin += v_right * 1 + v_forward * -10;
+                       break;
+               default:
+                       break;
+       }
+       if(Nade_IDFromProjectile(self.cnt) != 0)
+               trailorigin += v_up * 4;
+       if(drawn)
+               Projectile_DrawTrail(trailorigin);
+       else
+               Projectile_ResetTrail(trailorigin);
+       self.drawmask = 0;
+       if(!drawn)
+               return;
+       switch(self.cnt)
+       {
+               // Possibly add dlights here.
+               default:
+                       break;
+       }
+       self.drawmask = MASK_NORMAL;
+ }
+ void loopsound(entity e, float ch, string samp, float vol, float attn)
+ {
+       if(self.silent)
+               return;
+       sound(e, ch, samp, vol, attn);
+       e.snd_looping = ch;
+ }
+ void Ent_RemoveProjectile()
+ {
+       if(self.count & 0x80)
+       {
+               tracebox(self.origin, self.mins, self.maxs, self.origin + self.velocity * 0.05, MOVE_NORMAL, self);
+               Projectile_DrawTrail(trace_endpos);
+       }
+ }
+ void Ent_Projectile()
+ {
+       float f;
+       // projectile properties:
+       //   kind (interpolated, or clientside)
+       //
+       //   modelindex
+       //   origin
+       //   scale
+       //   if clientside:
+       //     velocity
+       //     gravity
+       //   soundindex (hardcoded list)
+       //   effects
+       //
+       // projectiles don't send angles, because they always follow the velocity
+       f = ReadByte();
+       self.count = (f & 0x80);
+       self.iflags = (self.iflags & IFLAG_INTERNALMASK) | IFLAG_AUTOANGLES | IFLAG_ANGLES | IFLAG_ORIGIN;
+       self.solid = SOLID_TRIGGER;
+       self.proj_time = time;
+       //self.effects = EF_NOMODELFLAGS;
+       // this should make collisions with bmodels more exact, but it leads to
+       // projectiles no longer being able to lie on a bmodel
+       self.move_nomonsters = MOVE_WORLDONLY;
+       if(f & 0x40)
+               self.move_flags |= FL_ONGROUND;
+       else
+               self.move_flags &= ~FL_ONGROUND;
+       if(!self.move_time)
+       {
+               // for some unknown reason, we don't need to care for
+               // sv_gameplayfix_delayprojectiles here.
+               self.move_time = time;
+               self.spawntime = time;
+       }
+       else
+               self.move_time = max(self.move_time, time);
+       if(!(self.count & 0x80))
+               InterpolateOrigin_Undo();
+       if(f & 1)
+       {
+               self.origin_x = ReadCoord();
+               self.origin_y = ReadCoord();
+               self.origin_z = ReadCoord();
+               setorigin(self, self.origin);
+               if(self.count & 0x80)
+               {
+                       self.velocity_x = ReadCoord();
+                       self.velocity_y = ReadCoord();
+                       self.velocity_z = ReadCoord();
+                       if(f & 0x10)
+                               self.gravity = ReadCoord();
+                       else
+                               self.gravity = 0; // none
+                       self.move_origin = self.origin;
+                       self.move_velocity = self.velocity;
+               }
+               if(time == self.spawntime || (self.count & 0x80) || (f & 0x08))
+               {
+                       self.trail_oldorigin = self.origin;
+                       if(!(self.count & 0x80))
+                               InterpolateOrigin_Reset();
+               }
+               if(f & 0x20)
+               {
+                       self.fade_time = time + ReadByte() * ticrate;
+                       self.fade_rate = 1 / (ReadByte() * ticrate);
+               }
+               else
+               {
+                       self.fade_time = 0;
+                       self.fade_rate = 0;
+               }
+               self.team = ReadByte() - 1;
+       }
+       if(f & 2)
+       {
+               self.cnt = ReadByte();
+               self.silent = (self.cnt & 0x80);
+               self.cnt = (self.cnt & 0x7F);
+               self.scale = 1;
+               self.traileffect = 0;
+               switch(self.cnt)
+               {
+                       case PROJECTILE_ELECTRO: setmodel(self, "models/ebomb.mdl");self.traileffect = particleeffectnum("TR_NEXUIZPLASMA"); break;
+                       case PROJECTILE_ROCKET: setmodel(self, "models/rocket.md3");self.traileffect = particleeffectnum("TR_ROCKET"); self.scale = 2; break;
+                       case PROJECTILE_CRYLINK: setmodel(self, "models/plasmatrail.mdl");self.traileffect = particleeffectnum("TR_CRYLINKPLASMA"); break;
+                       case PROJECTILE_CRYLINK_BOUNCING: setmodel(self, "models/plasmatrail.mdl");self.traileffect = particleeffectnum("TR_CRYLINKPLASMA"); break;
+                       case PROJECTILE_ELECTRO_BEAM: setmodel(self, "models/elaser.mdl");self.traileffect = particleeffectnum("TR_NEXUIZPLASMA"); break;
+                       case PROJECTILE_GRENADE: setmodel(self, "models/grenademodel.md3");self.traileffect = particleeffectnum("TR_GRENADE"); break;
+                       case PROJECTILE_GRENADE_BOUNCING: setmodel(self, "models/grenademodel.md3");self.traileffect = particleeffectnum("TR_GRENADE"); break;
+                       case PROJECTILE_MINE: setmodel(self, "models/mine.md3");self.traileffect = particleeffectnum("TR_GRENADE"); break;
+                       case PROJECTILE_BLASTER: setmodel(self, "models/laser.mdl");self.traileffect = particleeffectnum(""); break;
+                       case PROJECTILE_HLAC: setmodel(self, "models/hlac_bullet.md3");self.traileffect = particleeffectnum(""); break;
+                       case PROJECTILE_PORTO_RED: setmodel(self, "models/grenademodel.md3");self.traileffect = particleeffectnum("TR_WIZSPIKE"); self.scale = 4; break;
+                       case PROJECTILE_PORTO_BLUE: setmodel(self, "models/grenademodel.md3");self.traileffect = particleeffectnum("TR_WIZSPIKE"); self.scale = 4; break;
+                       case PROJECTILE_HOOKBOMB: setmodel(self, "models/grenademodel.md3");self.traileffect = particleeffectnum("TR_KNIGHTSPIKE"); break;
+                       case PROJECTILE_HAGAR: setmodel(self, "models/hagarmissile.mdl");self.traileffect = particleeffectnum("tr_hagar"); self.scale = 0.75; break;
+                       case PROJECTILE_HAGAR_BOUNCING: setmodel(self, "models/hagarmissile.mdl");self.traileffect = particleeffectnum("tr_hagar"); self.scale = 0.75; break;
+                       case PROJECTILE_NAPALM_FOUNTAIN: //self.model = ""; self.modelindex = 0; self.traileffect = particleeffectnum("torch_small"); break;
+                       case PROJECTILE_FIREBALL: self.model = ""; self.modelindex = 0; self.traileffect = particleeffectnum("fireball"); break; // particle effect is good enough
+                       case PROJECTILE_FIREMINE: self.model = ""; self.modelindex = 0; self.traileffect = particleeffectnum("firemine"); break; // particle effect is good enough
+                       case PROJECTILE_TAG: setmodel(self, "models/laser.mdl"); self.traileffect = particleeffectnum("TR_ROCKET"); break;
+                       case PROJECTILE_FLAC: setmodel(self, "models/hagarmissile.mdl"); self.scale = 0.4; self.traileffect = particleeffectnum("TR_SEEKER"); break;
+                       case PROJECTILE_SEEKER: setmodel(self, "models/tagrocket.md3"); self.traileffect = particleeffectnum("TR_SEEKER"); break;
+                       case PROJECTILE_MAGE_SPIKE: setmodel(self, "models/ebomb.mdl"); self.traileffect = particleeffectnum("TR_VORESPIKE"); break;
+                       case PROJECTILE_SHAMBLER_LIGHTNING: setmodel(self, "models/ebomb.mdl"); self.traileffect = particleeffectnum("TR_NEXUIZPLASMA"); break;
+                       case PROJECTILE_RAPTORBOMB:    setmodel(self, "models/vehicles/clusterbomb.md3"); self.gravity = 1; self.avelocity = '0 0 180'; self.traileffect = particleeffectnum(""); break;
+                       case PROJECTILE_RAPTORBOMBLET: setmodel(self, "models/vehicles/bomblet.md3");     self.gravity = 1; self.avelocity = '0 0 180'; self.traileffect = particleeffectnum(""); break;
+                       case PROJECTILE_RAPTORCANNON:  setmodel(self, "models/plasmatrail.mdl"); self.traileffect = particleeffectnum("TR_CRYLINKPLASMA"); break;
+                       case PROJECTILE_SPIDERROCKET: setmodel(self, "models/vehicles/rocket02.md3"); self.traileffect = particleeffectnum("spiderbot_rocket_thrust"); break;
+                       case PROJECTILE_WAKIROCKET:   setmodel(self, "models/vehicles/rocket01.md3");  self.traileffect = particleeffectnum("wakizashi_rocket_thrust"); break;
+                       case PROJECTILE_WAKICANNON:   setmodel(self, "models/laser.mdl");  self.traileffect = particleeffectnum(""); break;
+                       case PROJECTILE_BUMBLE_GUN: setmodel(self, "models/elaser.mdl");self.traileffect = particleeffectnum("TR_NEXUIZPLASMA"); break;
+                       case PROJECTILE_BUMBLE_BEAM: setmodel(self, "models/elaser.mdl");self.traileffect = particleeffectnum("TR_NEXUIZPLASMA"); break;
++                      case PROJECTILE_RPC: setmodel(self, "models/weapons/ok_rocket.md3");self.traileffect = particleeffectnum("TR_ROCKET"); break;
++
+                       default:
+                               if(Nade_IDFromProjectile(self.cnt) != 0) { setmodel(self, "models/weapons/v_ok_grenade.md3");self.traileffect = particleeffectnum(Nade_TrailEffect(self.cnt, self.team)); break; }
+                               error("Received invalid CSQC projectile, can't work with this!");
+                               break;
+               }
+               self.mins = '0 0 0';
+               self.maxs = '0 0 0';
+               self.colormod = '0 0 0';
+               self.move_touch = SUB_Stop;
+               self.move_movetype = MOVETYPE_TOSS;
+               self.alphamod = 1;
+               switch(self.cnt)
+               {
+                       case PROJECTILE_ELECTRO:
+                               // only new engines support sound moving with object
+                               loopsound(self, CH_SHOTS_SINGLE, "weapons/electro_fly.wav", VOL_BASE, ATTEN_NORM);
+                               self.mins = '0 0 -4';
+                               self.maxs = '0 0 -4';
+                               self.move_movetype = MOVETYPE_BOUNCE;
+                               self.move_touch = func_null;
+                               self.move_bounce_factor = g_balance_electro_secondary_bouncefactor;
+                               self.move_bounce_stopspeed = g_balance_electro_secondary_bouncestop;
+                               break;
++                      case PROJECTILE_RPC:
+                       case PROJECTILE_ROCKET:
+                               loopsound(self, CH_SHOTS_SINGLE, "weapons/rocket_fly.wav", VOL_BASE, ATTEN_NORM);
+                               self.mins = '-3 -3 -3';
+                               self.maxs = '3 3 3';
+                               break;
+                       case PROJECTILE_GRENADE:
+                               self.mins = '-3 -3 -3';
+                               self.maxs = '3 3 3';
+                               break;
+                       case PROJECTILE_GRENADE_BOUNCING:
+                               self.mins = '-3 -3 -3';
+                               self.maxs = '3 3 3';
+                               self.move_movetype = MOVETYPE_BOUNCE;
+                               self.move_touch = func_null;
+                               self.move_bounce_factor = g_balance_mortar_bouncefactor;
+                               self.move_bounce_stopspeed = g_balance_mortar_bouncestop;
+                               break;
+                       case PROJECTILE_SHAMBLER_LIGHTNING:
+                               self.mins = '-8 -8 -8';
+                               self.maxs = '8 8 8';
+                               self.scale = 2.5;
+                               self.avelocity = randomvec() * 720;
+                               break;
+                       case PROJECTILE_MINE:
+                               self.mins = '-4 -4 -4';
+                               self.maxs = '4 4 4';
+                               break;
+                       case PROJECTILE_PORTO_RED:
+                               self.colormod = '2 1 1';
+                               self.alphamod = 0.5;
+                               self.move_movetype = MOVETYPE_BOUNCE;
+                               self.move_touch = func_null;
+                               break;
+                       case PROJECTILE_PORTO_BLUE:
+                               self.colormod = '1 1 2';
+                               self.alphamod = 0.5;
+                               self.move_movetype = MOVETYPE_BOUNCE;
+                               self.move_touch = func_null;
+                               break;
+                       case PROJECTILE_HAGAR_BOUNCING:
+                               self.move_movetype = MOVETYPE_BOUNCE;
+                               self.move_touch = func_null;
+                               break;
+                       case PROJECTILE_CRYLINK_BOUNCING:
+                               self.move_movetype = MOVETYPE_BOUNCE;
+                               self.move_touch = func_null;
+                               break;
+                       case PROJECTILE_NAPALM_FOUNTAIN:
+                       case PROJECTILE_FIREBALL:
+                               loopsound(self, CH_SHOTS_SINGLE, "weapons/fireball_fly2.wav", VOL_BASE, ATTEN_NORM);
+                               self.mins = '-16 -16 -16';
+                               self.maxs = '16 16 16';
+                               break;
+                       case PROJECTILE_FIREMINE:
+                               loopsound(self, CH_SHOTS_SINGLE, "weapons/fireball_fly.wav", VOL_BASE, ATTEN_NORM);
+                               self.move_movetype = MOVETYPE_BOUNCE;
+                               self.move_touch = func_null;
+                               self.mins = '-4 -4 -4';
+                               self.maxs = '4 4 4';
+                               break;
+                       case PROJECTILE_TAG:
+                               self.mins = '-2 -2 -2';
+                               self.maxs = '2 2 2';
+                               break;
+                       case PROJECTILE_FLAC:
+                               self.mins = '-2 -2 -2';
+                               self.maxs = '2 2 2';
+                               break;
+                       case PROJECTILE_SEEKER:
+                               loopsound(self, CH_SHOTS_SINGLE, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTEN_NORM);
+                               self.mins = '-4 -4 -4';
+                               self.maxs = '4 4 4';
+                               break;
+             case PROJECTILE_RAPTORBOMB:
+                               self.mins = '-3 -3 -3';
+                               self.maxs = '3 3 3';
+                               break;
+             case PROJECTILE_RAPTORBOMBLET:
+                               break;
+             case PROJECTILE_RAPTORCANNON:
+                               break;
+             case PROJECTILE_SPIDERROCKET:
+                 loopsound(self, CH_SHOTS_SINGLE, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTEN_NORM);
+                               break;
+             case PROJECTILE_WAKIROCKET:
+                 loopsound(self, CH_SHOTS_SINGLE, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTEN_NORM);
+                               break;
+             /*
+             case PROJECTILE_WAKICANNON:
+                               break;
+                       case PROJECTILE_BUMBLE_GUN:
+                               // only new engines support sound moving with object
+                               loopsound(self, CH_SHOTS_SINGLE, "weapons/electro_fly.wav", VOL_BASE, ATTEN_NORM);
+                               self.mins = '0 0 -4';
+                               self.maxs = '0 0 -4';
+                               self.move_movetype = MOVETYPE_BOUNCE;
+                               self.move_touch = func_null;
+                               self.move_bounce_factor = g_balance_electro_secondary_bouncefactor;
+                               self.move_bounce_stopspeed = g_balance_electro_secondary_bouncestop;
+                               break;
+                       */
+                       default:
+                               break;
+               }
+               if(Nade_IDFromProjectile(self.cnt) != 0)
+               {
+                       self.mins = '-16 -16 -16';
+                       self.maxs = '16 16 16';
+                       self.colormod = Nade_Color(Nade_IDFromProjectile(self.cnt));
+                       self.dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_PLAYERCLIP | DPCONTENTS_BOTCLIP;
+                       self.move_movetype = MOVETYPE_BOUNCE;
+                       self.move_touch = func_null;
+                       self.scale = 1.5;
+                       self.avelocity = randomvec() * 720;
+                       
+                       if(Nade_IDFromProjectile(self.cnt) == NADE_TYPE_TRANSLOCATE)
+                               self.solid = SOLID_TRIGGER;
+               }
+               setsize(self, self.mins, self.maxs);
+       }
+       if(self.gravity)
+       {
+               if(self.move_movetype == MOVETYPE_FLY)
+                       self.move_movetype = MOVETYPE_TOSS;
+               if(self.move_movetype == MOVETYPE_BOUNCEMISSILE)
+                       self.move_movetype = MOVETYPE_BOUNCE;
+       }
+       else
+       {
+               if(self.move_movetype == MOVETYPE_TOSS)
+                       self.move_movetype = MOVETYPE_FLY;
+               if(self.move_movetype == MOVETYPE_BOUNCE)
+                       self.move_movetype = MOVETYPE_BOUNCEMISSILE;
+       }
+       if(!(self.count & 0x80))
+               InterpolateOrigin_Note();
+       self.draw = Projectile_Draw;
+       self.entremove = Ent_RemoveProjectile;
+ }
+ void Projectile_Precache()
+ {
+       precache_model("models/ebomb.mdl");
+       precache_model("models/elaser.mdl");
+       precache_model("models/grenademodel.md3");
+       precache_model("models/mine.md3");
+       precache_model("models/hagarmissile.mdl");
+       precache_model("models/hlac_bullet.md3");
+       precache_model("models/laser.mdl");
+       precache_model("models/plasmatrail.mdl");
+       precache_model("models/rocket.md3");
+       precache_model("models/tagrocket.md3");
+       precache_model("models/tracer.mdl");
+       precache_model("models/sphere/sphere.md3");
+       precache_model("models/weapons/v_ok_grenade.md3");
++      precache_model("models/weapons/ok_rocket.md3");
+       precache_sound("weapons/electro_fly.wav");
+       precache_sound("weapons/rocket_fly.wav");
+       precache_sound("weapons/fireball_fly.wav");
+       precache_sound("weapons/fireball_fly2.wav");
+       precache_sound("weapons/tag_rocket_fly.wav");
+ }
@@@ -364,19 -273,6 +273,8 @@@ const float PROJECTILE_BUMBLE_BEAM = 31
  const float PROJECTILE_MAGE_SPIKE = 32;
  const float PROJECTILE_SHAMBLER_LIGHTNING = 33;
  
- const float PROJECTILE_NADE_RED = 50;
- const float PROJECTILE_NADE_RED_BURN = 51;
- const float PROJECTILE_NADE_BLUE = 52;
- const float PROJECTILE_NADE_BLUE_BURN = 53;
- const float PROJECTILE_NADE_YELLOW = 54;
- const float PROJECTILE_NADE_YELLOW_BURN = 55;
- const float PROJECTILE_NADE_PINK = 56;
- const float PROJECTILE_NADE_PINK_BURN = 57;
- const float PROJECTILE_NADE = 58;
- const float PROJECTILE_NADE_BURN = 59;
 +const float PROJECTILE_RPC = 60;
 +
  const float SPECIES_HUMAN = 0;
  const float SPECIES_ROBOT_SOLID = 1;
  const float SPECIES_ALIEN = 2;
  #define NOTIF_ABORT  -1234   // allows Send_Notification to safely abort sending
  
  #define EIGHT_VARS_TO_VARARGS_VARLIST \
--      VARITEM(1, 0, s1) \
--      VARITEM(2, 0, XPD(s1, s2)) \
--      VARITEM(3, 0, XPD(s1, s2, s3)) \
--      VARITEM(4, 0, XPD(s1, s2, s3, s4)) \
--      VARITEM(0, 1, f1) \
--      VARITEM(1, 1, XPD(s1, f1)) \
--      VARITEM(2, 1, XPD(s1, s2, f1)) \
--      VARITEM(3, 1, XPD(s1, s2, s3, f1)) \
--      VARITEM(4, 1, XPD(s1, s2, s3, s4, f1)) \
--      VARITEM(0, 2, XPD(f1, f2)) \
--      VARITEM(1, 2, XPD(s1, f1, f2)) \
--      VARITEM(2, 2, XPD(s1, s2, f1, f2)) \
--      VARITEM(3, 2, XPD(s1, s2, s3, f1, f2)) \
--      VARITEM(4, 2, XPD(s1, s2, s3, s4, f1, f2)) \
--      VARITEM(0, 3, XPD(f1, f2, f3)) \
--      VARITEM(1, 3, XPD(s1, f1, f2, f3)) \
--      VARITEM(2, 3, XPD(s1, s2, f1, f2, f3)) \
--      VARITEM(3, 3, XPD(s1, s2, s3, f1, f2, f3)) \
--      VARITEM(4, 3, XPD(s1, s2, s3, s4, f1, f2, f3)) \
--      VARITEM(0, 4, XPD(f1, f2, f3, f4)) \
--      VARITEM(1, 4, XPD(s1, f1, f2, f3, f4)) \
--      VARITEM(2, 4, XPD(s1, s2, f1, f2, f3, f4)) \
--      VARITEM(3, 4, XPD(s1, s2, s3, f1, f2, f3, f4)) \
--      VARITEM(4, 4, XPD(s1, s2, s3, s4, f1, f2, f3, f4))
++    VARITEM(1, 0, s1) \
++    VARITEM(2, 0, XPD(s1, s2)) \
++    VARITEM(3, 0, XPD(s1, s2, s3)) \
++    VARITEM(4, 0, XPD(s1, s2, s3, s4)) \
++    VARITEM(0, 1, f1) \
++    VARITEM(1, 1, XPD(s1, f1)) \
++    VARITEM(2, 1, XPD(s1, s2, f1)) \
++    VARITEM(3, 1, XPD(s1, s2, s3, f1)) \
++    VARITEM(4, 1, XPD(s1, s2, s3, s4, f1)) \
++    VARITEM(0, 2, XPD(f1, f2)) \
++    VARITEM(1, 2, XPD(s1, f1, f2)) \
++    VARITEM(2, 2, XPD(s1, s2, f1, f2)) \
++    VARITEM(3, 2, XPD(s1, s2, s3, f1, f2)) \
++    VARITEM(4, 2, XPD(s1, s2, s3, s4, f1, f2)) \
++    VARITEM(0, 3, XPD(f1, f2, f3)) \
++    VARITEM(1, 3, XPD(s1, f1, f2, f3)) \
++    VARITEM(2, 3, XPD(s1, s2, f1, f2, f3)) \
++    VARITEM(3, 3, XPD(s1, s2, s3, f1, f2, f3)) \
++    VARITEM(4, 3, XPD(s1, s2, s3, s4, f1, f2, f3)) \
++    VARITEM(0, 4, XPD(f1, f2, f3, f4)) \
++    VARITEM(1, 4, XPD(s1, f1, f2, f3, f4)) \
++    VARITEM(2, 4, XPD(s1, s2, f1, f2, f3, f4)) \
++    VARITEM(3, 4, XPD(s1, s2, s3, f1, f2, f3, f4)) \
++    VARITEM(4, 4, XPD(s1, s2, s3, s4, f1, f2, f3, f4))
  
  void Destroy_All_Notifications(void);
  void Create_Notification_Entity(
--      float var_default,
--      float var_cvar,
--      float typeid,
--      float nameid,
--      string namestring,
--      float strnum,
--      float flnum,
--      /* MSG_ANNCE */
--      float channel,
--      string snd,
--      float vol,
--      float position,
--      /* MSG_INFO & MSG_CENTER */
--      string args,
--      string hudargs,
--      string icon,
--      float cpid,
--      string durcnt,
--      string normal,
--      string gentle,
--      /* MSG_MULTI */
--      float anncename,
--      float infoname,
--      float centername,
--      /* MSG_CHOICE */
--      float challow_def,
--      float challow_var,
--      float chtype,
--      float optiona,
--      float optionb);
++    float var_default,
++    float var_cvar,
++    float typeid,
++    float nameid,
++    string namestring,
++    float strnum,
++    float flnum,
++    /* MSG_ANNCE */
++    float channel,
++    string snd,
++    float vol,
++    float position,
++    /* MSG_INFO & MSG_CENTER */
++    string args,
++    string hudargs,
++    string icon,
++    float cpid,
++    string durcnt,
++    string normal,
++    string gentle,
++    /* MSG_MULTI */
++    float anncename,
++    float infoname,
++    float centername,
++    /* MSG_CHOICE */
++    float challow_def,
++    float challow_var,
++    float chtype,
++    float optiona,
++    float optionb);
  
  void Dump_Notifications(float fh, float alsoprint);
  
@@@ -82,10 -82,10 +82,10 @@@ void Debug_Notification(string input)
  
  void Local_Notification(float net_type, float net_name, ...count);
  void Local_Notification_WOVA(
--      float net_type, float net_name,
--      float stringcount, float floatcount,
--      string s1, string s2, string s3, string s4,
--      float f1, float f2, float f3, float f4);
++    float net_type, float net_name,
++    float stringcount, float floatcount,
++    string s1, string s2, string s3, string s4,
++    float f1, float f2, float f3, float f4);
  
  #ifdef CSQC // CLIENT ONLY
  void Read_Notification(float is_new);
@@@ -102,23 -102,23 +102,23 @@@ float prev_soundtime
  #define NOTIF_ALL_EXCEPT 6
  
  void Kill_Notification(
--      float broadcast, entity client,
--      float net_type, float net_name);
++    float broadcast, entity client,
++    float net_type, float net_name);
  void Send_Notification(
--      float broadcast, entity client,
--      float net_type, float net_name,
--      ...count);
++    float broadcast, entity client,
++    float net_type, float net_name,
++    ...count);
  void Send_Notification_WOVA(
--      float broadcast, entity client,
--      float net_type, float net_name,
--      float stringcount, float floatcount,
--      string s1, string s2, string s3, string s4,
--      float f1, float f2, float f3, float f4);
++    float broadcast, entity client,
++    float net_type, float net_name,
++    float stringcount, float floatcount,
++    string s1, string s2, string s3, string s4,
++    float f1, float f2, float f3, float f4);
  void Send_Notification_WOCOVA(
--      float broadcast, entity client,
--      float net_type, float net_name,
--      string s1, string s2, string s3, string s4,
--      float f1, float f2, float f3, float f4);
++    float broadcast, entity client,
++    float net_type, float net_name,
++    string s1, string s2, string s3, string s4,
++    float f1, float f2, float f3, float f4);
  #endif
  
  
  */
  
  #define MULTITEAM_ANNCE2(default,prefix,channel,sound,volume,position) \
--      MSG_ANNCE_NOTIF(default, prefix##RED, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_1)), volume, position) \
--      MSG_ANNCE_NOTIF(default, prefix##BLUE, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_2)), volume, position)
++    MSG_ANNCE_NOTIF(default, prefix##RED, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_1)), volume, position) \
++    MSG_ANNCE_NOTIF(default, prefix##BLUE, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_2)), volume, position)
  #define MULTITEAM_ANNCE3(default,prefix,channel,sound,volume,position) \
--      MSG_ANNCE_NOTIF(default, prefix##RED, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_1)), volume, position) \
--      MSG_ANNCE_NOTIF(default, prefix##BLUE, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_2)), volume, position) \
--      MSG_ANNCE_NOTIF(default, prefix##YELLOW, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_3)), volume, position)
++    MSG_ANNCE_NOTIF(default, prefix##RED, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_1)), volume, position) \
++    MSG_ANNCE_NOTIF(default, prefix##BLUE, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_2)), volume, position) \
++    MSG_ANNCE_NOTIF(default, prefix##YELLOW, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_3)), volume, position)
  #define MULTITEAM_ANNCE4(default,prefix,channel,sound,volume,position) \
--      MSG_ANNCE_NOTIF(default, prefix##RED, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_1)), volume, position) \
--      MSG_ANNCE_NOTIF(default, prefix##BLUE, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_2)), volume, position) \
--      MSG_ANNCE_NOTIF(default, prefix##YELLOW, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_3)), volume, position) \
--      MSG_ANNCE_NOTIF(default, prefix##PINK, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_4)), volume, position)
++    MSG_ANNCE_NOTIF(default, prefix##RED, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_1)), volume, position) \
++    MSG_ANNCE_NOTIF(default, prefix##BLUE, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_2)), volume, position) \
++    MSG_ANNCE_NOTIF(default, prefix##YELLOW, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_3)), volume, position) \
++    MSG_ANNCE_NOTIF(default, prefix##PINK, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_4)), volume, position)
  #define MULTITEAM_ANNCE(default,prefix,teams,channel,sound,volume,position) \
--      MULTITEAM_ANNCE##teams(default,prefix,channel,sound,volume,position)
++    MULTITEAM_ANNCE##teams(default,prefix,channel,sound,volume,position)
  
  #define MSG_ANNCE_NOTIFICATIONS \
--      MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_AIRSHOT,       CH_INFO, "airshot",           VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_AMAZING,       CH_INFO, "amazing",           VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_AWESOME,       CH_INFO, "awesome",           VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_BOTLIKE,       CH_INFO, "botlike",           VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_ACHIEVEMENT_ELECTROBITCH,  CH_INFO, "electrobitch",      VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_IMPRESSIVE,    CH_INFO, "impressive",        VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_YODA,          CH_INFO, "yoda",              VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_BEGIN,                     CH_INFO, "begin",             VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_03,             CH_INFO, "03kills",           VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_05,             CH_INFO, "05kills",           VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_10,             CH_INFO, "10kills",           VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_15,             CH_INFO, "15kills",           VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_20,             CH_INFO, "20kills",           VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_25,             CH_INFO, "25kills",           VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_30,             CH_INFO, "30kills",           VOL_BASEVOICE, ATTEN_NONE) \
-       MSG_ANNCE_NOTIF(1, ANNCE_MINSTAGIB_LASTSECOND,      CH_INFO, "lastsecond",        VOL_BASEVOICE, ATTEN_NONE) \
-       MSG_ANNCE_NOTIF(1, ANNCE_MINSTAGIB_NARROWLY,        CH_INFO, "narrowly",          VOL_BASEVOICE, ATTEN_NONE) \
-       MSG_ANNCE_NOTIF(1, ANNCE_MINSTAGIB_TERMINATED,      CH_INFO, "terminated",        VOL_BASEVOICE, ATTEN_NONE) \
 -      MSG_ANNCE_NOTIF(1, ANNCE_INSTAGIB_LASTSECOND,      CH_INFO, "lastsecond",        VOL_BASEVOICE, ATTEN_NONE) \
 -      MSG_ANNCE_NOTIF(1, ANNCE_INSTAGIB_NARROWLY,        CH_INFO, "narrowly",          VOL_BASEVOICE, ATTEN_NONE) \
 -      MSG_ANNCE_NOTIF(1, ANNCE_INSTAGIB_TERMINATED,      CH_INFO, "terminated",        VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_MULTIFRAG,                 CH_INFO, "multifrag",         VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_NUM_1,                     CH_INFO, "1",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_NUM_2,                     CH_INFO, "2",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_NUM_3,                     CH_INFO, "3",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_NUM_4,                     CH_INFO, "4",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_NUM_5,                     CH_INFO, "5",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_NUM_6,                     CH_INFO, "6",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_NUM_7,                     CH_INFO, "7",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_NUM_8,                     CH_INFO, "8",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_NUM_9,                     CH_INFO, "9",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_NUM_10,                    CH_INFO, "10",                VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_NUM_GAMESTART_1,           CH_INFO, "1",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_NUM_GAMESTART_2,           CH_INFO, "2",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_NUM_GAMESTART_3,           CH_INFO, "3",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_NUM_GAMESTART_4,           CH_INFO, "4",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_NUM_GAMESTART_5,           CH_INFO, "5",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_GAMESTART_6,           CH_INFO, "6",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_GAMESTART_7,           CH_INFO, "7",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_GAMESTART_8,           CH_INFO, "8",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_GAMESTART_9,           CH_INFO, "9",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_GAMESTART_10,          CH_INFO, "10",                VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_1,                CH_INFO, "1",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_2,                CH_INFO, "2",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_3,                CH_INFO, "3",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_4,                CH_INFO, "4",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_5,                CH_INFO, "5",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_6,                CH_INFO, "6",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_7,                CH_INFO, "7",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_8,                CH_INFO, "8",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_9,                CH_INFO, "9",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_10,               CH_INFO, "10",                VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_1,                CH_INFO, "1",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_2,                CH_INFO, "2",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_3,                CH_INFO, "3",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_4,                CH_INFO, "4",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_5,                CH_INFO, "5",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_6,                CH_INFO, "6",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_7,                CH_INFO, "7",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_8,                CH_INFO, "8",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_9,                CH_INFO, "9",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_10,               CH_INFO, "10",                VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_1,             CH_INFO, "1",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_2,             CH_INFO, "2",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_3,             CH_INFO, "3",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_4,             CH_INFO, "4",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_5,             CH_INFO, "5",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_6,             CH_INFO, "6",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_7,             CH_INFO, "7",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_8,             CH_INFO, "8",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_9,             CH_INFO, "9",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_10,            CH_INFO, "10",                VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_NUM_ROUNDSTART_1,          CH_INFO, "1",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_NUM_ROUNDSTART_2,          CH_INFO, "2",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_NUM_ROUNDSTART_3,          CH_INFO, "3",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_4,          CH_INFO, "4",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_5,          CH_INFO, "5",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_6,          CH_INFO, "6",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_7,          CH_INFO, "7",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_8,          CH_INFO, "8",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_9,          CH_INFO, "9",                 VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_10,         CH_INFO, "10",                VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_PREPARE,                   CH_INFO, "prepareforbattle",  VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(1, ANNCE_REMAINING_FRAG_1,          CH_INFO, "1fragleft",         VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(1, ANNCE_REMAINING_FRAG_2,          CH_INFO, "2fragsleft",        VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(1, ANNCE_REMAINING_FRAG_3,          CH_INFO, "3fragsleft",        VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_REMAINING_MIN_1,           CH_INFO, "1minuteremains",    VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_REMAINING_MIN_5,           CH_INFO, "5minutesremain",    VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_TIMEOUT,                   CH_INFO, "timeoutcalled",     VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_VOTE_ACCEPT,               CH_INFO, "voteaccept",        VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_VOTE_CALL,                 CH_INFO, "votecall",          VOL_BASEVOICE, ATTEN_NONE) \
--      MSG_ANNCE_NOTIF(2, ANNCE_VOTE_FAIL,                 CH_INFO, "votefail",          VOL_BASEVOICE, ATTEN_NONE)
++    MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_AIRSHOT,       CH_INFO, "airshot",           VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_AMAZING,       CH_INFO, "amazing",           VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_AWESOME,       CH_INFO, "awesome",           VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_BOTLIKE,       CH_INFO, "botlike",           VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_ACHIEVEMENT_ELECTROBITCH,  CH_INFO, "electrobitch",      VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_IMPRESSIVE,    CH_INFO, "impressive",        VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_YODA,          CH_INFO, "yoda",              VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_BEGIN,                     CH_INFO, "begin",             VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_03,             CH_INFO, "03kills",           VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_05,             CH_INFO, "05kills",           VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_10,             CH_INFO, "10kills",           VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_15,             CH_INFO, "15kills",           VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_20,             CH_INFO, "20kills",           VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_25,             CH_INFO, "25kills",           VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_30,             CH_INFO, "30kills",           VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(1, ANNCE_INSTAGIB_LASTSECOND,      CH_INFO, "lastsecond",        VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(1, ANNCE_INSTAGIB_NARROWLY,        CH_INFO, "narrowly",          VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(1, ANNCE_INSTAGIB_TERMINATED,      CH_INFO, "terminated",        VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_MULTIFRAG,                 CH_INFO, "multifrag",         VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_NUM_1,                     CH_INFO, "1",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_NUM_2,                     CH_INFO, "2",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_NUM_3,                     CH_INFO, "3",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_NUM_4,                     CH_INFO, "4",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_NUM_5,                     CH_INFO, "5",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_NUM_6,                     CH_INFO, "6",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_NUM_7,                     CH_INFO, "7",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_NUM_8,                     CH_INFO, "8",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_NUM_9,                     CH_INFO, "9",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_NUM_10,                    CH_INFO, "10",                VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_NUM_GAMESTART_1,           CH_INFO, "1",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_NUM_GAMESTART_2,           CH_INFO, "2",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_NUM_GAMESTART_3,           CH_INFO, "3",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_NUM_GAMESTART_4,           CH_INFO, "4",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_NUM_GAMESTART_5,           CH_INFO, "5",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_GAMESTART_6,           CH_INFO, "6",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_GAMESTART_7,           CH_INFO, "7",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_GAMESTART_8,           CH_INFO, "8",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_GAMESTART_9,           CH_INFO, "9",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_GAMESTART_10,          CH_INFO, "10",                VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_1,                CH_INFO, "1",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_2,                CH_INFO, "2",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_3,                CH_INFO, "3",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_4,                CH_INFO, "4",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_5,                CH_INFO, "5",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_6,                CH_INFO, "6",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_7,                CH_INFO, "7",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_8,                CH_INFO, "8",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_9,                CH_INFO, "9",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_10,               CH_INFO, "10",                VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_1,                CH_INFO, "1",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_2,                CH_INFO, "2",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_3,                CH_INFO, "3",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_4,                CH_INFO, "4",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_5,                CH_INFO, "5",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_6,                CH_INFO, "6",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_7,                CH_INFO, "7",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_8,                CH_INFO, "8",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_9,                CH_INFO, "9",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_10,               CH_INFO, "10",                VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_1,             CH_INFO, "1",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_2,             CH_INFO, "2",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_3,             CH_INFO, "3",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_4,             CH_INFO, "4",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_5,             CH_INFO, "5",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_6,             CH_INFO, "6",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_7,             CH_INFO, "7",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_8,             CH_INFO, "8",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_9,             CH_INFO, "9",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_10,            CH_INFO, "10",                VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_NUM_ROUNDSTART_1,          CH_INFO, "1",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_NUM_ROUNDSTART_2,          CH_INFO, "2",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_NUM_ROUNDSTART_3,          CH_INFO, "3",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_4,          CH_INFO, "4",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_5,          CH_INFO, "5",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_6,          CH_INFO, "6",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_7,          CH_INFO, "7",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_8,          CH_INFO, "8",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_9,          CH_INFO, "9",                 VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_10,         CH_INFO, "10",                VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_PREPARE,                   CH_INFO, "prepareforbattle",  VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(1, ANNCE_REMAINING_FRAG_1,          CH_INFO, "1fragleft",         VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(1, ANNCE_REMAINING_FRAG_2,          CH_INFO, "2fragsleft",        VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(1, ANNCE_REMAINING_FRAG_3,          CH_INFO, "3fragsleft",        VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_REMAINING_MIN_1,           CH_INFO, "1minuteremains",    VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_REMAINING_MIN_5,           CH_INFO, "5minutesremain",    VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_TIMEOUT,                   CH_INFO, "timeoutcalled",     VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_VOTE_ACCEPT,               CH_INFO, "voteaccept",        VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_VOTE_CALL,                 CH_INFO, "votecall",          VOL_BASEVOICE, ATTEN_NONE) \
++    MSG_ANNCE_NOTIF(2, ANNCE_VOTE_FAIL,                 CH_INFO, "votefail",          VOL_BASEVOICE, ATTEN_NONE)
  
  #define MULTITEAM_INFO2(default,prefix,strnum,flnum,args,hudargs,icon,normal,gentle) \
--      MSG_INFO_NOTIF(default, prefix##RED, strnum, flnum, args, hudargs, sprintf(icon, strtolower(STATIC_NAME_TEAM_1)), TCR(normal, COL_TEAM_1, strtoupper(NAME_TEAM_1)), TCR(gentle, COL_TEAM_1, strtoupper(NAME_TEAM_1))) \
--      MSG_INFO_NOTIF(default, prefix##BLUE, strnum, flnum, args, hudargs, sprintf(icon, strtolower(STATIC_NAME_TEAM_2)), TCR(normal, COL_TEAM_2, strtoupper(NAME_TEAM_2)), TCR(gentle, COL_TEAM_2, strtoupper(NAME_TEAM_2)))
++    MSG_INFO_NOTIF(default, prefix##RED, strnum, flnum, args, hudargs, sprintf(icon, strtolower(STATIC_NAME_TEAM_1)), TCR(normal, COL_TEAM_1, strtoupper(NAME_TEAM_1)), TCR(gentle, COL_TEAM_1, strtoupper(NAME_TEAM_1))) \
++    MSG_INFO_NOTIF(default, prefix##BLUE, strnum, flnum, args, hudargs, sprintf(icon, strtolower(STATIC_NAME_TEAM_2)), TCR(normal, COL_TEAM_2, strtoupper(NAME_TEAM_2)), TCR(gentle, COL_TEAM_2, strtoupper(NAME_TEAM_2)))
  #define MULTITEAM_INFO3(default,prefix,strnum,flnum,args,hudargs,icon,normal,gentle) \
--      MSG_INFO_NOTIF(default, prefix##RED, strnum, flnum, args, hudargs, sprintf(icon, strtolower(STATIC_NAME_TEAM_1)), TCR(normal, COL_TEAM_1, strtoupper(NAME_TEAM_1)), TCR(gentle, COL_TEAM_1, strtoupper(NAME_TEAM_1))) \
--      MSG_INFO_NOTIF(default, prefix##BLUE, strnum, flnum, args, hudargs, sprintf(icon, strtolower(STATIC_NAME_TEAM_2)), TCR(normal, COL_TEAM_2, strtoupper(NAME_TEAM_2)), TCR(gentle, COL_TEAM_2, strtoupper(NAME_TEAM_2))) \
--      MSG_INFO_NOTIF(default, prefix##YELLOW, strnum, flnum, args, hudargs, sprintf(icon, strtolower(STATIC_NAME_TEAM_3)), TCR(normal, COL_TEAM_3, strtoupper(NAME_TEAM_3)), TCR(gentle, COL_TEAM_3, strtoupper(NAME_TEAM_3)))
++    MSG_INFO_NOTIF(default, prefix##RED, strnum, flnum, args, hudargs, sprintf(icon, strtolower(STATIC_NAME_TEAM_1)), TCR(normal, COL_TEAM_1, strtoupper(NAME_TEAM_1)), TCR(gentle, COL_TEAM_1, strtoupper(NAME_TEAM_1))) \
++    MSG_INFO_NOTIF(default, prefix##BLUE, strnum, flnum, args, hudargs, sprintf(icon, strtolower(STATIC_NAME_TEAM_2)), TCR(normal, COL_TEAM_2, strtoupper(NAME_TEAM_2)), TCR(gentle, COL_TEAM_2, strtoupper(NAME_TEAM_2))) \
++    MSG_INFO_NOTIF(default, prefix##YELLOW, strnum, flnum, args, hudargs, sprintf(icon, strtolower(STATIC_NAME_TEAM_3)), TCR(normal, COL_TEAM_3, strtoupper(NAME_TEAM_3)), TCR(gentle, COL_TEAM_3, strtoupper(NAME_TEAM_3)))
  #define MULTITEAM_INFO4(default,prefix,strnum,flnum,args,hudargs,icon,normal,gentle) \
--      MSG_INFO_NOTIF(default, prefix##RED, strnum, flnum, args, hudargs, sprintf(icon, strtolower(STATIC_NAME_TEAM_1)), TCR(normal, COL_TEAM_1, strtoupper(NAME_TEAM_1)), TCR(gentle, COL_TEAM_1, strtoupper(NAME_TEAM_1))) \
--      MSG_INFO_NOTIF(default, prefix##BLUE, strnum, flnum, args, hudargs, sprintf(icon, strtolower(STATIC_NAME_TEAM_2)), TCR(normal, COL_TEAM_2, strtoupper(NAME_TEAM_2)), TCR(gentle, COL_TEAM_2, strtoupper(NAME_TEAM_2))) \
--      MSG_INFO_NOTIF(default, prefix##YELLOW, strnum, flnum, args, hudargs, sprintf(icon, strtolower(STATIC_NAME_TEAM_3)), TCR(normal, COL_TEAM_3, strtoupper(NAME_TEAM_3)), TCR(gentle, COL_TEAM_3, strtoupper(NAME_TEAM_3))) \
--      MSG_INFO_NOTIF(default, prefix##PINK, strnum, flnum, args, hudargs, sprintf(icon, strtolower(STATIC_NAME_TEAM_4)), TCR(normal, COL_TEAM_4, strtoupper(NAME_TEAM_4)), TCR(gentle, COL_TEAM_4, strtoupper(NAME_TEAM_4)))
++    MSG_INFO_NOTIF(default, prefix##RED, strnum, flnum, args, hudargs, sprintf(icon, strtolower(STATIC_NAME_TEAM_1)), TCR(normal, COL_TEAM_1, strtoupper(NAME_TEAM_1)), TCR(gentle, COL_TEAM_1, strtoupper(NAME_TEAM_1))) \
++    MSG_INFO_NOTIF(default, prefix##BLUE, strnum, flnum, args, hudargs, sprintf(icon, strtolower(STATIC_NAME_TEAM_2)), TCR(normal, COL_TEAM_2, strtoupper(NAME_TEAM_2)), TCR(gentle, COL_TEAM_2, strtoupper(NAME_TEAM_2))) \
++    MSG_INFO_NOTIF(default, prefix##YELLOW, strnum, flnum, args, hudargs, sprintf(icon, strtolower(STATIC_NAME_TEAM_3)), TCR(normal, COL_TEAM_3, strtoupper(NAME_TEAM_3)), TCR(gentle, COL_TEAM_3, strtoupper(NAME_TEAM_3))) \
++    MSG_INFO_NOTIF(default, prefix##PINK, strnum, flnum, args, hudargs, sprintf(icon, strtolower(STATIC_NAME_TEAM_4)), TCR(normal, COL_TEAM_4, strtoupper(NAME_TEAM_4)), TCR(gentle, COL_TEAM_4, strtoupper(NAME_TEAM_4)))
  #define MULTITEAM_INFO(default,prefix,teams,strnum,flnum,args,hudargs,icon,normal,gentle) \
--      MULTITEAM_INFO##teams(default,prefix,strnum,flnum,args,hudargs,icon,normal,gentle)
++    MULTITEAM_INFO##teams(default,prefix,strnum,flnum,args,hudargs,icon,normal,gentle)
  
  #define MSG_INFO_NOTIFICATIONS \
--      MSG_INFO_NOTIF(2, INFO_CHAT_NOSPECTATORS,              0, 0, "", "",                            "",                     _("^F4NOTE: ^BGSpectator chat is not sent to players during the match"), "") \
--      MULTITEAM_INFO(1, INFO_CTF_CAPTURE_, 2,                1, 0, "s1", "s1",                        "notify_%s_captured",   _("^BG%s^BG captured the ^TC^TT^BG flag"), "") \
--      MULTITEAM_INFO(1, INFO_CTF_CAPTURE_BROKEN_, 2,         2, 2, "s1 f1p2dec s2 f2p2dec", "s1",     "notify_%s_captured",   _("^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds, breaking ^BG%s^BG's previous record of ^F2%s^BG seconds"), "") \
--      MULTITEAM_INFO(1, INFO_CTF_CAPTURE_TIME_, 2,           1, 1, "s1 f1p2dec", "s1",                "notify_%s_captured",   _("^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"), "") \
--      MULTITEAM_INFO(1, INFO_CTF_CAPTURE_UNBROKEN_, 2,       2, 2, "s1 f1p2dec s2 f2p2dec", "s1",     "notify_%s_captured",   _("^BG%s^BG captured the ^TC^TT^BG flag in ^F2%s^BG seconds, failing to break ^BG%s^BG's previous record of ^F1%s^BG seconds"), "") \
--      MULTITEAM_INFO(1, INFO_CTF_FLAGRETURN_ABORTRUN_, 2,    0, 0, "", "",                            "",                     _("^BGThe ^TC^TT^BG flag was returned to base by its owner"), "") \
--      MULTITEAM_INFO(1, INFO_CTF_FLAGRETURN_DAMAGED_, 2,     0, 0, "", "",                            "",                     _("^BGThe ^TC^TT^BG flag was destroyed and returned to base"), "") \
--      MULTITEAM_INFO(1, INFO_CTF_FLAGRETURN_DROPPED_, 2,     0, 0, "", "",                            "",                     _("^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"), "") \
--      MULTITEAM_INFO(1, INFO_CTF_FLAGRETURN_NEEDKILL_, 2,    0, 0, "", "",                            "",                     _("^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to base"), "") \
--      MULTITEAM_INFO(1, INFO_CTF_FLAGRETURN_SPEEDRUN_, 2,    0, 1, "f1p2dec", "",                     "",                     _("^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned itself"), "") \
--      MULTITEAM_INFO(1, INFO_CTF_FLAGRETURN_TIMEOUT_, 2,     0, 0, "", "",                            "",                     _("^BGThe ^TC^TT^BG flag has returned to the base"), "") \
--      MULTITEAM_INFO(1, INFO_CTF_LOST_, 2,                   1, 0, "s1", "s1",                        "notify_%s_lost",       _("^BG%s^BG lost the ^TC^TT^BG flag"), "") \
--      MULTITEAM_INFO(1, INFO_CTF_PICKUP_, 2,                 1, 0, "s1", "s1",                        "notify_%s_taken",      _("^BG%s^BG got the ^TC^TT^BG flag"), "") \
--      MULTITEAM_INFO(1, INFO_CTF_RETURN_, 2,                 1, 0, "s1", "s1",                        "notify_%s_returned",   _("^BG%s^BG returned the ^TC^TT^BG flag"), "") \
--      MULTITEAM_INFO(1, INFO_CTF_RETURN_MONSTER_, 2,         1, 0, "s1", "s1",                        "notify_%s_returned",   _("^BG%s^BG returned the ^TC^TT^BG flag"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_CHEAT,             3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_DROWN,             3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_water",         _("^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_FALL,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_fall",          _("^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_FIRE,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"), _("^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s")) \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_LAVA,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_lava",          _("^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_MONSTER,           3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"), "") \
-       MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_NADE,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_NADE,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_nade",          _("^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_NADE_NAPALM,       3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_nade_napalm",   _("^BG%s%s^K1 was burned to death by ^BG%s^K1's Napalm Nade%s%s"), _("^BG%s%s^K1 got too close to a napalm explosion%s%s")) \
 -      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_NADE_ICE,          3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_nade_ice",      _("^BG%s%s^K1 was blown up by ^BG%s^K1's Ice Nade%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_NADE_ICE_FREEZE,   3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_nade_ice",      _("^BG%s%s^K1 was frozen to death by ^BG%s^K1's Ice Nade%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_NADE_HEAL,         3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_nade_heal",     _("^BG%s%s^K1 has not been healed by ^BG%s^K1's Healing Nade%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_SHOOTING_STAR,     3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_shootingstar",  _("^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_SLIME,             3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_slime",         _("^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_SWAMP,             3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_slime",         _("^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_TELEFRAG,          3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_telefrag",      _("^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"), _("^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s")) \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_TOUCHEXPLODE,      3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_BUMB_DEATH,     3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_BUMB_GUN,       3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_CRUSH,          3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_RAPT_BOMB,      3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_RAPT_CANNON,    3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_RAPT_DEATH,     3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_SPID_DEATH,     3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_SPID_MINIGUN,   3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_SPID_ROCKET,    3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_WAKI_DEATH,     3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_WAKI_GUN,       3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_WAKI_ROCKET,    3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VENGEANCE,         3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 was destroyed by the vengeful ^BG%s^K1%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VOID,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_void",          _("^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_AUTOTEAMCHANGE,      2, 1, "s1 s2loc death_team", "",         "",                     _("^BG%s^K1 was moved into the %s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_BETRAYAL,            2, 1, "s1 s2loc spree_lost", "s1",       "notify_teamkill_red",  _("^BG%s^K1 became enemies with the Lord of Teamplay%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_CAMP,                2, 1, "s1 s2loc spree_lost", "s1",       "notify_camping",       _("^BG%s^K1 thought they found a nice camping ground%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_CHEAT,               2, 1, "s1 s2loc spree_lost", "s1",       "notify_selfkill",      _("^BG%s^K1 unfairly eliminated themself%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_CUSTOM,              3, 1, "s1 s2 s3loc spree_lost", "s1",    "notify_void",          _("^BG%s^K1 %s^K1%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_DROWN,               2, 1, "s1 s2loc spree_lost", "s1",       "notify_water",         _("^BG%s^K1 couldn't catch their breath%s%s"), _("^BG%s^K1 was in the water for too long%s%s")) \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_FALL,                2, 1, "s1 s2loc spree_lost", "s1",       "notify_fall",          _("^BG%s^K1 hit the ground with a crunch%s%s"), _("^BG%s^K1 hit the ground with a bit too much force%s%s")) \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_FIRE,                2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 became a bit too crispy%s%s"), _("^BG%s^K1 felt a little hot%s%s")) \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_GENERIC,             2, 1, "s1 s2loc spree_lost", "s1",       "notify_selfkill",      _("^BG%s^K1 died%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_LAVA,                2, 1, "s1 s2loc spree_lost", "s1",       "notify_lava",          _("^BG%s^K1 turned into hot slag%s%s"), _("^BG%s^K1 found a hot place%s%s")) \
-       MSG_INFO_NOTIF(1, INFO_DEATH_SELF_NADE,                2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 mastered the art of self-nading%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_MON_MAGE,                2, 1, "s1 s2loc spree_lost", "s1",           "notify_death",                 _("^BG%s^K1 was exploded by a Mage%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_MON_SHAMBLER_CLAW,   2, 1, "s1 s2loc spree_lost", "s1",               "notify_death",                 _("^BG%s^K1's innards became outwards by a Shambler%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_MON_SHAMBLER_SMASH,  2, 1, "s1 s2loc spree_lost", "s1",               "notify_death",                 _("^BG%s^K1 was smashed by a Shambler%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_MON_SHAMBLER_ZAP,    2, 1, "s1 s2loc spree_lost", "s1",               "notify_death",                 _("^BG%s^K1 was zapped to death by a Shambler%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_MON_SPIDER,              2, 1, "s1 s2loc spree_lost", "s1",           "notify_death",                 _("^BG%s^K1 was bitten by a Spider%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_MON_WYVERN,          2, 1, "s1 s2loc spree_lost", "s1",               "notify_death",                 _("^BG%s^K1 was fireballed by a Wyvern%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_MON_ZOMBIE_JUMP,     2, 1, "s1 s2loc spree_lost", "s1",               "notify_death",                 _("^BG%s^K1 joins the Zombies%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_MON_ZOMBIE_MELEE,    2, 1, "s1 s2loc spree_lost", "s1",               "notify_death",                 _("^BG%s^K1 was given kung fu lessons by a Zombie%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_NADE,                2, 1, "s1 s2loc spree_lost", "s1",       "notify_nade",          _("^BG%s^K1 mastered the art of self-nading%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_NADE_NAPALM,         2, 1, "s1 s2loc spree_lost", "s1",       "notify_nade_napalm",   _("^BG%s^K1 was burned to death by their own Napalm Nade%s%s"), _("^BG%s^K1 decided to take a look at the results of their napalm explosion%s%s")) \
 -      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_NADE_ICE,            2, 1, "s1 s2loc spree_lost", "s1",       "notify_nade_ice",      _("^BG%s^K1 mastered the art of self-nading%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_NADE_ICE_FREEZE,     2, 1, "s1 s2loc spree_lost", "s1",       "notify_nade_ice",      _("^BG%s^K1 was frozen to death by their own Ice Nade%s%s"), _("^BG%s^K1 felt a little chilly%s%s")) \
 -      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_NADE_HEAL,           2, 1, "s1 s2loc spree_lost", "s1",       "notify_nade_heal",     _("^BG%s^K1's Healing Nade didn't quite heal them%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_NOAMMO,              2, 1, "s1 s2loc spree_lost", "s1",       "notify_outofammo",     _("^BG%s^K1 died%s%s. What's the point of living without ammo?"), _("^BG%s^K1 ran out of ammo%s%s")) \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_ROT,                 2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 rotted away%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_SHOOTING_STAR,       2, 1, "s1 s2loc spree_lost", "s1",       "notify_shootingstar",  _("^BG%s^K1 became a shooting star%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_SLIME,               2, 1, "s1 s2loc spree_lost", "s1",       "notify_slime",         _("^BG%s^K1 was slimed%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_SUICIDE,             2, 1, "s1 s2loc spree_lost", "s1",       "notify_selfkill",      _("^BG%s^K1 couldn't take it anymore%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_SWAMP,               2, 1, "s1 s2loc spree_lost", "s1",       "notify_slime",         _("^BG%s^K1 is now preserved for centuries to come%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TEAMCHANGE,          2, 1, "s1 s2loc death_team", "",         "",                     _("^BG%s^K1 switched to the %s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TOUCHEXPLODE,        2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 died in an accident%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET,              2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 ran into a turret%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_EWHEEL,       2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was blasted away by an eWheel turret%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_FLAC,         2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 got caught up in the FLAC turret fire%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_HELLION,      2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was blasted away by a Hellion turret%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_HK,           2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 could not hide from the Hunter turret%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_MACHINEGUN,   2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_MLRS,         2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_PHASER,       2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was phased out by a turret%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_PLASMA,       2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 got served some superheated plasma from a turret%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_TESLA,        2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was electrocuted by a Tesla turret%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_WALK_GUN,     2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_WALK_MEELE,   2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was impaled by a Walker turret%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_WALK_ROCKET,  2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was blasted away by a Walker turret%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_VH_BUMB_DEATH,       2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_VH_CRUSH,            2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was crushed by a vehicle%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_VH_RAPT_BOMB,        2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was caught in a Raptor cluster bomb%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_VH_RAPT_DEATH,       2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_VH_SPID_DEATH,       2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_VH_SPID_ROCKET,      2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_VH_WAKI_DEATH,       2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 got caught in the blast of a Racer explosion%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_VH_WAKI_ROCKET,      2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_DEATH_SELF_VOID,                2, 1, "s1 s2loc spree_lost", "s1",       "notify_void",          _("^BG%s^K1 was in the wrong place%s%s"), "") \
--      MULTITEAM_INFO(1, INFO_DEATH_TEAMKILL_, 4,             3, 1, "s1 s2 s3loc spree_end", "s2 s1",  "notify_teamkill_%s",   _("^BG%s^K1 was betrayed by ^BG%s^K1%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_CA_JOIN_LATE,                   0, 0, "", "",                            "",                     _("^F1Round already started, you will join the game in the next round"), "") \
 -      MSG_INFO_NOTIF(1, INFO_CA_LEAVE,                       0, 0, "", "",                            "",                     _("^F2You will spectate in the next round"), "") \
 -      MSG_INFO_NOTIF(1, INFO_DOMINATION_CAPTURE_TIME,        2, 2, "s1 s2 f1 f2", "",                 "",                     _("^BG%s^BG%s^BG (%s points every %s seconds)"), "") \
--      MSG_INFO_NOTIF(1, INFO_FREEZETAG_FREEZE,               2, 0, "s1 s2", "",                       "",                     _("^BG%s^K1 was frozen by ^BG%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_FREEZETAG_REVIVED,              2, 0, "s1 s2", "",                       "",                     _("^BG%s^K3 was revived by ^BG%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_FREEZETAG_REVIVED_FALL,         1, 0, "s1", "",                          "",                     _("^BG%s^K3 was revived by falling"), "") \
 -      MSG_INFO_NOTIF(1, INFO_FREEZETAG_REVIVED_NADE,         1, 0, "s1", "",                          "",                     _("^BG%s^K3 was revived by their Nade explosion"), "") \
--      MSG_INFO_NOTIF(1, INFO_FREEZETAG_AUTO_REVIVED,         1, 1, "s1 f1", "",                       "",                     _("^BG%s^K3 was automatically revived after %s second(s)"), "") \
--      MULTITEAM_INFO(1, INFO_ROUND_TEAM_WIN_, 4,             0, 0, "", "",                            "",                     _("^TC^TT^BG team wins the round"), "") \
--      MSG_INFO_NOTIF(1, INFO_ROUND_PLAYER_WIN,               1, 0, "s1", "",                          "",                     _("^BG%s^BG wins the round"), "") \
--      MSG_INFO_NOTIF(1, INFO_ROUND_TIED,                     0, 0, "", "",                            "",                     _("^BGRound tied"), "") \
--      MSG_INFO_NOTIF(1, INFO_ROUND_OVER,                     0, 0, "", "",                            "",                     _("^BGRound over, there's no winner"), "") \
--      MSG_INFO_NOTIF(1, INFO_FREEZETAG_SELF,                 1, 0, "s1", "",                          "",                     _("^BG%s^K1 froze themself"), "") \
--      MSG_INFO_NOTIF(1, INFO_GODMODE_OFF,                    0, 1, "f1", "",                          "",                     _("^BGGodmode saved you %s units of damage, cheater!"), "") \
 -      MSG_INFO_NOTIF(1, INFO_ITEM_BUFF,                      1, 1, "s1 item_buffname", "",            "",                     _("^BG%s^BG got the %s^BG Buff!"), "") \
 -      MSG_INFO_NOTIF(1, INFO_ITEM_BUFF_LOST,                 1, 1, "s1 item_buffname", "",            "",                     _("^BG%s^BG lost the %s^BG Buff!"), "") \
 -      MSG_INFO_NOTIF(1, INFO_ITEM_BUFF_DROP,                 0, 1, "item_buffname", "",               "",                     _("^BGYou dropped the %s^BG Buff!"), "") \
 -      MSG_INFO_NOTIF(1, INFO_ITEM_BUFF_GOT,                  0, 1, "item_buffname", "",               "",                     _("^BGYou got the %s^BG Buff!"), "") \
--      MSG_INFO_NOTIF(0, INFO_ITEM_WEAPON_DONTHAVE,           0, 1, "item_wepname", "",                      "",               _("^BGYou do not have the ^F1%s"), "") \
--      MSG_INFO_NOTIF(0, INFO_ITEM_WEAPON_DROP,               1, 1, "item_wepname item_wepammo", "",         "",               _("^BGYou dropped the ^F1%s^BG%s"), "") \
--      MSG_INFO_NOTIF(0, INFO_ITEM_WEAPON_GOT,                0, 1, "item_wepname", "",                      "",               _("^BGYou got the ^F1%s"), "") \
--      MSG_INFO_NOTIF(0, INFO_ITEM_WEAPON_NOAMMO,             0, 1, "item_wepname", "",                      "",               _("^BGYou don't have enough ammo for the ^F1%s"), "") \
--      MSG_INFO_NOTIF(0, INFO_ITEM_WEAPON_PRIMORSEC,          0, 3, "item_wepname f2primsec f3primsec", "",  "",               _("^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"), "") \
--      MSG_INFO_NOTIF(0, INFO_ITEM_WEAPON_UNAVAILABLE,        0, 1, "item_wepname", "",                      "",               _("^F1%s^BG is ^F4not available^BG on this map"), "") \
--      MSG_INFO_NOTIF(2, INFO_JOIN_CONNECT,                   1, 0, "s1", "",                          "",                     _("^BG%s^F3 connected%s"), "") \
--      MULTITEAM_INFO(2, INFO_JOIN_CONNECT_TEAM_, 4,          1, 0, "s1", "",                          "",                     _("^BG%s^F3 connected and joined the ^TC^TT team"), "") \
--      MSG_INFO_NOTIF(1, INFO_JOIN_PLAY,                      1, 0, "s1", "",                          "",                     _("^BG%s^F3 is now playing"), "") \
--      MSG_INFO_NOTIF(1, INFO_KEEPAWAY_DROPPED,               1, 0, "s1", "s1",                        "notify_balldropped",   _("^BG%s^BG has dropped the ball!"), "") \
--      MSG_INFO_NOTIF(1, INFO_KEEPAWAY_PICKUP,                1, 0, "s1", "s1",                        "notify_ballpickedup",  _("^BG%s^BG has picked up the ball!"), "") \
--      MULTITEAM_INFO(1, INFO_KEYHUNT_CAPTURE_, 4,            1, 0, "s1", "",                          "",                     _("^BG%s^BG captured the keys for the ^TC^TT team"), "") \
--      MULTITEAM_INFO(1, INFO_KEYHUNT_DROP_, 4,               1, 0, "s1", "",                          "",                     _("^BG%s^BG dropped the ^TC^TT Key"), "") \
--      MULTITEAM_INFO(1, INFO_KEYHUNT_LOST_, 4,               1, 0, "s1", "",                          "",                     _("^BG%s^BG lost the ^TC^TT Key"), "") \
--      MULTITEAM_INFO(1, INFO_KEYHUNT_PICKUP_, 4,             1, 0, "s1", "",                          "",                     _("^BG%s^BG picked up the ^TC^TT Key"), "") \
--      MSG_INFO_NOTIF(1, INFO_LMS_FORFEIT,                    1, 0, "s1", "",                          "",                     _("^BG%s^F3 forfeited"), "") \
--      MSG_INFO_NOTIF(1, INFO_LMS_NOLIVES,                    1, 0, "s1", "",                          "",                     _("^BG%s^F3 has no more lives left"), "") \
--      MSG_INFO_NOTIF(1, INFO_MONSTERS_DISABLED,              0, 0, "", "",                            "",                     _("^BGMonsters are currently disabled"), "") \
--      MSG_INFO_NOTIF(1, INFO_POWERUP_INVISIBILITY,           1, 0, "s1", "s1",                        "strength",             _("^BG%s^K1 picked up Invisibility"), "") \
--      MSG_INFO_NOTIF(1, INFO_POWERUP_SHIELD,                 1, 0, "s1", "s1",                        "shield",               _("^BG%s^K1 picked up Shield"), "") \
--      MSG_INFO_NOTIF(1, INFO_POWERUP_SPEED,                  1, 0, "s1", "s1",                        "shield",               _("^BG%s^K1 picked up Speed"), "") \
--      MSG_INFO_NOTIF(1, INFO_POWERUP_STRENGTH,               1, 0, "s1", "s1",                        "strength",             _("^BG%s^K1 picked up Strength"), "") \
--      MSG_INFO_NOTIF(2, INFO_QUIT_DISCONNECT,                1, 0, "s1", "",                          "",                     _("^BG%s^F3 disconnected"), "") \
--      MSG_INFO_NOTIF(2, INFO_QUIT_KICK_IDLING,               1, 0, "s1", "",                          "",                     _("^BG%s^F3 was kicked for idling"), "") \
--      MSG_INFO_NOTIF(1, INFO_QUIT_KICK_SPECTATING,           0, 0, "", "",                            "",                     _("^F2You were kicked from the server because you are a spectator and spectators aren't allowed at the moment."), "") \
--      MSG_INFO_NOTIF(1, INFO_QUIT_SPECTATE,                  1, 0, "s1", "",                          "",                     _("^BG%s^F3 is now spectating"), "") \
--      MSG_INFO_NOTIF(1, INFO_RACE_ABANDONED,                 1, 0, "s1", "",                                                                    "",                      _("^BG%s^BG has abandoned the race"), "") \
--      MSG_INFO_NOTIF(1, INFO_RACE_FAIL_RANKED,               1, 3, "s1 race_col f1ord race_col f3race_time race_diff", "s1 f3race_time",        "race_newfail",          _("^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"), "") \
--      MSG_INFO_NOTIF(1, INFO_RACE_FAIL_UNRANKED,             1, 3, "s1 race_col f1ord race_col f3race_time race_diff", "s1 f3race_time",        "race_newfail",          _("^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"), "") \
--      MSG_INFO_NOTIF(1, INFO_RACE_FINISHED,                  1, 0, "s1", "",                                                                    "",                      _("^BG%s^BG has finished the race"), "") \
--      MSG_INFO_NOTIF(1, INFO_RACE_NEW_BROKEN,                2, 3, "s1 s2 race_col f1ord race_col f2race_time race_diff", "s1 f2race_time",     "race_newrankyellow",    _("^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"), "") \
--      MSG_INFO_NOTIF(1, INFO_RACE_NEW_IMPROVED,              1, 3, "s1 race_col f1ord race_col f2race_time race_diff", "s1 f2race_time",        "race_newtime",          _("^BG%s^BG improved their %s%s^BG place record with %s%s %s"), "") \
--      MSG_INFO_NOTIF(1, INFO_RACE_NEW_MISSING_UID,           1, 1, "s1 f1race_time", "s1 f1race_time",                                          "race_newfail",          _("^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID and will be lost."), "") \
--      MSG_INFO_NOTIF(1, INFO_RACE_NEW_SET,                   1, 2, "s1 race_col f1ord race_col f2race_time", "s1 f2race_time",                  "race_newrecordserver",  _("^BG%s^BG set the %s%s^BG place record with %s%s"), "") \
--      MULTITEAM_INFO(1, INFO_SCORES_, 4,                     0, 0, "", "",                            "",                     _("^TC^TT ^BGteam scores!"), "") \
--      MSG_INFO_NOTIF(1, INFO_SPECTATE_WARNING,               0, 1, "f1secs", "",                      "",                     _("^F2You have to become a player within the next %s, otherwise you will be kicked, because spectating isn't allowed at this time!"), "") \
-       MSG_INFO_NOTIF(1, INFO_SUPERWEAPON_PICKUP,             1, 0, "s1", "s1",                        "strength",             _("^BG%s^K1 picked up a Superweapon"), "") \
 -      MSG_INFO_NOTIF(1, INFO_SUPERWEAPON_PICKUP,             1, 0, "s1", "s1",                        "superweapons",         _("^BG%s^K1 picked up a Superweapon"), "") \
 -      MSG_INFO_NOTIF(1, INFO_TEAMCHANGE_LARGERTEAM,          0, 0, "", "",                            "",                     _("^BGYou cannot change to a larger team"), "") \
 -      MSG_INFO_NOTIF(1, INFO_TEAMCHANGE_NOTALLOWED,          0, 0, "", "",                            "",                     _("^BGYou are not allowed to change teams"), "") \
--      MSG_INFO_NOTIF(2, INFO_VERSION_BETA,                   2, 0, "s1 s2", "",                       "",                     _("^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have ^F2Xonotic %s"), "") \
--      MSG_INFO_NOTIF(2, INFO_VERSION_OLD,                    2, 0, "s1 s2", "",                       "",                     _("^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"), "") \
--      MSG_INFO_NOTIF(2, INFO_VERSION_OUTDATED,               2, 0, "s1 s2", "",                       "",                     _("^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get the update from ^F3http://www.xonotic.org/^BG!"), "") \
--      MSG_INFO_NOTIF(1, INFO_WATERMARK,                      1, 0, "s1", "",                          "",                     _("^F3SVQC Build information: ^F4%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_ACCORDEON_MURDER,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weapontuba",             _("^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_ACCORDEON_SUICIDE,             2, 1, "s1 s2loc spree_lost", "s1",                 "weapontuba",             _("^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_WEAPON_ARC_MURDER,                    3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponhlac",             _("^BG%s%s^K1 was electrocuted by ^BG%s^K1's Arc%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_WEAPON_BLASTER_MURDER,                3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponlaser",            _("^BG%s%s^K1 was shot to death by ^BG%s^K1's Blaster%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_WEAPON_BLASTER_SUICIDE,               2, 1, "s1 s2loc spree_lost", "s1",                 "weaponlaser",            _("^BG%s^K1 shot themself to hell with their Blaster%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_CRYLINK_MURDER,                3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponcrylink",          _("^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_CRYLINK_SUICIDE,               2, 1, "s1 s2loc spree_lost", "s1",                 "weaponcrylink",          _("^BG%s^K1 felt the strong pull of their Crylink%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_WEAPON_DEVASTATOR_MURDER_DIRECT,      3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponrocketlauncher",   _("^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_WEAPON_DEVASTATOR_MURDER_SPLASH,      3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponrocketlauncher",   _("^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_WEAPON_DEVASTATOR_SUICIDE,            2, 1, "s1 s2loc spree_lost", "s1",                 "weaponrocketlauncher",   _("^BG%s^K1 blew themself up with their Devastator%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_ELECTRO_MURDER_BOLT,           3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponelectro",          _("^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_ELECTRO_MURDER_COMBO,          3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponelectro",          _("^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"), "") \
-       MSG_INFO_NOTIF(1, INFO_WEAPON_ELECTRO_MURDER_ORBS,           3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponelectro",          _("^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"), "") \
-       MSG_INFO_NOTIF(1, INFO_WEAPON_ELECTRO_SUICIDE_BOLT,          2, 1, "s1 s2loc spree_lost", "s1",                 "weaponelectro",          _("^BG%s^K1 played with Electro plasma%s%s"), "") \
-       MSG_INFO_NOTIF(1, INFO_WEAPON_ELECTRO_SUICIDE_ORBS,          2, 1, "s1 s2loc spree_lost", "s1",                 "weaponelectro",          _("^BG%s^K1 could not remember where they put their Electro plasma%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_WEAPON_ELECTRO_MURDER_ORBS,           3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponelectro",          _("^BG%s%s^K1 got too close to ^BG%s^K1's Electro orb%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_WEAPON_ELECTRO_SUICIDE_BOLT,          2, 1, "s1 s2loc spree_lost", "s1",                 "weaponelectro",          _("^BG%s^K1 played with Electro bolts%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_WEAPON_ELECTRO_SUICIDE_ORBS,          2, 1, "s1 s2loc spree_lost", "s1",                 "weaponelectro",          _("^BG%s^K1 could not remember where they put their Electro orb%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_FIREBALL_MURDER_BLAST,         3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponfireball",         _("^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_FIREBALL_MURDER_FIREMINE,      3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponfireball",         _("^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_FIREBALL_SUICIDE_BLAST,        2, 1, "s1 s2loc spree_lost", "s1",                 "weaponfireball",         _("^BG%s^K1 should have used a smaller gun%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_FIREBALL_SUICIDE_FIREMINE,     2, 1, "s1 s2loc spree_lost", "s1",                 "weaponfireball",         _("^BG%s^K1 forgot about their firemine%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_HAGAR_MURDER_BURST,            3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponhagar",            _("^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_HAGAR_MURDER_SPRAY,            3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponhagar",            _("^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_HAGAR_SUICIDE,                 2, 1, "s1 s2loc spree_lost", "s1",                 "weaponhagar",            _("^BG%s^K1 played with tiny Hagar rockets%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_HLAC_MURDER,                   3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponhlac",             _("^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_HLAC_SUICIDE,                  2, 1, "s1 s2loc spree_lost", "s1",                 "weaponhlac",             _("^BG%s^K1 got a little jumpy with their HLAC%s%s"), "") \
-       MSG_INFO_NOTIF(1, INFO_WEAPON_HMG_MURDER_SNIPE,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponhmg",              _("^BG%s%s^K1 was sniped by ^BG%s^K1's Heavy Machine Gun%s%s"), "") \
-       MSG_INFO_NOTIF(1, INFO_WEAPON_HMG_MURDER_SPRAY,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponhmg",              _("^BG%s%s^K1 was torn to bits by ^BG%s^K1's Heavy Machine Gun%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_HOOK_MURDER,                   3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponhook",             _("^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_KLEINBOTTLE_MURDER,            3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weapontuba",             _("^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_KLEINBOTTLE_SUICIDE,           2, 1, "s1 s2loc spree_lost", "s1",                 "weapontuba",             _("^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"), "") \
-       MSG_INFO_NOTIF(1, INFO_WEAPON_LASER_MURDER,                  3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponlaser",            _("^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"), "") \
-       MSG_INFO_NOTIF(1, INFO_WEAPON_LASER_SUICIDE,                 2, 1, "s1 s2loc spree_lost", "s1",                 "weaponlaser",            _("^BG%s^K1 shot themself to hell with their Laser%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_WEAPON_MACHINEGUN_MURDER_SNIPE,       3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponuzi",              _("^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_WEAPON_MACHINEGUN_MURDER_SPRAY,       3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponuzi",              _("^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_MINELAYER_MURDER,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponminelayer",        _("^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_MINELAYER_SUICIDE,             2, 1, "s1 s2loc spree_lost", "s1",                 "weaponminelayer",        _("^BG%s^K1 forgot about their mine%s%s"), "") \
-       MSG_INFO_NOTIF(1, INFO_WEAPON_MINSTANEX_MURDER,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponminstanex",        _("^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_MORTAR_MURDER_BOUNCE,          3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weapongrenadelauncher",  _("^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_MORTAR_MURDER_EXPLODE,         3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weapongrenadelauncher",  _("^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_MORTAR_SUICIDE_BOUNCE,         2, 1, "s1 s2loc spree_lost", "s1",                 "weapongrenadelauncher",  _("^BG%s^K1 didn't see their own Mortar grenade%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_MORTAR_SUICIDE_EXPLODE,        2, 1, "s1 s2loc spree_lost", "s1",                 "weapongrenadelauncher",  _("^BG%s^K1 blew themself up with their own Mortar%s%s"), "") \
-       MSG_INFO_NOTIF(1, INFO_WEAPON_NEX_MURDER,                    3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponnex",              _("^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_RIFLE_MURDER,                  3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponrifle",            _("^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_RIFLE_MURDER_HAIL,             3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponrifle",            _("^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_RIFLE_MURDER_HAIL_PIERCING,    3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponrifle",            _("^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_RIFLE_MURDER_PIERCING,         3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponrifle",            _("^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"), "") \
-       MSG_INFO_NOTIF(1, INFO_WEAPON_ROCKETLAUNCHER_MURDER_DIRECT,  3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponrocketlauncher",   _("^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"), "") \
-       MSG_INFO_NOTIF(1, INFO_WEAPON_ROCKETLAUNCHER_MURDER_SPLASH,  3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponrocketlauncher",   _("^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"), "") \
-       MSG_INFO_NOTIF(1, INFO_WEAPON_ROCKETLAUNCHER_SUICIDE,        2, 1, "s1 s2loc spree_lost", "s1",                 "weaponrocketlauncher",   _("^BG%s^K1 blew themself up with their Rocketlauncher%s%s"), "") \
-       MSG_INFO_NOTIF(1, INFO_WEAPON_RPC_MURDER_DIRECT,             3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponrpc",              _("^BG%s%s^K1 got sawn in half by ^BG%s^K1's Rocket Propelled Chainsaw%s%s"), "") \
-       MSG_INFO_NOTIF(1, INFO_WEAPON_RPC_MURDER_SPLASH,             3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponrpc",              _("^BG%s%s^K1 almost dodged ^BG%s^K1's Rocket Propelled Chainsaw%s%s"), "") \
-       MSG_INFO_NOTIF(1, INFO_WEAPON_RPC_SUICIDE,                   2, 1, "s1 s2loc spree_lost", "s1",                 "weaponrpc",              _("^BG%s^K1 blew themself up with their Rocket Propelled Chainsaw%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_SEEKER_MURDER_SPRAY,           3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponseeker",           _("^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_SEEKER_MURDER_TAG,             3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponseeker",           _("^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_SEEKER_SUICIDE,                2, 1, "s1 s2loc spree_lost", "s1",                 "weaponseeker",           _("^BG%s^K1 played with tiny Seeker rockets%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_WEAPON_SHOCKWAVE_MURDER,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponshotgun",          _("^BG%s%s^K1 was gunned down by ^BG%s^K1's Shockwave%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_WEAPON_SHOCKWAVE_MURDER_SLAP,         3, 2, "spree_inf s2 s1 s3loc spree_end", "s2 s1",  "notify_melee_shotgun",   _("^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shockwave%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_SHOTGUN_MURDER,                3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponshotgun",          _("^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_SHOTGUN_MURDER_SLAP,           3, 2, "spree_inf s2 s1 s3loc spree_end", "s2 s1",  "notify_melee_shotgun",   _("^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_THINKING_WITH_PORTALS,         2, 1, "s1 s2loc spree_lost", "s1",                 "notify_selfkill",        _("^BG%s^K1 is now thinking with portals%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_TUBA_MURDER,                   3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weapontuba",             _("^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"), "") \
--      MSG_INFO_NOTIF(1, INFO_WEAPON_TUBA_SUICIDE,                  2, 1, "s1 s2loc spree_lost", "s1",                 "weapontuba",             _("^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"), "") \
-       MSG_INFO_NOTIF(1, INFO_WEAPON_UZI_MURDER_SNIPE,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponuzi",              _("^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"), "") \
-       MSG_INFO_NOTIF(1, INFO_WEAPON_UZI_MURDER_SPRAY,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponuzi",              _("^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"), "")
 -      MSG_INFO_NOTIF(1, INFO_WEAPON_VAPORIZER_MURDER,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponminstanex",        _("^BG%s%s^K1 has been sublimated by ^BG%s^K1's Vaporizer%s%s"), "") \
 -      MSG_INFO_NOTIF(1, INFO_WEAPON_VORTEX_MURDER,                 3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponnex",              _("^BG%s%s^K1 has been vaporized by ^BG%s^K1's Vortex%s%s"), "")
++    MSG_INFO_NOTIF(2, INFO_CHAT_NOSPECTATORS,              0, 0, "", "",                            "",                     _("^F4NOTE: ^BGSpectator chat is not sent to players during the match"), "") \
++    MULTITEAM_INFO(1, INFO_CTF_CAPTURE_, 2,                1, 0, "s1", "s1",                        "notify_%s_captured",   _("^BG%s^BG captured the ^TC^TT^BG flag"), "") \
++    MULTITEAM_INFO(1, INFO_CTF_CAPTURE_BROKEN_, 2,         2, 2, "s1 f1p2dec s2 f2p2dec", "s1",     "notify_%s_captured",   _("^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds, breaking ^BG%s^BG's previous record of ^F2%s^BG seconds"), "") \
++    MULTITEAM_INFO(1, INFO_CTF_CAPTURE_TIME_, 2,           1, 1, "s1 f1p2dec", "s1",                "notify_%s_captured",   _("^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"), "") \
++    MULTITEAM_INFO(1, INFO_CTF_CAPTURE_UNBROKEN_, 2,       2, 2, "s1 f1p2dec s2 f2p2dec", "s1",     "notify_%s_captured",   _("^BG%s^BG captured the ^TC^TT^BG flag in ^F2%s^BG seconds, failing to break ^BG%s^BG's previous record of ^F1%s^BG seconds"), "") \
++    MULTITEAM_INFO(1, INFO_CTF_FLAGRETURN_ABORTRUN_, 2,    0, 0, "", "",                            "",                     _("^BGThe ^TC^TT^BG flag was returned to base by its owner"), "") \
++    MULTITEAM_INFO(1, INFO_CTF_FLAGRETURN_DAMAGED_, 2,     0, 0, "", "",                            "",                     _("^BGThe ^TC^TT^BG flag was destroyed and returned to base"), "") \
++    MULTITEAM_INFO(1, INFO_CTF_FLAGRETURN_DROPPED_, 2,     0, 0, "", "",                            "",                     _("^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"), "") \
++    MULTITEAM_INFO(1, INFO_CTF_FLAGRETURN_NEEDKILL_, 2,    0, 0, "", "",                            "",                     _("^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to base"), "") \
++    MULTITEAM_INFO(1, INFO_CTF_FLAGRETURN_SPEEDRUN_, 2,    0, 1, "f1p2dec", "",                     "",                     _("^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned itself"), "") \
++    MULTITEAM_INFO(1, INFO_CTF_FLAGRETURN_TIMEOUT_, 2,     0, 0, "", "",                            "",                     _("^BGThe ^TC^TT^BG flag has returned to the base"), "") \
++    MULTITEAM_INFO(1, INFO_CTF_LOST_, 2,                   1, 0, "s1", "s1",                        "notify_%s_lost",       _("^BG%s^BG lost the ^TC^TT^BG flag"), "") \
++    MULTITEAM_INFO(1, INFO_CTF_PICKUP_, 2,                 1, 0, "s1", "s1",                        "notify_%s_taken",      _("^BG%s^BG got the ^TC^TT^BG flag"), "") \
++    MULTITEAM_INFO(1, INFO_CTF_RETURN_, 2,                 1, 0, "s1", "s1",                        "notify_%s_returned",   _("^BG%s^BG returned the ^TC^TT^BG flag"), "") \
++    MULTITEAM_INFO(1, INFO_CTF_RETURN_MONSTER_, 2,         1, 0, "s1", "s1",                        "notify_%s_returned",   _("^BG%s^BG returned the ^TC^TT^BG flag"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_CHEAT,             3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_DROWN,             3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_water",         _("^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_FALL,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_fall",          _("^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_FIRE,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"), _("^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s")) \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_LAVA,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_lava",          _("^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_MONSTER,           3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_NADE,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_nade",          _("^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_NADE_NAPALM,       3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_nade_napalm",   _("^BG%s%s^K1 was burned to death by ^BG%s^K1's Napalm Nade%s%s"), _("^BG%s%s^K1 got too close to a napalm explosion%s%s")) \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_NADE_ICE,          3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_nade_ice",      _("^BG%s%s^K1 was blown up by ^BG%s^K1's Ice Nade%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_NADE_ICE_FREEZE,   3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_nade_ice",      _("^BG%s%s^K1 was frozen to death by ^BG%s^K1's Ice Nade%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_NADE_HEAL,         3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_nade_heal",     _("^BG%s%s^K1 has not been healed by ^BG%s^K1's Healing Nade%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_SHOOTING_STAR,     3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_shootingstar",  _("^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_SLIME,             3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_slime",         _("^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_SWAMP,             3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_slime",         _("^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_TELEFRAG,          3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_telefrag",      _("^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"), _("^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s")) \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_TOUCHEXPLODE,      3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_BUMB_DEATH,     3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_BUMB_GUN,       3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_CRUSH,          3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_RAPT_BOMB,      3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_RAPT_CANNON,    3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_RAPT_DEATH,     3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_SPID_DEATH,     3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_SPID_MINIGUN,   3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_SPID_ROCKET,    3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_WAKI_DEATH,     3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_WAKI_GUN,       3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VH_WAKI_ROCKET,    3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VENGEANCE,         3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 was destroyed by the vengeful ^BG%s^K1%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_VOID,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_void",          _("^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_AUTOTEAMCHANGE,      2, 1, "s1 s2loc death_team", "",         "",                     _("^BG%s^K1 was moved into the %s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_BETRAYAL,            2, 1, "s1 s2loc spree_lost", "s1",       "notify_teamkill_red",  _("^BG%s^K1 became enemies with the Lord of Teamplay%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_CAMP,                2, 1, "s1 s2loc spree_lost", "s1",       "notify_camping",       _("^BG%s^K1 thought they found a nice camping ground%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_CHEAT,               2, 1, "s1 s2loc spree_lost", "s1",       "notify_selfkill",      _("^BG%s^K1 unfairly eliminated themself%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_CUSTOM,              3, 1, "s1 s2 s3loc spree_lost", "s1",    "notify_void",          _("^BG%s^K1 %s^K1%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_DROWN,               2, 1, "s1 s2loc spree_lost", "s1",       "notify_water",         _("^BG%s^K1 couldn't catch their breath%s%s"), _("^BG%s^K1 was in the water for too long%s%s")) \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_FALL,                2, 1, "s1 s2loc spree_lost", "s1",       "notify_fall",          _("^BG%s^K1 hit the ground with a crunch%s%s"), _("^BG%s^K1 hit the ground with a bit too much force%s%s")) \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_FIRE,                2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 became a bit too crispy%s%s"), _("^BG%s^K1 felt a little hot%s%s")) \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_GENERIC,             2, 1, "s1 s2loc spree_lost", "s1",       "notify_selfkill",      _("^BG%s^K1 died%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_LAVA,                2, 1, "s1 s2loc spree_lost", "s1",       "notify_lava",          _("^BG%s^K1 turned into hot slag%s%s"), _("^BG%s^K1 found a hot place%s%s")) \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_MON_MAGE,            2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was exploded by a Mage%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_MON_SHAMBLER_CLAW,   2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1's innards became outwards by a Shambler%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_MON_SHAMBLER_SMASH,  2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was smashed by a Shambler%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_MON_SHAMBLER_ZAP,    2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was zapped to death by a Shambler%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_MON_SPIDER,          2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was bitten by a Spider%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_MON_WYVERN,          2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was fireballed by a Wyvern%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_MON_ZOMBIE_JUMP,     2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 joins the Zombies%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_MON_ZOMBIE_MELEE,    2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was given kung fu lessons by a Zombie%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_NADE,                2, 1, "s1 s2loc spree_lost", "s1",       "notify_nade",          _("^BG%s^K1 mastered the art of self-nading%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_NADE_NAPALM,         2, 1, "s1 s2loc spree_lost", "s1",       "notify_nade_napalm",   _("^BG%s^K1 was burned to death by their own Napalm Nade%s%s"), _("^BG%s^K1 decided to take a look at the results of their napalm explosion%s%s")) \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_NADE_ICE,            2, 1, "s1 s2loc spree_lost", "s1",       "notify_nade_ice",      _("^BG%s^K1 mastered the art of self-nading%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_NADE_ICE_FREEZE,     2, 1, "s1 s2loc spree_lost", "s1",       "notify_nade_ice",      _("^BG%s^K1 was frozen to death by their own Ice Nade%s%s"), _("^BG%s^K1 felt a little chilly%s%s")) \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_NADE_HEAL,           2, 1, "s1 s2loc spree_lost", "s1",       "notify_nade_heal",     _("^BG%s^K1's Healing Nade didn't quite heal them%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_NOAMMO,              2, 1, "s1 s2loc spree_lost", "s1",       "notify_outofammo",     _("^BG%s^K1 died%s%s. What's the point of living without ammo?"), _("^BG%s^K1 ran out of ammo%s%s")) \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_ROT,                 2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 rotted away%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_SHOOTING_STAR,       2, 1, "s1 s2loc spree_lost", "s1",       "notify_shootingstar",  _("^BG%s^K1 became a shooting star%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_SLIME,               2, 1, "s1 s2loc spree_lost", "s1",       "notify_slime",         _("^BG%s^K1 was slimed%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_SUICIDE,             2, 1, "s1 s2loc spree_lost", "s1",       "notify_selfkill",      _("^BG%s^K1 couldn't take it anymore%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_SWAMP,               2, 1, "s1 s2loc spree_lost", "s1",       "notify_slime",         _("^BG%s^K1 is now preserved for centuries to come%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TEAMCHANGE,          2, 1, "s1 s2loc death_team", "",         "",                     _("^BG%s^K1 switched to the %s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TOUCHEXPLODE,        2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 died in an accident%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET,              2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 ran into a turret%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_EWHEEL,       2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was blasted away by an eWheel turret%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_FLAC,         2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 got caught up in the FLAC turret fire%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_HELLION,      2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was blasted away by a Hellion turret%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_HK,           2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 could not hide from the Hunter turret%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_MACHINEGUN,   2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_MLRS,         2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_PHASER,       2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was phased out by a turret%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_PLASMA,       2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 got served some superheated plasma from a turret%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_TESLA,        2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was electrocuted by a Tesla turret%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_WALK_GUN,     2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_WALK_MEELE,   2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was impaled by a Walker turret%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_TURRET_WALK_ROCKET,  2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was blasted away by a Walker turret%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_VH_BUMB_DEATH,       2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_VH_CRUSH,            2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was crushed by a vehicle%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_VH_RAPT_BOMB,        2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was caught in a Raptor cluster bomb%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_VH_RAPT_DEATH,       2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_VH_SPID_DEATH,       2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_VH_SPID_ROCKET,      2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_VH_WAKI_DEATH,       2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 got caught in the blast of a Racer explosion%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_VH_WAKI_ROCKET,      2, 1, "s1 s2loc spree_lost", "s1",       "notify_death",         _("^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_DEATH_SELF_VOID,                2, 1, "s1 s2loc spree_lost", "s1",       "notify_void",          _("^BG%s^K1 was in the wrong place%s%s"), "") \
++    MULTITEAM_INFO(1, INFO_DEATH_TEAMKILL_, 4,             3, 1, "s1 s2 s3loc spree_end", "s2 s1",  "notify_teamkill_%s",   _("^BG%s^K1 was betrayed by ^BG%s^K1%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_CA_JOIN_LATE,                   0, 0, "", "",                            "",                     _("^F1Round already started, you will join the game in the next round"), "") \
++    MSG_INFO_NOTIF(1, INFO_CA_LEAVE,                       0, 0, "", "",                            "",                     _("^F2You will spectate in the next round"), "") \
++    MSG_INFO_NOTIF(1, INFO_DOMINATION_CAPTURE_TIME,        2, 2, "s1 s2 f1 f2", "",                 "",                     _("^BG%s^BG%s^BG (%s points every %s seconds)"), "") \
++    MSG_INFO_NOTIF(1, INFO_FREEZETAG_FREEZE,               2, 0, "s1 s2", "",                       "",                     _("^BG%s^K1 was frozen by ^BG%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_FREEZETAG_REVIVED,              2, 0, "s1 s2", "",                       "",                     _("^BG%s^K3 was revived by ^BG%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_FREEZETAG_REVIVED_FALL,         1, 0, "s1", "",                          "",                     _("^BG%s^K3 was revived by falling"), "") \
++    MSG_INFO_NOTIF(1, INFO_FREEZETAG_REVIVED_NADE,         1, 0, "s1", "",                          "",                     _("^BG%s^K3 was revived by their Nade explosion"), "") \
++    MSG_INFO_NOTIF(1, INFO_FREEZETAG_AUTO_REVIVED,         1, 1, "s1 f1", "",                       "",                     _("^BG%s^K3 was automatically revived after %s second(s)"), "") \
++    MULTITEAM_INFO(1, INFO_ROUND_TEAM_WIN_, 4,             0, 0, "", "",                            "",                     _("^TC^TT^BG team wins the round"), "") \
++    MSG_INFO_NOTIF(1, INFO_ROUND_PLAYER_WIN,               1, 0, "s1", "",                          "",                     _("^BG%s^BG wins the round"), "") \
++    MSG_INFO_NOTIF(1, INFO_ROUND_TIED,                     0, 0, "", "",                            "",                     _("^BGRound tied"), "") \
++    MSG_INFO_NOTIF(1, INFO_ROUND_OVER,                     0, 0, "", "",                            "",                     _("^BGRound over, there's no winner"), "") \
++    MSG_INFO_NOTIF(1, INFO_FREEZETAG_SELF,                 1, 0, "s1", "",                          "",                     _("^BG%s^K1 froze themself"), "") \
++    MSG_INFO_NOTIF(1, INFO_GODMODE_OFF,                    0, 1, "f1", "",                          "",                     _("^BGGodmode saved you %s units of damage, cheater!"), "") \
++    MSG_INFO_NOTIF(1, INFO_ITEM_BUFF,                      1, 1, "s1 item_buffname", "",            "",                     _("^BG%s^BG got the %s^BG Buff!"), "") \
++    MSG_INFO_NOTIF(1, INFO_ITEM_BUFF_LOST,                 1, 1, "s1 item_buffname", "",            "",                     _("^BG%s^BG lost the %s^BG Buff!"), "") \
++    MSG_INFO_NOTIF(1, INFO_ITEM_BUFF_DROP,                 0, 1, "item_buffname", "",               "",                     _("^BGYou dropped the %s^BG Buff!"), "") \
++    MSG_INFO_NOTIF(1, INFO_ITEM_BUFF_GOT,                  0, 1, "item_buffname", "",               "",                     _("^BGYou got the %s^BG Buff!"), "") \
++    MSG_INFO_NOTIF(0, INFO_ITEM_WEAPON_DONTHAVE,           0, 1, "item_wepname", "",                      "",               _("^BGYou do not have the ^F1%s"), "") \
++    MSG_INFO_NOTIF(0, INFO_ITEM_WEAPON_DROP,               1, 1, "item_wepname item_wepammo", "",         "",               _("^BGYou dropped the ^F1%s^BG%s"), "") \
++    MSG_INFO_NOTIF(0, INFO_ITEM_WEAPON_GOT,                0, 1, "item_wepname", "",                      "",               _("^BGYou got the ^F1%s"), "") \
++    MSG_INFO_NOTIF(0, INFO_ITEM_WEAPON_NOAMMO,             0, 1, "item_wepname", "",                      "",               _("^BGYou don't have enough ammo for the ^F1%s"), "") \
++    MSG_INFO_NOTIF(0, INFO_ITEM_WEAPON_PRIMORSEC,          0, 3, "item_wepname f2primsec f3primsec", "",  "",               _("^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"), "") \
++    MSG_INFO_NOTIF(0, INFO_ITEM_WEAPON_UNAVAILABLE,        0, 1, "item_wepname", "",                      "",               _("^F1%s^BG is ^F4not available^BG on this map"), "") \
++    MSG_INFO_NOTIF(2, INFO_JOIN_CONNECT,                   1, 0, "s1", "",                          "",                     _("^BG%s^F3 connected%s"), "") \
++    MULTITEAM_INFO(2, INFO_JOIN_CONNECT_TEAM_, 4,          1, 0, "s1", "",                          "",                     _("^BG%s^F3 connected and joined the ^TC^TT team"), "") \
++    MSG_INFO_NOTIF(1, INFO_JOIN_PLAY,                      1, 0, "s1", "",                          "",                     _("^BG%s^F3 is now playing"), "") \
++    MSG_INFO_NOTIF(1, INFO_KEEPAWAY_DROPPED,               1, 0, "s1", "s1",                        "notify_balldropped",   _("^BG%s^BG has dropped the ball!"), "") \
++    MSG_INFO_NOTIF(1, INFO_KEEPAWAY_PICKUP,                1, 0, "s1", "s1",                        "notify_ballpickedup",  _("^BG%s^BG has picked up the ball!"), "") \
++    MULTITEAM_INFO(1, INFO_KEYHUNT_CAPTURE_, 4,            1, 0, "s1", "",                          "",                     _("^BG%s^BG captured the keys for the ^TC^TT team"), "") \
++    MULTITEAM_INFO(1, INFO_KEYHUNT_DROP_, 4,               1, 0, "s1", "",                          "",                     _("^BG%s^BG dropped the ^TC^TT Key"), "") \
++    MULTITEAM_INFO(1, INFO_KEYHUNT_LOST_, 4,               1, 0, "s1", "",                          "",                     _("^BG%s^BG lost the ^TC^TT Key"), "") \
++    MULTITEAM_INFO(1, INFO_KEYHUNT_PICKUP_, 4,             1, 0, "s1", "",                          "",                     _("^BG%s^BG picked up the ^TC^TT Key"), "") \
++    MSG_INFO_NOTIF(1, INFO_LMS_FORFEIT,                    1, 0, "s1", "",                          "",                     _("^BG%s^F3 forfeited"), "") \
++    MSG_INFO_NOTIF(1, INFO_LMS_NOLIVES,                    1, 0, "s1", "",                          "",                     _("^BG%s^F3 has no more lives left"), "") \
++    MSG_INFO_NOTIF(1, INFO_MONSTERS_DISABLED,              0, 0, "", "",                            "",                     _("^BGMonsters are currently disabled"), "") \
++    MSG_INFO_NOTIF(1, INFO_POWERUP_INVISIBILITY,           1, 0, "s1", "s1",                        "strength",             _("^BG%s^K1 picked up Invisibility"), "") \
++    MSG_INFO_NOTIF(1, INFO_POWERUP_SHIELD,                 1, 0, "s1", "s1",                        "shield",               _("^BG%s^K1 picked up Shield"), "") \
++    MSG_INFO_NOTIF(1, INFO_POWERUP_SPEED,                  1, 0, "s1", "s1",                        "shield",               _("^BG%s^K1 picked up Speed"), "") \
++    MSG_INFO_NOTIF(1, INFO_POWERUP_STRENGTH,               1, 0, "s1", "s1",                        "strength",             _("^BG%s^K1 picked up Strength"), "") \
++    MSG_INFO_NOTIF(2, INFO_QUIT_DISCONNECT,                1, 0, "s1", "",                          "",                     _("^BG%s^F3 disconnected"), "") \
++    MSG_INFO_NOTIF(2, INFO_QUIT_KICK_IDLING,               1, 0, "s1", "",                          "",                     _("^BG%s^F3 was kicked for idling"), "") \
++    MSG_INFO_NOTIF(1, INFO_QUIT_KICK_SPECTATING,           0, 0, "", "",                            "",                     _("^F2You were kicked from the server because you are a spectator and spectators aren't allowed at the moment."), "") \
++    MSG_INFO_NOTIF(1, INFO_QUIT_SPECTATE,                  1, 0, "s1", "",                          "",                     _("^BG%s^F3 is now spectating"), "") \
++    MSG_INFO_NOTIF(1, INFO_RACE_ABANDONED,                 1, 0, "s1", "",                                                                    "",                      _("^BG%s^BG has abandoned the race"), "") \
++    MSG_INFO_NOTIF(1, INFO_RACE_FAIL_RANKED,               1, 3, "s1 race_col f1ord race_col f3race_time race_diff", "s1 f3race_time",        "race_newfail",          _("^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"), "") \
++    MSG_INFO_NOTIF(1, INFO_RACE_FAIL_UNRANKED,             1, 3, "s1 race_col f1ord race_col f3race_time race_diff", "s1 f3race_time",        "race_newfail",          _("^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"), "") \
++    MSG_INFO_NOTIF(1, INFO_RACE_FINISHED,                  1, 0, "s1", "",                                                                    "",                      _("^BG%s^BG has finished the race"), "") \
++    MSG_INFO_NOTIF(1, INFO_RACE_NEW_BROKEN,                2, 3, "s1 s2 race_col f1ord race_col f2race_time race_diff", "s1 f2race_time",     "race_newrankyellow",    _("^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"), "") \
++    MSG_INFO_NOTIF(1, INFO_RACE_NEW_IMPROVED,              1, 3, "s1 race_col f1ord race_col f2race_time race_diff", "s1 f2race_time",        "race_newtime",          _("^BG%s^BG improved their %s%s^BG place record with %s%s %s"), "") \
++    MSG_INFO_NOTIF(1, INFO_RACE_NEW_MISSING_UID,           1, 1, "s1 f1race_time", "s1 f1race_time",                                          "race_newfail",          _("^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID and will be lost."), "") \
++    MSG_INFO_NOTIF(1, INFO_RACE_NEW_SET,                   1, 2, "s1 race_col f1ord race_col f2race_time", "s1 f2race_time",                  "race_newrecordserver",  _("^BG%s^BG set the %s%s^BG place record with %s%s"), "") \
++    MULTITEAM_INFO(1, INFO_SCORES_, 4,                     0, 0, "", "",                            "",                     _("^TC^TT ^BGteam scores!"), "") \
++    MSG_INFO_NOTIF(1, INFO_SPECTATE_WARNING,               0, 1, "f1secs", "",                      "",                     _("^F2You have to become a player within the next %s, otherwise you will be kicked, because spectating isn't allowed at this time!"), "") \
++    MSG_INFO_NOTIF(1, INFO_SUPERWEAPON_PICKUP,             1, 0, "s1", "s1",                        "superweapons",         _("^BG%s^K1 picked up a Superweapon"), "") \
++    MSG_INFO_NOTIF(1, INFO_TEAMCHANGE_LARGERTEAM,          0, 0, "", "",                            "",                     _("^BGYou cannot change to a larger team"), "") \
++    MSG_INFO_NOTIF(1, INFO_TEAMCHANGE_NOTALLOWED,          0, 0, "", "",                            "",                     _("^BGYou are not allowed to change teams"), "") \
++    MSG_INFO_NOTIF(2, INFO_VERSION_BETA,                   2, 0, "s1 s2", "",                       "",                     _("^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have ^F2Xonotic %s"), "") \
++    MSG_INFO_NOTIF(2, INFO_VERSION_OLD,                    2, 0, "s1 s2", "",                       "",                     _("^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"), "") \
++    MSG_INFO_NOTIF(2, INFO_VERSION_OUTDATED,               2, 0, "s1 s2", "",                       "",                     _("^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get the update from ^F3http://www.xonotic.org/^BG!"), "") \
++    MSG_INFO_NOTIF(1, INFO_WATERMARK,                      1, 0, "s1", "",                          "",                     _("^F3SVQC Build information: ^F4%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_ACCORDEON_MURDER,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weapontuba",             _("^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_ACCORDEON_SUICIDE,             2, 1, "s1 s2loc spree_lost", "s1",                 "weapontuba",             _("^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_ARC_MURDER,                    3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponhlac",             _("^BG%s%s^K1 was electrocuted by ^BG%s^K1's Arc%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_BLASTER_MURDER,                3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponlaser",            _("^BG%s%s^K1 was shot to death by ^BG%s^K1's Blaster%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_BLASTER_SUICIDE,               2, 1, "s1 s2loc spree_lost", "s1",                 "weaponlaser",            _("^BG%s^K1 shot themself to hell with their Blaster%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_CRYLINK_MURDER,                3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponcrylink",          _("^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_CRYLINK_SUICIDE,               2, 1, "s1 s2loc spree_lost", "s1",                 "weaponcrylink",          _("^BG%s^K1 felt the strong pull of their Crylink%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_DEVASTATOR_MURDER_DIRECT,      3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponrocketlauncher",   _("^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_DEVASTATOR_MURDER_SPLASH,      3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponrocketlauncher",   _("^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_DEVASTATOR_SUICIDE,            2, 1, "s1 s2loc spree_lost", "s1",                 "weaponrocketlauncher",   _("^BG%s^K1 blew themself up with their Devastator%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_ELECTRO_MURDER_BOLT,           3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponelectro",          _("^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_ELECTRO_MURDER_COMBO,          3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponelectro",          _("^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_ELECTRO_MURDER_ORBS,           3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponelectro",          _("^BG%s%s^K1 got too close to ^BG%s^K1's Electro orb%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_ELECTRO_SUICIDE_BOLT,          2, 1, "s1 s2loc spree_lost", "s1",                 "weaponelectro",          _("^BG%s^K1 played with Electro bolts%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_ELECTRO_SUICIDE_ORBS,          2, 1, "s1 s2loc spree_lost", "s1",                 "weaponelectro",          _("^BG%s^K1 could not remember where they put their Electro orb%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_FIREBALL_MURDER_BLAST,         3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponfireball",         _("^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_FIREBALL_MURDER_FIREMINE,      3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponfireball",         _("^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_FIREBALL_SUICIDE_BLAST,        2, 1, "s1 s2loc spree_lost", "s1",                 "weaponfireball",         _("^BG%s^K1 should have used a smaller gun%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_FIREBALL_SUICIDE_FIREMINE,     2, 1, "s1 s2loc spree_lost", "s1",                 "weaponfireball",         _("^BG%s^K1 forgot about their firemine%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_HAGAR_MURDER_BURST,            3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponhagar",            _("^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_HAGAR_MURDER_SPRAY,            3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponhagar",            _("^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_HAGAR_SUICIDE,                 2, 1, "s1 s2loc spree_lost", "s1",                 "weaponhagar",            _("^BG%s^K1 played with tiny Hagar rockets%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_HLAC_MURDER,                   3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponhlac",             _("^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_HLAC_SUICIDE,                  2, 1, "s1 s2loc spree_lost", "s1",                 "weaponhlac",             _("^BG%s^K1 got a little jumpy with their HLAC%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_HMG_MURDER_SNIPE,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponhmg",              _("^BG%s%s^K1 was sniped by ^BG%s^K1's Heavy Machine Gun%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_HMG_MURDER_SPRAY,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponhmg",              _("^BG%s%s^K1 was torn to bits by ^BG%s^K1's Heavy Machine Gun%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_HOOK_MURDER,                   3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponhook",             _("^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_KLEINBOTTLE_MURDER,            3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weapontuba",             _("^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_KLEINBOTTLE_SUICIDE,           2, 1, "s1 s2loc spree_lost", "s1",                 "weapontuba",             _("^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_MACHINEGUN_MURDER_SNIPE,       3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponuzi",              _("^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_MACHINEGUN_MURDER_SPRAY,       3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponuzi",              _("^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_MINELAYER_MURDER,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponminelayer",        _("^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_MINELAYER_SUICIDE,             2, 1, "s1 s2loc spree_lost", "s1",                 "weaponminelayer",        _("^BG%s^K1 forgot about their mine%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_MORTAR_MURDER_BOUNCE,          3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weapongrenadelauncher",  _("^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_MORTAR_MURDER_EXPLODE,         3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weapongrenadelauncher",  _("^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_MORTAR_SUICIDE_BOUNCE,         2, 1, "s1 s2loc spree_lost", "s1",                 "weapongrenadelauncher",  _("^BG%s^K1 didn't see their own Mortar grenade%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_MORTAR_SUICIDE_EXPLODE,        2, 1, "s1 s2loc spree_lost", "s1",                 "weapongrenadelauncher",  _("^BG%s^K1 blew themself up with their own Mortar%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_RIFLE_MURDER,                  3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponrifle",            _("^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_RIFLE_MURDER_HAIL,             3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponrifle",            _("^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_RIFLE_MURDER_HAIL_PIERCING,    3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponrifle",            _("^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_RIFLE_MURDER_PIERCING,         3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponrifle",            _("^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_RPC_MURDER_DIRECT,             3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponrpc",              _("^BG%s%s^K1 was sawn in half by ^BG%s^K1's Rocket Propelled Chainsaw%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_RPC_MURDER_SPLASH,             3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponrpc",              _("^BG%s%s^K1 almost dodged ^BG%s^K1's Rocket Propelled Chainsaw%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_RPC_SUICIDE_DIRECT,            2, 1, "s1 s2loc spree_lost", "s1",                 "weaponrpc",              _("^BG%s^K1 was sawn in half by their own Rocket Propelled Chainsaw%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_RPC_SUICIDE_SPLASH,            2, 1, "s1 s2loc spree_lost", "s1",                 "weaponrpc",              _("^BG%s^K1 blew themself up with their Rocket Propelled Chainsaw%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_SEEKER_MURDER_SPRAY,           3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponseeker",           _("^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_SEEKER_MURDER_TAG,             3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponseeker",           _("^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_SEEKER_SUICIDE,                2, 1, "s1 s2loc spree_lost", "s1",                 "weaponseeker",           _("^BG%s^K1 played with tiny Seeker rockets%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_SHOCKWAVE_MURDER,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponshotgun",          _("^BG%s%s^K1 was gunned down by ^BG%s^K1's Shockwave%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_SHOCKWAVE_MURDER_SLAP,         3, 2, "spree_inf s2 s1 s3loc spree_end", "s2 s1",  "notify_melee_shotgun",   _("^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shockwave%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_SHOTGUN_MURDER,                3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponshotgun",          _("^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_SHOTGUN_MURDER_SLAP,           3, 2, "spree_inf s2 s1 s3loc spree_end", "s2 s1",  "notify_melee_shotgun",   _("^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_THINKING_WITH_PORTALS,         2, 1, "s1 s2loc spree_lost", "s1",                 "notify_selfkill",        _("^BG%s^K1 is now thinking with portals%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_TUBA_MURDER,                   3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weapontuba",             _("^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_TUBA_SUICIDE,                  2, 1, "s1 s2loc spree_lost", "s1",                 "weapontuba",             _("^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_VAPORIZER_MURDER,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponminstanex",        _("^BG%s%s^K1 has been sublimated by ^BG%s^K1's Vaporizer%s%s"), "") \
++    MSG_INFO_NOTIF(1, INFO_WEAPON_VORTEX_MURDER,                 3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "weaponnex",              _("^BG%s%s^K1 has been vaporized by ^BG%s^K1's Vortex%s%s"), "")
  
  #define MULTITEAM_CENTER2(default,prefix,strnum,flnum,args,cpid,durcnt,normal,gentle) \
--      MSG_CENTER_NOTIF(default, prefix##RED, strnum, flnum, args, cpid, durcnt, TCR(normal, COL_TEAM_1, strtoupper(NAME_TEAM_1)), TCR(gentle, COL_TEAM_1, strtoupper(NAME_TEAM_1))) \
--      MSG_CENTER_NOTIF(default, prefix##BLUE, strnum, flnum, args, cpid, durcnt, TCR(normal, COL_TEAM_2, strtoupper(NAME_TEAM_2)), TCR(gentle, COL_TEAM_2, strtoupper(NAME_TEAM_2)))
++    MSG_CENTER_NOTIF(default, prefix##RED, strnum, flnum, args, cpid, durcnt, TCR(normal, COL_TEAM_1, strtoupper(NAME_TEAM_1)), TCR(gentle, COL_TEAM_1, strtoupper(NAME_TEAM_1))) \
++    MSG_CENTER_NOTIF(default, prefix##BLUE, strnum, flnum, args, cpid, durcnt, TCR(normal, COL_TEAM_2, strtoupper(NAME_TEAM_2)), TCR(gentle, COL_TEAM_2, strtoupper(NAME_TEAM_2)))
  #define MULTITEAM_CENTER3(default,prefix,strnum,flnum,args,cpid,durcnt,normal,gentle) \
--      MSG_CENTER_NOTIF(default, prefix##RED, strnum, flnum, args, cpid, durcnt, TCR(normal, COL_TEAM_1, strtoupper(NAME_TEAM_1)), TCR(gentle, COL_TEAM_1, strtoupper(NAME_TEAM_1))) \
--      MSG_CENTER_NOTIF(default, prefix##BLUE, strnum, flnum, args, cpid, durcnt, TCR(normal, COL_TEAM_2, strtoupper(NAME_TEAM_2)), TCR(gentle, COL_TEAM_2, strtoupper(NAME_TEAM_2))) \
--      MSG_CENTER_NOTIF(default, prefix##YELLOW, strnum, flnum, args, cpid, durcnt, TCR(normal, COL_TEAM_3, strtoupper(NAME_TEAM_3)), TCR(gentle, COL_TEAM_3, strtoupper(NAME_TEAM_3)))
++    MSG_CENTER_NOTIF(default, prefix##RED, strnum, flnum, args, cpid, durcnt, TCR(normal, COL_TEAM_1, strtoupper(NAME_TEAM_1)), TCR(gentle, COL_TEAM_1, strtoupper(NAME_TEAM_1))) \
++    MSG_CENTER_NOTIF(default, prefix##BLUE, strnum, flnum, args, cpid, durcnt, TCR(normal, COL_TEAM_2, strtoupper(NAME_TEAM_2)), TCR(gentle, COL_TEAM_2, strtoupper(NAME_TEAM_2))) \
++    MSG_CENTER_NOTIF(default, prefix##YELLOW, strnum, flnum, args, cpid, durcnt, TCR(normal, COL_TEAM_3, strtoupper(NAME_TEAM_3)), TCR(gentle, COL_TEAM_3, strtoupper(NAME_TEAM_3)))
  #define MULTITEAM_CENTER4(default,prefix,strnum,flnum,args,cpid,durcnt,normal,gentle) \
--      MSG_CENTER_NOTIF(default, prefix##RED, strnum, flnum, args, cpid, durcnt, TCR(normal, COL_TEAM_1, strtoupper(NAME_TEAM_1)), TCR(gentle, COL_TEAM_1, strtoupper(NAME_TEAM_1))) \
--      MSG_CENTER_NOTIF(default, prefix##BLUE, strnum, flnum, args, cpid, durcnt, TCR(normal, COL_TEAM_2, strtoupper(NAME_TEAM_2)), TCR(gentle, COL_TEAM_2, strtoupper(NAME_TEAM_2))) \
--      MSG_CENTER_NOTIF(default, prefix##YELLOW, strnum, flnum, args, cpid, durcnt, TCR(normal, COL_TEAM_3, strtoupper(NAME_TEAM_3)), TCR(gentle, COL_TEAM_3, strtoupper(NAME_TEAM_3))) \
--      MSG_CENTER_NOTIF(default, prefix##PINK, strnum, flnum, args, cpid, durcnt, TCR(normal, COL_TEAM_4, strtoupper(NAME_TEAM_4)), TCR(gentle, COL_TEAM_4, strtoupper(NAME_TEAM_4)))
++    MSG_CENTER_NOTIF(default, prefix##RED, strnum, flnum, args, cpid, durcnt, TCR(normal, COL_TEAM_1, strtoupper(NAME_TEAM_1)), TCR(gentle, COL_TEAM_1, strtoupper(NAME_TEAM_1))) \
++    MSG_CENTER_NOTIF(default, prefix##BLUE, strnum, flnum, args, cpid, durcnt, TCR(normal, COL_TEAM_2, strtoupper(NAME_TEAM_2)), TCR(gentle, COL_TEAM_2, strtoupper(NAME_TEAM_2))) \
++    MSG_CENTER_NOTIF(default, prefix##YELLOW, strnum, flnum, args, cpid, durcnt, TCR(normal, COL_TEAM_3, strtoupper(NAME_TEAM_3)), TCR(gentle, COL_TEAM_3, strtoupper(NAME_TEAM_3))) \
++    MSG_CENTER_NOTIF(default, prefix##PINK, strnum, flnum, args, cpid, durcnt, TCR(normal, COL_TEAM_4, strtoupper(NAME_TEAM_4)), TCR(gentle, COL_TEAM_4, strtoupper(NAME_TEAM_4)))
  #define MULTITEAM_CENTER(default,prefix,teams,strnum,flnum,args,cpid,durcnt,normal,gentle) \
--      MULTITEAM_CENTER##teams(default,prefix,strnum,flnum,args,cpid,durcnt,normal,gentle)
++    MULTITEAM_CENTER##teams(default,prefix,strnum,flnum,args,cpid,durcnt,normal,gentle)
  
  #define MSG_CENTER_NOTIFICATIONS \
 -      MSG_CENTER_NOTIF(1, CENTER_ALONE,                       0, 0, "",             NO_CPID,             "0 0", _("^F4You are now alone!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_ASSAULT_ATTACKING,           0, 0, "",             CPID_ASSAULT_ROLE,   "0 0", _("^BGYou are attacking!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_ASSAULT_DEFENDING,           0, 0, "",             CPID_ASSAULT_ROLE,   "0 0", _("^BGYou are defending!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_COUNTDOWN_BEGIN,             0, 0, "",             CPID_ROUND,          "2 0", _("^F4Begin!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_COUNTDOWN_GAMESTART,         0, 1, "",             CPID_ROUND,          "1 f1", _("^F4Game starts in ^COUNT"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_COUNTDOWN_ROUNDSTART,        0, 1, "",             CPID_ROUND,          "1 f1", _("^F4Round starts in ^COUNT"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_COUNTDOWN_ROUNDSTOP,         0, 0, "",             CPID_ROUND,          "2 0", _("^F4Round cannot start"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_ROUND_TIED,                  0, 0, "",             CPID_ROUND,          "0 0", _("^BGRound tied"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_ROUND_OVER,                  0, 0, "",             CPID_ROUND,          "0 0", _("^BGRound over, there's no winner"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_CAMPCHECK,                   0, 0, "",             CPID_CAMPCHECK,      "0 0", _("^F2Don't camp!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_CTF_CAPTURESHIELD_FREE,      0, 0, "",             CPID_CTF_CAPSHIELD,  "0 0", _("^BGYou are now free.\n^BGFeel free to ^F2try to capture^BG the flag again\n^BGif you think you will succeed."), "") \
--      MSG_CENTER_NOTIF(1, CENTER_CTF_CAPTURESHIELD_SHIELDED,  0, 0, "",             CPID_CTF_CAPSHIELD,  "0 0", _("^BGYou are now ^F1shielded^BG from the flag\n^BGfor ^F2too many unsuccessful attempts^BG to capture.\n^BGMake some defensive scores before trying again."), "") \
--      MULTITEAM_CENTER(1, CENTER_CTF_CAPTURE_, 2,             0, 0, "",             CPID_CTF_LOWPRIO,    "0 0", _("^BGYou captured the ^TC^TT^BG flag!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_CTF_FLAG_THROW_PUNISH,       0, 1, "f1secs",       CPID_CTF_LOWPRIO,    "0 0", _("^BGToo many flag throws! Throwing disabled for %s."), "") \
--      MULTITEAM_CENTER(1, CENTER_CTF_PASS_OTHER_, 2,          2, 0, "s1 s2",        CPID_CTF_PASS,       "0 0", _("^BG%s^BG passed the ^TC^TT^BG flag to %s"), "") \
--      MULTITEAM_CENTER(1, CENTER_CTF_PASS_RECEIVED_, 2,       1, 0, "s1",           CPID_CTF_PASS,       "0 0", _("^BGYou received the ^TC^TT^BG flag from %s"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_CTF_PASS_REQUESTED,          1, 0, "s1 pass_key",  CPID_CTF_PASS,       "0 0", _("^BG%s^BG requests you to pass the flag%s"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_CTF_PASS_REQUESTING,         1, 0, "s1",           CPID_CTF_PASS,       "0 0", _("^BGRequesting %s^BG to pass you the flag"), "") \
--      MULTITEAM_CENTER(1, CENTER_CTF_PASS_SENT_, 2,           1, 0, "s1",           CPID_CTF_PASS,       "0 0", _("^BGYou passed the ^TC^TT^BG flag to %s"), "") \
--      MULTITEAM_CENTER(1, CENTER_CTF_PICKUP_, 2,              0, 0, "",             CPID_CTF_LOWPRIO,    "0 0", _("^BGYou got the ^TC^TT^BG flag!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_CTF_PICKUP_ENEMY,            1, 0, "s1",           CPID_CTF_LOWPRIO,    "0 0", _("^BGThe %senemy^BG got your flag! Retrieve it!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_CTF_PICKUP_ENEMY_VERBOSE,    2, 0, "s1 s2 s1",     CPID_CTF_LOWPRIO,    "0 0", _("^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_CTF_PICKUP_TEAM,             1, 0, "s1",           CPID_CTF_LOWPRIO,    "0 0", _("^BGYour %steam mate^BG got the flag! Protect them!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_CTF_PICKUP_TEAM_VERBOSE,     2, 0, "s1 s2 s1",     CPID_CTF_LOWPRIO,    "0 0", _("^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"), "") \
--      MULTITEAM_CENTER(1, CENTER_CTF_RETURN_, 2,              0, 0, "",             CPID_CTF_LOWPRIO,    "0 0", _("^BGYou returned the ^TC^TT^BG flag!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_CTF_STALEMATE_CARRIER,       0, 0, "",             CPID_STALEMATE,      "0 0", _("^BGStalemate! Enemies can now see you on radar!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_CTF_STALEMATE_OTHER,         0, 0, "",             CPID_STALEMATE,      "0 0", _("^BGStalemate! Flag carriers can now be seen by enemies on radar!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_MURDER_FRAG,                 1, 1, "spree_cen s1",             NO_CPID, "0 0", _("^K3%sYou fragged ^BG%s"), _("^K3%sYou scored against ^BG%s")) \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_MURDER_FRAGGED,              1, 1, "spree_cen s1",             NO_CPID, "0 0", _("^K1%sYou were fragged by ^BG%s"), _("^K1%sYou were scored against by ^BG%s")) \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_MURDER_FRAGGED_VERBOSE,      1, 4, "spree_cen s1 frag_stats",  NO_CPID, "0 0", _("^K1%sYou were fragged by ^BG%s^BG%s"), _("^K1%sYou were scored against by ^BG%s^BG%s")) \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_MURDER_FRAG_VERBOSE,         1, 2, "spree_cen s1 frag_ping",   NO_CPID, "0 0", _("^K3%sYou fragged ^BG%s^BG%s"), _("^K3%sYou scored against ^BG%s^BG%s")) \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_MURDER_TYPEFRAG,             1, 1, "spree_cen s1",             NO_CPID, "0 0", _("^K1%sYou typefragged ^BG%s"), _("^K1%sYou scored against ^BG%s^K1 while they were typing")) \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_MURDER_TYPEFRAGGED,          1, 1, "spree_cen s1",             NO_CPID, "0 0", _("^K1%sYou were typefragged by ^BG%s"), _("^K1%sYou were scored against by ^BG%s^K1 while typing!")) \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_MURDER_TYPEFRAGGED_VERBOSE,  1, 4, "spree_cen s1 frag_stats",  NO_CPID, "0 0", _("^K1%sYou were typefragged by ^BG%s^BG%s"), _("^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s")) \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_MURDER_TYPEFRAG_VERBOSE,     1, 2, "spree_cen s1 frag_ping",   NO_CPID, "0 0", _("^K1%sYou typefragged ^BG%s^BG%s"), _("^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s")) \
--      MSG_CENTER_NOTIF(1, CENTER_NADE_THROW,                          0, 0, "",             CPID_NADES,          "0 0", _("^BGPress ^F2DROPWEAPON^BG again to toss the nade!"), "") \
 -      MSG_CENTER_NOTIF(1, CENTER_NADE_BONUS,                          0, 0, "",             CPID_NADES,          "0 0", _("^F2You got a ^K1BONUS GRENADE^F2!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_AUTOTEAMCHANGE,   0, 1, "death_team",   NO_CPID,             "0 0", _("^BGYou have been moved into a different team\nYou are now on: %s"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_BETRAYAL,         0, 0, "",             NO_CPID,             "0 0", _("^K1Don't shoot your team mates!"), _("^K1Don't go against your team mates!")) \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_CAMP,             0, 0, "",             NO_CPID,             "0 0", _("^K1Die camper!"), _("^K1Reconsider your tactics, camper!")) \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_CHEAT,            0, 0, "",             NO_CPID,             "0 0", _("^K1You unfairly eliminated yourself!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_CUSTOM,           2, 0, "s2",           NO_CPID,             "0 0", _("^K1You were %s"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_DROWN,            0, 0, "",             NO_CPID,             "0 0", _("^K1You couldn't catch your breath!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_FALL,             0, 0, "",             NO_CPID,             "0 0", _("^K1You hit the ground with a crunch!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_FIRE,             0, 0, "",             NO_CPID,             "0 0", _("^K1You got a little bit too crispy!"), _("^K1You felt a little too hot!")) \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_GENERIC,          0, 0, "",             NO_CPID,             "0 0", _("^K1You killed your own dumb self!"), _("^K1You need to be more careful!")) \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_LAVA,             0, 0, "",             NO_CPID,             "0 0", _("^K1You couldn't stand the heat!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_MONSTER,          0, 0, "",             NO_CPID,             "0 0", _("^K1You were killed by a monster!"), _("^K1You need to watch out for monsters!")) \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_NADE,                             0, 0, "",                         NO_CPID,                         "0 0", _("^K1You forgot to put the pin back in!"), _("^K1Tastes like chicken!")) \
 -      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_NADE_NAPALM,              0, 0, "",                         NO_CPID,                         "0 0", _("^K1Hanging around a napalm explosion is bad!"), "") \
 -      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_NADE_ICE_FREEZE,  0, 0, "",                         NO_CPID,                         "0 0", _("^K1You got a little bit too cold!"), _("^K1You felt a little chilly!")) \
 -      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_NADE_HEAL,        0, 0, "",             NO_CPID,             "0 0", _("^K1Your Healing Nade is a bit defective"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_NOAMMO,           0, 0, "",             NO_CPID,             "0 0", _("^K1You were killed for running out of ammo..."), _("^K1You are respawning for running out of ammo...")) \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_ROT,              0, 0, "",             NO_CPID,             "0 0", _("^K1You grew too old without taking your medicine"), _("^K1You need to preserve your health")) \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_SHOOTING_STAR,    0, 0, "",             NO_CPID,             "0 0", _("^K1You became a shooting star!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_SLIME,            0, 0, "",             NO_CPID,             "0 0", _("^K1You melted away in slime!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_SUICIDE,          0, 0, "",             NO_CPID,             "0 0", _("^K1You committed suicide!"), _("^K1You ended it all!")) \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_SWAMP,            0, 0, "",             NO_CPID,             "0 0", _("^K1You got stuck in a swamp!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_TEAMCHANGE,       0, 1, "death_team",   NO_CPID,             "0 0", _("^BGYou are now on: %s"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_TOUCHEXPLODE,     0, 0, "",             NO_CPID,             "0 0", _("^K1You died in an accident!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_TURRET,           0, 0, "",             NO_CPID,             "0 0", _("^K1You were fragged by a turret!"), _("^K1You had an unfortunate run in with a turret!")) \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_TURRET_EWHEEL,    0, 0, "",             NO_CPID,             "0 0", _("^K1You were fragged by an eWheel turret!"), _("^K1You had an unfortunate run in with an eWheel turret!")) \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_TURRET_WALK,      0, 0, "",             NO_CPID,             "0 0", _("^K1You were fragged by a Walker turret!"), _("^K1You had an unfortunate run in with a Walker turret!")) \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_VH_BUMB_DEATH,    0, 0, "",             NO_CPID,             "0 0", _("^K1You got caught in the blast of a Bumblebee explosion!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_VH_CRUSH,         0, 0, "",             NO_CPID,             "0 0", _("^K1You were crushed by a vehicle!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_VH_RAPT_BOMB,     0, 0, "",             NO_CPID,             "0 0", _("^K1You were caught in a Raptor cluster bomb!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_VH_RAPT_DEATH,    0, 0, "",             NO_CPID,             "0 0", _("^K1You got caught in the blast of a Raptor explosion!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_VH_SPID_DEATH,    0, 0, "",             NO_CPID,             "0 0", _("^K1You got caught in the blast of a Spiderbot explosion!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_VH_SPID_ROCKET,   0, 0, "",             NO_CPID,             "0 0", _("^K1You were blasted to bits by a Spiderbot rocket!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_VH_WAKI_DEATH,    0, 0, "",             NO_CPID,             "0 0", _("^K1You got caught in the blast of a Racer explosion!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_VH_WAKI_ROCKET,   0, 0, "",             NO_CPID,             "0 0", _("^K1You couldn't find shelter from a Racer rocket!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_VOID,             0, 0, "",             NO_CPID,             "0 0", _("^K1Watch your step!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_TEAMKILL_FRAG,         1, 0, "s1",           NO_CPID,             "0 0", _("^K1Moron! You fragged ^BG%s^K1, a team mate!"), _("^K1Moron! You went against ^BG%s^K1, a team mate!")) \
--      MSG_CENTER_NOTIF(1, CENTER_DEATH_TEAMKILL_FRAGGED,      1, 0, "s1",           NO_CPID,             "0 0", _("^K1You were fragged by ^BG%s^K1, a team mate"), _("^K1You were scored against by ^BG%s^K1, a team mate")) \
--      MSG_CENTER_NOTIF(1, CENTER_DISCONNECT_IDLING,           0, 1, "",             CPID_IDLING,         "1 f1", _("^K1Stop idling!\n^BGDisconnecting in ^COUNT..."), "") \
 -      MSG_CENTER_NOTIF(1, CENTER_DOOR_LOCKED_NEED,            0, 0, "",             NO_CPID,             "0 0", _("^BGYou need %s^BG!"), "") \
 -      MSG_CENTER_NOTIF(1, CENTER_DOOR_LOCKED_ALSONEED,        0, 0, "",             NO_CPID,             "0 0", _("^BGYou also need %s^BG!"), "") \
 -      MSG_CENTER_NOTIF(1, CENTER_DOOR_UNLOCKED,               0, 0, "",             NO_CPID,             "0 0", _("^BGDoor unlocked!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_EXTRALIVES,                          0, 0, "",             NO_CPID,             "0 0", _("^F2You picked up some extra lives"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_FREEZETAG_FREEZE,            1, 0, "s1",           NO_CPID,             "0 0", _("^K3You froze ^BG%s"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_FREEZETAG_FROZEN,            1, 0, "s1",           NO_CPID,             "0 0", _("^K1You were frozen by ^BG%s"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_FREEZETAG_REVIVE,            1, 0, "s1",           NO_CPID,             "0 0", _("^K3You revived ^BG%s"), "") \
-       MSG_CENTER_NOTIF(1, CENTER_FREEZETAG_REVIVE_FALL,       0, 0, "",             NO_CPID,             "0 0", _("^K3You revived yourself"), "") \
 -      MSG_CENTER_NOTIF(1, CENTER_FREEZETAG_REVIVE_SELF,       0, 0, "",             NO_CPID,             "0 0", _("^K3You revived yourself"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_FREEZETAG_REVIVED,           1, 0, "s1",           NO_CPID,             "0 0", _("^K3You were revived by ^BG%s"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_FREEZETAG_AUTO_REVIVED,      0, 1, "f1",           NO_CPID,             "0 0", _("^K3You were automatically revived after %s second(s)"), "") \
--      MULTITEAM_CENTER(1, CENTER_ROUND_TEAM_WIN_, 4,          0, 0, "",             CPID_ROUND,          "0 0", _("^TC^TT^BG team wins the round"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_ROUND_PLAYER_WIN,            1, 0, "s1",           CPID_ROUND,          "0 0", _("^BG%s^BG wins the round"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_FREEZETAG_SELF,              0, 0, "",             NO_CPID,             "0 0", _("^K1You froze yourself"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_FREEZETAG_SPAWN_LATE,        0, 0, "",             NO_CPID,             "0 0", _("^K1Round already started, you spawn as frozen"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_INVASION_SUPERMONSTER,       1, 0, "s1",           NO_CPID,             "0 0", _("^K1A %s has arrived!"), "") \
 -      MSG_CENTER_NOTIF(1, CENTER_ITEM_BUFF_DROP,              0, 1, "item_buffname",                     CPID_ITEM, "item_centime 0", _("^BGYou dropped the %s^BG Buff!"), "") \
 -      MSG_CENTER_NOTIF(1, CENTER_ITEM_BUFF_GOT,               0, 1, "item_buffname",                     CPID_ITEM, "item_centime 0", _("^BGYou got the %s^BG Buff!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_ITEM_WEAPON_DONTHAVE,        0, 1, "item_wepname",                      CPID_ITEM, "item_centime 0", _("^BGYou do not have the ^F1%s"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_ITEM_WEAPON_DROP,            1, 1, "item_wepname item_wepammo",         CPID_ITEM, "item_centime 0", _("^BGYou dropped the ^F1%s^BG%s"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_ITEM_WEAPON_GOT,             0, 1, "item_wepname",                      CPID_ITEM, "item_centime 0", _("^BGYou got the ^F1%s"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_ITEM_WEAPON_NOAMMO,          0, 1, "item_wepname",                      CPID_ITEM, "item_centime 0", _("^BGYou don't have enough ammo for the ^F1%s"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_ITEM_WEAPON_PRIMORSEC,       0, 3, "item_wepname f2primsec f3primsec",  CPID_ITEM, "item_centime 0", _("^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_ITEM_WEAPON_UNAVAILABLE,     0, 1, "item_wepname",                      CPID_ITEM, "item_centime 0", _("^F1%s^BG is ^F4not available^BG on this map"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_JOIN_NOSPAWNS,               0, 0, "",              CPID_PREVENT_JOIN,     "0 0", _("^K1No spawnpoints available!\nHope your team can fix it..."), "") \
--      MSG_CENTER_NOTIF(1, CENTER_JOIN_PREVENT,                0, 0, "",              CPID_PREVENT_JOIN,     "0 0", _("^K1You may not join the game at this time.\nThe player limit reached maximum capacity."), "") \
--      MSG_CENTER_NOTIF(1, CENTER_KEEPAWAY_DROPPED,            1, 0, "s1",            CPID_KEEPAWAY,         "0 0", _("^BG%s^BG has dropped the ball!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_KEEPAWAY_PICKUP,             1, 0, "s1",            CPID_KEEPAWAY,         "0 0", _("^BG%s^BG has picked up the ball!"), "") \
 -      MSG_CENTER_NOTIF(1, CENTER_KEEPAWAY_PICKUP_SELF,        0, 0, "",              CPID_KEEPAWAY,         "0 0", _("^BGYou picked up the ball"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_KEEPAWAY_WARN,               0, 0, "",              CPID_KEEPAWAY_WARN,    "0 0", _("^BGKilling people while you don't have the ball gives no points!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_KEYHUNT_HELP,                0, 0, "",              CPID_KEYHUNT,          "0 0", _("^BGAll keys are in your team's hands!\nHelp the key carriers to meet!"), "") \
--      MULTITEAM_CENTER(1, CENTER_KEYHUNT_INTERFERE_, 4,       0, 0, "",              CPID_KEYHUNT,          "0 0", _("^BGAll keys are in ^TC^TT team^BG's hands!\nInterfere ^F4NOW^BG!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_KEYHUNT_MEET,                0, 0, "",              CPID_KEYHUNT,          "0 0", _("^BGAll keys are in your team's hands!\nMeet the other key carriers ^F4NOW^BG!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_KEYHUNT_ROUNDSTART,          0, 1, "",              CPID_KEYHUNT_OTHER,    "1 f1", _("^F4Round will start in ^COUNT"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_KEYHUNT_SCAN,                0, 1, "",              CPID_KEYHUNT_OTHER,    "f1 0", _("^BGScanning frequency range..."), "") \
--      MULTITEAM_CENTER(1, CENTER_KEYHUNT_START_, 4,           0, 0, "",              CPID_KEYHUNT,          "0 0", _("^BGYou are starting with the ^TC^TT Key"), "") \
-       MSG_CENTER_NOTIF(1, CENTER_KEYHUNT_WAIT,                0, 4, "missing_teams", CPID_KEYHUNT_OTHER,    "0 0", _("^BGWaiting for players to join...\nNeed active players for: %s"), "") \
-       MSG_CENTER_NOTIF(1, CENTER_MISSING_TEAMS,               0, 4, "missing_teams", CPID_MISSING_TEAMS,    "-1 0", _("^BGWaiting for players to join...\nNeed active players for: %s"), "") \
 -      MSG_CENTER_NOTIF(1, CENTER_KEYHUNT_WAIT,                0, 1, "missing_teams", CPID_KEYHUNT_OTHER,    "0 0", _("^BGWaiting for players to join...\nNeed active players for: %s"), "") \
 -      MSG_CENTER_NOTIF(1, CENTER_MISSING_TEAMS,               0, 1, "missing_teams", CPID_MISSING_TEAMS,    "-1 0", _("^BGWaiting for players to join...\nNeed active players for: %s"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_MISSING_PLAYERS,             0, 1, "f1",            CPID_MISSING_PLAYERS,  "-1 0", _("^BGWaiting for %s player(s) to join..."), "") \
--      MSG_CENTER_NOTIF(1, CENTER_MINSTA_FINDAMMO,             0, 0, "",              CPID_MINSTA_FINDAMMO,  "1 9", _("^F4^COUNT^BG left to find some ammo!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_MINSTA_FINDAMMO_FIRST,       0, 0, "",              CPID_MINSTA_FINDAMMO,  "1 10", _("^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"), _("^BGGet some ammo! ^F4^COUNT^BG left!")) \
--      MSG_CENTER_NOTIF(1, CENTER_MINSTA_LIVES_REMAINING,      0, 1, "f1",            NO_CPID,                           "0 0", _("^F2Extra lives remaining: ^K1%s"), "") \
 -      MSG_CENTER_NOTIF(1, CENTER_MINSTA_SECONDARY,            0, 0, "",              NO_CPID,                           "0 0", _("^BGSecondary fire inflicts no damage!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_MOTD,                        1, 0, "s1",            CPID_MOTD,             "-1 0", _("^BG%s"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_NIX_COUNTDOWN,               0, 2, "item_wepname",  CPID_NIX,              "1 f2", _("^F2^COUNT^BG until weapon change...\nNext weapon: ^F1%s"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_NIX_NEWWEAPON,               0, 1, "item_wepname",  CPID_NIX,              "0 0", _("^F2Active weapon: ^F1%s"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_NADE,                                0, 0, "",              NO_CPID,                   "0 0", _("^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"), "") \
-       MSG_CENTER_NOTIF(1, CENTER_OVERKILL_CHARGE,             0, 0, "",              CPID_OVERKILL,         "0 0", _("^BGYour weapon's charge is too low, release the attack button & wait for it to charge"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_OVERTIME_FRAG,               0, 0, "",              CPID_OVERTIME,         "0 0", _("^F2Now playing ^F4OVERTIME^F2!\nKeep fragging until we have a winner!"), _("^F2Now playing ^F4OVERTIME^F2!\nKeep scoring until we have a winner!")) \
--      MSG_CENTER_NOTIF(1, CENTER_OVERTIME_TIME,               0, 1, "f1time",        CPID_OVERTIME,         "0 0", _("^F2Now playing ^F4OVERTIME^F2!\n^BGAdded ^F4%s^BG to the game!"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_POWERDOWN_INVISIBILITY,      0, 0, "",              CPID_POWERUP,          "0 0", _("^F2Invisibility has worn off"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_POWERDOWN_SHIELD,            0, 0, "",              CPID_POWERUP,          "0 0", _("^F2Shield has worn off"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_POWERDOWN_SPEED,             0, 0, "",              CPID_POWERUP,          "0 0", _("^F2Speed has worn off"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_POWERDOWN_STRENGTH,          0, 0, "",              CPID_POWERUP,          "0 0", _("^F2Strength has worn off"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_POWERUP_INVISIBILITY,        0, 0, "",              CPID_POWERUP,          "0 0", _("^F2You are invisible"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_POWERUP_SHIELD,              0, 0, "",              CPID_POWERUP,          "0 0", _("^F2Shield surrounds you"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_POWERUP_SPEED,               0, 0, "",              CPID_POWERUP,          "0 0", _("^F2You are on speed"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_POWERUP_STRENGTH,            0, 0, "",              CPID_POWERUP,          "0 0", _("^F2Strength infuses your weapons with devastating power"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_RACE_FINISHLAP,              0, 0, "",              CPID_RACE_FINISHLAP,   "0 0", _("^F2The race is over, finish your lap!"), "") \
-       MSG_CENTER_NOTIF(1, CENTER_SECONDARY_NODAMAGE,         0, 0, "",              NO_CPID,               "0 0", _("^BGSecondary fire inflicts no damage!"), "") \
 -      MSG_CENTER_NOTIF(1, CENTER_SEQUENCE_COMPLETED,          0, 0, "",              NO_CPID,               "0 0", _("^BGSequence completed!"), "") \
 -      MSG_CENTER_NOTIF(1, CENTER_SEQUENCE_COUNTER,            0, 0, "",              NO_CPID,               "0 0", _("^BGThere are more to go..."), "") \
 -      MSG_CENTER_NOTIF(1, CENTER_SEQUENCE_COUNTER_FEWMORE,    0, 1, "f1",            NO_CPID,               "0 0", _("^BGOnly %s^BG more to go..."), "") \
--      MSG_CENTER_NOTIF(1, CENTER_SUPERWEAPON_BROKEN,          0, 0, "",              CPID_POWERUP,          "0 0", _("^F2Superweapons have broken down"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_SUPERWEAPON_LOST,            0, 0, "",              CPID_POWERUP,          "0 0", _("^F2Superweapons have been lost"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_SUPERWEAPON_PICKUP,          0, 0, "",              CPID_POWERUP,          "0 0", _("^F2You now have a superweapon"), "") \
--      MULTITEAM_CENTER(1, CENTER_TEAMCHANGE_, 4,              0, 1, "",              CPID_TEAMCHANGE,       "1 f1", _("^K1Changing to ^TC^TT^K1 in ^COUNT"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_TEAMCHANGE_AUTO,             0, 1, "",              CPID_TEAMCHANGE,       "1 f1", _("^K1Changing team in ^COUNT"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_TEAMCHANGE_SPECTATE,         0, 1, "",              CPID_TEAMCHANGE,       "1 f1", _("^K1Spectating in ^COUNT"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_TEAMCHANGE_SUICIDE,          0, 1, "",              CPID_TEAMCHANGE,       "1 f1", _("^K1Suicide in ^COUNT"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_TIMEOUT_BEGINNING,           0, 1, "",              CPID_TIMEOUT,          "1 f1", _("^F4Timeout begins in ^COUNT"), "") \
--      MSG_CENTER_NOTIF(1, CENTER_TIMEOUT_ENDING,              0, 1, "",              CPID_TIMEOUT,          "1 f1", _("^F4Timeout ends in ^COUNT"), "")
++    MSG_CENTER_NOTIF(1, CENTER_ALONE,                       0, 0, "",             NO_CPID,             "0 0", _("^F4You are now alone!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_ASSAULT_ATTACKING,           0, 0, "",             CPID_ASSAULT_ROLE,   "0 0", _("^BGYou are attacking!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_ASSAULT_DEFENDING,           0, 0, "",             CPID_ASSAULT_ROLE,   "0 0", _("^BGYou are defending!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_COUNTDOWN_BEGIN,             0, 0, "",             CPID_ROUND,          "2 0", _("^F4Begin!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_COUNTDOWN_GAMESTART,         0, 1, "",             CPID_ROUND,          "1 f1", _("^F4Game starts in ^COUNT"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_COUNTDOWN_ROUNDSTART,        0, 1, "",             CPID_ROUND,          "1 f1", _("^F4Round starts in ^COUNT"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_COUNTDOWN_ROUNDSTOP,         0, 0, "",             CPID_ROUND,          "2 0", _("^F4Round cannot start"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_ROUND_TIED,                  0, 0, "",             CPID_ROUND,          "0 0", _("^BGRound tied"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_ROUND_OVER,                  0, 0, "",             CPID_ROUND,          "0 0", _("^BGRound over, there's no winner"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_CAMPCHECK,                   0, 0, "",             CPID_CAMPCHECK,      "0 0", _("^F2Don't camp!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_CTF_CAPTURESHIELD_FREE,      0, 0, "",             CPID_CTF_CAPSHIELD,  "0 0", _("^BGYou are now free.\n^BGFeel free to ^F2try to capture^BG the flag again\n^BGif you think you will succeed."), "") \
++    MSG_CENTER_NOTIF(1, CENTER_CTF_CAPTURESHIELD_SHIELDED,  0, 0, "",             CPID_CTF_CAPSHIELD,  "0 0", _("^BGYou are now ^F1shielded^BG from the flag\n^BGfor ^F2too many unsuccessful attempts^BG to capture.\n^BGMake some defensive scores before trying again."), "") \
++    MULTITEAM_CENTER(1, CENTER_CTF_CAPTURE_, 2,             0, 0, "",             CPID_CTF_LOWPRIO,    "0 0", _("^BGYou captured the ^TC^TT^BG flag!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_CTF_FLAG_THROW_PUNISH,       0, 1, "f1secs",       CPID_CTF_LOWPRIO,    "0 0", _("^BGToo many flag throws! Throwing disabled for %s."), "") \
++    MULTITEAM_CENTER(1, CENTER_CTF_PASS_OTHER_, 2,          2, 0, "s1 s2",        CPID_CTF_PASS,       "0 0", _("^BG%s^BG passed the ^TC^TT^BG flag to %s"), "") \
++    MULTITEAM_CENTER(1, CENTER_CTF_PASS_RECEIVED_, 2,       1, 0, "s1",           CPID_CTF_PASS,       "0 0", _("^BGYou received the ^TC^TT^BG flag from %s"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_CTF_PASS_REQUESTED,          1, 0, "s1 pass_key",  CPID_CTF_PASS,       "0 0", _("^BG%s^BG requests you to pass the flag%s"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_CTF_PASS_REQUESTING,         1, 0, "s1",           CPID_CTF_PASS,       "0 0", _("^BGRequesting %s^BG to pass you the flag"), "") \
++    MULTITEAM_CENTER(1, CENTER_CTF_PASS_SENT_, 2,           1, 0, "s1",           CPID_CTF_PASS,       "0 0", _("^BGYou passed the ^TC^TT^BG flag to %s"), "") \
++    MULTITEAM_CENTER(1, CENTER_CTF_PICKUP_, 2,              0, 0, "",             CPID_CTF_LOWPRIO,    "0 0", _("^BGYou got the ^TC^TT^BG flag!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_CTF_PICKUP_ENEMY,            1, 0, "s1",           CPID_CTF_LOWPRIO,    "0 0", _("^BGThe %senemy^BG got your flag! Retrieve it!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_CTF_PICKUP_ENEMY_VERBOSE,    2, 0, "s1 s2 s1",     CPID_CTF_LOWPRIO,    "0 0", _("^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_CTF_PICKUP_TEAM,             1, 0, "s1",           CPID_CTF_LOWPRIO,    "0 0", _("^BGYour %steam mate^BG got the flag! Protect them!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_CTF_PICKUP_TEAM_VERBOSE,     2, 0, "s1 s2 s1",     CPID_CTF_LOWPRIO,    "0 0", _("^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"), "") \
++    MULTITEAM_CENTER(1, CENTER_CTF_RETURN_, 2,              0, 0, "",             CPID_CTF_LOWPRIO,    "0 0", _("^BGYou returned the ^TC^TT^BG flag!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_CTF_STALEMATE_CARRIER,       0, 0, "",             CPID_STALEMATE,      "0 0", _("^BGStalemate! Enemies can now see you on radar!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_CTF_STALEMATE_OTHER,         0, 0, "",             CPID_STALEMATE,      "0 0", _("^BGStalemate! Flag carriers can now be seen by enemies on radar!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_MURDER_FRAG,                 1, 1, "spree_cen s1",             NO_CPID, "0 0", _("^K3%sYou fragged ^BG%s"), _("^K3%sYou scored against ^BG%s")) \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_MURDER_FRAGGED,              1, 1, "spree_cen s1",             NO_CPID, "0 0", _("^K1%sYou were fragged by ^BG%s"), _("^K1%sYou were scored against by ^BG%s")) \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_MURDER_FRAGGED_VERBOSE,      1, 4, "spree_cen s1 frag_stats",  NO_CPID, "0 0", _("^K1%sYou were fragged by ^BG%s^BG%s"), _("^K1%sYou were scored against by ^BG%s^BG%s")) \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_MURDER_FRAG_VERBOSE,         1, 2, "spree_cen s1 frag_ping",   NO_CPID, "0 0", _("^K3%sYou fragged ^BG%s^BG%s"), _("^K3%sYou scored against ^BG%s^BG%s")) \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_MURDER_TYPEFRAG,             1, 1, "spree_cen s1",             NO_CPID, "0 0", _("^K1%sYou typefragged ^BG%s"), _("^K1%sYou scored against ^BG%s^K1 while they were typing")) \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_MURDER_TYPEFRAGGED,          1, 1, "spree_cen s1",             NO_CPID, "0 0", _("^K1%sYou were typefragged by ^BG%s"), _("^K1%sYou were scored against by ^BG%s^K1 while typing!")) \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_MURDER_TYPEFRAGGED_VERBOSE,  1, 4, "spree_cen s1 frag_stats",  NO_CPID, "0 0", _("^K1%sYou were typefragged by ^BG%s^BG%s"), _("^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s")) \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_MURDER_TYPEFRAG_VERBOSE,     1, 2, "spree_cen s1 frag_ping",   NO_CPID, "0 0", _("^K1%sYou typefragged ^BG%s^BG%s"), _("^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s")) \
++    MSG_CENTER_NOTIF(1, CENTER_NADE_THROW,                  0, 0, "",             CPID_NADES,          "0 0", _("^BGPress ^F2DROPWEAPON^BG again to toss the nade!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_NADE_BONUS,                  0, 0, "",             CPID_NADES,          "0 0", _("^F2You got a ^K1BONUS GRENADE^F2!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_AUTOTEAMCHANGE,   0, 1, "death_team",   NO_CPID,             "0 0", _("^BGYou have been moved into a different team\nYou are now on: %s"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_BETRAYAL,         0, 0, "",             NO_CPID,             "0 0", _("^K1Don't shoot your team mates!"), _("^K1Don't go against your team mates!")) \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_CAMP,             0, 0, "",             NO_CPID,             "0 0", _("^K1Die camper!"), _("^K1Reconsider your tactics, camper!")) \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_CHEAT,            0, 0, "",             NO_CPID,             "0 0", _("^K1You unfairly eliminated yourself!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_CUSTOM,           2, 0, "s2",           NO_CPID,             "0 0", _("^K1You were %s"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_DROWN,            0, 0, "",             NO_CPID,             "0 0", _("^K1You couldn't catch your breath!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_FALL,             0, 0, "",             NO_CPID,             "0 0", _("^K1You hit the ground with a crunch!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_FIRE,             0, 0, "",             NO_CPID,             "0 0", _("^K1You got a little bit too crispy!"), _("^K1You felt a little too hot!")) \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_GENERIC,          0, 0, "",             NO_CPID,             "0 0", _("^K1You killed your own dumb self!"), _("^K1You need to be more careful!")) \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_LAVA,             0, 0, "",             NO_CPID,             "0 0", _("^K1You couldn't stand the heat!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_MONSTER,          0, 0, "",             NO_CPID,             "0 0", _("^K1You were killed by a monster!"), _("^K1You need to watch out for monsters!")) \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_NADE,             0, 0, "",             NO_CPID,             "0 0", _("^K1You forgot to put the pin back in!"), _("^K1Tastes like chicken!")) \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_NADE_NAPALM,      0, 0, "",             NO_CPID,             "0 0", _("^K1Hanging around a napalm explosion is bad!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_NADE_ICE_FREEZE,  0, 0, "",             NO_CPID,             "0 0", _("^K1You got a little bit too cold!"), _("^K1You felt a little chilly!")) \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_NADE_HEAL,        0, 0, "",             NO_CPID,             "0 0", _("^K1Your Healing Nade is a bit defective"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_NOAMMO,           0, 0, "",             NO_CPID,             "0 0", _("^K1You were killed for running out of ammo..."), _("^K1You are respawning for running out of ammo...")) \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_ROT,              0, 0, "",             NO_CPID,             "0 0", _("^K1You grew too old without taking your medicine"), _("^K1You need to preserve your health")) \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_SHOOTING_STAR,    0, 0, "",             NO_CPID,             "0 0", _("^K1You became a shooting star!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_SLIME,            0, 0, "",             NO_CPID,             "0 0", _("^K1You melted away in slime!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_SUICIDE,          0, 0, "",             NO_CPID,             "0 0", _("^K1You committed suicide!"), _("^K1You ended it all!")) \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_SWAMP,            0, 0, "",             NO_CPID,             "0 0", _("^K1You got stuck in a swamp!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_TEAMCHANGE,       0, 1, "death_team",   NO_CPID,             "0 0", _("^BGYou are now on: %s"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_TOUCHEXPLODE,     0, 0, "",             NO_CPID,             "0 0", _("^K1You died in an accident!"), "") \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_TURRET,           0, 0, "",             NO_CPID,             "0 0", _("^K1You were fragged by a turret!"), _("^K1You had an unfortunate run in with a turret!")) \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_TURRET_EWHEEL,    0, 0, "",             NO_CPID,             "0 0", _("^K1You were fragged by an eWheel turret!"), _("^K1You had an unfortunate run in with an eWheel turret!")) \
++    MSG_CENTER_NOTIF(1, CENTER_DEATH_SELF_TURRET_WALK,      0, 0, "",             NO_CPID,             "0 0", _("^K1You were fragged by a Walker turret!"), _("^K1You had an unfortunate run in with a Walker turret!")) \
++ &n