]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge branch 'master' into Mario/domination_roundbased
authorMario <zacjardine@y7mail.com>
Thu, 13 Nov 2014 15:02:50 +0000 (02:02 +1100)
committerMario <zacjardine@y7mail.com>
Thu, 13 Nov 2014 15:02:50 +0000 (02:02 +1100)
Conflicts:
qcsrc/common/constants.qh

300 files changed:
.gitignore
.tx/merge-base
_hud_descriptions.cfg
balance25.cfg
balanceFruitieX.cfg
balanceXDF.cfg
balanceXPM.cfg
balanceXonotic.cfg
commands.cfg
common.ast.po [new file with mode: 0644]
common.be.po
common.bg.po [new file with mode: 0644]
common.ca.po [new file with mode: 0644]
common.cs.po [new file with mode: 0644]
common.de.po
common.el.po
common.es.po
common.fi.po
common.fr.po
common.hu.po
common.it.po
common.mk.po [new file with mode: 0644]
common.nl.po
common.pl.po [new file with mode: 0644]
common.pot
common.pt.po
common.ro.po
common.ru.po
common.sr.po [new file with mode: 0644]
common.sv.po
common.uk.po
common.zh_CN.po [new file with mode: 0644]
common.zh_TW.po [new file with mode: 0644]
defaultXonotic.cfg
effectinfo.txt
effects-high.cfg
effects-low.cfg
effects-med.cfg
effects-normal.cfg
effects-omg.cfg
effects-ultimate.cfg
effects-ultra.cfg
gamemodes.cfg
gfx/menu/luminos/color.tga [deleted file]
gfx/menu/luminos/colorbutton_c.tga
gfx/menu/luminos/colorbutton_f.tga
gfx/menu/luminos/colorbutton_n.tga [changed mode: 0755->0644]
gfx/menu/luminos/skinvalues.txt
gfx/menu/wickedx/color.tga [deleted file]
gfx/menu/wickedx/colorbutton_c.tga
gfx/menu/wickedx/colorbutton_f.tga
gfx/menu/wickedx/colorbutton_n.tga [changed mode: 0755->0644]
gfx/menu/wickedx/skinvalues.txt
gfx/menu/xaw/color.tga [deleted file]
gfx/menu/xaw/colorbutton_c.tga
gfx/menu/xaw/colorbutton_f.tga
gfx/menu/xaw/colorbutton_n.tga
gfx/menu/xaw/skinvalues.txt
hud_luminos.cfg
hud_luminos_minimal.cfg
hud_luminos_minimal_xhair.cfg
hud_luminos_old.cfg
hud_nexuiz.cfg
keybinds.txt
keybinds.txt.de
keybinds.txt.es
keybinds.txt.fr
keybinds.txt.hu
keybinds.txt.it
keybinds.txt.ru
keybinds.txt.uk
models/monsters/mage.dpm [new file with mode: 0644]
models/monsters/mage.dpm.framegroups [new file with mode: 0644]
models/monsters/shambler.mdl [new file with mode: 0644]
models/monsters/shambler.mdl.framegroups [new file with mode: 0644]
models/monsters/shambler.mdl_0.sounds [new file with mode: 0644]
models/monsters/spider.dpm [new file with mode: 0644]
models/monsters/spider.dpm.framegroups [new file with mode: 0644]
models/monsters/wizard.mdl [new file with mode: 0644]
models/monsters/wizard.mdl.framegroups [new file with mode: 0644]
models/monsters/zombie.dpm.framegroups
models/monsters/zombie.dpm_0.skin [new file with mode: 0644]
models/monsters/zombie.dpm_0.sounds [new file with mode: 0644]
models/monsters/zombie.dpm_1.skin [new file with mode: 0644]
models/monsters/zombie.dpm_2.skin [new file with mode: 0644]
models/monsters/zombie.dpm_3.skin [new file with mode: 0644]
models/ok_player/okmale1.dpm_0.txt
models/ok_player/okmale2.dpm_0.txt
models/ok_player/okmale3.dpm_0.txt
models/ok_player/okmale4.dpm_0.txt
models/ok_player/okrobot1.dpm_0.txt
models/ok_player/okrobot2.dpm_0.txt
models/ok_player/okrobot3.dpm_0.txt
models/ok_player/okrobot4.dpm_0.txt
monster_zombie.cfg [deleted file]
monsters.cfg [new file with mode: 0644]
mutator_new_toys.cfg
mutators.cfg
particles/hook_green.tga [deleted file]
particles/hook_white.tga [new file with mode: 0644]
physicsX.cfg
post-config.cfg [new file with mode: 0644]
qcsrc/Makefile
qcsrc/client/Main.qc
qcsrc/client/View.qc
qcsrc/client/autocvars.qh
qcsrc/client/bgmscript.qc
qcsrc/client/csqcmodel_hooks.qc
qcsrc/client/hook.qc
qcsrc/client/hud.qc
qcsrc/client/hud.qh
qcsrc/client/hud_config.qc
qcsrc/client/mapvoting.qc
qcsrc/client/miscfunctions.qc
qcsrc/client/movetypes.qc
qcsrc/client/movetypes.qh
qcsrc/client/particles.qc
qcsrc/client/player_skeleton.qc
qcsrc/client/progs.src
qcsrc/client/projectile.qc
qcsrc/client/scoreboard.qc
qcsrc/client/shownames.qc
qcsrc/client/target_music.qc
qcsrc/client/tturrets.qc
qcsrc/client/tuba.qc
qcsrc/client/waypointsprites.qc
qcsrc/common/buffs.qc [new file with mode: 0644]
qcsrc/common/buffs.qh [new file with mode: 0644]
qcsrc/common/command/generic.qc
qcsrc/common/constants.qh
qcsrc/common/deathtypes.qh
qcsrc/common/explosion_equation.qc
qcsrc/common/items.qh
qcsrc/common/mapinfo.qc
qcsrc/common/mapinfo.qh
qcsrc/common/monsters/all.qh [new file with mode: 0644]
qcsrc/common/monsters/monster/mage.qc [new file with mode: 0644]
qcsrc/common/monsters/monster/shambler.qc [new file with mode: 0644]
qcsrc/common/monsters/monster/spider.qc [new file with mode: 0644]
qcsrc/common/monsters/monster/wyvern.qc [new file with mode: 0644]
qcsrc/common/monsters/monster/zombie.qc [new file with mode: 0644]
qcsrc/common/monsters/monsters.qc [new file with mode: 0644]
qcsrc/common/monsters/monsters.qh [new file with mode: 0644]
qcsrc/common/monsters/spawn.qc [new file with mode: 0644]
qcsrc/common/monsters/spawn.qh [new file with mode: 0644]
qcsrc/common/monsters/sv_monsters.qc [new file with mode: 0644]
qcsrc/common/monsters/sv_monsters.qh [new file with mode: 0644]
qcsrc/common/notifications.qc
qcsrc/common/notifications.qh
qcsrc/common/stats.qh [new file with mode: 0644]
qcsrc/common/test.qc
qcsrc/common/urllib.qc
qcsrc/common/util-pre.qh
qcsrc/common/util.qc
qcsrc/common/util.qh
qcsrc/csqcmodellib/cl_player.qc
qcsrc/menu/classes.c
qcsrc/menu/item/label.c
qcsrc/menu/menu.qc
qcsrc/menu/progs.src
qcsrc/menu/skin-customizables.inc
qcsrc/menu/xonotic/colorbutton.c
qcsrc/menu/xonotic/colorpicker.c
qcsrc/menu/xonotic/cvarlist.c
qcsrc/menu/xonotic/demolist.c
qcsrc/menu/xonotic/dialog_firstrun.c
qcsrc/menu/xonotic/dialog_hudpanel_buffs.c [new file with mode: 0644]
qcsrc/menu/xonotic/dialog_monstertools.c [new file with mode: 0644]
qcsrc/menu/xonotic/dialog_multiplayer_create.c
qcsrc/menu/xonotic/dialog_settings_effects.c
qcsrc/menu/xonotic/dialog_settings_misc_cvars.c
qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c [new file with mode: 0644]
qcsrc/menu/xonotic/gametypelist.c
qcsrc/menu/xonotic/keybinder.c
qcsrc/menu/xonotic/languagelist.c
qcsrc/menu/xonotic/mainwindow.c
qcsrc/menu/xonotic/playerlist.c
qcsrc/menu/xonotic/playermodel.c
qcsrc/menu/xonotic/serverlist.c
qcsrc/menu/xonotic/skinlist.c
qcsrc/menu/xonotic/slider_decibels.c
qcsrc/menu/xonotic/util.qc
qcsrc/menu/xonotic/weaponslist.c
qcsrc/server/accuracy.qc
qcsrc/server/anticheat.qc
qcsrc/server/anticheat.qh
qcsrc/server/autocvars.qh
qcsrc/server/bot/havocbot/havocbot.qc
qcsrc/server/bot/havocbot/roles.qc
qcsrc/server/bot/navigation.qc
qcsrc/server/bot/waypoints.qc
qcsrc/server/bot/waypoints.qh
qcsrc/server/cheats.qc
qcsrc/server/cl_client.qc
qcsrc/server/cl_impulse.qc
qcsrc/server/cl_physics.qc
qcsrc/server/cl_player.qc
qcsrc/server/cl_weapons.qc
qcsrc/server/cl_weaponsystem.qc
qcsrc/server/command/cmd.qc
qcsrc/server/command/cmd.qh
qcsrc/server/command/getreplies.qc
qcsrc/server/command/getreplies.qh
qcsrc/server/command/radarmap.qc
qcsrc/server/command/sv_cmd.qc
qcsrc/server/command/vote.qc
qcsrc/server/defs.qh
qcsrc/server/g_damage.qc
qcsrc/server/g_hook.qc
qcsrc/server/g_subs.qc
qcsrc/server/g_tetris.qc
qcsrc/server/g_world.qc
qcsrc/server/mapvoting.qc [new file with mode: 0644]
qcsrc/server/mapvoting.qh [new file with mode: 0644]
qcsrc/server/miscfunctions.qc
qcsrc/server/movelib.qc
qcsrc/server/mutators/base.qc
qcsrc/server/mutators/base.qh
qcsrc/server/mutators/gamemode_assault.qc
qcsrc/server/mutators/gamemode_ca.qc
qcsrc/server/mutators/gamemode_ca.qh
qcsrc/server/mutators/gamemode_ctf.qc
qcsrc/server/mutators/gamemode_cts.qc [new file with mode: 0644]
qcsrc/server/mutators/gamemode_cts.qh [new file with mode: 0644]
qcsrc/server/mutators/gamemode_domination.qc
qcsrc/server/mutators/gamemode_freezetag.qc
qcsrc/server/mutators/gamemode_invasion.qc [new file with mode: 0644]
qcsrc/server/mutators/gamemode_invasion.qh [new file with mode: 0644]
qcsrc/server/mutators/gamemode_keepaway.qc
qcsrc/server/mutators/gamemode_lms.qc
qcsrc/server/mutators/gamemode_nexball.qc
qcsrc/server/mutators/gamemode_onslaught.qc
qcsrc/server/mutators/gamemode_race.qc [new file with mode: 0644]
qcsrc/server/mutators/gamemode_race.qh [new file with mode: 0644]
qcsrc/server/mutators/mutator_buffs.qc [new file with mode: 0644]
qcsrc/server/mutators/mutator_buffs.qh [new file with mode: 0644]
qcsrc/server/mutators/mutator_melee_only.qc
qcsrc/server/mutators/mutator_minstagib.qc
qcsrc/server/mutators/mutator_nades.qc
qcsrc/server/mutators/mutator_spawn_near_teammate.qc
qcsrc/server/mutators/mutators.qc [new file with mode: 0644]
qcsrc/server/mutators/mutators.qh
qcsrc/server/mutators/mutators_include.qc [new file with mode: 0644]
qcsrc/server/mutators/mutators_include.qh [new file with mode: 0644]
qcsrc/server/playerstats.qc
qcsrc/server/progs.src
qcsrc/server/race.qc
qcsrc/server/race.qh
qcsrc/server/scores.qc
qcsrc/server/scores_rules.qc
qcsrc/server/sv_main.qc
qcsrc/server/t_items.qc
qcsrc/server/t_plats.qc
qcsrc/server/t_quake3.qc
qcsrc/server/t_teleporters.qc
qcsrc/server/target_music.qc
qcsrc/server/teamplay.qc
qcsrc/server/tturrets/system/system_main.qc
qcsrc/server/tturrets/units/unit_machinegun.qc
qcsrc/server/tturrets/units/unit_walker.qc
qcsrc/server/vehicles/bumblebee.qc
qcsrc/server/vehicles/racer.qc
qcsrc/server/vehicles/raptor.qc
qcsrc/server/vehicles/spiderbot.qc
qcsrc/server/vehicles/vehicles.qc
qcsrc/server/vehicles/vehicles_def.qh
qcsrc/server/w_common.qc
qcsrc/server/w_minelayer.qc
qcsrc/server/w_rifle.qc
qcsrc/server/w_shotgun.qc
qcsrc/server/w_tuba.qc
qcsrc/server/w_uzi.qc
qcsrc/warpzonelib/client.qc
quake.rc
scripts/monsters.shader [new file with mode: 0644]
scripts/shaderlist.txt
sound/monsters/shambler/idle1.wav [new file with mode: 0644]
sound/monsters/shambler/idle2.wav [new file with mode: 0644]
sound/monsters/shambler/sight.wav [new file with mode: 0644]
sound/monsters/zombie/death.ogg [new file with mode: 0644]
sound/monsters/zombie/idle.ogg [new file with mode: 0644]
sound/monsters/zombie/sight.ogg [new file with mode: 0644]
textures/bloodyskull.jpg
textures/bloodyskull_pants.jpg [new file with mode: 0644]
textures/bloodyskull_robot_pants.tga [new file with mode: 0644]
textures/mage.tga [new file with mode: 0644]
textures/mage_glow.tga [new file with mode: 0644]
textures/mage_pants.tga [new file with mode: 0644]
textures/meat.tga
textures/meat_alien.tga
textures/meat_alien_pants.tga [new file with mode: 0644]
textures/meat_pants.tga [new file with mode: 0644]
textures/meat_robot.tga
textures/meat_robot_pants.tga [new file with mode: 0644]
textures/spidertex.tga [new file with mode: 0644]
textures/spidertex_glow.tga [new file with mode: 0644]
textures/spidertex_pants.tga [new file with mode: 0644]
vehicle_raptor.cfg
vehicle_spiderbot.cfg
xonotic-credits.txt

index 111ff910955c548eff9626df6d03e7f9892890e7..6b5cef68e6ae6881cd0fc23abc2340230d73614e 100644 (file)
@@ -6,4 +6,6 @@ qcsrc/menu/fteqcc.log
 qcsrc/server/fteqcc.log
 weapons.qc.tmp
 *.lno
-qcsrc/qccversion.*
+qcsrc/qccversion*
+qcsrc/server/precache-for-csqc.inc
+.DS_Store
index fd366f8ebd6aadbf77fcdc0748db5b744e8f3518..a517ba03f14a4147d472872428ddb4e51b1b68fe 100644 (file)
@@ -1 +1 @@
-Fri Oct  4 13:06:47 CEST 2013
+Wed Jun  4 16:12:08 CEST 2014
index 5f21867d353600ab2aa32dbad1c137f6d3a8ccae..270bd2bd9294693bcbf787666f7b3b2d341e2141 100644 (file)
@@ -128,6 +128,7 @@ seta hud_panel_notify_flip "" "order the list top to bottom instead of bottom to
 seta hud_panel_notify_fontsize "" "multiplier for the font size used for player names in the panel"
 seta hud_panel_notify_fadetime "" "fade out time"
 seta hud_panel_notify_time "" "time that a new entry stays until it fades out"
+seta hud_panel_notify_icon_aspect "" "aspect ratio of total drawing area per icon"
 
 seta hud_panel_timer "" "enable/disable this panel"
 seta hud_panel_timer_pos "" "position of this base of the panel"
@@ -296,3 +297,13 @@ seta hud_panel_centerprint_fade_subsequent_passtwo "" "division factor for the s
 seta hud_panel_centerprint_fade_subsequent_passtwo_minalpha "" "minimum factor that the second pass can fade to"
 seta hud_panel_centerprint_fade_subsequent_minfontsize "" "minimum factor for the font size from the subsequent fading effects"
 seta hud_panel_centerprint_fade_minfontsize "" "minimum factor for the font size from the fading in/out effects"
+
+seta hud_panel_buffs "" "enable/disable this panel"
+seta hud_panel_buffs_pos "" "position of this panel"
+seta hud_panel_buffs_size "" "size of this panel"
+seta hud_panel_buffs_bg "" "if set to something else than \"\" = override default background"
+seta hud_panel_buffs_bg_color "" "if set to something else than \"\" = override default panel background color"
+seta hud_panel_buffs_bg_color_team "" "override panel color with team color in team based games"
+seta hud_panel_buffs_bg_alpha "" "if set to something else than \"\" = override default panel background alpha"
+seta hud_panel_buffs_bg_border "" "if set to something else than \"\" = override default size of border around the background"
+seta hud_panel_buffs_bg_padding "" "if set to something else than \"\" = override default padding of contents from border"
index 9451d377d99757107948b7e805e8b63c2eeacfdc..be0e84f3f1c7e99b68242e09d173b0fa3eddc033 100644 (file)
@@ -223,6 +223,7 @@ set g_balance_grapplehook_stretch 50
 set g_balance_grapplehook_airfriction 0.2
 set g_balance_grapplehook_health 130
 set g_balance_grapplehook_damagedbycontents 0
+set g_balance_grapplehook_refire 0.2
 // }}}
 
 // {{{ weapon properties
@@ -271,8 +272,7 @@ set g_balance_shotgun_primary_spread 0.07
 set g_balance_shotgun_primary_refire 0.5
 set g_balance_shotgun_primary_animtime 0.2
 set g_balance_shotgun_primary_ammo 1
-set g_balance_shotgun_primary_speed 12000
-set g_balance_shotgun_primary_bulletconstant 75 // 3.8qu
+set g_balance_shotgun_primary_solidpenetration 3.8
 set g_balance_shotgun_secondary 1
 set g_balance_shotgun_secondary_melee_delay 0.25 // 0.35 was too slow
 set g_balance_shotgun_secondary_melee_range 120
@@ -320,8 +320,7 @@ set g_balance_uzi_sustained_spread 0.05
 set g_balance_uzi_sustained_refire 0.1
 set g_balance_uzi_sustained_ammo 1
 
-set g_balance_uzi_speed 18000
-set g_balance_uzi_bulletconstant 115 // 13.1qu
+set g_balance_uzi_solidpenetration 13.1
 
 set g_balance_uzi_switchdelay_drop 0.15
 set g_balance_uzi_switchdelay_raise 0.15
@@ -631,7 +630,7 @@ set g_balance_portal_lifetime 15 // these get recharged whenever the portal is u
 // }}}
 // {{{ hook
 set g_balance_hook_primary_fuel 5 // hook monkeys set 0
-set g_balance_hook_primary_refire 0 // hook monkeys set 0
+set g_balance_hook_primary_refire 0.2 // hook monkeys set 0
 set g_balance_hook_primary_animtime 0.3 // good shoot anim
 set g_balance_hook_primary_hooked_time_max 0 // infinite
 set g_balance_hook_primary_hooked_time_free 2 // 2s being hooked are free
index f985659f9c6549ea4c337004c5804e9d7d83e38b..99d458d1d75275c639a7e730b6daf59eb1646df2 100644 (file)
@@ -223,6 +223,7 @@ set g_balance_grapplehook_stretch 50
 set g_balance_grapplehook_airfriction 0.2
 set g_balance_grapplehook_health 130
 set g_balance_grapplehook_damagedbycontents 0
+set g_balance_grapplehook_refire 0.2
 // }}}
 
 // {{{ weapon properties
@@ -271,8 +272,7 @@ set g_balance_shotgun_primary_spread 0.16 // LOG: changed from 0.18 -> 0.16 to c
 set g_balance_shotgun_primary_refire 1
 set g_balance_shotgun_primary_animtime 0.3
 set g_balance_shotgun_primary_ammo 1
-set g_balance_shotgun_primary_speed 12000
-set g_balance_shotgun_primary_bulletconstant 75 // 3.8qu
+set g_balance_shotgun_primary_solidpenetration 3.8
 set g_balance_shotgun_secondary 1
 set g_balance_shotgun_secondary_melee_delay 0.25 // 0.35 was too slow
 set g_balance_shotgun_secondary_melee_range 120
@@ -320,8 +320,7 @@ set g_balance_uzi_sustained_spread 0.06
 set g_balance_uzi_sustained_refire 0.1
 set g_balance_uzi_sustained_ammo 1
 
-set g_balance_uzi_speed 18000
-set g_balance_uzi_bulletconstant 115 // 13.1qu
+set g_balance_uzi_solidpenetration 13.1
 
 set g_balance_uzi_switchdelay_drop 0.15
 set g_balance_uzi_switchdelay_raise 0.15
@@ -631,7 +630,7 @@ set g_balance_portal_lifetime 15 // these get recharged whenever the portal is u
 // }}}
 // {{{ hook
 set g_balance_hook_primary_fuel 5 // hook monkeys set 0
-set g_balance_hook_primary_refire 0 // hook monkeys set 0
+set g_balance_hook_primary_refire 0.2 // hook monkeys set 0
 set g_balance_hook_primary_animtime 0.2 // good shoot anim
 set g_balance_hook_primary_hooked_time_max 0 // infinite
 set g_balance_hook_primary_hooked_time_free 2 // 2s being hooked are free
index 4e0631523882e1ae1a045afef1598862eeba5ad2..41d1936193c6ce42177ccdf2bbc3f29d97bdbe67 100644 (file)
@@ -223,6 +223,7 @@ set g_balance_grapplehook_stretch 50
 set g_balance_grapplehook_airfriction 0.2
 set g_balance_grapplehook_health 130
 set g_balance_grapplehook_damagedbycontents 0
+set g_balance_grapplehook_refire 0.2
 // }}}
 
 // {{{ weapon properties
@@ -271,8 +272,7 @@ set g_balance_shotgun_primary_spread 0.12
 set g_balance_shotgun_primary_refire 0.75
 set g_balance_shotgun_primary_animtime 0.2
 set g_balance_shotgun_primary_ammo 1
-set g_balance_shotgun_primary_speed 8000
-set g_balance_shotgun_primary_bulletconstant 75 // 3.8qu
+set g_balance_shotgun_primary_solidpenetration 3.8
 set g_balance_shotgun_secondary 1
 set g_balance_shotgun_secondary_melee_delay 0.25 // 0.35 was too slow
 set g_balance_shotgun_secondary_melee_range 120
@@ -320,8 +320,7 @@ set g_balance_uzi_sustained_spread 0
 set g_balance_uzi_sustained_refire 0.1
 set g_balance_uzi_sustained_ammo 1
 
-set g_balance_uzi_speed 18000
-set g_balance_uzi_bulletconstant 115 // 13.1qu
+set g_balance_uzi_solidpenetration 13.1
 
 set g_balance_uzi_switchdelay_drop 0
 set g_balance_uzi_switchdelay_raise 0
@@ -631,7 +630,7 @@ set g_balance_portal_lifetime 15 // these get recharged whenever the portal is u
 // }}}
 // {{{ hook
 set g_balance_hook_primary_fuel 5 // hook monkeys set 0
-set g_balance_hook_primary_refire 0 // hook monkeys set 0
+set g_balance_hook_primary_refire 0.2 // hook monkeys set 0
 set g_balance_hook_primary_animtime 0.3 // good shoot anim
 set g_balance_hook_primary_hooked_time_max 0 // infinite
 set g_balance_hook_primary_hooked_time_free 2 // 2s being hooked are free
index 8c171476a1e126114ea1df373d399fe125741c21..f560aee10b0aa9ec9954797863fa878913f852a0 100644 (file)
@@ -223,6 +223,7 @@ 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
 // }}}
 
 // {{{ weapon properties
@@ -271,8 +272,7 @@ set g_balance_shotgun_primary_spread 0.12
 set g_balance_shotgun_primary_refire 0.75
 set g_balance_shotgun_primary_animtime 0.2
 set g_balance_shotgun_primary_ammo 1
-set g_balance_shotgun_primary_speed 8000
-set g_balance_shotgun_primary_bulletconstant 75 // 3.8qu
+set g_balance_shotgun_primary_solidpenetration 3.8
 set g_balance_shotgun_secondary 1
 set g_balance_shotgun_secondary_melee_delay 0.25 // 0.35 was too slow
 set g_balance_shotgun_secondary_melee_range 120
@@ -320,8 +320,7 @@ set g_balance_uzi_sustained_spread 0.03
 set g_balance_uzi_sustained_refire 0.1
 set g_balance_uzi_sustained_ammo 1
 
-set g_balance_uzi_speed 18000
-set g_balance_uzi_bulletconstant 115 // 13.1qu
+set g_balance_uzi_solidpenetration 13.1
 
 set g_balance_uzi_switchdelay_drop 0.2
 set g_balance_uzi_switchdelay_raise 0.2
@@ -631,7 +630,7 @@ set g_balance_portal_lifetime 15 // these get recharged whenever the portal is u
 // }}}
 // {{{ hook
 set g_balance_hook_primary_fuel 5 // hook monkeys set 0
-set g_balance_hook_primary_refire 0 // hook monkeys set 0
+set g_balance_hook_primary_refire 0.2 // hook monkeys set 0
 set g_balance_hook_primary_animtime 0.3 // good shoot anim
 set g_balance_hook_primary_hooked_time_max 0 // infinite
 set g_balance_hook_primary_hooked_time_free 2 // 2s being hooked are free
index cdf3f201354aaebeb4351ee1d83f4af9f6d44490..198801547281fc7a7df7715e962a71cb49665c8e 100644 (file)
@@ -223,6 +223,7 @@ 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
 // }}}
 
 // {{{ weapon properties
@@ -271,8 +272,7 @@ set g_balance_shotgun_primary_spread 0.12
 set g_balance_shotgun_primary_refire 0.75
 set g_balance_shotgun_primary_animtime 0.2
 set g_balance_shotgun_primary_ammo 1
-set g_balance_shotgun_primary_speed 8000
-set g_balance_shotgun_primary_bulletconstant 75 // 3.8qu
+set g_balance_shotgun_primary_solidpenetration 3.8
 set g_balance_shotgun_secondary 1
 set g_balance_shotgun_secondary_melee_delay 0.25 // 0.35 was too slow
 set g_balance_shotgun_secondary_melee_range 120
@@ -320,8 +320,7 @@ set g_balance_uzi_sustained_spread 0.03
 set g_balance_uzi_sustained_refire 0.1
 set g_balance_uzi_sustained_ammo 1
 
-set g_balance_uzi_speed 18000
-set g_balance_uzi_bulletconstant 115 // 13.1qu
+set g_balance_uzi_solidpenetration 13.1
 
 set g_balance_uzi_switchdelay_drop 0.2
 set g_balance_uzi_switchdelay_raise 0.2
@@ -631,7 +630,7 @@ set g_balance_portal_lifetime 15 // these get recharged whenever the portal is u
 // }}}
 // {{{ hook
 set g_balance_hook_primary_fuel 5 // hook monkeys set 0
-set g_balance_hook_primary_refire 0 // hook monkeys set 0
+set g_balance_hook_primary_refire 0.2 // hook monkeys set 0
 set g_balance_hook_primary_animtime 0.3 // good shoot anim
 set g_balance_hook_primary_hooked_time_max 0 // infinite
 set g_balance_hook_primary_hooked_time_free 2 // 2s being hooked are free
index 71e6eb2cb07998b27caf3a1ddebd5680cdf452e1..20f957029a3472151c0756d25eb444959906d57d 100644 (file)
@@ -103,6 +103,7 @@ alias menu_showhudexit "menu_cmd directmenu HUDExit"
 alias menu_showhudoptions "menu_cmd directpanelhudmenu ${* ?}"
 alias menu_showsandboxtools "menu_cmd directmenu SandboxTools"
 alias menu_showquitdialog "menu_cmd directmenu Quit"
+alias menu_showmonstertools "menu_cmd directmenu MonsterTools"
 
 // command executed before loading a map by the menu
 // makes sure maxplayers is at least minplayers or bot_number + 1
@@ -156,6 +157,9 @@ alias reportcvar           "qc_cmd_cmd    reportcvar           ${* ?}" // Old sy
 alias selectteam           "qc_cmd_cmd    selectteam           ${* ?}" // Attempt to choose a team to join into
 alias selfstuff            "qc_cmd_cmd    selfstuff            ${* ?}" // Stuffcmd a command to your own client
 alias sentcvar             "qc_cmd_cmd    sentcvar             ${* ?}" // New system for sending a client cvar to the server
+alias mobedit              "qc_cmd_cmd    mobedit              ${* ?}" // Edit a monster's properties
+alias mobkill              "qc_cmd_cmd    mobkill              ${* ?}" // Kill a monster
+alias mobspawn             "qc_cmd_cmd    mobspawn             ${* ?}" // Spawn a monster infront of the player
 alias spectate             "qc_cmd_cmd    spectate             ${* ?}" // Become an observer
 alias suggestmap           "qc_cmd_cmd    suggestmap           ${* ?}" // Suggest a map to the mapvote at match end
 //alias tell               "qc_cmd_cmd    tell                 ${* ?}" // Send a message directly to a player
@@ -198,6 +202,7 @@ alias gettaginfo           "qc_cmd_sv     gettaginfo           ${* ?}" // Get sp
 alias gotomap              "qc_cmd_sv     gotomap              ${* ?}" // Simple command to switch to another map
 alias lockteams            "qc_cmd_sv     lockteams            ${* ?}" // Disable the ability for players to switch or enter teams
 alias make_mapinfo         "qc_cmd_sv     make_mapinfo         ${* ?}" // Automatically rebuild mapinfo files
+alias mobbutcher           "qc_cmd_sv     mobbutcher           ${* ?}" // Remove all monsters on the map
 alias moveplayer           "qc_cmd_sv     moveplayer           ${* ?}" // Change the team/status of a player
 alias nospectators         "qc_cmd_sv     nospectators         ${* ?}" // Automatically remove spectators from a match
 alias playerdemo           "qc_cmd_sv     playerdemo           ${* ?}" // Control the ability to save demos of players
diff --git a/common.ast.po b/common.ast.po
new file mode 100644 (file)
index 0000000..89e4680
--- /dev/null
@@ -0,0 +1,6284 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Xonotic\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
+"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"Language-Team: Asturian (http://www.transifex.com/projects/p/xonotic/"
+"language/ast/)\n"
+"Language: ast\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: qcsrc/client/Main.qc:21
+msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!"
+msgstr ""
+
+#: qcsrc/client/Main.qc:46
+msgid ""
+"^3Your engine build is outdated\n"
+"^3This Server uses a newer QC VM. Please update!\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:56
+#, c-format
+msgid "^4CSQC Build information: ^1%s\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:836
+#, c-format
+msgid ""
+"Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
+"%s)\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:1295
+#, c-format
+msgid "%s (not bound)"
+msgstr ""
+
+#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:157
+#, c-format
+msgid "%s (%s)"
+msgstr ""
+
+#: qcsrc/client/View.qc:1165
+msgid "Revival progress"
+msgstr ""
+
+#: qcsrc/client/hud.qc:186
+#, c-format
+msgid " (-%dL)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:191
+#, c-format
+msgid " (+%dL)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:210
+msgid "Start line"
+msgstr ""
+
+#: qcsrc/client/hud.qc:212 qcsrc/client/hud.qc:216
+msgid "Finish line"
+msgstr ""
+
+#: qcsrc/client/hud.qc:214
+#, c-format
+msgid "Intermediate %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:223
+#, c-format
+msgid "%s (%s %s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:832
+msgid "Out of ammo"
+msgstr ""
+
+#: qcsrc/client/hud.qc:836
+msgid "Don't have"
+msgstr ""
+
+#: qcsrc/client/hud.qc:840
+msgid "Unavailable"
+msgstr ""
+
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
+#, c-format
+msgid "Player %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2369
+msgid "^1Intermediate 1 (+15.42)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
+#, c-format
+msgid "^1PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2456
+#, c-format
+msgid "^2PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2486
+msgid "^1You must answer before entering hud configure mode\n"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2491
+msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2570
+msgid "A vote has been called for:"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2572
+msgid "Allow servers to store and display your name?"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2576
+msgid "^1Configure the HUD"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2580
+#, c-format
+msgid "Yes (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2582
+#, c-format
+msgid "No (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
+msgid "Personal best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
+msgid "Server best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3528
+msgid "^3Player^7: This is the chat area."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3593
+#, c-format
+msgid "FPS: %.*f"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3657
+msgid "^1Observing"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
+#, c-format
+msgid "^1Spectating: ^7%s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3667
+#, c-format
+msgid "^1Press ^3%s^1 to spectate"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3669
+#, c-format
+msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3673
+#, c-format
+msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3675
+#, c-format
+msgid "^1Press ^3%s^1 to observe"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3678
+#, c-format
+msgid "^1Press ^3%s^1 for gamemode info"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3686
+msgid "^1Match has already begun"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3688
+msgid "^1You have no more lives left"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
+#, c-format
+msgid "^1Press ^3%s^1 to join"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3701
+#, c-format
+msgid "^1Game starts in ^3%d^1 seconds"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3708
+msgid "^2Currently in ^1warmup^2 stage!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3723
+#, c-format
+msgid "%sPress ^3%s%s to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3725
+#, c-format
+msgid "%sPress ^3%s%s once you are ready"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3730
+msgid "^2Waiting for others to ready up to end warmup..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3732
+msgid "^2Waiting for others to ready up..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3738
+#, c-format
+msgid "^2Press ^3%s^2 to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3759
+msgid "Teamnumbers are unbalanced!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3764
+#, c-format
+msgid " Press ^3%s%s to adjust"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3772
+msgid "^7Press ^3ESC ^7to show HUD options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3774
+msgid "^3Doubleclick ^7a panel for panel-specific options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3776
+msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3778
+msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3825
+msgid " qu/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3829
+msgid " m/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3833
+msgid " km/h"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3837
+msgid " mph"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3841
+msgid " knots"
+msgstr ""
+
+#: qcsrc/client/hud.qc:4497
+msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
+msgstr ""
+
+#: qcsrc/client/hud_config.qc:196
+#, c-format
+msgid "^2Successfully exported to %s! (Note: It's saved in data/data/)\n"
+msgstr ""
+
+#: qcsrc/client/hud_config.qc:200
+#, c-format
+msgid "^1Couldn't write to %s\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:28
+msgid " (1 vote)"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:30
+#, c-format
+msgid " (%d votes)"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:118
+msgid "Don't care"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:203
+msgid "Vote for a map"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:209
+#, c-format
+msgid "%d seconds left"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:273
+msgid ""
+"mv_mapdownload: ^3You're not supposed to use this command on your own!\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:283
+msgid "^1Error:^7 Couldn't find pak index.\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:292
+msgid "Requesting preview...\n"
+msgstr ""
+
+#: qcsrc/client/miscfunctions.qc:101
+msgid "Trying to remove a team which is not in the teamlist!"
+msgstr ""
+
+#: qcsrc/client/movetypes.qc:227
+#, c-format
+msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr ""
+
+#: qcsrc/client/movetypes.qc:230
+#, c-format
+msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:19
+msgid "SCO^bckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:20
+msgid "SCO^bctime"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:21
+msgid "SCO^caps"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:22
+msgid "SCO^captime"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:23
+msgid "SCO^deaths"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:24
+msgid "SCO^destroyed"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:25
+msgid "SCO^drops"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:26
+msgid "SCO^faults"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:27
+msgid "SCO^fckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:28
+msgid "SCO^goals"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:29
+msgid "SCO^kckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:30
+msgid "SCO^kdratio"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:31
+msgid "SCO^k/d"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:32
+msgid "SCO^kd"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:33
+msgid "SCO^kdr"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:34
+msgid "SCO^kills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:35
+msgid "SCO^laps"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:36
+msgid "SCO^lives"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:37
+msgid "SCO^losses"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:38
+msgid "SCO^name"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:39
+msgid "SCO^sum"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:40
+msgid "SCO^nick"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:41
+msgid "SCO^objectives"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:42
+msgid "SCO^pickups"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:43
+msgid "SCO^ping"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:44
+msgid "SCO^pl"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:45
+msgid "SCO^pushes"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:46
+msgid "SCO^rank"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:47
+msgid "SCO^returns"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:48
+msgid "SCO^revivals"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:49
+msgid "SCO^score"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:50
+msgid "SCO^suicides"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:51
+msgid "SCO^takes"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:52
+msgid "SCO^ticks"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:237
+msgid ""
+"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:238
+msgid "^3|---------------------------------------------------------------|\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:239
+msgid "Usage:\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:240
+msgid "^2scoreboard_columns_set default\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:241
+msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:242
+msgid "The following field names are recognized (case insensitive):\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:243
+msgid ""
+"You can use a ^3|^7 to start the right-aligned fields.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:245
+msgid "^3name^7 or ^3nick^7             Name of a player\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:246
+msgid "^3ping^7                     Ping time\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:247
+msgid "^3pl^7                       Packet loss\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:248
+msgid "^3kills^7                    Number of kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:249
+msgid "^3deaths^7                   Number of deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:250
+msgid "^3suicides^7                 Number of suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:251
+msgid "^3frags^7                    kills - suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:252
+msgid "^3kd^7                       The kill-death ratio\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:253
+msgid "^3sum^7                      frags - deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:254
+msgid ""
+"^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
+"captured\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:255
+msgid ""
+"^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
+"ball (Keepaway) was picked up\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:256
+msgid "^3captime^7                  Time of fastest cap (CTF)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:257
+msgid "^3fckills^7                  Number of flag carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:258
+msgid "^3returns^7                  Number of flag returns\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:259
+msgid "^3drops^7                    Number of flag drops\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:260
+msgid "^3lives^7                    Number of lives (LMS)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:261
+msgid "^3rank^7                     Player rank\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:262
+msgid "^3pushes^7                   Number of players pushed into void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:263
+msgid ""
+"^3destroyed^7                Number of keys destroyed by pushing them into "
+"void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:264
+msgid "^3kckills^7                  Number of keys carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:265
+msgid "^3losses^7                   Number of times a key was lost\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:266
+msgid "^3laps^7                     Number of laps finished (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:267
+msgid "^3time^7                     Total time raced (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:268
+msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:269
+msgid "^3ticks^7                    Number of ticks (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:270
+msgid "^3takes^7                    Number of domination points taken (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:271
+msgid "^3bckills^7                  Number of ball carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:272
+msgid ""
+"^3bctime^7                   Total amount of time holding the ball in "
+"Keepaway\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:273
+msgid ""
+"^3score^7                    Total score\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:275
+msgid ""
+"Before a field you can put a + or - sign, then a comma separated list\n"
+"of game types, then a slash, to make the field show up only in these\n"
+"or in all but these game types. You can also specify 'all' as a\n"
+"field to show all fields available for the current game mode.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:280
+msgid ""
+"The special game type names 'teams' and 'noteams' can be used to\n"
+"include/exclude ALL teams/noteams game modes.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:283
+msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:284
+msgid ""
+"will display name, ping and pl aligned to the left, and the fields\n"
+"right of the vertical bar aligned to the right.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:286
+msgid ""
+"'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
+"other gamemodes except DM.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:240
+msgid "N/A"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:970
+#, c-format
+msgid "Accuracy stats (average %d%%)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1033
+#, c-format
+msgid "%d%%"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1099
+msgid "Map stats:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1124
+msgid "Secrets found:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1152
+msgid "Rankings"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1248
+msgid "Scoreboard"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1307
+#, c-format
+msgid "Speed award: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1311
+#, c-format
+msgid "All-time fastest: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1345
+msgid "Spectators"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1352
+#, c-format
+msgid "playing ^3%s^7 on ^2%s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
+#, c-format
+msgid " for up to ^1%1.0f minutes^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
+msgid " or"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
+#, c-format
+msgid " until ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
+msgid "SCO^points"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
+msgid "SCO^is beaten"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
+#, c-format
+msgid " until a lead of ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1419
+#, c-format
+msgid "^1Respawning in ^3%s^1..."
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1429
+#, c-format
+msgid "You are dead, wait ^3%s^7 before respawning"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1438
+#, c-format
+msgid "You are dead, press ^2%s^7 to respawn"
+msgstr ""
+
+#: qcsrc/client/target_music.qc:94 qcsrc/client/target_music.qc:183
+#, c-format
+msgid "Cannot initialize sound %s\n"
+msgstr ""
+
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
+msgid "Spam"
+msgstr ""
+
+#: qcsrc/client/tturrets.qc:308
+#, c-format
+msgid "%s under attack!"
+msgstr ""
+
+#: qcsrc/client/vehicles/vehicles.qc:331 qcsrc/client/vehicles/vehicles.qc:333
+msgid "No right gunner!"
+msgstr ""
+
+#: qcsrc/client/vehicles/vehicles.qc:353 qcsrc/client/vehicles/vehicles.qc:355
+msgid "No left gunner!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:246
+msgid "Push"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:247
+msgid "Destroy"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:248
+msgid "Defend"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:249
+msgid "Blue base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:250
+msgid "DANGER"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:251
+msgid "Enemy carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:252
+msgid "Flag carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:253
+msgid "Dropped flag"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:254
+msgid "Help me!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:255
+msgid "Here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:256
+msgid "Dropped key"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
+msgid "Key carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:258
+msgid "Run here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:263
+msgid "Red base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:264
+msgid "Waypoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
+msgid "Generator"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
+msgid "Control point"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:276
+msgid "Checkpoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
+msgid "Finish"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
+msgid "Start"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
+msgid "Ball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:283
+msgid "Ball carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
+msgid "Laser"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
+msgid "Shotgun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
+msgid "Machine Gun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
+msgid "Mortar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
+msgid "Electro"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
+msgid "Crylink"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
+msgid "Nex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
+msgid "Hagar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
+msgid "Rocket Launcher"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
+msgid "Port-O-Launch"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:294
+msgid "Minstanex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:295
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
+msgid "Hook"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
+msgid "Fireball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:297
+msgid "HLAC"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
+msgid "Rifle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
+msgid "Mine Layer"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:305
+msgid "Invisibility"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:306
+msgid "Extra life"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:307
+msgid "Speed"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:308
+msgid "Strength"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:309
+msgid "Shield"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:310
+msgid "Fuel regen"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:311
+msgid "Jet Pack"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:312
+msgid "Frozen!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:313
+msgid "Tagged"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:314
+msgid "Vehicle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:588
+#, c-format
+msgid "%s needing help!"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:31
+#, c-format
+msgid "error: status is %d\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:159
+msgid "error creating curl handle\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:263
+msgid "Notification dump command only works with cl_cmd and sv_cmd.\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:457
+msgid "Notification restart command only works with cl_cmd and sv_cmd.\n"
+msgstr ""
+
+#: qcsrc/common/counting.qh:5
+#, c-format
+msgid "CI_DEC^%s years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:7
+#, c-format
+msgid "CI_ZER^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:8
+#, c-format
+msgid "CI_FIR^%d year"
+msgstr ""
+
+#: qcsrc/common/counting.qh:9
+#, c-format
+msgid "CI_SEC^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:10
+#, c-format
+msgid "CI_THI^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:11
+#, c-format
+msgid "CI_MUL^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:13
+#, c-format
+msgid "CI_DEC^%s weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:15
+#, c-format
+msgid "CI_ZER^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:16
+#, c-format
+msgid "CI_FIR^%d week"
+msgstr ""
+
+#: qcsrc/common/counting.qh:17
+#, c-format
+msgid "CI_SEC^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:18
+#, c-format
+msgid "CI_THI^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:19
+#, c-format
+msgid "CI_MUL^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:21
+#, c-format
+msgid "CI_DEC^%s days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:23
+#, c-format
+msgid "CI_ZER^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:24
+#, c-format
+msgid "CI_FIR^%d day"
+msgstr ""
+
+#: qcsrc/common/counting.qh:25
+#, c-format
+msgid "CI_SEC^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:26
+#, c-format
+msgid "CI_THI^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:27
+#, c-format
+msgid "CI_MUL^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:29
+#, c-format
+msgid "CI_DEC^%s hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:31
+#, c-format
+msgid "CI_ZER^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:32
+#, c-format
+msgid "CI_FIR^%d hour"
+msgstr ""
+
+#: qcsrc/common/counting.qh:33
+#, c-format
+msgid "CI_SEC^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:34
+#, c-format
+msgid "CI_THI^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:35
+#, c-format
+msgid "CI_MUL^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:38
+#, c-format
+msgid "CI_DEC^%s minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:40
+#, c-format
+msgid "CI_ZER^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:41
+#, c-format
+msgid "CI_FIR^%d minute"
+msgstr ""
+
+#: qcsrc/common/counting.qh:42
+#, c-format
+msgid "CI_SEC^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:43
+#, c-format
+msgid "CI_THI^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:44
+#, c-format
+msgid "CI_MUL^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:46
+#, c-format
+msgid "CI_DEC^%s seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:48
+#, c-format
+msgid "CI_ZER^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:49
+#, c-format
+msgid "CI_FIR^%d second"
+msgstr ""
+
+#: qcsrc/common/counting.qh:50
+#, c-format
+msgid "CI_SEC^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:51
+#, c-format
+msgid "CI_THI^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:52
+#, c-format
+msgid "CI_MUL^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:68
+#, c-format
+msgid "%dst"
+msgstr ""
+
+#: qcsrc/common/counting.qh:69
+#, c-format
+msgid "%dnd"
+msgstr ""
+
+#: qcsrc/common/counting.qh:70
+#, c-format
+msgid "%drd"
+msgstr ""
+
+#: qcsrc/common/counting.qh:71 qcsrc/common/counting.qh:74
+#, c-format
+msgid "%dth"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:717
+#, no-c-format
+msgid "@!#%'n Tuba Throwing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
+#, c-format
+msgid "%s: %s"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:36
+msgid "Deathmatch"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:39
+msgid "Last Man Standing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:42
+msgid "Race"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:45
+msgid "Race CTS"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:48
+msgid "Team Deathmatch"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:51
+msgid "Capture the Flag"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:54
+msgid "Clan Arena"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:57
+msgid "Domination"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:60
+msgid "Key Hunt"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:63
+msgid "Assault"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:66
+msgid "Onslaught"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:69
+msgid "Nexball"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:72
+msgid "Freeze Tag"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:75
+msgid "Keepaway"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr ""
+
+#: qcsrc/common/net_notice.qc:89
+msgid "^1Server notices:"
+msgstr ""
+
+#: qcsrc/common/net_notice.qc:95
+#, c-format
+msgid "^7%s (^3%d sec left)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:343
+#, c-format
+msgid "^BG%s^BG captured the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:344
+#, c-format
+msgid ""
+"^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"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:345
+#, c-format
+msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:346
+#, c-format
+msgid ""
+"^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"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:347
+msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:348
+msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:349
+msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:350
+msgid ""
+"^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
+"base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:351
+#, c-format
+msgid ""
+"^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
+"itself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:352
+msgid "^BGThe ^TC^TT^BG flag has returned to the base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:353
+#, c-format
+msgid "^BG%s^BG lost the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:354
+#, c-format
+msgid "^BG%s^BG got the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
+#, c-format
+msgid "^BG%s^BG returned the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:357
+#, c-format
+msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:358
+#, c-format
+msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:359
+#, c-format
+msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:360
+#, c-format
+msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:360
+#, c-format
+msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:361
+#, c-format
+msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:363
+#, c-format
+msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:364
+#, c-format
+msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:365
+#, c-format
+msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:366
+#, c-format
+msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:367
+#, c-format
+msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:367
+#, c-format
+msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:368
+#, c-format
+msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:369
+#, c-format
+msgid ""
+"^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:370
+#, c-format
+msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:371
+#, c-format
+msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:372
+#, c-format
+msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:373
+#, c-format
+msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:374
+#, c-format
+msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:375
+#, c-format
+msgid ""
+"^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:376
+#, c-format
+msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:377
+#, c-format
+msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:378
+#, c-format
+msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:379
+#, c-format
+msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:380
+#, c-format
+msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:381
+#, c-format
+msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:382
+#, c-format
+msgid "^BG%s^K1 was moved into the %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:383
+#, c-format
+msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:384
+#, c-format
+msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:385
+#, c-format
+msgid "^BG%s^K1 unfairly eliminated themself%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:386
+#, c-format
+msgid "^BG%s^K1 %s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:387
+#, c-format
+msgid "^BG%s^K1 couldn't catch their breath%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:387
+#, c-format
+msgid "^BG%s^K1 was in the water for too long%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:388
+#, c-format
+msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:388
+#, c-format
+msgid "^BG%s^K1 hit the ground with a crunch%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:389
+#, c-format
+msgid "^BG%s^K1 became a bit too crispy%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:389
+#, c-format
+msgid "^BG%s^K1 felt a little hot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:390
+#, c-format
+msgid "^BG%s^K1 died%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:391
+#, c-format
+msgid "^BG%s^K1 found a hot place%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:391
+#, c-format
+msgid "^BG%s^K1 turned into hot slag%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:392
+#, c-format
+msgid "^BG%s^K1 mastered the art of self-nading%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:393
+#, c-format
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:394
+#, c-format
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:395
+#, c-format
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:396
+#, c-format
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:397
+#, c-format
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:398
+#, c-format
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 ran out of ammo%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:402
+#, c-format
+msgid "^BG%s^K1 rotted away%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:403
+#, c-format
+msgid "^BG%s^K1 became a shooting star%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:404
+#, c-format
+msgid "^BG%s^K1 was slimed%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:405
+#, c-format
+msgid "^BG%s^K1 couldn't take it anymore%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:406
+#, c-format
+msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:407
+#, c-format
+msgid "^BG%s^K1 switched to the %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:408
+#, c-format
+msgid "^BG%s^K1 died in an accident%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:409
+#, c-format
+msgid "^BG%s^K1 ran into a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:410
+#, c-format
+msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:411
+#, c-format
+msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:412
+#, c-format
+msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:413
+#, c-format
+msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:414
+#, c-format
+msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:415
+#, c-format
+msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:416
+#, c-format
+msgid "^BG%s^K1 was phased out by a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:417
+#, c-format
+msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:418
+#, c-format
+msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:419
+#, c-format
+msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:420
+#, c-format
+msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:421
+#, c-format
+msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:422
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:423
+#, c-format
+msgid "^BG%s^K1 was crushed by a vehicle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:424
+#, c-format
+msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:425
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:426
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:427
+#, c-format
+msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:428
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:429
+#, c-format
+msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:430
+#, c-format
+msgid "^BG%s^K1 was in the wrong place%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:431
+#, c-format
+msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:432
+#, c-format
+msgid "^BG%s^K1 was frozen by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:433
+#, c-format
+msgid "^BG%s^K3 was revived by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:434
+#, c-format
+msgid "^BG%s^K3 was revived by falling"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:435
+#, c-format
+msgid "^BG%s^K3 was automatically revived after %s second(s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
+msgid "^TC^TT^BG team wins the round"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
+#, c-format
+msgid "^BG%s^BG wins the round"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
+msgid "^BGRound tied"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
+msgid "^BGRound over, there's no winner"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:440
+#, c-format
+msgid "^BG%s^K1 froze themself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:441
+#, c-format
+msgid "^BGGodmode saved you %s units of damage, cheater!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
+#, c-format
+msgid "^BGYou do not have the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
+#, c-format
+msgid "^BGYou dropped the ^F1%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
+#, c-format
+msgid "^BGYou got the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
+#, c-format
+msgid "^BGYou don't have enough ammo for the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
+#, c-format
+msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
+#, c-format
+msgid "^F1%s^BG is ^F4not available^BG on this map"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:448
+#, c-format
+msgid "^BG%s^F3 connected%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:449
+#, c-format
+msgid "^BG%s^F3 connected and joined the ^TC^TT team"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:450
+#, c-format
+msgid "^BG%s^F3 is now playing"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
+#, c-format
+msgid "^BG%s^BG has dropped the ball!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
+#, c-format
+msgid "^BG%s^BG has picked up the ball!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:453
+#, c-format
+msgid "^BG%s^BG captured the keys for the ^TC^TT team"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:454
+#, c-format
+msgid "^BG%s^BG dropped the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:455
+#, c-format
+msgid "^BG%s^BG lost the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:456
+#, c-format
+msgid "^BG%s^BG picked up the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:457
+#, c-format
+msgid "^BG%s^F3 forfeited"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:458
+#, c-format
+msgid "^BG%s^F3 has no more lives left"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:460
+#, c-format
+msgid "^BG%s^K1 picked up Invisibility"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:461
+#, c-format
+msgid "^BG%s^K1 picked up Shield"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:462
+#, c-format
+msgid "^BG%s^K1 picked up Speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:463
+#, c-format
+msgid "^BG%s^K1 picked up Strength"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:464
+#, c-format
+msgid "^BG%s^F3 disconnected"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:465
+#, c-format
+msgid "^BG%s^F3 was kicked for idling"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:466
+msgid ""
+"^F2You were kicked from the server because you are a spectator and "
+"spectators aren't allowed at the moment."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:467
+#, c-format
+msgid "^BG%s^F3 is now spectating"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:468
+#, c-format
+msgid "^BG%s^BG has abandoned the race"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:469
+#, c-format
+msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:470
+#, c-format
+msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:471
+#, c-format
+msgid "^BG%s^BG has finished the race"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:472
+#, c-format
+msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:473
+#, c-format
+msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:474
+#, c-format
+msgid ""
+"^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
+"and will be lost."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:475
+#, c-format
+msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:476
+msgid "^TC^TT ^BGteam scores!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:477
+#, c-format
+msgid ""
+"^F2You have to become a player within the next %s, otherwise you will be "
+"kicked, because spectating isn't allowed at this time!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:478
+#, c-format
+msgid "^BG%s^K1 picked up a Superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:479
+#, c-format
+msgid ""
+"^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
+"^F2Xonotic %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:480
+#, c-format
+msgid ""
+"^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:481
+#, c-format
+msgid ""
+"^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
+"the update from ^F3http://www.xonotic.org/^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:482
+#, c-format
+msgid "^F3SVQC Build information: ^F4%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:483
+#, c-format
+msgid ""
+"^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:484
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:485
+#, c-format
+msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:486
+#, c-format
+msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:487
+#, c-format
+msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:488
+#, c-format
+msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:489
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:490
+#, c-format
+msgid "^BG%s^K1 played with Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:491
+#, c-format
+msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:492
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:493
+#, c-format
+msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:494
+#, c-format
+msgid "^BG%s^K1 should have used a smaller gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:495
+#, c-format
+msgid "^BG%s^K1 forgot about their firemine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:496
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:497
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:498
+#, c-format
+msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:499
+#, c-format
+msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:500
+#, c-format
+msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:501
+#, c-format
+msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:502
+#, c-format
+msgid ""
+"^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:503
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:504
+#, c-format
+msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:505
+#, c-format
+msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:506
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:507
+#, c-format
+msgid "^BG%s^K1 forgot about their mine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:508
+#, c-format
+msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:509
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:510
+#, c-format
+msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:511
+#, c-format
+msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:512
+#, c-format
+msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:513
+#, c-format
+msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:514
+#, c-format
+msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:515
+#, c-format
+msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:516
+#, c-format
+msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:517
+#, c-format
+msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:518
+#, c-format
+msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:519
+#, c-format
+msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:520
+#, c-format
+msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:521
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:522
+#, c-format
+msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:523
+#, c-format
+msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:524
+#, c-format
+msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:525
+#, c-format
+msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:526
+#, c-format
+msgid "^BG%s^K1 is now thinking with portals%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:527
+#, c-format
+msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:528
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:529
+#, c-format
+msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:530
+#, c-format
+msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:548
+msgid "^BGYou are attacking!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:549
+msgid "^BGYou are defending!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:550
+msgid "^F4Begin!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:551
+msgid "^F4Game starts in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:552
+msgid "^F4Round starts in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:553
+msgid "^F4Round cannot start"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:556
+msgid "^F2Don't camp!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:557
+msgid ""
+"^BGYou are now free.\n"
+"^BGFeel free to ^F2try to capture^BG the flag again\n"
+"^BGif you think you will succeed."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:558
+msgid ""
+"^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."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:559
+msgid "^BGYou captured the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:560
+#, c-format
+msgid "^BGToo many flag throws! Throwing disabled for %s."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:561
+#, c-format
+msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:562
+#, c-format
+msgid "^BGYou received the ^TC^TT^BG flag from %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:563
+#, c-format
+msgid "^BG%s^BG requests you to pass the flag%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:564
+#, c-format
+msgid "^BGRequesting %s^BG to pass you the flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:565
+#, c-format
+msgid "^BGYou passed the ^TC^TT^BG flag to %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:566
+msgid "^BGYou got the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:567
+#, c-format
+msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:568
+#, c-format
+msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:569
+#, c-format
+msgid "^BGYour %steam mate^BG got the flag! Protect them!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:570
+#, c-format
+msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:571
+msgid "^BGYou returned the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:572
+msgid "^BGStalemate! Enemies can now see you on radar!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:573
+msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:574
+#, c-format
+msgid "^K3%sYou fragged ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:574
+#, c-format
+msgid "^K3%sYou scored against ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:575
+#, c-format
+msgid "^K1%sYou were fragged by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:575
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:576
+#, c-format
+msgid "^K1%sYou were fragged by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:576
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:577
+#, c-format
+msgid "^K3%sYou fragged ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:577
+#, c-format
+msgid "^K3%sYou scored against ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:578
+#, c-format
+msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:578
+#, c-format
+msgid "^K1%sYou typefragged ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:579
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:579
+#, c-format
+msgid "^K1%sYou were typefragged by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:580
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:580
+#, c-format
+msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:581
+#, c-format
+msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:581
+#, c-format
+msgid "^K1%sYou typefragged ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:582
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:583
+#, c-format
+msgid ""
+"^BGYou have been moved into a different team\n"
+"You are now on: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:584
+msgid "^K1Don't go against your team mates!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:584
+msgid "^K1Don't shoot your team mates!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:585
+msgid "^K1Die camper!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:585
+msgid "^K1Reconsider your tactics, camper!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:586
+msgid "^K1You unfairly eliminated yourself!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:587
+#, c-format
+msgid "^K1You were %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:588
+msgid "^K1You couldn't catch your breath!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:589
+msgid "^K1You hit the ground with a crunch!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:590
+msgid "^K1You felt a little too hot!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:590
+msgid "^K1You got a little bit too crispy!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:591
+msgid "^K1You killed your own dumb self!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:591
+msgid "^K1You need to be more careful!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:592
+msgid "^K1You couldn't stand the heat!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
+msgid "^K1Tastes like chicken!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
+msgid "^K1You forgot to put the pin back in!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:595
+msgid "^K1You are respawning for running out of ammo..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:595
+msgid "^K1You were killed for running out of ammo..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:596
+msgid "^K1You grew too old without taking your medicine"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:596
+msgid "^K1You need to preserve your health"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:597
+msgid "^K1You became a shooting star!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:598
+msgid "^K1You melted away in slime!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:599
+msgid "^K1You committed suicide!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:599
+msgid "^K1You ended it all!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:600
+msgid "^K1You got stuck in a swamp!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:601
+#, c-format
+msgid "^BGYou are now on: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:602
+msgid "^K1You died in an accident!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:603
+msgid "^K1You had an unfortunate run in with a turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:603
+msgid "^K1You were fragged by a turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:604
+msgid "^K1You had an unfortunate run in with an eWheel turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:604
+msgid "^K1You were fragged by an eWheel turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:605
+msgid "^K1You had an unfortunate run in with a Walker turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:605
+msgid "^K1You were fragged by a Walker turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:606
+msgid "^K1You got caught in the blast of a Bumblebee explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:607
+msgid "^K1You were crushed by a vehicle!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:608
+msgid "^K1You were caught in a Raptor cluster bomb!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:609
+msgid "^K1You got caught in the blast of a Raptor explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:610
+msgid "^K1You got caught in the blast of a Spiderbot explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:611
+msgid "^K1You were blasted to bits by a Spiderbot rocket!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:612
+msgid "^K1You got caught in the blast of a Racer explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:613
+msgid "^K1You couldn't find shelter from a Racer rocket!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:614
+msgid "^K1Watch your step!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:615
+#, c-format
+msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:615
+#, c-format
+msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:616
+#, c-format
+msgid "^K1You were fragged by ^BG%s^K1, a team mate"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:616
+#, c-format
+msgid "^K1You were scored against by ^BG%s^K1, a team mate"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:617
+msgid ""
+"^K1Stop idling!\n"
+"^BGDisconnecting in ^COUNT..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:618
+msgid "^F2You picked up some extra lives"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:619
+#, c-format
+msgid "^K3You froze ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:620
+#, c-format
+msgid "^K1You were frozen by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:621
+#, c-format
+msgid "^K3You revived ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:622
+msgid "^K3You revived yourself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:623
+#, c-format
+msgid "^K3You were revived by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:624
+#, c-format
+msgid "^K3You were automatically revived after %s second(s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:627
+msgid "^K1You froze yourself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:628
+msgid "^K1Round already started, you spawn as frozen"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:636
+msgid ""
+"^K1No spawnpoints available!\n"
+"Hope your team can fix it..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:637
+msgid ""
+"^K1You may not join the game at this time.\n"
+"The player limit reached maximum capacity."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
+msgid "^BGKilling people while you don't have the ball gives no points!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:642
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Help the key carriers to meet!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:643
+msgid ""
+"^BGAll keys are in ^TC^TT team^BG's hands!\n"
+"Interfere ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:644
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Meet the other key carriers ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:645
+msgid "^F4Round will start in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:646
+msgid "^BGScanning frequency range..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:647
+msgid "^BGYou are starting with the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
+#, c-format
+msgid ""
+"^BGWaiting for players to join...\n"
+"Need active players for: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:650
+#, c-format
+msgid "^BGWaiting for %s player(s) to join..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:651
+msgid "^F4^COUNT^BG left to find some ammo!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:653
+#, c-format
+msgid "^F2Extra lives remaining: ^K1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:654
+msgid "^BGSecondary fire inflicts no damage!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:655
+#, c-format
+msgid "^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:656
+#, c-format
+msgid ""
+"^F2^COUNT^BG until weapon change...\n"
+"Next weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:657
+#, c-format
+msgid "^F2Active weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:658
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep fragging until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep scoring until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:660
+#, c-format
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"^BGAdded ^F4%s^BG to the game!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:661
+msgid "^F2Invisibility has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:662
+msgid "^F2Shield has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:663
+msgid "^F2Speed has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:664
+msgid "^F2Strength has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:665
+msgid "^F2You are invisible"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:666
+msgid "^F2Shield surrounds you"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:667
+msgid "^F2You are on speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:668
+msgid "^F2Strength infuses your weapons with devastating power"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:669
+msgid "^F2The race is over, finish your lap!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:670
+msgid "^F2Superweapons have broken down"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:671
+msgid "^F2Superweapons have been lost"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:672
+msgid "^F2You now have a superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:673
+msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:674
+msgid "^K1Changing team in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:675
+msgid "^K1Spectating in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:676
+msgid "^K1Suicide in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:677
+msgid "^F4Timeout begins in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:678
+msgid "^F4Timeout ends in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
+#, c-format
+msgid " (near %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
+msgid "primary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
+msgid "secondary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:980
+#, c-format
+msgid " ^F1(Press %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:989
+#, c-format
+msgid " with %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+msgid "TRIPLE FRAG! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 unlocked RAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+msgid "RAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 started a MASSACRE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+msgid "MASSACRE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 executed MAYHEM! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+msgid "MAYHEM! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 is a BERSERKER! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+msgid "BERSERKER! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 inflicts CARNAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+msgid "CARNAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+#, c-format
+msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+#, c-format
+msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+msgid "ARMAGEDDON! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1010
+#, c-format
+msgid "%s(^F1Bot^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1012
+#, c-format
+msgid "%s(Ping ^F1%d^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1018
+#, c-format
+msgid ""
+"\n"
+"(Health ^1%d^BG / Armor ^2%d^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1020
+#, c-format
+msgid ""
+"\n"
+"(^F4Dead^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
+#, c-format
+msgid "%d score spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1069
+#, c-format
+msgid "%d frag spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1082
+msgid "First blood! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1082
+msgid "First score! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1086
+msgid "First casualty! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1086
+msgid "First victim! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1127
+#, c-format
+msgid "%s^K1 has %d frags in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1128
+#, c-format
+msgid "%s^K1 made %d scores in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1146
+#, c-format
+msgid "%s^K1 drew first blood! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1147
+#, c-format
+msgid "%s^K1 got the first score! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1163
+#, c-format
+msgid ", ending their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1164
+#, c-format
+msgid ", ending their %d score spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1178
+#, c-format
+msgid ", losing their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1179
+#, c-format
+msgid ", losing their %d score spree"
+msgstr ""
+
+#: qcsrc/common/teams.qh:26
+msgid "Red"
+msgstr ""
+
+#: qcsrc/common/teams.qh:27
+msgid "Blue"
+msgstr ""
+
+#: qcsrc/common/teams.qh:28
+msgid "Yellow"
+msgstr ""
+
+#: qcsrc/common/teams.qh:29
+msgid "Pink"
+msgstr ""
+
+#: qcsrc/common/teams.qh:30
+msgid "Team"
+msgstr ""
+
+#: qcsrc/common/teams.qh:31
+msgid "Neutral"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:35
+msgid "Usage: menu_cmd command..., where possible commands are:\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:36
+msgid "  sync - reloads all cvars on the current menu page\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:37
+msgid "  directmenu ITEM - select a menu item as main item\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:68
+msgid "Available options:\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:119
+msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
+msgstr ""
+
+#: qcsrc/menu/item/label.c:82
+#, c-format
+msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
+msgstr ""
+
+#: qcsrc/menu/item/listbox.c:382
+#, c-format
+msgid "Item %d"
+msgstr ""
+
+#: qcsrc/menu/item/slider.c:64
+#, c-format
+msgid "%d (%s)"
+msgstr ""
+
+#: qcsrc/menu/item/textslider.c:31 qcsrc/menu/item/textslider.c:33
+msgid "custom"
+msgstr ""
+
+#: qcsrc/menu/menu.qc:59
+#, c-format
+msgid "^4MQC Build information: ^1%s\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/campaign.c:286
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:123
+msgid "???"
+msgstr ""
+
+#: qcsrc/menu/xonotic/campaign.c:287
+#, c-format
+msgid "Level %d: %s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
+msgid "will not be saved"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
+msgid "private"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:95
+msgid "engine setting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:97
+msgid "read only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_credits.c:5
+msgid "Credits"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:99
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
+msgid "OK"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:4
+msgid "Welcome"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+msgid ""
+"Welcome to Xonotic, please select your language preference and enter your "
+"player name to get started.  You can change these options later through the "
+"menu system."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
+msgid "Name:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
+#: qcsrc/menu/xonotic/dialog_settings_user.c:65
+msgid "Text language:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+msgid "ALWU2N^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
+msgid "ALWU2N^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
+msgid "ALWU2N^Undecided"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
+msgid "Save settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:4
+msgid "Ammo Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:23
+msgid "Ammunition display:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:26
+msgid "Show only current ammo type"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:29
+msgid "Align icon:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:30
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:37
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:29
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:41
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:29
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:41
+msgid "Left"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:39
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:42
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:42
+msgid "Right"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:4
+msgid "Centerprint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:24
+msgid "Message duration:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:28
+msgid "Fade time:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:32
+msgid "Flip messages order"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:34
+msgid "Text alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:38
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:51
+msgid "Center"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:42
+msgid "Font scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4
+msgid "Chat Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:23
+msgid "Chat entries:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:26
+msgid "Chat size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:30
+msgid "Chat lifetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:34
+msgid "Chat beep sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:4
+msgid "Engine Info Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:23
+msgid "Engine info:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:26
+msgid "Use an averaging algorithm for fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:4
+msgid "Health/Armor Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:23
+msgid "Enable status bar"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:25
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:25
+msgid "Status bar alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:33
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:43
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:33
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:43
+msgid "Inward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:35
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:44
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:35
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:44
+msgid "Outward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:38
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:38
+msgid "Icon alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:46
+msgid "Flip health and armor positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:4
+msgid "Info Messages Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:23
+msgid "Info messages:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:26
+msgid "Flip align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_modicons.c:4
+msgid "Mod Icons Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:4
+msgid "Notification Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:23
+msgid "Notifications:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:26
+msgid "Also print notifications to the console"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:29
+msgid "Flip notify order"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:32
+msgid "Entry lifetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:36
+msgid "Entry fadetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:4
+msgid "Physics Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:22
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:22
+msgid "Panel disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:24
+msgid "Panel enabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:25
+msgid "Panel enabled even observing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:26
+msgid "Panel enabled only in Race/CTS"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:32
+msgid "Status bar"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:34
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:49
+msgid "Left align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:35
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:53
+msgid "Right align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:36
+msgid "Inward align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:37
+msgid "Outward align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:41
+msgid "Flip speed/acceleration positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:45
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:29
+msgid "Speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:46
+msgid "Include vertical speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:57
+msgid "Speed unit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:59
+msgid "qu/s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:60
+msgid "m/s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:61
+msgid "km/h"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:62
+msgid "mph"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:63
+msgid "knots"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:65
+msgid "Show"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:68
+msgid "Top speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:74
+msgid "Acceleration:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:75
+msgid "Include vertical acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4
+msgid "Powerups Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:46
+msgid "Flip strength and shield positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:4
+msgid "Pressed Keys Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:23
+msgid "Panel enabled when spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:24
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:24
+msgid "Panel always enabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:31
+msgid "Forced aspect:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_racetimer.c:4
+msgid "Race Timer Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:4
+msgid "Radar Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:23
+msgid "Panel enabled in teamgames"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:30
+msgid "Radar:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:33
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
+#: qcsrc/menu/xonotic/util.qc:758
+msgid "Alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:37
+msgid "Rotation:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:39
+msgid "Forward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:40
+msgid "West"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:41
+msgid "South"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:42
+msgid "East"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:43
+msgid "North"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:47
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:63
+msgid "Scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:51
+msgid "Zoom mode:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:53
+msgid "Zoomed in"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:54
+msgid "Zoomed out"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:55
+msgid "Always zoomed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:56
+msgid "Never zoomed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:4
+msgid "Score Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:23
+msgid "Score:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
+msgid "Rankings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:27
+msgid "Off"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
+msgid "And me"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:29
+msgid "Pure"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
+msgid "Timer Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:23
+msgid "Timer:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:26
+msgid "Show elapsed time"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:4
+msgid "Vote Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:23
+msgid "Alpha after voting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:4
+msgid "Weapons Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:25
+msgid "Fade out after:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:27
+msgid "Never"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:29
+#, c-format
+msgid "%ds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:33
+msgid "Fade effect:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:36
+msgid "EF^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:37
+msgid "Alpha"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:38
+msgid "Slide"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:39
+msgid "EF^Both"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:43
+msgid "Weapon icons:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46
+msgid "Show only owned weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49
+msgid "Show weapon ID as:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50
+msgid "SHOWAS^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51
+msgid "Number"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52
+msgid "Bind"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55
+msgid "Show Accuracy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:56
+msgid "Show Ammo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:59
+msgid "Ammo bar color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:65
+msgid "Ammo bar alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:4
+msgid "Panel HUD Setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:22
+msgid "Panel background defaults:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
+msgid "Background:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
+msgid "Disable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
+msgid "Color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
+msgid "Border size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:51
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:90
+msgid "Team color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
+msgid "Test team color in configure mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
+msgid "Padding:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:69
+msgid "HUD Dock:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:71
+msgid "DOCK^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:72
+msgid "DOCK^Small"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:73
+msgid "DOCK^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:74
+msgid "DOCK^Large"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:97
+msgid "Grid settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:100
+msgid "Snap panels to grid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:103
+msgid "Grid size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:104
+msgid "X:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:110
+msgid "Y:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:118
+msgid "Exit setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:4
+msgid "Multiplayer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:18
+msgid "Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:19
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:5
+msgid "Create"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:20
+msgid "Demos"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:21
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:5
+msgid "Player Setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:34
+msgid "Game type:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48
+msgid "Time limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:52
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:60
+msgid "Use map specified default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:55
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:155
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+msgid "Point limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63
+msgid "Player slots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66
+msgid "Number of bots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69
+msgid "Bot skill:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72
+msgid "Botlike"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73
+msgid "Beginner"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74
+msgid "You will win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75
+msgid "You can win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76
+msgid "You might win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77
+msgid "Advanced"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78
+msgid "Expert"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79
+msgid "Pro"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80
+msgid "Assassin"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81
+msgid "Unhuman"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82
+msgid "Godlike"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87
+msgid "Mutators..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
+msgid "Advanced settings..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103
+msgid "Map list:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109
+msgid "Select all"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112
+msgid "Select none"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118
+msgid "Start Multiplayer!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153
+msgid "Capture limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:156
+msgid "Lives:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157
+msgid "Laps:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158
+msgid "Goals:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
+msgid "Frag limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:6
+msgid "Advanced server settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:25
+msgid "Game settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:28
+msgid "Allow spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:31
+msgid "Spawn shield:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:36
+msgid "Game speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:40
+msgid "Teamplay settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:43
+msgid "Friendly fire scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:47
+msgid "Virtual friendly fire (effect only)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:50
+msgid "Friendly fire penalty:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:54
+msgid "Virtual penalty (effect only)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:57
+msgid "Teams:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:66
+msgid "Map voting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:68
+msgid "No voting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:69
+msgid "2 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:70
+msgid "3 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:71
+msgid "4 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:72
+msgid "5 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:73
+msgid "6 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:74
+msgid "7 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:75
+msgid "8 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:76
+msgid "9 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:79
+msgid "Simple majority wins vcall"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:5
+msgid "Map Information"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "Full item placement"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "MinstaGib only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81
+msgid "Title:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:87
+msgid "Author:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:93
+msgid "Features:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98
+msgid "Game types:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:328
+msgid "Close"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124
+msgid "MAP^Play"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:7
+msgid "Mutators"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:33
+msgid "All Weapons Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:35
+msgid "Most Weapons Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:56
+#, c-format
+msgid "%s Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:68
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:162
+msgid "Dodging"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:70
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:254
+msgid "MinstaGib"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:72
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:208
+msgid "New Toys"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:74
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:258
+msgid "NIX"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:76
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:212
+msgid "Rocket Flying"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:78
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204
+msgid "Invincible Projectiles"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:266
+msgid "No start weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:189
+msgid "Low gravity"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:168
+msgid "Cloaked"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:90
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:171
+msgid "Midair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:92
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:174
+msgid "Vampire"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:94
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:216
+msgid "Piñata"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:96
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:220
+msgid "Weapons stay"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:179
+msgid "Blood loss"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:100
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201
+msgid "Jet pack"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:102
+msgid "No powerups"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104
+msgid "Powerups"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:106
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:165
+msgid "Touch explode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:108
+msgid "MUT^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:159
+msgid "Gameplay mutators:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:195
+msgid "Weapon & item mutators:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:198
+msgid "Grappling hook"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:225
+msgid "Regular (no arena)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:227
+msgid "Weapon arenas:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:244
+msgid "Most weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:248
+msgid "All weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:251
+msgid "Special arenas:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:262
+msgid "with laser"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:4
+msgid "Demo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:26
+msgid "Automatically record demos while playing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:29
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:28
+msgid "Filter:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:40
+msgid "Timedemo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43
+msgid "DEMO^Play"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:4
+msgid "Join"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
+msgid "SRVS^Empty"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
+msgid "SRVS^Full"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
+msgid "Pause"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
+msgid "Address:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
+msgid "Info..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
+msgid "Join!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:5
+msgid "Server Information"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:174
+#, c-format
+msgid "%d/%d"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
+msgid "Default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
+#, c-format
+msgid "%d modified"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
+msgid "Official"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:201
+msgid "N/A (auth library missing, can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:203
+msgid "N/A (auth library missing)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:209
+msgid "Not supported (can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211
+msgid "Not supported (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:215
+msgid "Supported (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217
+msgid "Supported (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:221
+msgid "Requested (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223
+msgid "Requested (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:227
+msgid "Required (can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:229
+msgid "Required (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:249
+msgid "Hostname:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:263
+msgid "Gametype:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:268
+msgid "Map:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:273
+msgid "Mod:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:278
+msgid "Version:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:283
+msgid "Settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:322
+msgid "Players:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:295
+msgid "Bots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:300
+msgid "Free slots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:306
+msgid "Encryption:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:311
+msgid "ID:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:316
+msgid "Key:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:61
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:20
+msgid "Model:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:73
+msgid "Glowing color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:82
+msgid "Detail color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93
+msgid "No crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:95
+msgid "Per weapon crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:98
+msgid "Custom crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117
+msgid "Crosshair size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:122
+msgid "Crosshair alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:128
+msgid "Crosshair color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130
+msgid "Per weapon"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:132
+msgid "By health"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:136
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:47
+msgid "Custom"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:144
+msgid "Other crosshair settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:152
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6
+msgid "Model settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6
+msgid "View settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:164
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6
+msgid "Weapon settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:174
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6
+msgid "HUD settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:180
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:164
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:200
+#: qcsrc/menu/xonotic/dialog_settings_input.c:90
+#: qcsrc/menu/xonotic/dialog_settings_user.c:88
+#: qcsrc/menu/xonotic/dialog_settings_video.c:143
+msgid "Apply immediately"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6
+msgid "Crosshair settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28
+msgid "Enable center crosshair dot"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31
+msgid "Dot size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36
+msgid "Dot alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41
+msgid "Dot color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43
+msgid "Use normal crosshair color"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54
+msgid "Crosshair animations:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57
+msgid "Smooth effects of crosshairs"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61
+msgid "Use rings to indicate weapon status"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67
+msgid "Hit testing:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69
+msgid "HTTST^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70
+msgid "HTTST^TrueAim"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71
+msgid "HTTST^Enemies"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76
+msgid "Blur crosshair if the shot is obstructed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81
+msgid "Animate when hitting an enemy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85
+msgid "Animate when picking up an item"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40
+msgid "Damage:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43
+msgid "Overlay:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:47
+msgid "Factor:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:53
+msgid "Fade rate:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:60
+msgid "Waypoints"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:75
+msgid "Edge offset:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83
+msgid "Show names above players"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:86
+msgid "Only when near crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:89
+msgid "Display health and armor"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:93
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:4
+msgid "Enter HUD editor"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:28
+msgid "In order for the HUD editor to show, you must first be in game."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30
+msgid "Do you wish to start a local game to set up the HUD?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33
+msgid "HDCNFRM^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36
+msgid "HDCNFRM^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28
+msgid "Body fading:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31
+msgid "Gibs:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33
+msgid "GIBS^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34
+msgid "GIBS^Few"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35
+msgid "GIBS^Many"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36
+msgid "GIBS^Lots"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:41
+msgid "Force player models to mine"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:43
+msgid "Force player colors to mine"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28
+msgid "Field of view:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31
+msgid "Zoom:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33
+msgid "RETICLE^Fullscreen"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34
+msgid "RETICLE^With reticle"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38
+msgid "ZOOM^Factor:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42
+msgid "ZOOM^Speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52
+msgid "ZOOM^Instant"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56
+msgid "ZOOM^Sensitivity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59
+msgid "Velocity zoom:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61
+msgid "VZOOM^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62
+msgid "VZOOM^Forward only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63
+msgid "VZOOM^All directions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67
+msgid "VZOOM^Speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72
+msgid "Allow passing through walls while spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75
+msgid "1st person perspective"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79
+msgid "Smooth the view when landing from a jump"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83
+msgid "Smooth the view while crouching"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87
+msgid "View waving while idle"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91
+msgid "View bobbing while walking around"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96
+msgid "3rd person perspective"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100
+msgid "Back distance"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106
+msgid "Up distance"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29
+msgid "Weapon priority list:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33
+msgid "Up"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36
+msgid "Down"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41
+msgid "Use priority list for weapon cycling"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43
+msgid "Auto switch weapons on pickup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:46
+msgid "Draw 1st person weapon model"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:58
+msgid "Gun model swaying"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63
+msgid "Gun model bobbing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:4
+msgid "Quit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:18
+msgid "Are you sure you want to quit?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:21
+msgid "Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:22
+msgid "No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:4
+msgid "Sandbox Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
+msgid "Remove *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28
+msgid "Copy *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:29
+msgid "Paste"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:31
+msgid "Bone:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:36
+msgid "Set * as child"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:37
+msgid "Attach to *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:39
+msgid "Detach from *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:42
+msgid "Visual object properties for *:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
+msgid "Set alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:49
+msgid "Set color main:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:51
+msgid "Set color glow:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:55
+msgid "Set frame:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:59
+msgid "Physical object properties for *:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:61
+msgid "Set material:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:67
+msgid "Set solidity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:68
+msgid "Non-solid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:69
+msgid "Solid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:70
+msgid "Set physics:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:71
+msgid "Static"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:72
+msgid "Movable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:73
+msgid "Physical"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:75
+msgid "Set scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:77
+msgid "Set force:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:81
+msgid "Claim *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:83
+msgid "* object info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:84
+msgid "* mesh info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:85
+msgid "* attachment info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:86
+msgid "Show help"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:87
+msgid "* is the object you are facing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:4
+msgid "Settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:18
+#: qcsrc/menu/xonotic/dialog_settings_input.c:4
+msgid "Input"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:19
+#: qcsrc/menu/xonotic/dialog_settings_video.c:4
+msgid "Video"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:20
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:4
+msgid "Effects"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:21
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:4
+msgid "Audio"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:22
+#: qcsrc/menu/xonotic/dialog_settings_user.c:4
+msgid "User"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:23
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:4
+msgid "Misc"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:27
+msgid "Master:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:33
+msgid "Music:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:41
+msgid "VOL^Ambient:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:48
+msgid "Info:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:55
+msgid "Items:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:62
+msgid "Pain:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:69
+msgid "Player:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:76
+msgid "Shots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:83
+msgid "Voice:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:91
+msgid "Weapons:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:97
+msgid "New style sound attenuation"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:99
+msgid "Mute sounds when not active"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:102
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:156
+msgid "Frequency:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:104
+msgid "8 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:105
+msgid "11.025 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:106
+msgid "16 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:107
+msgid "22.05 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:108
+msgid "24 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:109
+msgid "32 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:110
+msgid "44.1 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:111
+msgid "48 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:114
+msgid "Channels:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:116
+msgid "Mono"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:117
+msgid "Stereo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:118
+msgid "2.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:119
+msgid "4"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:120
+msgid "5"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:121
+msgid "5.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:122
+msgid "6.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:123
+msgid "7.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:126
+msgid "Swap Stereo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:128
+msgid "Headphone friendly mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:132
+msgid "Hit indication sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:134
+msgid "Chat message sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:136
+msgid "Menu sounds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:139
+msgid "Time announcer:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:141
+msgid "WRN^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:142
+msgid "1 minute"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:143
+msgid "5 minutes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:144
+msgid "WRN^Both"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:151
+msgid "Automatic taunts"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:161
+msgid "Debug info about sounds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:38
+msgid "Quality preset:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:41
+msgid "PRE^OMG!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:42
+msgid "PRE^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:43
+msgid "PRE^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:44
+msgid "PRE^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:45
+msgid "PRE^High"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:46
+msgid "PRE^Ultra"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:48
+msgid "PRE^Ultimate"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:52
+msgid "Geometry detail:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:54
+msgid "DET^Lowest"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:55
+msgid "DET^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:56
+msgid "DET^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:57
+msgid "DET^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:58
+msgid "DET^Best"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:59
+msgid "DET^Insane"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:62
+msgid "Player detail:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:65
+msgid "Texture resolution:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:69
+msgid "RES^Leet"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:70
+msgid "RES^Lowest"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:71
+msgid "RES^Very low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:72
+msgid "RES^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:73
+msgid "RES^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:74
+msgid "RES^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:75
+msgid "RES^Best"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:87
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:91
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:95
+msgid "Avoid lossy texture compression"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:105
+msgid "Show surfaces"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:108
+msgid "Use lightmaps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:109
+msgid "Deluxe mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:111
+msgid "Gloss"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:114
+msgid "Offset mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:116
+msgid "Relief mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:119
+msgid "Reflections:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:122
+msgid "Blurred"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:123
+msgid "REFL^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:124
+msgid "Sharp"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:129
+msgid "Particles quality:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:132
+msgid "Particles distance:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:135
+msgid "Damage effects:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:137
+msgid "DMGPRTCLS^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:138
+msgid "DMGPRTCLS^Skeletal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:139
+msgid "DMGPRTCLS^All"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:142
+msgid "Particle effects for spawnpoints"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:146
+msgid "No dynamic lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:148
+msgid "Fake corona lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:151
+msgid "Realtime dynamic lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:153
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:157
+msgid "Shadows"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:156
+msgid "Realtime world lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:161
+msgid "Use normal maps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:163
+msgid "Soft shadows"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:167
+msgid "Fade corona according to visibility"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:171
+msgid "Bloom"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:172
+msgid "Extra postprocessing effects"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:177
+msgid "Motion blur:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:183
+msgid "Decals"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:184
+msgid "Decals on models"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:188
+msgid "Distance:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:194
+msgid "Time:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:26
+msgid "Key bindings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:30
+msgid "Change key..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:34
+msgid "Edit..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:40
+msgid "Clear"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:46
+msgid "Pressing \"enter console\" key also closes it"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:48
+msgid "Automatically repeat jumping if holding jump"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:52
+#: qcsrc/menu/xonotic/dialog_settings_input.c:54
+#: qcsrc/menu/xonotic/dialog_settings_input.c:57
+msgid "Use joystick input"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:62
+msgid "Mouse:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:65
+msgid "Sensitivity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:69
+msgid "Smooth aiming"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:72
+msgid "Invert aiming"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:76
+#: qcsrc/menu/xonotic/dialog_settings_input.c:78
+#: qcsrc/menu/xonotic/dialog_settings_input.c:81
+msgid "Disable system mouse acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:86
+msgid "Enable built in mouse acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5
+msgid "User defined key bind"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:42
+msgid "Command when pressed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:45
+msgid "Command when released:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:48
+msgid "Save"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:51
+msgid "Cancel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:26
+msgid "Network:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:31
+msgid "56k"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:32
+msgid "ISDN"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:33
+msgid "Slow ADSL"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:34
+msgid "Fast ADSL"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:35
+msgid "Broadband"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:39
+msgid "Input packets/s:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:45
+msgid "Local latency:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:50
+msgid "Client UDP port:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "Use encryption (AES) when available"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+msgid "Show netgraph"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
+msgid "Client-side movement prediction"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+msgid "Movement error compensation"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
+msgid "Downloads:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+msgid "Maximum:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
+msgid "Speed (kB/s):"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
+msgid "Framerate:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+msgid "MAXFPS^5 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+msgid "MAXFPS^10 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+msgid "MAXFPS^20 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+msgid "MAXFPS^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+msgid "MAXFPS^40 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+msgid "MAXFPS^50 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+msgid "MAXFPS^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+msgid "MAXFPS^70 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
+msgid "MAXFPS^100 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
+msgid "MAXFPS^125 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
+msgid "MAXFPS^200 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+msgid "MAXFPS^Unlimited"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+msgid "Target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+msgid "TRGT^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+msgid "TRGT^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+msgid "TRGT^40 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+msgid "TRGT^50 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
+msgid "TRGT^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
+msgid "TRGT^100 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
+msgid "TRGT^125 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+msgid "TRGT^200 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+msgid "Idle limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+msgid "IDLFPS^10 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
+msgid "IDLFPS^20 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
+msgid "IDLFPS^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
+msgid "IDLFPS^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
+msgid "IDLFPS^Unlimited"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
+msgid "Show frames per second"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+msgid "Save processing time for other apps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+msgid "Menu tooltips:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
+msgid "TLTIP^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
+msgid "TLTIP^Standard"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+msgid "TLTIP^Advanced"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+msgid "Show current time"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
+msgid "Show current date"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+msgid "Enable developer mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5
+msgid "Advanced settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:32
+msgid "Cvar filter:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:45
+msgid "Setting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:49
+msgid "Type:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:53
+msgid "Value:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
+msgid "Description:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:27
+msgid "Menu skins:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:31
+msgid "Set skin"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:74
+msgid "Set language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:79
+msgid "Disable gore effects and harsh language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:82
+msgid "Allow player statistics to track your client"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:84
+msgid "Allow player statistics to use your nickname"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:26
+msgid "Resolution:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:29
+msgid "Font/UI size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:31
+msgid "SZ^Unreadable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:32
+msgid "SZ^Tiny"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:33
+msgid "SZ^Little"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:34
+msgid "SZ^Small"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:35
+msgid "SZ^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:36
+msgid "SZ^Large"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:37
+msgid "SZ^Huge"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:38
+msgid "SZ^Gigantic"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:39
+msgid "SZ^Colossal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:42
+msgid "Color depth:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:44
+msgid "16bit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:45
+msgid "32bit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:48
+msgid "Full screen"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:49
+msgid "Vertical Synchronization"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:53
+msgid "Anisotropy:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:55
+msgid "ANISO^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:56
+#: qcsrc/menu/xonotic/dialog_settings_video.c:66
+msgid "2x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:57
+#: qcsrc/menu/xonotic/dialog_settings_video.c:67
+msgid "4x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:58
+msgid "8x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:59
+msgid "16x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:62
+msgid "Antialiasing:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:65
+msgid "AA^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:71
+msgid "High-quality frame buffer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:76
+msgid "Depth first:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:78
+msgid "DF^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:79
+msgid "DF^World"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:80
+msgid "DF^All"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:83
+msgid "Vertex Buffer Objects (VBOs)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:86
+msgid "VBO^Off"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:87
+msgid "Vertices, some Tris (compatible)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:90
+msgid "Vertices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:91
+msgid "Vertices and Triangles"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:94
+msgid "Brightness:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:97
+msgid "Contrast:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:100
+msgid "Gamma:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:105
+msgid "Contrast boost:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:110
+msgid "Saturation:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:116
+msgid "LIT^Ambient:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:119
+msgid "Intensity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:123
+msgid "Wait for GPU to finish each frame"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:125
+msgid "Use OpenGL 2.0 shaders (GLSL)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:128
+msgid "Use GLSL to handle color control"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:133
+msgid "Psycho coloring (easter egg)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:136
+msgid "Trippy vertices (easter egg)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:139
+msgid "Flip view horizontally"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:4
+msgid "Singleplayer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:116
+msgid "Instant action! (random map with bots)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:137
+msgid "Campaign Difficulty:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:138
+msgid "CSKL^Easy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:139
+msgid "CSKL^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:140
+msgid "CSKL^Hard"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:142
+msgid "Start Singleplayer!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:4
+msgid "Winner"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:5
+msgid "Team Selection"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:42
+msgid "join 'best' team (auto-select)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:46
+msgid "red"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:47
+msgid "blue"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:48
+msgid "yellow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:49
+msgid "pink"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:52
+msgid "spectate"
+msgstr ""
+
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
+msgid "Do not press this button again!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:280
+msgid ""
+"Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:288
+#, c-format
+msgid "%s's Xonotic Server"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:293
+msgid ""
+"Huh? Can't play this (invalid game type). Refiltering so this won't happen "
+"again.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128
+msgid "spectator"
+msgstr ""
+
+#: qcsrc/menu/xonotic/playermodel.c:177
+msgid "<no model found>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:923
+msgid "Ping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:924
+msgid "Host name"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:925
+msgid "Map"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:926
+msgid "Type"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:927
+msgid "Players"
+msgstr ""
+
+#: qcsrc/menu/xonotic/skinlist.c:105
+msgid "<TITLE>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/skinlist.c:106
+msgid "<AUTHOR>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:77
+msgid "VOL^MAX"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:79
+msgid "VOL^OFF"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:81
+#, c-format
+msgid "%d %%"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:83
+#, c-format
+msgid "%.1f"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:85
+#, c-format
+msgid "%.2f %%"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:87
+#, c-format
+msgid "%s dB"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_resolution.c:116
+#, c-format
+msgid "%dx%d (%d:%d)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_resolution.c:119
+#, c-format
+msgid "%dx%d"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:308
+#, c-format
+msgid "error receiving update notification: status is %d\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:313
+msgid "error: received HTML instead of an update notification\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:318
+msgid "error: received carriage returns from update notification server\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:397
+#, c-format
+msgid ""
+"Update can be downloaded at:\n"
+"%s\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:497
+msgid "Autogenerating mapinfo for newly added maps..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:526
+#, c-format
+msgid "^1%s TEST BUILD"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:541
+#, c-format
+msgid "Update to %s now!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:626
+msgid ""
+"^1ERROR: Texture compression is required but not supported.\n"
+"^1Expect visual problems.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:746
+msgid "Use default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:766
+msgid "Team Color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qh:43
+msgid "Enable panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/weaponslist.c:102
+#, c-format
+msgid "%s (mutator weapon)"
+msgstr ""
+
+#: qcsrc/server/w_hlac.qc:11
+msgid "Heavy Laser Assault Cannon"
+msgstr ""
+
+#: qcsrc/server/w_hook.qc:11
+msgid "Grappling Hook"
+msgstr ""
+
+#: qcsrc/server/w_minstanex.qc:11
+msgid "MinstaNex"
+msgstr ""
+
+#: qcsrc/server/w_seeker.qc:11
+msgid "T.A.G. Seeker"
+msgstr ""
+
+#: qcsrc/server/w_tuba.qc:12
+#, no-c-format
+msgid "@!#%'n Tuba"
+msgstr ""
index 9e71827b675a64e56654936669cba31c0aecf456..afe2a535c7e46608877ac249a46e2289a6b63f73 100644 (file)
@@ -3,12 +3,13 @@
 # This file is distributed under the same license as the PACKAGE package.
 #
 # Translators:
+# , 2013
 msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-03 11:55+0200\n"
-"PO-Revision-Date: 2013-10-03 10:08+0000\n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
 "Last-Translator: divVerent <divVerent@xonotic.org>\n"
 "Language-Team: Belarusian (http://www.transifex.com/projects/p/xonotic/"
 "language/be/)\n"
@@ -21,7 +22,7 @@ msgstr ""
 
 #: qcsrc/client/Main.qc:21
 msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!"
-msgstr ""
+msgstr "ПАМЫЛКА - МЕНЮ БАЧНАЕ, АЛЕ НЕ ВЫЗНАЧАНАЕ"
 
 #: qcsrc/client/Main.qc:46
 msgid ""
@@ -32,14 +33,9 @@ msgstr ""
 #: qcsrc/client/Main.qc:56
 #, c-format
 msgid "^4CSQC Build information: ^1%s\n"
-msgstr ""
-
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
-#, c-format
-msgid "trying to switch to unsupported team %d\n"
-msgstr ""
+msgstr "^4CSQC Інфармацыя пра збудову: ^1%s\n"
 
-#: qcsrc/client/Main.qc:835
+#: qcsrc/client/Main.qc:836
 #, c-format
 msgid ""
 "Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
@@ -55,9 +51,9 @@ msgstr ""
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:157
 #, c-format
 msgid "%s (%s)"
-msgstr ""
+msgstr "%s (%s)"
 
-#: qcsrc/client/View.qc:1096
+#: qcsrc/client/View.qc:1165
 msgid "Revival progress"
 msgstr ""
 
@@ -73,7 +69,7 @@ msgstr ""
 
 #: qcsrc/client/hud.qc:210
 msgid "Start line"
-msgstr ""
+msgstr "Старт"
 
 #: qcsrc/client/hud.qc:212 qcsrc/client/hud.qc:216
 msgid "Finish line"
@@ -87,215 +83,212 @@ msgstr ""
 #: qcsrc/client/hud.qc:223
 #, c-format
 msgid "%s (%s %s)"
-msgstr ""
+msgstr "%s (%s %s)"
 
-#: qcsrc/client/hud.qc:829
+#: qcsrc/client/hud.qc:832
 msgid "Out of ammo"
-msgstr ""
+msgstr "Няма боепрыпасаў"
 
-#: qcsrc/client/hud.qc:833
+#: qcsrc/client/hud.qc:836
 msgid "Don't have"
 msgstr ""
 
-#: qcsrc/client/hud.qc:837
+#: qcsrc/client/hud.qc:840
 msgid "Unavailable"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
 #, c-format
 msgid "Player %d"
-msgstr ""
+msgstr "Гулец %d"
 
-#: qcsrc/client/hud.qc:2384
+#: qcsrc/client/hud.qc:2369
 msgid "^1Intermediate 1 (+15.42)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
 #, c-format
 msgid "^1PENALTY: %.1f (%s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2471
+#: qcsrc/client/hud.qc:2456
 #, c-format
 msgid "^2PENALTY: %.1f (%s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2501
+#: qcsrc/client/hud.qc:2486
 msgid "^1You must answer before entering hud configure mode\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2506
+#: qcsrc/client/hud.qc:2491
 msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2586
+#: qcsrc/client/hud.qc:2570
 msgid "A vote has been called for:"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2588
+#: qcsrc/client/hud.qc:2572
 msgid "Allow servers to store and display your name?"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2592
+#: qcsrc/client/hud.qc:2576
 msgid "^1Configure the HUD"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2596
+#: qcsrc/client/hud.qc:2580
 #, c-format
 msgid "Yes (%s): %d"
-msgstr ""
+msgstr "Так (%s): %d"
 
-#: qcsrc/client/hud.qc:2598
+#: qcsrc/client/hud.qc:2582
 #, c-format
 msgid "No (%s): %d"
-msgstr ""
+msgstr "Не (%s): %d"
 
-#: qcsrc/client/hud.qc:3169 qcsrc/client/hud.qc:3172 qcsrc/client/hud.qc:3174
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
 msgid "Personal best"
-msgstr ""
+msgstr "Уласны рэкорд"
 
-#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
 msgid "Server best"
-msgstr ""
+msgstr "Рэкорд сервера"
 
-#: qcsrc/client/hud.qc:3552
+#: qcsrc/client/hud.qc:3528
 msgid "^3Player^7: This is the chat area."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3618
+#: qcsrc/client/hud.qc:3593
 #, c-format
 msgid "FPS: %.*f"
-msgstr ""
+msgstr "кадры/с: %.*f"
 
-#: qcsrc/client/hud.qc:3683
+#: qcsrc/client/hud.qc:3657
 msgid "^1Observing"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
 #, c-format
 msgid "^1Spectating: ^7%s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3693
+#: qcsrc/client/hud.qc:3667
 #, c-format
 msgid "^1Press ^3%s^1 to spectate"
-msgstr ""
+msgstr "^1Націсніце ^3%s^1 каб назіраць"
 
-#: qcsrc/client/hud.qc:3695
+#: qcsrc/client/hud.qc:3669
 #, c-format
 msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
 msgstr ""
+"^1Націсніце ^3%s^1 ці ^3%s^1 каб перайсці да наступнага ці папярэдняга гульца"
 
-#: qcsrc/client/hud.qc:3699
+#: qcsrc/client/hud.qc:3673
 #, c-format
 msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3701
+#: qcsrc/client/hud.qc:3675
 #, c-format
 msgid "^1Press ^3%s^1 to observe"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3704
+#: qcsrc/client/hud.qc:3678
 #, c-format
 msgid "^1Press ^3%s^1 for gamemode info"
-msgstr ""
-
-#: qcsrc/client/hud.qc:3708
-msgid "^1Wait for your turn to join"
-msgstr ""
+msgstr "^1Націсніце ^3%s^1 каб даведацца пра рэжым гульні"
 
-#: qcsrc/client/hud.qc:3714
+#: qcsrc/client/hud.qc:3686
 msgid "^1Match has already begun"
-msgstr ""
+msgstr "^1Матч ужо пачаўся"
 
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3688
 msgid "^1You have no more lives left"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
 #, c-format
 msgid "^1Press ^3%s^1 to join"
-msgstr ""
+msgstr "^1Націсніце ^3%s^1 каб далучыцца"
 
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3701
 #, c-format
 msgid "^1Game starts in ^3%d^1 seconds"
-msgstr ""
+msgstr "^1Гульня пачнецца праз ^3%d^1 секунд"
 
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3708
 msgid "^2Currently in ^1warmup^2 stage!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3723
 #, c-format
 msgid "%sPress ^3%s%s to end warmup"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3725
 #, c-format
 msgid "%sPress ^3%s%s once you are ready"
-msgstr ""
+msgstr "%sНацісніце ^3%s%s калі будзеце гатовы"
 
-#: qcsrc/client/hud.qc:3758
+#: qcsrc/client/hud.qc:3730
 msgid "^2Waiting for others to ready up to end warmup..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3732
 msgid "^2Waiting for others to ready up..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3738
 #, c-format
 msgid "^2Press ^3%s^2 to end warmup"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3759
 msgid "Teamnumbers are unbalanced!"
-msgstr ""
+msgstr "Колькасці каманд не збалансаваныя!"
 
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3764
 #, c-format
 msgid " Press ^3%s%s to adjust"
-msgstr ""
+msgstr " Націсніце ^3%s%s каб карэктаваць"
 
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3772
 msgid "^7Press ^3ESC ^7to show HUD options."
-msgstr ""
+msgstr "^7Націсніце ^3ESC ^7каб паглядзець настáўленні HUD."
 
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3774
 msgid "^3Doubleclick ^7a panel for panel-specific options."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3776
 msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3778
 msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3825
 msgid " qu/s"
-msgstr ""
+msgstr " qu/с"
 
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3829
 msgid " m/s"
-msgstr ""
+msgstr "м/с"
 
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3833
 msgid " km/h"
-msgstr ""
+msgstr "км/г"
 
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3837
 msgid " mph"
-msgstr ""
+msgstr "м/г"
 
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3841
 msgid " knots"
-msgstr ""
+msgstr "вузлы"
 
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4497
 msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
 msgstr ""
 
@@ -311,25 +304,25 @@ msgstr ""
 
 #: qcsrc/client/mapvoting.qc:28
 msgid " (1 vote)"
-msgstr ""
+msgstr " (1 голас)"
 
 #: qcsrc/client/mapvoting.qc:30
 #, c-format
 msgid " (%d votes)"
-msgstr ""
+msgstr " (%d галасоў)"
 
 #: qcsrc/client/mapvoting.qc:118
 msgid "Don't care"
-msgstr ""
+msgstr "Усё адно"
 
 #: qcsrc/client/mapvoting.qc:203
 msgid "Vote for a map"
-msgstr ""
+msgstr "Абранне мапы"
 
 #: qcsrc/client/mapvoting.qc:209
 #, c-format
 msgid "%d seconds left"
-msgstr ""
+msgstr "%d секунд засталося"
 
 #: qcsrc/client/mapvoting.qc:273
 msgid ""
@@ -342,69 +335,69 @@ msgstr ""
 
 #: qcsrc/client/mapvoting.qc:292
 msgid "Requesting preview...\n"
-msgstr ""
+msgstr "Запыт перадпрагляду...\n"
 
-#: qcsrc/client/miscfunctions.qc:98
+#: qcsrc/client/miscfunctions.qc:101
 msgid "Trying to remove a team which is not in the teamlist!"
 msgstr ""
 
-#: qcsrc/client/movetypes.qc:163
+#: qcsrc/client/movetypes.qc:227
 #, c-format
 msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
 
-#: qcsrc/client/movetypes.qc:166
+#: qcsrc/client/movetypes.qc:230
 #, c-format
 msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
 
 #: qcsrc/client/scoreboard.qc:19
 msgid "SCO^bckills"
-msgstr ""
+msgstr "SCO^bcзабойствы"
 
 #: qcsrc/client/scoreboard.qc:20
 msgid "SCO^bctime"
-msgstr ""
+msgstr "SCO^bcчас"
 
 #: qcsrc/client/scoreboard.qc:21
 msgid "SCO^caps"
-msgstr ""
+msgstr "SCO^bcузяцці"
 
 #: qcsrc/client/scoreboard.qc:22
 msgid "SCO^captime"
-msgstr ""
+msgstr "SCO^час трымання"
 
 #: qcsrc/client/scoreboard.qc:23
 msgid "SCO^deaths"
-msgstr ""
+msgstr "SCO^смерці"
 
 #: qcsrc/client/scoreboard.qc:24
 msgid "SCO^destroyed"
-msgstr ""
+msgstr "SCO^знішчана"
 
 #: qcsrc/client/scoreboard.qc:25
 msgid "SCO^drops"
-msgstr ""
+msgstr "SCO^выкіданні"
 
 #: qcsrc/client/scoreboard.qc:26
 msgid "SCO^faults"
-msgstr ""
+msgstr "SCO^правалы"
 
 #: qcsrc/client/scoreboard.qc:27
 msgid "SCO^fckills"
-msgstr ""
+msgstr "SCO^fcзабойствы"
 
 #: qcsrc/client/scoreboard.qc:28
 msgid "SCO^goals"
-msgstr ""
+msgstr "SCO^fcгалы"
 
 #: qcsrc/client/scoreboard.qc:29
 msgid "SCO^kckills"
-msgstr ""
+msgstr "SCO^kcзабойствы"
 
 #: qcsrc/client/scoreboard.qc:30
 msgid "SCO^kdratio"
-msgstr ""
+msgstr "SCO^kdстасунак"
 
 #: qcsrc/client/scoreboard.qc:31
 msgid "SCO^k/d"
@@ -436,15 +429,15 @@ msgstr ""
 
 #: qcsrc/client/scoreboard.qc:38
 msgid "SCO^name"
-msgstr ""
+msgstr "SCO^імя"
 
 #: qcsrc/client/scoreboard.qc:39
 msgid "SCO^sum"
-msgstr ""
+msgstr "SCO^сума"
 
 #: qcsrc/client/scoreboard.qc:40
 msgid "SCO^nick"
-msgstr ""
+msgstr "SCO^мянушка"
 
 #: qcsrc/client/scoreboard.qc:41
 msgid "SCO^objectives"
@@ -452,15 +445,15 @@ msgstr ""
 
 #: qcsrc/client/scoreboard.qc:42
 msgid "SCO^pickups"
-msgstr ""
+msgstr "SCO^узяцці"
 
 #: qcsrc/client/scoreboard.qc:43
 msgid "SCO^ping"
-msgstr ""
+msgstr "SCO^пінг"
 
 #: qcsrc/client/scoreboard.qc:44
 msgid "SCO^pl"
-msgstr ""
+msgstr "SCO^пз"
 
 #: qcsrc/client/scoreboard.qc:45
 msgid "SCO^pushes"
@@ -468,7 +461,7 @@ msgstr ""
 
 #: qcsrc/client/scoreboard.qc:46
 msgid "SCO^rank"
-msgstr ""
+msgstr "SCO^рэйтынг"
 
 #: qcsrc/client/scoreboard.qc:47
 msgid "SCO^returns"
@@ -484,7 +477,7 @@ msgstr ""
 
 #: qcsrc/client/scoreboard.qc:50
 msgid "SCO^suicides"
-msgstr ""
+msgstr "SCO^самагубствы"
 
 #: qcsrc/client/scoreboard.qc:51
 msgid "SCO^takes"
@@ -494,164 +487,166 @@ msgstr ""
 msgid "SCO^ticks"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:251
+#: qcsrc/client/scoreboard.qc:237
 msgid ""
 "You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:252
+#: qcsrc/client/scoreboard.qc:238
 msgid "^3|---------------------------------------------------------------|\n"
-msgstr ""
+msgstr "^3|---------------------------------------------------------------|\n"
 
-#: qcsrc/client/scoreboard.qc:253
+#: qcsrc/client/scoreboard.qc:239
 msgid "Usage:\n"
-msgstr ""
+msgstr "Карыстанне:\n"
 
-#: qcsrc/client/scoreboard.qc:254
+#: qcsrc/client/scoreboard.qc:240
 msgid "^2scoreboard_columns_set default\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:255
+#: qcsrc/client/scoreboard.qc:241
 msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:256
+#: qcsrc/client/scoreboard.qc:242
 msgid "The following field names are recognized (case insensitive):\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:257
+#: qcsrc/client/scoreboard.qc:243
 msgid ""
 "You can use a ^3|^7 to start the right-aligned fields.\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:259
+#: qcsrc/client/scoreboard.qc:245
 msgid "^3name^7 or ^3nick^7             Name of a player\n"
-msgstr ""
+msgstr "^3імя^7 ці ^3мянушка^7             Імя гульца\n"
 
-#: qcsrc/client/scoreboard.qc:260
+#: qcsrc/client/scoreboard.qc:246
 msgid "^3ping^7                     Ping time\n"
-msgstr ""
+msgstr "^3пінг^7                     Час пінгу\n"
 
-#: qcsrc/client/scoreboard.qc:261
+#: qcsrc/client/scoreboard.qc:247
 msgid "^3pl^7                       Packet loss\n"
-msgstr ""
+msgstr "^3пз^7                       Пакетаў згублена\n"
 
-#: qcsrc/client/scoreboard.qc:262
+#: qcsrc/client/scoreboard.qc:248
 msgid "^3kills^7                    Number of kills\n"
-msgstr ""
+msgstr "^3абойстваў^7                    Колькасць забойстваў\n"
 
-#: qcsrc/client/scoreboard.qc:263
+#: qcsrc/client/scoreboard.qc:249
 msgid "^3deaths^7                   Number of deaths\n"
-msgstr ""
+msgstr "^3deaths^7                   Колькасць смерцяў\n"
 
-#: qcsrc/client/scoreboard.qc:264
+#: qcsrc/client/scoreboard.qc:250
 msgid "^3suicides^7                 Number of suicides\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:265
+#: qcsrc/client/scoreboard.qc:251
 msgid "^3frags^7                    kills - suicides\n"
-msgstr ""
+msgstr "^3фрагі^7                    забойствы - самагубствы\n"
 
-#: qcsrc/client/scoreboard.qc:266
+#: qcsrc/client/scoreboard.qc:252
 msgid "^3kd^7                       The kill-death ratio\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:267
+#: qcsrc/client/scoreboard.qc:253
 msgid "^3sum^7                      frags - deaths\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:268
+#: qcsrc/client/scoreboard.qc:254
 msgid ""
 "^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
 "captured\n"
 msgstr ""
+"^3узяцці^7                     Як часта сцяг (CTF) ці ключ (KeyHunt) быў "
+"узяты\n"
 
-#: qcsrc/client/scoreboard.qc:269
+#: qcsrc/client/scoreboard.qc:255
 msgid ""
 "^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
 "ball (Keepaway) was picked up\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:270
+#: qcsrc/client/scoreboard.qc:256
 msgid "^3captime^7                  Time of fastest cap (CTF)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:271
+#: qcsrc/client/scoreboard.qc:257
 msgid "^3fckills^7                  Number of flag carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:272
+#: qcsrc/client/scoreboard.qc:258
 msgid "^3returns^7                  Number of flag returns\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:273
+#: qcsrc/client/scoreboard.qc:259
 msgid "^3drops^7                    Number of flag drops\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:274
+#: qcsrc/client/scoreboard.qc:260
 msgid "^3lives^7                    Number of lives (LMS)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:275
+#: qcsrc/client/scoreboard.qc:261
 msgid "^3rank^7                     Player rank\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:276
+#: qcsrc/client/scoreboard.qc:262
 msgid "^3pushes^7                   Number of players pushed into void\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:277
+#: qcsrc/client/scoreboard.qc:263
 msgid ""
 "^3destroyed^7                Number of keys destroyed by pushing them into "
 "void\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:278
+#: qcsrc/client/scoreboard.qc:264
 msgid "^3kckills^7                  Number of keys carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:279
+#: qcsrc/client/scoreboard.qc:265
 msgid "^3losses^7                   Number of times a key was lost\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:280
+#: qcsrc/client/scoreboard.qc:266
 msgid "^3laps^7                     Number of laps finished (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:281
+#: qcsrc/client/scoreboard.qc:267
 msgid "^3time^7                     Total time raced (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:282
+#: qcsrc/client/scoreboard.qc:268
 msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:283
+#: qcsrc/client/scoreboard.qc:269
 msgid "^3ticks^7                    Number of ticks (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:284
+#: qcsrc/client/scoreboard.qc:270
 msgid "^3takes^7                    Number of domination points taken (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:285
+#: qcsrc/client/scoreboard.qc:271
 msgid "^3bckills^7                  Number of ball carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:286
+#: qcsrc/client/scoreboard.qc:272
 msgid ""
 "^3bctime^7                   Total amount of time holding the ball in "
 "Keepaway\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:287
+#: qcsrc/client/scoreboard.qc:273
 msgid ""
 "^3score^7                    Total score\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:289
+#: qcsrc/client/scoreboard.qc:275
 msgid ""
 "Before a field you can put a + or - sign, then a comma separated list\n"
 "of game types, then a slash, to make the field show up only in these\n"
@@ -660,139 +655,143 @@ msgid ""
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:294
+#: qcsrc/client/scoreboard.qc:280
 msgid ""
 "The special game type names 'teams' and 'noteams' can be used to\n"
 "include/exclude ALL teams/noteams game modes.\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:297
+#: qcsrc/client/scoreboard.qc:283
 msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:298
+#: qcsrc/client/scoreboard.qc:284
 msgid ""
 "will display name, ping and pl aligned to the left, and the fields\n"
 "right of the vertical bar aligned to the right.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:300
+#: qcsrc/client/scoreboard.qc:286
 msgid ""
 "'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
 "other gamemodes except DM.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:534 qcsrc/client/scoreboard.qc:541
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:240
 msgid "N/A"
-msgstr ""
+msgstr "Н/Д"
 
-#: qcsrc/client/scoreboard.qc:984
+#: qcsrc/client/scoreboard.qc:970
 #, c-format
 msgid "Accuracy stats (average %d%%)"
-msgstr ""
+msgstr "Статыстыка траплянняў (у сярэднім %d%%)"
 
-#: qcsrc/client/scoreboard.qc:1047
+#: qcsrc/client/scoreboard.qc:1033
 #, c-format
 msgid "%d%%"
-msgstr ""
+msgstr "%d%%"
 
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1099
 msgid "Map stats:"
+msgstr "Статыстыка мапы:"
+
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1124
 msgid "Secrets found:"
-msgstr ""
+msgstr "Адшукана схованак:"
 
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1152
 msgid "Rankings"
-msgstr ""
+msgstr "Рэйтынг"
 
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1248
 msgid "Scoreboard"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1307
 #, c-format
 msgid "Speed award: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1311
 #, c-format
 msgid "All-time fastest: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1345
 msgid "Spectators"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1352
 #, c-format
-msgid "playing on ^2%s^7"
+msgid "playing ^3%s^7 on ^2%s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
 #, c-format
 msgid " for up to ^1%1.0f minutes^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1364 qcsrc/client/scoreboard.qc:1383
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
 msgid " or"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
 #, c-format
 msgid " until ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1375
-#: qcsrc/client/scoreboard.qc:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
 msgid "SCO^points"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1369 qcsrc/client/scoreboard.qc:1376
-#: qcsrc/client/scoreboard.qc:1388 qcsrc/client/scoreboard.qc:1395
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
 msgid "SCO^is beaten"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
 #, c-format
 msgid " until a lead of ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1419
 #, c-format
 msgid "^1Respawning in ^3%s^1..."
-msgstr ""
+msgstr "^1Адраджэнне праз ^3%s^1..."
 
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1429
 #, c-format
 msgid "You are dead, wait ^3%s^7 before respawning"
-msgstr ""
+msgstr "Вы мёртвы, засталося чакаць ^3%s^7 да адраджэння"
 
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1438
 #, c-format
 msgid "You are dead, press ^2%s^7 to respawn"
-msgstr ""
+msgstr "Вы мёртвы, націсніце ^2%s^7 каб адрадзіцца"
 
 #: qcsrc/client/target_music.qc:94 qcsrc/client/target_music.qc:183
 #, c-format
 msgid "Cannot initialize sound %s\n"
 msgstr ""
 
-#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:591
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
 msgid "Spam"
 msgstr ""
 
 #: qcsrc/client/tturrets.qc:308
 #, c-format
 msgid "%s under attack!"
-msgstr ""
+msgstr "%s пад атакай!"
 
 #: qcsrc/client/vehicles/vehicles.qc:331 qcsrc/client/vehicles/vehicles.qc:333
 msgid "No right gunner!"
@@ -802,229 +801,233 @@ msgstr ""
 msgid "No left gunner!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:254
+#: qcsrc/client/waypointsprites.qc:246
 msgid "Push"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:255
+#: qcsrc/client/waypointsprites.qc:247
 msgid "Destroy"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:256
+#: qcsrc/client/waypointsprites.qc:248
 msgid "Defend"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:257
+#: qcsrc/client/waypointsprites.qc:249
 msgid "Blue base"
-msgstr ""
+msgstr "Сіняя база"
 
-#: qcsrc/client/waypointsprites.qc:258
+#: qcsrc/client/waypointsprites.qc:250
 msgid "DANGER"
-msgstr ""
+msgstr "НЕБЯСПЕКА"
 
-#: qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:251
 msgid "Enemy carrier"
-msgstr ""
+msgstr "Варожы носьбіт"
 
-#: qcsrc/client/waypointsprites.qc:260
+#: qcsrc/client/waypointsprites.qc:252
 msgid "Flag carrier"
-msgstr ""
+msgstr "Носьбіт сцяга"
 
-#: qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:253
 msgid "Dropped flag"
-msgstr ""
+msgstr "Кінуты сцяг"
 
-#: qcsrc/client/waypointsprites.qc:262
+#: qcsrc/client/waypointsprites.qc:254
 msgid "Help me!"
-msgstr ""
+msgstr "Дапамажыце!"
 
-#: qcsrc/client/waypointsprites.qc:263
+#: qcsrc/client/waypointsprites.qc:255
 msgid "Here"
-msgstr ""
+msgstr "Тут"
 
-#: qcsrc/client/waypointsprites.qc:264
+#: qcsrc/client/waypointsprites.qc:256
 msgid "Dropped key"
-msgstr ""
+msgstr "Кінуты ключ"
 
-#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:267
-#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
-#: qcsrc/client/waypointsprites.qc:270
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
 msgid "Key carrier"
-msgstr ""
+msgstr "Носьбіт ключа"
 
-#: qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:258
 msgid "Run here"
-msgstr ""
+msgstr "Бяжы сюды"
 
-#: qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:263
 msgid "Red base"
-msgstr ""
+msgstr "Чырвоная база"
 
-#: qcsrc/client/waypointsprites.qc:272
+#: qcsrc/client/waypointsprites.qc:264
 msgid "Waypoint"
-msgstr ""
+msgstr "Арыентыр"
 
-#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
-#: qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
 msgid "Generator"
-msgstr ""
+msgstr "Генератар"
 
-#: qcsrc/client/waypointsprites.qc:276 qcsrc/client/waypointsprites.qc:277
-#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
-#: qcsrc/client/waypointsprites.qc:280 qcsrc/client/waypointsprites.qc:281
-#: qcsrc/client/waypointsprites.qc:282 qcsrc/client/waypointsprites.qc:283
-#: qcsrc/client/waypointsprites.qc:307 qcsrc/client/waypointsprites.qc:308
-#: qcsrc/client/waypointsprites.qc:309 qcsrc/client/waypointsprites.qc:310
-#: qcsrc/client/waypointsprites.qc:311
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
 msgid "Control point"
-msgstr ""
+msgstr "Кантрольны пункт"
 
-#: qcsrc/client/waypointsprites.qc:284
+#: qcsrc/client/waypointsprites.qc:276
 msgid "Checkpoint"
-msgstr ""
+msgstr "Чэкпоінт"
 
-#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
 msgid "Finish"
-msgstr ""
+msgstr "Фініш"
 
-#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
 msgid "Start"
+msgstr "Старт"
+
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
 msgid "Ball"
-msgstr ""
+msgstr "Мяч"
 
-#: qcsrc/client/waypointsprites.qc:290
+#: qcsrc/client/waypointsprites.qc:283
 msgid "Ball carrier"
-msgstr ""
+msgstr "Носьбіт мяча"
 
-#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
 msgid "Laser"
-msgstr ""
+msgstr "Laser"
 
-#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
 msgid "Shotgun"
-msgstr ""
+msgstr "Shotgun"
 
-#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
 msgid "Machine Gun"
-msgstr ""
+msgstr "Machine Gun"
 
-#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
 msgid "Mortar"
-msgstr ""
+msgstr "Mortar"
 
-#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
 msgid "Electro"
-msgstr ""
+msgstr "Electro"
 
-#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
 msgid "Crylink"
-msgstr ""
+msgstr "Crylink"
 
-#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
 msgid "Nex"
-msgstr ""
+msgstr "Nex"
 
-#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
 msgid "Hagar"
-msgstr ""
+msgstr "Hagar"
 
-#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
 msgid "Rocket Launcher"
-msgstr ""
+msgstr "Rocket Launcher"
 
-#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
 msgid "Port-O-Launch"
-msgstr ""
+msgstr "Port-O-Launch"
 
-#: qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:294
 msgid "Minstanex"
-msgstr ""
+msgstr "MinstaNex"
 
-#: qcsrc/client/waypointsprites.qc:302
+#: qcsrc/client/waypointsprites.qc:295
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
 msgid "Hook"
-msgstr ""
+msgstr "Зачэпка"
 
-#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
 msgid "Fireball"
-msgstr ""
+msgstr "Fireball"
 
-#: qcsrc/client/waypointsprites.qc:304
+#: qcsrc/client/waypointsprites.qc:297
 msgid "HLAC"
-msgstr ""
+msgstr "HLAC"
 
-#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
 msgid "Rifle"
-msgstr ""
+msgstr "Rifle"
 
-#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
 msgid "Mine Layer"
-msgstr ""
+msgstr "Mine Layer"
 
-#: qcsrc/client/waypointsprites.qc:312
+#: qcsrc/client/waypointsprites.qc:305
 msgid "Invisibility"
-msgstr ""
+msgstr "Нябачнасць"
 
-#: qcsrc/client/waypointsprites.qc:313
+#: qcsrc/client/waypointsprites.qc:306
 msgid "Extra life"
-msgstr ""
+msgstr "Дадатковае жыццё"
 
-#: qcsrc/client/waypointsprites.qc:314
+#: qcsrc/client/waypointsprites.qc:307
 msgid "Speed"
-msgstr ""
+msgstr "Хуткасць"
 
-#: qcsrc/client/waypointsprites.qc:315
+#: qcsrc/client/waypointsprites.qc:308
 msgid "Strength"
-msgstr ""
+msgstr "Моц"
 
-#: qcsrc/client/waypointsprites.qc:316
+#: qcsrc/client/waypointsprites.qc:309
 msgid "Shield"
-msgstr ""
+msgstr "Панцыр"
 
-#: qcsrc/client/waypointsprites.qc:317
+#: qcsrc/client/waypointsprites.qc:310
 msgid "Fuel regen"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:318
+#: qcsrc/client/waypointsprites.qc:311
 msgid "Jet Pack"
-msgstr ""
+msgstr "Рэактыўны заплечнік"
 
-#: qcsrc/client/waypointsprites.qc:319
+#: qcsrc/client/waypointsprites.qc:312
 msgid "Frozen!"
-msgstr ""
+msgstr "Замарожаны!"
 
-#: qcsrc/client/waypointsprites.qc:320
+#: qcsrc/client/waypointsprites.qc:313
 msgid "Tagged"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:321
+#: qcsrc/client/waypointsprites.qc:314
 msgid "Vehicle"
-msgstr ""
+msgstr "Машына"
 
-#: qcsrc/client/waypointsprites.qc:595
+#: qcsrc/client/waypointsprites.qc:588
 #, c-format
 msgid "%s needing help!"
-msgstr ""
+msgstr "%s патрэбна дапамога!"
 
 #: qcsrc/common/command/generic.qc:31
 #, c-format
 msgid "error: status is %d\n"
-msgstr ""
+msgstr "памылка: статус %d\n"
 
 #: qcsrc/common/command/generic.qc:159
 msgid "error creating curl handle\n"
-msgstr ""
+msgstr "памылка падчас стварэння curl handle\n"
 
 #: qcsrc/common/command/generic.qc:263
 msgid "Notification dump command only works with cl_cmd and sv_cmd.\n"
-msgstr ""
+msgstr "Загад на адбітак абвяшчэнняў працуе толькі з cl_cmd ды sv_cmd.\n"
 
 #: qcsrc/common/command/generic.qc:457
 msgid "Notification restart command only works with cl_cmd and sv_cmd.\n"
-msgstr ""
+msgstr "Перазапуск сістэмы абвяшчэнняў працуе толькі з cl_cmd ды sv_cmd.\n"
 
 #: qcsrc/common/counting.qh:5
 #, c-format
@@ -1226,1959 +1229,2068 @@ msgstr ""
 msgid "%dth"
 msgstr ""
 
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:717
 #, no-c-format
 msgid "@!#%'n Tuba Throwing"
 msgstr ""
 
-#: qcsrc/common/mapinfo.qc:1109 qcsrc/menu/xonotic/skinlist.c:166
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
 #, c-format
 msgid "%s: %s"
-msgstr ""
+msgstr "%s: %s"
 
 #: qcsrc/common/mapinfo.qh:36
 msgid "Deathmatch"
-msgstr ""
+msgstr "Deathmatch"
 
 #: qcsrc/common/mapinfo.qh:39
 msgid "Last Man Standing"
-msgstr ""
+msgstr "Last Man Standing"
 
 #: qcsrc/common/mapinfo.qh:42
-msgid "Arena"
-msgstr ""
+msgid "Race"
+msgstr "Race"
 
 #: qcsrc/common/mapinfo.qh:45
-msgid "Race"
-msgstr ""
+msgid "Race CTS"
+msgstr "Race CTS"
 
 #: qcsrc/common/mapinfo.qh:48
-msgid "Race CTS"
-msgstr ""
+msgid "Team Deathmatch"
+msgstr "Team Deathmatch"
 
 #: qcsrc/common/mapinfo.qh:51
-msgid "Team Deathmatch"
-msgstr ""
+msgid "Capture the Flag"
+msgstr "Capture the Flag"
 
 #: qcsrc/common/mapinfo.qh:54
-msgid "Capture the Flag"
-msgstr ""
+msgid "Clan Arena"
+msgstr "Clan Arena"
 
 #: qcsrc/common/mapinfo.qh:57
-msgid "Clan Arena"
-msgstr ""
+msgid "Domination"
+msgstr "Domination"
 
 #: qcsrc/common/mapinfo.qh:60
-msgid "Domination"
-msgstr ""
+msgid "Key Hunt"
+msgstr "Key Hunt"
 
 #: qcsrc/common/mapinfo.qh:63
-msgid "Key Hunt"
-msgstr ""
+msgid "Assault"
+msgstr "Assault"
 
 #: qcsrc/common/mapinfo.qh:66
-msgid "Assault"
-msgstr ""
+msgid "Onslaught"
+msgstr "Onslaught"
 
 #: qcsrc/common/mapinfo.qh:69
-msgid "Onslaught"
-msgstr ""
+msgid "Nexball"
+msgstr "Nexball"
 
 #: qcsrc/common/mapinfo.qh:72
-msgid "Nexball"
-msgstr ""
+msgid "Freeze Tag"
+msgstr "Freeze Tag"
 
 #: qcsrc/common/mapinfo.qh:75
-msgid "Freeze Tag"
-msgstr ""
+msgid "Keepaway"
+msgstr "Keepaway"
 
 #: qcsrc/common/mapinfo.qh:78
-msgid "Keepaway"
+msgid "Invasion"
 msgstr ""
 
-#: qcsrc/common/net_notice.qc:89
-msgid "^1Server notices:"
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
 msgstr ""
 
-#: qcsrc/common/net_notice.qc:95
-#, c-format
-msgid "^7%s (^3%d sec left)"
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:342
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr ""
+
+#: qcsrc/common/net_notice.qc:89
+msgid "^1Server notices:"
+msgstr "^1Сервер абвяшчае:"
+
+#: qcsrc/common/net_notice.qc:95
 #, c-format
-msgid "^BG%s^BG captured the ^TC^TT^BG flag"
+msgid "^7%s (^3%d sec left)"
+msgstr "^7%s (^3%d секунд засталося)"
+
+#: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
 msgstr ""
 
 #: qcsrc/common/notifications.qh:343
 #, c-format
+msgid "^BG%s^BG captured the ^TC^TT^BG flag"
+msgstr "^BG%s^BG захапіў ^TC^TT^BG сцяг"
+
+#: qcsrc/common/notifications.qh:344
+#, c-format
 msgid ""
 "^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"
 msgstr ""
+"^BG%s^BG захапіў ^TC^TT^BG сцяг цягам ^F1%s^BG секунд, пабіўшы папярэдні "
+"рэкорд ^BG%s^BG - ^F2%s^BG секунд"
 
-#: qcsrc/common/notifications.qh:344
+#: qcsrc/common/notifications.qh:345
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
-msgstr ""
+msgstr "^BG%s^BG захапіў ^TC^TT^BG сцяг цягам ^F1%s^BG секунд"
 
-#: qcsrc/common/notifications.qh:345
+#: qcsrc/common/notifications.qh:346
 #, c-format
 msgid ""
 "^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"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:346
+#: qcsrc/common/notifications.qh:347
 msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
-msgstr ""
+msgstr "^BG ^TC^TT^BG сцяг быў вярнуты на базу сваім уладальнікам"
 
-#: qcsrc/common/notifications.qh:347
+#: qcsrc/common/notifications.qh:348
 msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
-msgstr ""
+msgstr "^BG ^TC^TT^BG сцяг быў знішчаны і вернуты на базу"
 
-#: qcsrc/common/notifications.qh:348
+#: qcsrc/common/notifications.qh:349
 msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:349
+#: qcsrc/common/notifications.qh:350
 msgid ""
 "^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
 "base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:350
+#: qcsrc/common/notifications.qh:351
 #, c-format
 msgid ""
 "^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
 "itself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:351
+#: qcsrc/common/notifications.qh:352
 msgid "^BGThe ^TC^TT^BG flag has returned to the base"
-msgstr ""
+msgstr "^BGСцяг ^TC^TT^BG быў вернуты на базу"
 
-#: qcsrc/common/notifications.qh:352
+#: qcsrc/common/notifications.qh:353
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT^BG flag"
-msgstr ""
+msgstr "^BG%s^BG згубіў ^TC^TT^BG сцяг"
 
-#: qcsrc/common/notifications.qh:353
+#: qcsrc/common/notifications.qh:354
 #, c-format
 msgid "^BG%s^BG got the ^TC^TT^BG flag"
-msgstr ""
+msgstr "^BG%s^BG узяў ^TC^TT^BG сцяг"
 
-#: qcsrc/common/notifications.qh:354
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
 #, c-format
 msgid "^BG%s^BG returned the ^TC^TT^BG flag"
-msgstr ""
+msgstr "^BG%s^BG вярнуў ^TC^TT^BG сцяг"
 
-#: qcsrc/common/notifications.qh:355
+#: qcsrc/common/notifications.qh:357
 #, c-format
 msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:356
+#: qcsrc/common/notifications.qh:358
 #, c-format
 msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:357
+#: qcsrc/common/notifications.qh:359
 #, c-format
 msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:359
+#: qcsrc/common/notifications.qh:361
 #, c-format
 msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:360
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:363
 #, c-format
 msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:361
+#: qcsrc/common/notifications.qh:364
 #, c-format
 msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:362
+#: qcsrc/common/notifications.qh:365
 #, c-format
 msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:363
+#: qcsrc/common/notifications.qh:366
 #, c-format
 msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:365
+#: qcsrc/common/notifications.qh:368
 #, c-format
 msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:366
+#: qcsrc/common/notifications.qh:369
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:367
+#: qcsrc/common/notifications.qh:370
 #, c-format
 msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:368
+#: qcsrc/common/notifications.qh:371
 #, c-format
 msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:369
+#: qcsrc/common/notifications.qh:372
 #, c-format
 msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:370
+#: qcsrc/common/notifications.qh:373
 #, c-format
 msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:371
+#: qcsrc/common/notifications.qh:374
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:372
+#: qcsrc/common/notifications.qh:375
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:373
+#: qcsrc/common/notifications.qh:376
 #, c-format
 msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:374
+#: qcsrc/common/notifications.qh:377
 #, c-format
 msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:375
+#: qcsrc/common/notifications.qh:378
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:376
+#: qcsrc/common/notifications.qh:379
 #, c-format
 msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:377
+#: qcsrc/common/notifications.qh:380
 #, c-format
 msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:378
+#: qcsrc/common/notifications.qh:381
 #, c-format
 msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:379
+#: qcsrc/common/notifications.qh:382
 #, c-format
 msgid "^BG%s^K1 was moved into the %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:380
+#: qcsrc/common/notifications.qh:383
 #, c-format
 msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:381
+#: qcsrc/common/notifications.qh:384
 #, c-format
 msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:382
+#: qcsrc/common/notifications.qh:385
 #, c-format
 msgid "^BG%s^K1 unfairly eliminated themself%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:383
+#: qcsrc/common/notifications.qh:386
 #, c-format
 msgid "^BG%s^K1 %s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 couldn't catch their breath%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 was in the water for too long%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a crunch%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 became a bit too crispy%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 felt a little hot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:387
+#: qcsrc/common/notifications.qh:390
 #, c-format
 msgid "^BG%s^K1 died%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 found a hot place%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 turned into hot slag%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:389
+#: qcsrc/common/notifications.qh:392
 #, c-format
 msgid "^BG%s^K1 mastered the art of self-nading%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:393
+#, c-format
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:394
+#, c-format
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:395
+#, c-format
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:396
+#, c-format
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:397
+#, c-format
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:398
+#, c-format
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
 #, c-format
 msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:401
 #, c-format
 msgid "^BG%s^K1 ran out of ammo%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:391
+#: qcsrc/common/notifications.qh:402
 #, c-format
 msgid "^BG%s^K1 rotted away%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:392
+#: qcsrc/common/notifications.qh:403
 #, c-format
 msgid "^BG%s^K1 became a shooting star%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:393
+#: qcsrc/common/notifications.qh:404
 #, c-format
 msgid "^BG%s^K1 was slimed%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:394
+#: qcsrc/common/notifications.qh:405
 #, c-format
 msgid "^BG%s^K1 couldn't take it anymore%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:395
+#: qcsrc/common/notifications.qh:406
 #, c-format
 msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:396
+#: qcsrc/common/notifications.qh:407
 #, c-format
 msgid "^BG%s^K1 switched to the %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:397
+#: qcsrc/common/notifications.qh:408
 #, c-format
 msgid "^BG%s^K1 died in an accident%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:398
+#: qcsrc/common/notifications.qh:409
 #, c-format
 msgid "^BG%s^K1 ran into a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:399
+#: qcsrc/common/notifications.qh:410
 #, c-format
 msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:400
+#: qcsrc/common/notifications.qh:411
 #, c-format
 msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:401
+#: qcsrc/common/notifications.qh:412
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:402
+#: qcsrc/common/notifications.qh:413
 #, c-format
 msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:403
+#: qcsrc/common/notifications.qh:414
 #, c-format
 msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:404
+#: qcsrc/common/notifications.qh:415
 #, c-format
 msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:405
+#: qcsrc/common/notifications.qh:416
 #, c-format
 msgid "^BG%s^K1 was phased out by a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:406
+#: qcsrc/common/notifications.qh:417
 #, c-format
 msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:407
+#: qcsrc/common/notifications.qh:418
 #, c-format
 msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:408
+#: qcsrc/common/notifications.qh:419
 #, c-format
 msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:409
+#: qcsrc/common/notifications.qh:420
 #, c-format
 msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:410
+#: qcsrc/common/notifications.qh:421
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:411
+#: qcsrc/common/notifications.qh:422
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:412
+#: qcsrc/common/notifications.qh:423
 #, c-format
 msgid "^BG%s^K1 was crushed by a vehicle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:413
+#: qcsrc/common/notifications.qh:424
 #, c-format
 msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:414
+#: qcsrc/common/notifications.qh:425
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:415
+#: qcsrc/common/notifications.qh:426
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:416
+#: qcsrc/common/notifications.qh:427
 #, c-format
 msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:417
+#: qcsrc/common/notifications.qh:428
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:418
+#: qcsrc/common/notifications.qh:429
 #, c-format
 msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:419
+#: qcsrc/common/notifications.qh:430
 #, c-format
 msgid "^BG%s^K1 was in the wrong place%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:420
+#: qcsrc/common/notifications.qh:431
 #, c-format
 msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:421
+#: qcsrc/common/notifications.qh:432
 #, c-format
 msgid "^BG%s^K1 was frozen by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:422
+#: qcsrc/common/notifications.qh:433
 #, c-format
 msgid "^BG%s^K3 was revived by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:423
+#: qcsrc/common/notifications.qh:434
 #, c-format
 msgid "^BG%s^K3 was revived by falling"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:424
+#: qcsrc/common/notifications.qh:435
 #, c-format
 msgid "^BG%s^K3 was automatically revived after %s second(s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:425 qcsrc/common/notifications.qh:612
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
 msgid "^TC^TT^BG team wins the round"
-msgstr ""
+msgstr "^TC^TT^BG каманда перамагла ў раундзе"
 
-#: qcsrc/common/notifications.qh:426 qcsrc/common/notifications.qh:613
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
 #, c-format
 msgid "^BG%s^BG wins the round"
-msgstr ""
+msgstr "^BG%s^BG перамог у раундзе"
 
-#: qcsrc/common/notifications.qh:427 qcsrc/common/notifications.qh:542
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
 msgid "^BGRound tied"
-msgstr ""
+msgstr "^BGНічыя"
 
-#: qcsrc/common/notifications.qh:428 qcsrc/common/notifications.qh:543
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
 msgid "^BGRound over, there's no winner"
-msgstr ""
+msgstr "^BGРаунд скончаны, пераможцаў няма"
 
-#: qcsrc/common/notifications.qh:429
+#: qcsrc/common/notifications.qh:440
 #, c-format
 msgid "^BG%s^K1 froze themself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:430
+#: qcsrc/common/notifications.qh:441
 #, c-format
 msgid "^BGGodmode saved you %s units of damage, cheater!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:431 qcsrc/common/notifications.qh:616
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
 #, c-format
 msgid "^BGYou do not have the ^F1%s"
-msgstr ""
+msgstr "^BGУ вас няма ^F1%s"
 
-#: qcsrc/common/notifications.qh:432 qcsrc/common/notifications.qh:617
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
 #, c-format
 msgid "^BGYou dropped the ^F1%s^BG%s"
-msgstr ""
+msgstr "^BGВы кінулі ^F1%s^BG%s"
 
-#: qcsrc/common/notifications.qh:433 qcsrc/common/notifications.qh:618
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
 #, c-format
 msgid "^BGYou got the ^F1%s"
-msgstr ""
+msgstr "^BGВы ўзялі ^F1%s"
 
-#: qcsrc/common/notifications.qh:434 qcsrc/common/notifications.qh:619
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
 #, c-format
 msgid "^BGYou don't have enough ammo for the ^F1%s"
-msgstr ""
+msgstr "^BGВам не стае патронаў да ^F1%s"
 
-#: qcsrc/common/notifications.qh:435 qcsrc/common/notifications.qh:620
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
 #, c-format
 msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
-msgstr ""
+msgstr "^F1%s %s^BG больш немагчымы, але можна карыстацца ^F1%s^BG"
 
-#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:621
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
 #, c-format
 msgid "^F1%s^BG is ^F4not available^BG on this map"
-msgstr ""
+msgstr "^F1%s^BG ^F4 няма ^BG на гэтай мапе"
 
-#: qcsrc/common/notifications.qh:437
+#: qcsrc/common/notifications.qh:448
 #, c-format
 msgid "^BG%s^F3 connected%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:438
+#: qcsrc/common/notifications.qh:449
 #, c-format
 msgid "^BG%s^F3 connected and joined the ^TC^TT team"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:439
+#: qcsrc/common/notifications.qh:450
 #, c-format
 msgid "^BG%s^F3 is now playing"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:440 qcsrc/common/notifications.qh:624
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
 #, c-format
 msgid "^BG%s^BG has dropped the ball!"
-msgstr ""
+msgstr "^BG%s^BG згубіў мяч!"
 
-#: qcsrc/common/notifications.qh:441 qcsrc/common/notifications.qh:625
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
 #, c-format
 msgid "^BG%s^BG has picked up the ball!"
-msgstr ""
+msgstr "^BG%s^BG узяў мяч!"
 
-#: qcsrc/common/notifications.qh:442
+#: qcsrc/common/notifications.qh:453
 #, c-format
 msgid "^BG%s^BG captured the keys for the ^TC^TT team"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:443
+#: qcsrc/common/notifications.qh:454
 #, c-format
 msgid "^BG%s^BG dropped the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:444
+#: qcsrc/common/notifications.qh:455
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:445
+#: qcsrc/common/notifications.qh:456
 #, c-format
 msgid "^BG%s^BG picked up the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:446
+#: qcsrc/common/notifications.qh:457
 #, c-format
 msgid "^BG%s^F3 forfeited"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:447
+#: qcsrc/common/notifications.qh:458
 #, c-format
 msgid "^BG%s^F3 has no more lives left"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:448
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:460
 #, c-format
 msgid "^BG%s^K1 picked up Invisibility"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:449
+#: qcsrc/common/notifications.qh:461
 #, c-format
 msgid "^BG%s^K1 picked up Shield"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:450
+#: qcsrc/common/notifications.qh:462
 #, c-format
 msgid "^BG%s^K1 picked up Speed"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:451
+#: qcsrc/common/notifications.qh:463
 #, c-format
 msgid "^BG%s^K1 picked up Strength"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:452
+#: qcsrc/common/notifications.qh:464
 #, c-format
 msgid "^BG%s^F3 disconnected"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:453
+#: qcsrc/common/notifications.qh:465
 #, c-format
 msgid "^BG%s^F3 was kicked for idling"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:454
+#: qcsrc/common/notifications.qh:466
 msgid ""
 "^F2You were kicked from the server because you are a spectator and "
 "spectators aren't allowed at the moment."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:455
+#: qcsrc/common/notifications.qh:467
 #, c-format
 msgid "^BG%s^F3 is now spectating"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:456
+#: qcsrc/common/notifications.qh:468
 #, c-format
 msgid "^BG%s^BG has abandoned the race"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:457
+#: qcsrc/common/notifications.qh:469
 #, c-format
 msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:458
+#: qcsrc/common/notifications.qh:470
 #, c-format
 msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:459
+#: qcsrc/common/notifications.qh:471
 #, c-format
 msgid "^BG%s^BG has finished the race"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:460
+#: qcsrc/common/notifications.qh:472
 #, c-format
 msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:461
+#: qcsrc/common/notifications.qh:473
 #, c-format
 msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:462
+#: qcsrc/common/notifications.qh:474
 #, c-format
 msgid ""
 "^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
 "and will be lost."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:463
+#: qcsrc/common/notifications.qh:475
 #, c-format
 msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:464
+#: qcsrc/common/notifications.qh:476
 msgid "^TC^TT ^BGteam scores!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:465
+#: qcsrc/common/notifications.qh:477
 #, c-format
 msgid ""
 "^F2You have to become a player within the next %s, otherwise you will be "
 "kicked, because spectating isn't allowed at this time!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:466
+#: qcsrc/common/notifications.qh:478
 #, c-format
 msgid "^BG%s^K1 picked up a Superweapon"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:467
+#: qcsrc/common/notifications.qh:479
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
 "^F2Xonotic %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:468
+#: qcsrc/common/notifications.qh:480
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:469
+#: qcsrc/common/notifications.qh:481
 #, c-format
 msgid ""
 "^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
 "the update from ^F3http://www.xonotic.org/^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:470
+#: qcsrc/common/notifications.qh:482
 #, c-format
 msgid "^F3SVQC Build information: ^F4%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:471
+#: qcsrc/common/notifications.qh:483
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:472
+#: qcsrc/common/notifications.qh:484
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:473
+#: qcsrc/common/notifications.qh:485
 #, c-format
 msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:474
+#: qcsrc/common/notifications.qh:486
 #, c-format
 msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:475
+#: qcsrc/common/notifications.qh:487
 #, c-format
 msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:476
+#: qcsrc/common/notifications.qh:488
 #, c-format
 msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:477
+#: qcsrc/common/notifications.qh:489
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:478
+#: qcsrc/common/notifications.qh:490
 #, c-format
 msgid "^BG%s^K1 played with Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:479
+#: qcsrc/common/notifications.qh:491
 #, c-format
 msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:480
+#: qcsrc/common/notifications.qh:492
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:481
+#: qcsrc/common/notifications.qh:493
 #, c-format
 msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:482
+#: qcsrc/common/notifications.qh:494
 #, c-format
 msgid "^BG%s^K1 should have used a smaller gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:483
+#: qcsrc/common/notifications.qh:495
 #, c-format
 msgid "^BG%s^K1 forgot about their firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:484
+#: qcsrc/common/notifications.qh:496
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:485
+#: qcsrc/common/notifications.qh:497
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:486
+#: qcsrc/common/notifications.qh:498
 #, c-format
 msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:487
+#: qcsrc/common/notifications.qh:499
 #, c-format
 msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:488
+#: qcsrc/common/notifications.qh:500
 #, c-format
 msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:489
+#: qcsrc/common/notifications.qh:501
 #, c-format
 msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:490
+#: qcsrc/common/notifications.qh:502
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:491
+#: qcsrc/common/notifications.qh:503
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:492
+#: qcsrc/common/notifications.qh:504
 #, c-format
 msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:493
+#: qcsrc/common/notifications.qh:505
 #, c-format
 msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:494
+#: qcsrc/common/notifications.qh:506
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:495
+#: qcsrc/common/notifications.qh:507
 #, c-format
 msgid "^BG%s^K1 forgot about their mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:496
+#: qcsrc/common/notifications.qh:508
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:497
+#: qcsrc/common/notifications.qh:509
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:498
+#: qcsrc/common/notifications.qh:510
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:499
+#: qcsrc/common/notifications.qh:511
 #, c-format
 msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:500
+#: qcsrc/common/notifications.qh:512
 #, c-format
 msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:501
+#: qcsrc/common/notifications.qh:513
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:502
+#: qcsrc/common/notifications.qh:514
 #, c-format
 msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:503
+#: qcsrc/common/notifications.qh:515
 #, c-format
 msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:504
+#: qcsrc/common/notifications.qh:516
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:505
+#: qcsrc/common/notifications.qh:517
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:506
+#: qcsrc/common/notifications.qh:518
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:507
+#: qcsrc/common/notifications.qh:519
 #, c-format
 msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:508
+#: qcsrc/common/notifications.qh:520
 #, c-format
 msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:509
+#: qcsrc/common/notifications.qh:521
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:510
+#: qcsrc/common/notifications.qh:522
 #, c-format
 msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:511
+#: qcsrc/common/notifications.qh:523
 #, c-format
 msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:512
+#: qcsrc/common/notifications.qh:524
 #, c-format
 msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:513
+#: qcsrc/common/notifications.qh:525
 #, c-format
 msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:514
+#: qcsrc/common/notifications.qh:526
 #, c-format
 msgid "^BG%s^K1 is now thinking with portals%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:515
+#: qcsrc/common/notifications.qh:527
 #, c-format
 msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:516
+#: qcsrc/common/notifications.qh:528
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:517
+#: qcsrc/common/notifications.qh:529
 #, c-format
 msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:518
+#: qcsrc/common/notifications.qh:530
 #, c-format
 msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:536
+#: qcsrc/common/notifications.qh:548
 msgid "^BGYou are attacking!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:537
+#: qcsrc/common/notifications.qh:549
 msgid "^BGYou are defending!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:538
+#: qcsrc/common/notifications.qh:550
 msgid "^F4Begin!"
-msgstr ""
+msgstr "^F4Пачалі!"
 
-#: qcsrc/common/notifications.qh:539
+#: qcsrc/common/notifications.qh:551
 msgid "^F4Game starts in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:540
+#: qcsrc/common/notifications.qh:552
 msgid "^F4Round starts in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:541
+#: qcsrc/common/notifications.qh:553
 msgid "^F4Round cannot start"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:544
+#: qcsrc/common/notifications.qh:556
 msgid "^F2Don't camp!"
-msgstr ""
+msgstr "^F2Досыць хавацца!"
 
-#: qcsrc/common/notifications.qh:545
+#: qcsrc/common/notifications.qh:557
 msgid ""
 "^BGYou are now free.\n"
 "^BGFeel free to ^F2try to capture^BG the flag again\n"
 "^BGif you think you will succeed."
 msgstr ""
+"^BGЦяпер ты вольны.\n"
+"^BGНе саромся ^F2спрабаваць захапіць^BG сцяг ізноў,\n"
+"^BGкалі лічыш, што здолееш."
 
-#: qcsrc/common/notifications.qh:546
+#: qcsrc/common/notifications.qh:558
 msgid ""
 "^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."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:547
+#: qcsrc/common/notifications.qh:559
 msgid "^BGYou captured the ^TC^TT^BG flag!"
-msgstr ""
+msgstr "^BGТы захапіў ^TC^TT^BG сцяг!"
 
-#: qcsrc/common/notifications.qh:548
+#: qcsrc/common/notifications.qh:560
 #, c-format
 msgid "^BGToo many flag throws! Throwing disabled for %s."
-msgstr ""
+msgstr "^BGНадта шмат выкіданняў сцяга! Кіданне адключана на %s."
 
-#: qcsrc/common/notifications.qh:549
+#: qcsrc/common/notifications.qh:561
 #, c-format
 msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
-msgstr ""
+msgstr "^BG%s^BG перадаў ^TC^TT^BG сцяг да %s"
 
-#: qcsrc/common/notifications.qh:550
+#: qcsrc/common/notifications.qh:562
 #, c-format
 msgid "^BGYou received the ^TC^TT^BG flag from %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:551
+#: qcsrc/common/notifications.qh:563
 #, c-format
 msgid "^BG%s^BG requests you to pass the flag%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:552
+#: qcsrc/common/notifications.qh:564
 #, c-format
 msgid "^BGRequesting %s^BG to pass you the flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:553
+#: qcsrc/common/notifications.qh:565
 #, c-format
 msgid "^BGYou passed the ^TC^TT^BG flag to %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:554
+#: qcsrc/common/notifications.qh:566
 msgid "^BGYou got the ^TC^TT^BG flag!"
-msgstr ""
+msgstr "^BGУ цябе ^TC^TT^BG сцяг!"
 
-#: qcsrc/common/notifications.qh:555
+#: qcsrc/common/notifications.qh:567
 #, c-format
 msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
-msgstr ""
+msgstr "^BGВораг %s^BG узяў наш сцяг! Трэба вярнуць яго!"
 
-#: qcsrc/common/notifications.qh:556
+#: qcsrc/common/notifications.qh:568
 #, c-format
 msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
-msgstr ""
+msgstr "^BGВораг %s (^BG%s%s)^BG узяў наш сцяг! Трэба вярнуць яго!"
 
-#: qcsrc/common/notifications.qh:557
+#: qcsrc/common/notifications.qh:569
 #, c-format
 msgid "^BGYour %steam mate^BG got the flag! Protect them!"
-msgstr ""
+msgstr "^BGЧалец %sнашай каманды^BG узяў сцяг! Трэба абараніць яго!"
 
-#: qcsrc/common/notifications.qh:558
+#: qcsrc/common/notifications.qh:570
 #, c-format
 msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
-msgstr ""
+msgstr "^BGЧалец %sнашай каманды (^BG%s%s)^BG узяў сцяг! Трэба абараніць яго!"
 
-#: qcsrc/common/notifications.qh:559
+#: qcsrc/common/notifications.qh:571
 msgid "^BGYou returned the ^TC^TT^BG flag!"
-msgstr ""
+msgstr "^BGТы вярнуў ^TC^TT^BG сцяг!"
 
-#: qcsrc/common/notifications.qh:560
+#: qcsrc/common/notifications.qh:572
 msgid "^BGStalemate! Enemies can now see you on radar!"
-msgstr ""
+msgstr "^BGНудота! Цяпер ворагі бачаць цябе на радары!"
 
-#: qcsrc/common/notifications.qh:561
+#: qcsrc/common/notifications.qh:573
 msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
-msgstr ""
+msgstr "^BGНудота! Цяпер ворагі бачаць носьбітаў на радары!"
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou fragged ^BG%s"
-msgstr ""
+msgstr "^K3%sТы забіў ^BG%s"
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou scored against ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s"
-msgstr ""
+msgstr "^K1%sЦябе забіў ^BG%s"
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s^BG%s"
-msgstr ""
+msgstr "^K1%sЦябе забіў ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou fragged ^BG%s^BG%s"
-msgstr ""
+msgstr "^K3%sТы забіў ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou scored against ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s"
-msgstr ""
+msgstr "^K1%sТы несумленна забіў ^BG%s"
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s"
-msgstr ""
+msgstr "^K1%sЦябе несумленна забіў ^BG%s"
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
-msgstr ""
+msgstr "^K1%sЦябе несумленна забіў ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s^BG%s"
-msgstr ""
+msgstr "^K1%sТы несумленна забіў ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:570
+#: qcsrc/common/notifications.qh:582
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:571
+#: qcsrc/common/notifications.qh:583
 #, c-format
 msgid ""
 "^BGYou have been moved into a different team\n"
 "You are now on: %s"
 msgstr ""
+"^BGЦябе перасунулі ў іншую каманду\n"
+"Цяпер ты належыш: %s"
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't go against your team mates!"
-msgstr ""
+msgstr "^K1Не ідзі супраць чальцоў сваёй каманды!"
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't shoot your team mates!"
-msgstr ""
+msgstr "^K1Не страляй па сваіх!"
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Die camper!"
-msgstr ""
+msgstr "^K1Памры кэмпер!"
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Reconsider your tactics, camper!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:574
+#: qcsrc/common/notifications.qh:586
 msgid "^K1You unfairly eliminated yourself!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:575
+#: qcsrc/common/notifications.qh:587
 #, c-format
 msgid "^K1You were %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:576
+#: qcsrc/common/notifications.qh:588
 msgid "^K1You couldn't catch your breath!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:577
+#: qcsrc/common/notifications.qh:589
 msgid "^K1You hit the ground with a crunch!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You felt a little too hot!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You got a little bit too crispy!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You killed your own dumb self!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You need to be more careful!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:580
+#: qcsrc/common/notifications.qh:592
 msgid "^K1You couldn't stand the heat!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
 msgid "^K1Tastes like chicken!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:594
 msgid "^K1You forgot to put the pin back in!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You are respawning for running out of ammo..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You were killed for running out of ammo..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You grew too old without taking your medicine"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You need to preserve your health"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:584
+#: qcsrc/common/notifications.qh:597
 msgid "^K1You became a shooting star!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:585
+#: qcsrc/common/notifications.qh:598
 msgid "^K1You melted away in slime!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You committed suicide!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You ended it all!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:587
+#: qcsrc/common/notifications.qh:600
 msgid "^K1You got stuck in a swamp!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:588
+#: qcsrc/common/notifications.qh:601
 #, c-format
 msgid "^BGYou are now on: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:589
+#: qcsrc/common/notifications.qh:602
 msgid "^K1You died in an accident!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You had an unfortunate run in with a turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You were fragged by a turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You had an unfortunate run in with an eWheel turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You were fragged by an eWheel turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You had an unfortunate run in with a Walker turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You were fragged by a Walker turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:593
+#: qcsrc/common/notifications.qh:606
 msgid "^K1You got caught in the blast of a Bumblebee explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:594
+#: qcsrc/common/notifications.qh:607
 msgid "^K1You were crushed by a vehicle!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:595
+#: qcsrc/common/notifications.qh:608
 msgid "^K1You were caught in a Raptor cluster bomb!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:596
+#: qcsrc/common/notifications.qh:609
 msgid "^K1You got caught in the blast of a Raptor explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:597
+#: qcsrc/common/notifications.qh:610
 msgid "^K1You got caught in the blast of a Spiderbot explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:598
+#: qcsrc/common/notifications.qh:611
 msgid "^K1You were blasted to bits by a Spiderbot rocket!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:599
+#: qcsrc/common/notifications.qh:612
 msgid "^K1You got caught in the blast of a Racer explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:600
+#: qcsrc/common/notifications.qh:613
 msgid "^K1You couldn't find shelter from a Racer rocket!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:601
+#: qcsrc/common/notifications.qh:614
 msgid "^K1Watch your step!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were fragged by ^BG%s^K1, a team mate"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were scored against by ^BG%s^K1, a team mate"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:604
+#: qcsrc/common/notifications.qh:617
 msgid ""
 "^K1Stop idling!\n"
 "^BGDisconnecting in ^COUNT..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:605
+#: qcsrc/common/notifications.qh:618
 msgid "^F2You picked up some extra lives"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:606
+#: qcsrc/common/notifications.qh:619
 #, c-format
 msgid "^K3You froze ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:607
+#: qcsrc/common/notifications.qh:620
 #, c-format
 msgid "^K1You were frozen by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:608
+#: qcsrc/common/notifications.qh:621
 #, c-format
 msgid "^K3You revived ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:609
+#: qcsrc/common/notifications.qh:622
 msgid "^K3You revived yourself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:610
+#: qcsrc/common/notifications.qh:623
 #, c-format
 msgid "^K3You were revived by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:611
+#: qcsrc/common/notifications.qh:624
 #, c-format
 msgid "^K3You were automatically revived after %s second(s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:614
+#: qcsrc/common/notifications.qh:627
 msgid "^K1You froze yourself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:615
+#: qcsrc/common/notifications.qh:628
 msgid "^K1Round already started, you spawn as frozen"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:622
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:636
 msgid ""
 "^K1No spawnpoints available!\n"
 "Hope your team can fix it..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:623
+#: qcsrc/common/notifications.qh:637
 msgid ""
 "^K1You may not join the game at this time.\n"
 "The player limit reached maximum capacity."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:626
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
 msgid "^BGKilling people while you don't have the ball gives no points!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:642
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Help the key carriers to meet!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:628
+#: qcsrc/common/notifications.qh:643
 msgid ""
 "^BGAll keys are in ^TC^TT team^BG's hands!\n"
 "Interfere ^F4NOW^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:629
+#: qcsrc/common/notifications.qh:644
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Meet the other key carriers ^F4NOW^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:630
+#: qcsrc/common/notifications.qh:645
 msgid "^F4Round will start in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:646
 msgid "^BGScanning frequency range..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:647
 msgid "^BGYou are starting with the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
 #, c-format
 msgid ""
 "^BGWaiting for players to join...\n"
 "Need active players for: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:650
 #, c-format
 msgid "^BGWaiting for %s player(s) to join..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:651
 msgid "^F4^COUNT^BG left to find some ammo!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:653
 #, c-format
 msgid "^F2Extra lives remaining: ^K1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:654
 msgid "^BGSecondary fire inflicts no damage!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:655
 #, c-format
 msgid "^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:656
 #, c-format
 msgid ""
 "^F2^COUNT^BG until weapon change...\n"
 "Next weapon: ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:657
 #, c-format
 msgid "^F2Active weapon: ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:658
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep fragging until we have a winner!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep scoring until we have a winner!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:660
 #, c-format
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "^BGAdded ^F4%s^BG to the game!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:646
+#: qcsrc/common/notifications.qh:661
 msgid "^F2Invisibility has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:662
 msgid "^F2Shield has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:663
 msgid "^F2Speed has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:664
 msgid "^F2Strength has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:665
 msgid "^F2You are invisible"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:666
 msgid "^F2Shield surrounds you"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:667
 msgid "^F2You are on speed"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:668
 msgid "^F2Strength infuses your weapons with devastating power"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:669
 msgid "^F2The race is over, finish your lap!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:670
 msgid "^F2Superweapons have broken down"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:671
 msgid "^F2Superweapons have been lost"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:672
 msgid "^F2You now have a superweapon"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:673
 msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:674
 msgid "^K1Changing team in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:675
 msgid "^K1Spectating in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:676
 msgid "^K1Suicide in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:677
 msgid "^F4Timeout begins in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:678
 msgid "^F4Timeout ends in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
 #, c-format
 msgid " (near %s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "primary"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "secondary"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:980
 #, c-format
 msgid " ^F1(Press %s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:989
 #, c-format
 msgid " with %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 msgid "TRIPLE FRAG! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 unlocked RAGE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 msgid "RAGE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 started a MASSACRE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 msgid "MASSACRE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 executed MAYHEM! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 msgid "MAYHEM! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 is a BERSERKER! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 msgid "BERSERKER! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 inflicts CARNAGE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 msgid "CARNAGE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 msgid "ARMAGEDDON! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1010
 #, c-format
 msgid "%s(^F1Bot^BG)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1012
 #, c-format
 msgid "%s(Ping ^F1%d^BG)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1018
 #, c-format
 msgid ""
 "\n"
 "(Health ^1%d^BG / Armor ^2%d^BG)%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1020
 #, c-format
 msgid ""
 "\n"
 "(^F4Dead^BG)%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
 #, c-format
 msgid "%d score spree! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1069
 #, c-format
 msgid "%d frag spree! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First blood! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First score! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First casualty! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First victim! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1127
 #, c-format
 msgid "%s^K1 has %d frags in a row! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1128
 #, c-format
 msgid "%s^K1 made %d scores in a row! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1146
 #, c-format
 msgid "%s^K1 drew first blood! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1147
 #, c-format
 msgid "%s^K1 got the first score! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1163
 #, c-format
 msgid ", ending their %d frag spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1164
 #, c-format
 msgid ", ending their %d score spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1178
 #, c-format
 msgid ", losing their %d frag spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1179
 #, c-format
 msgid ", losing their %d score spree"
 msgstr ""
 
 #: qcsrc/common/teams.qh:26
 msgid "Red"
-msgstr ""
+msgstr "Чырвоная"
 
 #: qcsrc/common/teams.qh:27
 msgid "Blue"
-msgstr ""
+msgstr "Сіняя"
 
 #: qcsrc/common/teams.qh:28
 msgid "Yellow"
-msgstr ""
+msgstr "Жоўтая"
 
 #: qcsrc/common/teams.qh:29
 msgid "Pink"
-msgstr ""
+msgstr "Ружовая"
 
 #: qcsrc/common/teams.qh:30
 msgid "Team"
-msgstr ""
+msgstr "Каманда"
 
 #: qcsrc/common/teams.qh:31
 msgid "Neutral"
-msgstr ""
+msgstr "Нейтральная"
 
 #: qcsrc/menu/command/menu_cmd.qc:35
 msgid "Usage: menu_cmd command..., where possible commands are:\n"
-msgstr ""
+msgstr "Выкарыстанне: menu_cmd command..., дзе можна ўжываць загады:\n"
 
 #: qcsrc/menu/command/menu_cmd.qc:36
 msgid "  sync - reloads all cvars on the current menu page\n"
-msgstr ""
+msgstr "  сінх. - абнаўляе ўсе cvar'ы на бягучай старонцы меню\n"
 
 #: qcsrc/menu/command/menu_cmd.qc:37
 msgid "  directmenu ITEM - select a menu item as main item\n"
-msgstr ""
+msgstr "  directmenu ITEM - вызначыць элемент меню як галоўны элемент\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:62
+#: qcsrc/menu/command/menu_cmd.qc:68
 msgid "Available options:\n"
-msgstr ""
+msgstr "Даступныя параметры:\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:113
+#: qcsrc/menu/command/menu_cmd.qc:119
 msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
 msgstr ""
+"Нядзейсны загад. Паспрабуйце menu_cmd help, каб атрымаць спіс даступных "
+"загадаў.\n"
 
 #: qcsrc/menu/item/label.c:82
 #, c-format
 msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
-msgstr ""
+msgstr "ЗАЎВАГА: тэкст %s надта шырокі для надпісу, сціснуты да %f разоў\n"
 
-#: qcsrc/menu/item/listbox.c:302
+#: qcsrc/menu/item/listbox.c:382
 #, c-format
 msgid "Item %d"
-msgstr ""
+msgstr "Рэч %d"
 
 #: qcsrc/menu/item/slider.c:64
 #, c-format
 msgid "%d (%s)"
-msgstr ""
+msgstr "%d (%s)"
 
 #: qcsrc/menu/item/textslider.c:31 qcsrc/menu/item/textslider.c:33
 msgid "custom"
-msgstr ""
+msgstr "адмыслова"
 
 #: qcsrc/menu/menu.qc:59
 #, c-format
 msgid "^4MQC Build information: ^1%s\n"
-msgstr ""
+msgstr "^4Звесткі пра зборку MQC: ^1%s\n"
 
 #: qcsrc/menu/xonotic/campaign.c:286
 #: qcsrc/menu/xonotic/dialog_singleplayer.c:123
 msgid "???"
-msgstr ""
+msgstr "???"
 
 #: qcsrc/menu/xonotic/campaign.c:287
 #, c-format
 msgid "Level %d: %s"
-msgstr ""
+msgstr "Узровень %d: %s"
 
-#: qcsrc/menu/xonotic/cvarlist.c:85
-msgid "will be saved to config.cfg"
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
 msgstr ""
 
-#: qcsrc/menu/xonotic/cvarlist.c:87
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
 msgid "will not be saved"
-msgstr ""
+msgstr "не будзе захаваная"
+
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr "будзе захаваная ў config.cfg"
 
-#: qcsrc/menu/xonotic/cvarlist.c:89
+#: qcsrc/menu/xonotic/cvarlist.c:93
 msgid "private"
-msgstr ""
+msgstr "прыватная"
 
-#: qcsrc/menu/xonotic/cvarlist.c:91
+#: qcsrc/menu/xonotic/cvarlist.c:95
 msgid "engine setting"
-msgstr ""
+msgstr "настáўленне рухавіка"
 
-#: qcsrc/menu/xonotic/cvarlist.c:93
+#: qcsrc/menu/xonotic/cvarlist.c:97
 msgid "read only"
-msgstr ""
+msgstr "толькі чытанне"
 
 #: qcsrc/menu/xonotic/dialog_credits.c:5
 msgid "Credits"
-msgstr ""
+msgstr "Стваральнікі"
 
 #: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
@@ -3187,68 +3299,70 @@ msgstr ""
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:77
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
 #: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
 msgid "OK"
-msgstr ""
+msgstr "Добра"
 
 #: qcsrc/menu/xonotic/dialog_firstrun.c:4
 msgid "Welcome"
-msgstr ""
+msgstr "Сардэчна запрашаем"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:40
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
 msgid ""
 "Welcome to Xonotic, please select your language preference and enter your "
 "player name to get started.  You can change these options later through the "
 "menu system."
 msgstr ""
+"Сардэчна запрашаем у Xonotic. Калі ласка, пазначце сваю мову і задайце сваё "
+"імя ў гульні.  Пазней можна будзе змяніць гэтыя настáўленні праз меню."
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
 msgid "Name:"
-msgstr ""
+msgstr "Імя:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:68
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
 #: qcsrc/menu/xonotic/dialog_settings_user.c:65
 msgid "Text language:"
-msgstr ""
+msgstr "Мова:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
 msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
-msgstr ""
+msgstr "Звязаць ваша імя са статыстыкай гульні на stats.xonotic.org?"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
 msgid "ALWU2N^Yes"
-msgstr ""
+msgstr "ALWU2N^Так"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
 msgid "ALWU2N^No"
-msgstr ""
+msgstr "ALWU2N^Не"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
 msgid "ALWU2N^Undecided"
-msgstr ""
+msgstr "ALWU2N^Спытацца пазней"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
 msgid "Save settings"
-msgstr ""
+msgstr "Захаваць настáўленні"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:4
 msgid "Ammo Panel"
-msgstr ""
+msgstr "Панэль боепрыпасаў"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:23
 msgid "Ammunition display:"
-msgstr ""
+msgstr "Прагляд боепрыпасаў:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:26
 msgid "Show only current ammo type"
-msgstr ""
+msgstr "Паказваць толькі бягучы тып боепрыпасаў"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:29
 msgid "Align icon:"
-msgstr ""
+msgstr "Зраўнаваць значкі:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:30
 #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:37
@@ -3257,7 +3371,7 @@ msgstr ""
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:29
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:41
 msgid "Left"
-msgstr ""
+msgstr "Леваруч"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:31
 #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:39
@@ -3266,582 +3380,629 @@ msgstr ""
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:31
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:42
 msgid "Right"
-msgstr ""
+msgstr "Праваруч"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:4
 msgid "Centerprint"
-msgstr ""
+msgstr "Галоўныя паведамленні"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:24
 msgid "Message duration:"
-msgstr ""
+msgstr "Працягласць паведамлення:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:28
 msgid "Fade time:"
-msgstr ""
+msgstr "Тэрмін знікання:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:32
 msgid "Flip messages order"
-msgstr ""
+msgstr "Адваротны парадак абвяшчэнняў"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:34
 msgid "Text alignment:"
-msgstr ""
+msgstr "Раўнаванне тэксту:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:38
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:51
 msgid "Center"
-msgstr ""
+msgstr "У цэнтры"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:42
 msgid "Font scale:"
-msgstr ""
+msgstr "Памер шрыфту:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4
 msgid "Chat Panel"
-msgstr ""
+msgstr "Панэль чату"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:23
 msgid "Chat entries:"
-msgstr ""
+msgstr "Допісы ў чаце:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:26
 msgid "Chat size:"
-msgstr ""
+msgstr "Памер чату:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:30
 msgid "Chat lifetime:"
-msgstr ""
+msgstr "Тэрмін жыцця чату:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:34
 msgid "Chat beep sound"
-msgstr ""
+msgstr "Гук чату"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:4
 msgid "Engine Info Panel"
-msgstr ""
+msgstr "Панэль звестак пра рухавік"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:23
 msgid "Engine info:"
-msgstr ""
+msgstr "Звесткі пра рухавік:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:26
 msgid "Use an averaging algorithm for fps"
-msgstr ""
+msgstr "Выкар. алгарытм асярэднення FPS"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:4
 msgid "Health/Armor Panel"
-msgstr ""
+msgstr "Панэль здароўя/броні"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:23
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:23
 msgid "Enable status bar"
-msgstr ""
+msgstr "Уключыць радок стану"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:25
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:25
 msgid "Status bar alignment:"
-msgstr ""
+msgstr "Раўнаванне радка стану:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:33
 #: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:43
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:33
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:43
 msgid "Inward"
-msgstr ""
+msgstr "Унутр"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:35
 #: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:44
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:35
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:44
 msgid "Outward"
-msgstr ""
+msgstr "Вонкі"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:38
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:38
 msgid "Icon alignment:"
-msgstr ""
+msgstr "Раўнаванне значкоў:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:46
 msgid "Flip health and armor positions"
-msgstr ""
+msgstr "Памяняць месцамі здароўе і бронь"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:4
 msgid "Info Messages Panel"
-msgstr ""
+msgstr "Панэль інфармацыйных паведамленняў"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:23
 msgid "Info messages:"
-msgstr ""
+msgstr "Інф. паведамленні:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:26
 msgid "Flip align"
-msgstr ""
+msgstr "Адвярнуць раўнаванне"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_modicons.c:4
 msgid "Mod Icons Panel"
-msgstr ""
+msgstr "Панэль значкоў мода"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:4
 msgid "Notification Panel"
-msgstr ""
+msgstr "Панэль абвяшчэнняў"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:23
 msgid "Notifications:"
-msgstr ""
+msgstr "Абвяшчэнні:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:26
 msgid "Also print notifications to the console"
-msgstr ""
+msgstr "Выводзіць абвяшчэнні яшчэ і ў кансолі"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:29
 msgid "Flip notify order"
-msgstr ""
+msgstr "Адвярнуць парадак абвяшчэнняў"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:32
 msgid "Entry lifetime:"
-msgstr ""
+msgstr "Тэрмін бачнасці:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:36
 msgid "Entry fadetime:"
-msgstr ""
+msgstr "Тэрмін знікання:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:4
 msgid "Physics Panel"
-msgstr ""
+msgstr "Панэль фізікі"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:23
 #: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:22
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:22
 msgid "Panel disabled"
-msgstr ""
+msgstr "Адключаная"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:24
 msgid "Panel enabled"
-msgstr ""
+msgstr "Уключаная"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:25
 msgid "Panel enabled even observing"
-msgstr ""
+msgstr "Уключаная пры назіранні"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:26
 msgid "Panel enabled only in Race/CTS"
-msgstr ""
+msgstr "Панэль уключаная толькі ў Race/CTS"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:32
 msgid "Status bar"
-msgstr ""
+msgstr "Радок стану"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:34
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:49
 msgid "Left align"
-msgstr ""
+msgstr "Леваруч"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:35
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:53
 msgid "Right align"
-msgstr ""
+msgstr "Праваруч"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:36
 msgid "Inward align"
-msgstr ""
+msgstr "Унутр"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:37
 msgid "Outward align"
-msgstr ""
+msgstr "Вонкі"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:41
 msgid "Flip speed/acceleration positions"
-msgstr ""
+msgstr "Памяняць месцамі хуткасць і паскарэнне"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:45
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:29
 msgid "Speed:"
-msgstr ""
+msgstr "Хуткасць:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:46
 msgid "Include vertical speed"
-msgstr ""
+msgstr "З вертыкальнай хуткасцю"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:57
 msgid "Speed unit:"
-msgstr ""
+msgstr "Адзінка хуткасці:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:59
 msgid "qu/s"
-msgstr ""
+msgstr "qu/с"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:60
 msgid "m/s"
-msgstr ""
+msgstr "м/с"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:61
 msgid "km/h"
-msgstr ""
+msgstr "км/г"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:62
 msgid "mph"
-msgstr ""
+msgstr "м/г"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:63
 msgid "knots"
-msgstr ""
+msgstr "вузлы"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:65
 msgid "Show"
-msgstr ""
+msgstr "Паказваць"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:68
 msgid "Top speed"
-msgstr ""
+msgstr "Найбольшая хуткасць"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:74
 msgid "Acceleration:"
-msgstr ""
+msgstr "Паскарэнне:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:75
 msgid "Include vertical acceleration"
-msgstr ""
+msgstr "З вертыкальным паскарэннем"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4
 msgid "Powerups Panel"
-msgstr ""
+msgstr "Панэль бонусаў"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:46
 msgid "Flip strength and shield positions"
-msgstr ""
+msgstr "Памяняць месцамі Сілу і Панцыр"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:4
 msgid "Pressed Keys Panel"
-msgstr ""
+msgstr "Панэль націснутых кнопак"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:23
 msgid "Panel enabled when spectating"
-msgstr ""
+msgstr "Уключана падчас назірання"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:24
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:24
 msgid "Panel always enabled"
-msgstr ""
+msgstr "Заўсёды ўключана"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:31
 msgid "Forced aspect:"
-msgstr ""
+msgstr "Стасунак:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_racetimer.c:4
 msgid "Race Timer Panel"
-msgstr ""
+msgstr "Панэль гоначнага таймеру"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:4
 msgid "Radar Panel"
-msgstr ""
+msgstr "Панэль радара"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:23
 msgid "Panel enabled in teamgames"
-msgstr ""
+msgstr "Панэль уключана ў камандных гульнях"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:30
 msgid "Radar:"
-msgstr ""
+msgstr "Радар:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:33
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
-#: qcsrc/menu/xonotic/util.qc:708
+#: qcsrc/menu/xonotic/util.qc:758
 msgid "Alpha:"
-msgstr ""
+msgstr "Празрыстасць:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:37
 msgid "Rotation:"
-msgstr ""
+msgstr "Паварот:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:39
 msgid "Forward"
-msgstr ""
+msgstr "Наперад"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:40
 msgid "West"
-msgstr ""
+msgstr "Захад"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:41
 msgid "South"
-msgstr ""
+msgstr "Поўдзень"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:42
 msgid "East"
-msgstr ""
+msgstr "Усход"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:43
 msgid "North"
-msgstr ""
+msgstr "Поўнач"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:47
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:63
 msgid "Scale:"
-msgstr ""
+msgstr "Памер:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:51
 msgid "Zoom mode:"
-msgstr ""
+msgstr "Рэжым павелічэння:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:53
 msgid "Zoomed in"
-msgstr ""
+msgstr "Набліжаны"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:54
 msgid "Zoomed out"
-msgstr ""
+msgstr "Звычайны"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:55
 msgid "Always zoomed"
-msgstr ""
+msgstr "Заўсёды павялічаны"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:56
 msgid "Never zoomed"
-msgstr ""
+msgstr "Ніколі не павялічаны"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:4
 msgid "Score Panel"
-msgstr ""
+msgstr "Табліца балаў"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:23
 msgid "Score:"
-msgstr ""
+msgstr "Балы:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
 msgid "Rankings:"
-msgstr ""
+msgstr "Рэйтынг:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:27
 msgid "Off"
-msgstr ""
+msgstr "Адключана"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
 msgid "And me"
-msgstr ""
+msgstr "І мне"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:29
 msgid "Pure"
-msgstr ""
+msgstr "Чысты"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
 msgid "Timer Panel"
-msgstr ""
+msgstr "Панэль таймеру"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:23
 msgid "Timer:"
-msgstr ""
+msgstr "Таймер:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:26
 msgid "Show elapsed time"
-msgstr ""
+msgstr "Паказваць мінулы час"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:4
 msgid "Vote Panel"
-msgstr ""
+msgstr "Панэль галасавання"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:23
 msgid "Alpha after voting:"
-msgstr ""
+msgstr "Празр. пасля галасавання:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:4
 msgid "Weapons Panel"
-msgstr ""
+msgstr "Панэль зброі"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:25
 msgid "Fade out after:"
-msgstr ""
+msgstr "Знікаць пасля:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:27
 msgid "Never"
-msgstr ""
+msgstr "Ніколі"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:29
 #, c-format
 msgid "%ds"
-msgstr ""
+msgstr "%dс"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:33
 msgid "Fade effect:"
-msgstr ""
+msgstr "Эфект знікання:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:36
 msgid "EF^None"
-msgstr ""
+msgstr "EF^Няма"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:37
 msgid "Alpha"
-msgstr ""
+msgstr "Зніканне"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:38
 msgid "Slide"
-msgstr ""
+msgstr "Слізганне"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:39
 msgid "EF^Both"
-msgstr ""
+msgstr "EF^Абодва"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:43
 msgid "Weapon icons:"
-msgstr ""
+msgstr "Значкі зброі:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46
 msgid "Show only owned weapons"
-msgstr ""
+msgstr "Паказваць толькі сваю зброю"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49
 msgid "Show weapon ID as:"
-msgstr ""
+msgstr "Паказваць ID зброі як:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50
 msgid "SHOWAS^None"
-msgstr ""
+msgstr "Не паказваць"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51
 msgid "Number"
-msgstr ""
+msgstr "Лік"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52
 msgid "Bind"
-msgstr ""
+msgstr "Кнопка"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55
 msgid "Show Accuracy"
-msgstr ""
+msgstr "Паказваць дакладнасць"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:56
 msgid "Show Ammo"
-msgstr ""
+msgstr "Паказваць боепрыпасы"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:59
 msgid "Ammo bar color:"
-msgstr ""
+msgstr "Колер радка боепрыпасаў:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:65
 msgid "Ammo bar alpha:"
-msgstr ""
+msgstr "Празрыстасць радка боепрыпасаў:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:4
 msgid "Panel HUD Setup"
-msgstr ""
+msgstr "Настáўленні панэляў"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:22
 msgid "Panel background defaults:"
-msgstr ""
+msgstr "Стандартны фон панэляў:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:683
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
 msgid "Background:"
-msgstr ""
+msgstr "Фон:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:686
-#: qcsrc/menu/xonotic/util.qc:702 qcsrc/menu/xonotic/util.qc:719
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
 msgid "Disable"
-msgstr ""
+msgstr "Адключыць"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:691
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
 msgid "Color:"
-msgstr ""
+msgstr "Колер:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:699
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
 msgid "Border size:"
-msgstr ""
+msgstr "Шырыня краёў:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:51
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:90
 msgid "Team color:"
-msgstr ""
+msgstr "Колер каманды:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:725
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
 msgid "Test team color in configure mode"
-msgstr ""
+msgstr "Праверыць колер каманды ў рэжыме настáўлення"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:728
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
 msgid "Padding:"
-msgstr ""
+msgstr "Прамежак:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:69
 msgid "HUD Dock:"
-msgstr ""
+msgstr "Вобласць HUD:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:71
 msgid "DOCK^Disabled"
-msgstr ""
+msgstr "DOCK^Адключана"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:72
 msgid "DOCK^Small"
-msgstr ""
+msgstr "DOCK^Малая"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:73
 msgid "DOCK^Medium"
-msgstr ""
+msgstr "DOCK^Сярэдняя"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:74
 msgid "DOCK^Large"
-msgstr ""
+msgstr "DOCK^Вялікая"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:97
 msgid "Grid settings:"
-msgstr ""
+msgstr "Настáўленні сеткі:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:100
 msgid "Snap panels to grid"
-msgstr ""
+msgstr "Перасоўванне панэляў па сетцы"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:103
 msgid "Grid size:"
-msgstr ""
+msgstr "Памер сеткі:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:104
 msgid "X:"
-msgstr ""
+msgstr "X:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:110
 msgid "Y:"
-msgstr ""
+msgstr "Y:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:118
 msgid "Exit setup"
+msgstr "Выйсці з настáўленняў"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr "Новае"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr "Выдаліць"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
 msgstr ""
 
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr "Вызначыць вокладку:"
+
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:4
 msgid "Multiplayer"
-msgstr ""
+msgstr "Сеткавая гульня"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:18
 msgid "Servers"
-msgstr ""
+msgstr "Серверы"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:19
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:5
 msgid "Create"
-msgstr ""
+msgstr "Стварыць"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:20
 msgid "Demos"
-msgstr ""
+msgstr "Дэма"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:21
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:5
 msgid "Player Setup"
-msgstr ""
+msgstr "Настáўленні гульца"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:34
 msgid "Game type:"
-msgstr ""
+msgstr "Тып гульні:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48
 msgid "Time limit:"
-msgstr ""
+msgstr "Абмежаванне часу:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:52
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:60
 msgid "Use map specified default"
-msgstr ""
+msgstr "Выстаўлена мапай"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:55
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154
@@ -3849,618 +4010,623 @@ msgstr ""
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
 msgid "Point limit:"
-msgstr ""
+msgstr "Абмежаванне балаў:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63
 msgid "Player slots:"
-msgstr ""
+msgstr "Колькасць гульцоў:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66
 msgid "Number of bots:"
-msgstr ""
+msgstr "Колькасць ботаў:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69
 msgid "Bot skill:"
-msgstr ""
+msgstr "Майстэрства ботаў:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72
 msgid "Botlike"
-msgstr ""
+msgstr "Ботападобны"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73
 msgid "Beginner"
-msgstr ""
+msgstr "Пачатковец"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74
 msgid "You will win"
-msgstr ""
+msgstr "Лёгка перамагчы"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75
 msgid "You can win"
-msgstr ""
+msgstr "Можна перамагчы"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76
 msgid "You might win"
-msgstr ""
+msgstr "Цяжка перамагчы"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77
 msgid "Advanced"
-msgstr ""
+msgstr "Адмысловы"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78
 msgid "Expert"
-msgstr ""
+msgstr "Майстар"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79
 msgid "Pro"
-msgstr ""
+msgstr "Профі"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80
 msgid "Assassin"
-msgstr ""
+msgstr "Забойца"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81
 msgid "Unhuman"
-msgstr ""
+msgstr "Звышчалавек"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82
 msgid "Godlike"
-msgstr ""
+msgstr "Богападобны"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87
 msgid "Mutators..."
-msgstr ""
+msgstr "Мутатары..."
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
 msgid "Advanced settings..."
-msgstr ""
+msgstr "Пашыраныя настáўленні..."
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103
 msgid "Map list:"
-msgstr ""
+msgstr "Спіс мапаў:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109
 msgid "Select all"
-msgstr ""
+msgstr "Вылучыць усё"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112
 msgid "Select none"
-msgstr ""
+msgstr "Зняць вылучэнне"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118
 msgid "Start Multiplayer!"
-msgstr ""
+msgstr "Пачаць сеткавую гульню!"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153
 msgid "Capture limit:"
-msgstr ""
+msgstr "Абмежаванне захопаў:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:156
 msgid "Lives:"
-msgstr ""
+msgstr "Жыцці:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157
 msgid "Laps:"
-msgstr ""
+msgstr "Колы:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158
 msgid "Goals:"
-msgstr ""
+msgstr "Мэты:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
 msgid "Frag limit:"
-msgstr ""
+msgstr "Абмежаванне забойстваў:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:6
 msgid "Advanced server settings"
-msgstr ""
+msgstr "Пашыраныя серверныя настáўленні"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:25
 msgid "Game settings:"
-msgstr ""
+msgstr "Настáўленні гульні:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:28
 msgid "Allow spectating"
-msgstr ""
+msgstr "Дазволіць назіранне"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:31
 msgid "Spawn shield:"
-msgstr ""
+msgstr "Ахова пры адраджэнні:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:36
 msgid "Game speed:"
-msgstr ""
+msgstr "Хуткасць гульні:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:40
 msgid "Teamplay settings:"
-msgstr ""
+msgstr "Настáўленні каманд:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:43
 msgid "Friendly fire scale:"
-msgstr ""
+msgstr "Агонь па саюзніках:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:47
 msgid "Virtual friendly fire (effect only)"
-msgstr ""
+msgstr "Уяўны агонь па саюзніках (толькі ўражанне)"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:50
 msgid "Friendly fire penalty:"
-msgstr ""
+msgstr "Штраф за агонь па саюзніках:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:54
 msgid "Virtual penalty (effect only)"
-msgstr ""
+msgstr "Уяўны штраф (толькі ўражанне)"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:57
 msgid "Teams:"
-msgstr ""
+msgstr "Каманды:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:66
 msgid "Map voting:"
-msgstr ""
+msgstr "Галасаванне за мапы:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:68
 msgid "No voting"
-msgstr ""
+msgstr "Без галасавання"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:69
 msgid "2 choices"
-msgstr ""
+msgstr "2 выбары"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:70
 msgid "3 choices"
-msgstr ""
+msgstr "3 выбары"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:71
 msgid "4 choices"
-msgstr ""
+msgstr "4 выбары"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:72
 msgid "5 choices"
-msgstr ""
+msgstr "5 выбараў"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:73
 msgid "6 choices"
-msgstr ""
+msgstr "6 выбараў"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:74
 msgid "7 choices"
-msgstr ""
+msgstr "7 выбараў"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:75
 msgid "8 choices"
-msgstr ""
+msgstr "8 выбараў"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:76
 msgid "9 choices"
-msgstr ""
+msgstr "9 выбараў"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:79
 msgid "Simple majority wins vcall"
-msgstr ""
+msgstr "Большасць перамагае"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:5
 msgid "Map Information"
-msgstr ""
+msgstr "Інфармацыя пра мапу"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
 msgid "Full item placement"
-msgstr ""
+msgstr "Са зброяй"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
 msgid "MinstaGib only"
-msgstr ""
+msgstr "Толькі MinstaGib"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81
 msgid "Title:"
-msgstr ""
+msgstr "Загаловак:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:87
 msgid "Author:"
-msgstr ""
+msgstr "Аўтар:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:93
 msgid "Features:"
-msgstr ""
+msgstr "Адметнасці:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98
 msgid "Game types:"
-msgstr ""
+msgstr "Рэжымы гульні:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:328
 msgid "Close"
-msgstr ""
+msgstr "Закрыць"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124
 msgid "MAP^Play"
-msgstr ""
+msgstr "MAP^Гуляць"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:7
 msgid "Mutators"
-msgstr ""
+msgstr "Мутатары"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:33
 msgid "All Weapons Arena"
-msgstr ""
+msgstr "Арэна з усёй зброяй"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:35
 msgid "Most Weapons Arena"
-msgstr ""
+msgstr "Арэна з большасцю зброі"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:56
 #, c-format
 msgid "%s Arena"
-msgstr ""
+msgstr "%s Арэна"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:68
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:162
 msgid "Dodging"
-msgstr ""
+msgstr "Ухіленне"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:70
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:254
 msgid "MinstaGib"
-msgstr ""
+msgstr "MinstaGib"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:72
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:208
 msgid "New Toys"
-msgstr ""
+msgstr "Новыя цацкі"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:74
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:258
 msgid "NIX"
-msgstr ""
+msgstr "NIX"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:76
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:212
 msgid "Rocket Flying"
-msgstr ""
+msgstr "Ракетны палёт"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:78
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204
 msgid "Invincible Projectiles"
-msgstr ""
+msgstr "Непераможныя ракеты"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:82
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:266
 msgid "No start weapons"
-msgstr ""
+msgstr "Пачынаць без зброі"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:189
 msgid "Low gravity"
-msgstr ""
+msgstr "Нізкая гравітацыя"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:168
 msgid "Cloaked"
-msgstr ""
+msgstr "Нябачнасць"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:90
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:171
 msgid "Midair"
-msgstr ""
+msgstr "Паветраны бой"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:92
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:174
 msgid "Vampire"
-msgstr ""
+msgstr "Вампірызм"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:94
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:216
 msgid "Piñata"
-msgstr ""
+msgstr "Piñata"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:96
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:220
 msgid "Weapons stay"
-msgstr ""
+msgstr "Зброя застаецца"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:179
 msgid "Blood loss"
-msgstr ""
+msgstr "Крывацёк"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:100
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201
 msgid "Jet pack"
-msgstr ""
+msgstr "Рэактыўны заплечнік"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:102
 msgid "No powerups"
-msgstr ""
+msgstr "Без бонусаў"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104
 msgid "Powerups"
-msgstr ""
+msgstr "Бонусы"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:106
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:165
 msgid "Touch explode"
-msgstr ""
+msgstr "Выбух з дотыку"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:108
 msgid "MUT^None"
-msgstr ""
+msgstr "MUT^Няма"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:159
 msgid "Gameplay mutators:"
-msgstr ""
+msgstr "Мутатары гэймплэю:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:195
 msgid "Weapon & item mutators:"
-msgstr ""
+msgstr "Мутатары зброі ды рэчаў:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:198
 msgid "Grappling hook"
-msgstr ""
+msgstr "Зачэпка"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:225
 msgid "Regular (no arena)"
-msgstr ""
+msgstr "Звычайная (не арэна)"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:227
 msgid "Weapon arenas:"
-msgstr ""
+msgstr "Арэны са зброяй:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:244
 msgid "Most weapons"
-msgstr ""
+msgstr "Большасць зброі"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:248
 msgid "All weapons"
-msgstr ""
+msgstr "Уся зброя"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:251
 msgid "Special arenas:"
-msgstr ""
+msgstr "Асаблівыя арэны:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:262
 msgid "with laser"
-msgstr ""
+msgstr "з лазерам"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:4
 msgid "Demo"
-msgstr ""
+msgstr "Дэма"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:26
 msgid "Automatically record demos while playing"
-msgstr ""
+msgstr "Запісваць дэма падчас гульні"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:29
 #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:28
 msgid "Filter:"
-msgstr ""
+msgstr "Фільтр:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:40
 msgid "Timedemo"
-msgstr ""
+msgstr "Праверка прадукцыйнасці"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43
 msgid "DEMO^Play"
-msgstr ""
+msgstr "DEMO^Граць"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:4
 msgid "Join"
-msgstr ""
+msgstr "Далучыцца"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
-msgid "SRVS^Empty"
+msgid "SRVS^Categories"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:37
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
+msgid "SRVS^Empty"
+msgstr "Пустыя"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
 msgid "SRVS^Full"
-msgstr ""
+msgstr "Поўныя"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:41
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
 msgid "Pause"
-msgstr ""
+msgstr "Паўза"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:53
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
 msgid "Address:"
-msgstr ""
+msgstr "Адрас:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:64
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
 msgid "Info..."
-msgstr ""
+msgstr "Інфармацыя..."
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:69
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
 msgid "Join!"
-msgstr ""
+msgstr "Далучыцца!"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:5
 msgid "Server Information"
-msgstr ""
+msgstr "Інфармацыя пра сервер"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:174
 #, c-format
 msgid "%d/%d"
-msgstr ""
+msgstr "%d/%d"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
-#: qcsrc/menu/xonotic/util.qc:685 qcsrc/menu/xonotic/util.qc:701
-#: qcsrc/menu/xonotic/util.qc:710 qcsrc/menu/xonotic/util.qc:718
-#: qcsrc/menu/xonotic/util.qc:730
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
 msgid "Default"
-msgstr ""
+msgstr "Стандартна"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
 #, c-format
 msgid "%d modified"
-msgstr ""
+msgstr "%d змяненняў"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
 msgid "Official"
-msgstr ""
+msgstr "Афіцыйныя настáўленні"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:201
 msgid "N/A (auth library missing, can't connect)"
-msgstr ""
+msgstr "Н/Д (не выйшла далучыцца, няма бібліятэкі аўтэнтыфікацыі)"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:203
 msgid "N/A (auth library missing)"
-msgstr ""
+msgstr "Н/Д (няма бібліятэкі аўтэнтыфікацыі)"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:209
 msgid "Not supported (can't connect)"
-msgstr ""
+msgstr "Не падтрымліваецца (не выйшла далучыцца)"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211
 msgid "Not supported (won't encrypt)"
-msgstr ""
+msgstr "Не падтрымліваецца (шыфравання не будзе)"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:215
 msgid "Supported (will encrypt)"
-msgstr ""
+msgstr "Падтрымліваецца (будзе шыфраванне)"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217
 msgid "Supported (won't encrypt)"
-msgstr ""
+msgstr "Падтрымліваецца (шыфравання не будзе)"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:221
 msgid "Requested (will encrypt)"
-msgstr ""
+msgstr "Запытана (будзе шыфраванне)"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223
 msgid "Requested (won't encrypt)"
-msgstr ""
+msgstr "Запытана (шыфравання не будзе)"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:227
 msgid "Required (can't connect)"
-msgstr ""
+msgstr "Патрабуецца (не выйшла далучыцца)"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:229
 msgid "Required (will encrypt)"
-msgstr ""
+msgstr "Патрабуецца (будзе шыфраванне)"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:249
 msgid "Hostname:"
-msgstr ""
+msgstr "Назва сервера:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:263
 msgid "Gametype:"
-msgstr ""
+msgstr "Тып гульні:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:268
 msgid "Map:"
-msgstr ""
+msgstr "Мапа:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:273
 msgid "Mod:"
-msgstr ""
+msgstr "Мод:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:278
 msgid "Version:"
-msgstr ""
+msgstr "Версія:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:283
 msgid "Settings:"
-msgstr ""
+msgstr "Настáўленні:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:322
 msgid "Players:"
-msgstr ""
+msgstr "Гульцы:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:295
 msgid "Bots:"
-msgstr ""
+msgstr "Боты:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:300
 msgid "Free slots:"
-msgstr ""
+msgstr "Вольныя месцы:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:306
 msgid "Encryption:"
-msgstr ""
+msgstr "Шыфраванне:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:311
 msgid "ID:"
-msgstr ""
+msgstr "ID:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:316
 msgid "Key:"
-msgstr ""
+msgstr "Ключ:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:61
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:20
 msgid "Model:"
-msgstr ""
+msgstr "Мадэль:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:73
 msgid "Glowing color:"
-msgstr ""
+msgstr "Асноўны колер:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:82
 msgid "Detail color:"
-msgstr ""
+msgstr "Колер дэталяў:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93
 msgid "No crosshair"
-msgstr ""
+msgstr "Без прыцэлу"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:95
 msgid "Per weapon crosshair"
-msgstr ""
+msgstr "Залежыць ад зброі"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:98
 msgid "Custom crosshair"
-msgstr ""
+msgstr "Свой прыцэл"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117
 msgid "Crosshair size:"
-msgstr ""
+msgstr "Памер прыцэлу:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:122
 msgid "Crosshair alpha:"
-msgstr ""
+msgstr "Празрыстасць:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:128
 msgid "Crosshair color:"
-msgstr ""
+msgstr "Колер прыцэлу:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130
 msgid "Per weapon"
-msgstr ""
+msgstr "Залежыць ад зброі"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:132
 msgid "By health"
-msgstr ""
+msgstr "Паводле здароўя"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:136
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:47
 msgid "Custom"
-msgstr ""
+msgstr "Іншы"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:144
 msgid "Other crosshair settings"
-msgstr ""
+msgstr "Іншыя настáўленні прыцэлу"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:152
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6
 msgid "Model settings"
-msgstr ""
+msgstr "Настáўленні мадэлі"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6
 msgid "View settings"
-msgstr ""
+msgstr "Настáўленні віду"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:164
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6
 msgid "Weapon settings"
-msgstr ""
+msgstr "Настáўленні зброі"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:174
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6
 msgid "HUD settings"
-msgstr ""
+msgstr "Настáўленні HUD"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:180
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:164
@@ -4469,793 +4635,785 @@ msgstr ""
 #: qcsrc/menu/xonotic/dialog_settings_user.c:88
 #: qcsrc/menu/xonotic/dialog_settings_video.c:143
 msgid "Apply immediately"
-msgstr ""
+msgstr "Ужыць зараз"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6
 msgid "Crosshair settings"
-msgstr ""
+msgstr "Настáўленні прыцэлу"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28
 msgid "Enable center crosshair dot"
-msgstr ""
+msgstr "Кропка ў цэнтры"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31
 msgid "Dot size:"
-msgstr ""
+msgstr "Памер кропкі:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36
 msgid "Dot alpha:"
-msgstr ""
+msgstr "Празрыстасць кропкі:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41
 msgid "Dot color:"
-msgstr ""
+msgstr "Колер кропкі:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43
 msgid "Use normal crosshair color"
-msgstr ""
+msgstr "Нармальны колер прыцэлу"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54
 msgid "Crosshair animations:"
-msgstr ""
+msgstr "Анімацыя прыцэлу:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57
 msgid "Smooth effects of crosshairs"
-msgstr ""
+msgstr "Эфекты анімацыі прыцэлу"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61
 msgid "Use rings to indicate weapon status"
-msgstr ""
+msgstr "Паказваць стан зброі колцам"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67
 msgid "Hit testing:"
-msgstr ""
+msgstr "Праверка на траплянне:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69
 msgid "HTTST^Disabled"
-msgstr ""
+msgstr "HTTST^Адключана"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70
 msgid "HTTST^TrueAim"
-msgstr ""
+msgstr "HTTST^TrueAim"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71
 msgid "HTTST^Enemies"
-msgstr ""
+msgstr "HTTST^Ворагі"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76
 msgid "Blur crosshair if the shot is obstructed"
-msgstr ""
+msgstr "Размыць прыцэл пры перашкодах стрэлу"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81
 msgid "Animate when hitting an enemy"
-msgstr ""
+msgstr "Анімаваць, калі прыцэл на супраціўніку"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85
 msgid "Animate when picking up an item"
-msgstr ""
+msgstr "Анімаваць пры ўзяцці рэчаў"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40
 msgid "Damage:"
-msgstr ""
+msgstr "Страты:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43
 msgid "Overlay:"
-msgstr ""
+msgstr "Перакрыванне:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:47
 msgid "Factor:"
-msgstr ""
+msgstr "Множнік павелічэння:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:53
 msgid "Fade rate:"
-msgstr ""
+msgstr "Хуткасць знікання:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:60
 msgid "Waypoints"
-msgstr ""
+msgstr "Арыентыры"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:75
 msgid "Edge offset:"
-msgstr ""
+msgstr "Зрух краёў:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83
 msgid "Show names above players"
-msgstr ""
+msgstr "Паказваць імёны над гульцамі"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:86
 msgid "Only when near crosshair"
-msgstr ""
+msgstr "Толькі ў вобласці прыцэлу"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:89
 msgid "Display health and armor"
-msgstr ""
+msgstr "Паказваць здароўе ды бронь"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:93
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:4
 msgid "Enter HUD editor"
-msgstr ""
+msgstr "Увайсці ў рэдактар HUD"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:28
 msgid "In order for the HUD editor to show, you must first be in game."
-msgstr ""
+msgstr "HUD-рэдактар працуе толькі ў запушчанай гульні."
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30
 msgid "Do you wish to start a local game to set up the HUD?"
-msgstr ""
+msgstr "Запусціць лакальную гульню, каб рэдагаваць HUD?"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33
 msgid "HDCNFRM^Yes"
-msgstr ""
+msgstr "HDCNFRM^Так"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36
 msgid "HDCNFRM^No"
-msgstr ""
+msgstr "HDCNFRM^Не"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28
 msgid "Body fading:"
-msgstr ""
+msgstr "Зацямняць забітых:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31
 msgid "Gibs:"
-msgstr ""
+msgstr "Шматкі:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33
 msgid "GIBS^None"
-msgstr ""
+msgstr "GIBS^Не"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34
 msgid "GIBS^Few"
-msgstr ""
+msgstr "GIBS^Крыху"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35
 msgid "GIBS^Many"
-msgstr ""
+msgstr "GIBS^Шмат"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36
 msgid "GIBS^Lots"
-msgstr ""
+msgstr "GIBS^Да халеры і трошкі"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:41
 msgid "Force player models to mine"
-msgstr ""
+msgstr "Паказваць усіх гульцоў маёй мадэллю"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:43
 msgid "Force player colors to mine"
-msgstr ""
+msgstr "Паказваць усіх гульцоў маім колерам"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28
 msgid "Field of view:"
-msgstr ""
+msgstr "Сектар агляду, гр:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31
 msgid "Zoom:"
-msgstr ""
+msgstr "Набліжэнне:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33
 msgid "RETICLE^Fullscreen"
-msgstr ""
+msgstr "RETICLE^На ўвесь экран"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34
 msgid "RETICLE^With reticle"
-msgstr ""
+msgstr "RETICLE^Прыцэл-крыжык"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38
 msgid "ZOOM^Factor:"
-msgstr ""
+msgstr "ZOOM^Множнік набліжэння:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42
 msgid "ZOOM^Speed:"
-msgstr ""
+msgstr "ZOOM^Хуткасць:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52
 msgid "ZOOM^Instant"
-msgstr ""
+msgstr "ZOOM^Імгненны"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56
 msgid "ZOOM^Sensitivity:"
-msgstr ""
+msgstr "ZOOM^Адчувальнасць:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59
 msgid "Velocity zoom:"
-msgstr ""
+msgstr "З павелічэннем хуткасці:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61
 msgid "VZOOM^Disabled"
-msgstr ""
+msgstr "VZOOM^Адключана"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62
 msgid "VZOOM^Forward only"
-msgstr ""
+msgstr "VZOOM^Толькі наперад"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63
 msgid "VZOOM^All directions"
-msgstr ""
+msgstr "VZOOM^Усе кірункі"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67
 msgid "VZOOM^Speed"
-msgstr ""
+msgstr "VZOOM^Хуткасць"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72
 msgid "Allow passing through walls while spectating"
-msgstr ""
+msgstr "Праходзіць праз муры пры назіранні"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75
 msgid "1st person perspective"
-msgstr ""
+msgstr "Від ад першай асобы"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79
 msgid "Smooth the view when landing from a jump"
-msgstr ""
+msgstr "Змякчаць від пры прызямленні"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83
 msgid "Smooth the view while crouching"
-msgstr ""
+msgstr "Змякчаць від, калі крадзешся"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87
 msgid "View waving while idle"
-msgstr ""
+msgstr "Ваганне камеры падчас прастою"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91
 msgid "View bobbing while walking around"
-msgstr ""
+msgstr "Гайданне падчас хады"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96
 msgid "3rd person perspective"
-msgstr ""
+msgstr "Від ад трэцяй асобы"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100
 msgid "Back distance"
-msgstr ""
+msgstr "Глыбіня"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106
 msgid "Up distance"
-msgstr ""
+msgstr "Вышыня"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29
 msgid "Weapon priority list:"
-msgstr ""
+msgstr "Спіс прыярытэту зброі:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33
 msgid "Up"
-msgstr ""
+msgstr "Вышэй"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36
 msgid "Down"
-msgstr ""
+msgstr "Ніжэй"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41
 msgid "Use priority list for weapon cycling"
-msgstr ""
+msgstr "Улічваць прыярытэты пры гартанні зброі"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43
 msgid "Auto switch weapons on pickup"
-msgstr ""
+msgstr "Адразу браць у рукі ўзятую зброю"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:46
 msgid "Draw 1st person weapon model"
-msgstr ""
+msgstr "Паказваць мадэль зброі ў руках"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:58
 msgid "Gun model swaying"
-msgstr ""
+msgstr "Інерцыя зброі"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63
 msgid "Gun model bobbing"
-msgstr ""
+msgstr "Гайдаць мадэллю зброі"
 
 #: qcsrc/menu/xonotic/dialog_quit.c:4
 msgid "Quit"
-msgstr ""
+msgstr "Выйсці"
 
 #: qcsrc/menu/xonotic/dialog_quit.c:18
 msgid "Are you sure you want to quit?"
-msgstr ""
+msgstr "Сапраўды жадаеце выйсці?"
 
 #: qcsrc/menu/xonotic/dialog_quit.c:21
 msgid "Yes"
-msgstr ""
+msgstr "Так"
 
 #: qcsrc/menu/xonotic/dialog_quit.c:22
 msgid "No"
-msgstr ""
+msgstr "Не"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:4
 msgid "Sandbox Tools"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
-msgid "Spawn"
-msgstr ""
+msgstr "Начынне пясочніцы"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
 msgid "Remove *"
-msgstr ""
+msgstr "Выдаліць *"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:28
 msgid "Copy *"
-msgstr ""
+msgstr "Капіяваць *"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:29
 msgid "Paste"
-msgstr ""
+msgstr "Уставіць"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:31
 msgid "Bone:"
-msgstr ""
+msgstr "Костка:"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:36
 msgid "Set * as child"
-msgstr ""
+msgstr "Вызначыць * як дзіця"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:37
 msgid "Attach to *"
-msgstr ""
+msgstr "Далучыць да *"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:39
 msgid "Detach from *"
-msgstr ""
+msgstr "Адлучыць ад *"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:42
 msgid "Visual object properties for *:"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
-msgid "Set skin:"
-msgstr ""
+msgstr "Візуальныя ўласцівасці для *:"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
 msgid "Set alpha:"
-msgstr ""
+msgstr "Вызначыць празрыстасць:"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:49
 msgid "Set color main:"
-msgstr ""
+msgstr "Вызначыць галоўны колер:"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:51
 msgid "Set color glow:"
-msgstr ""
+msgstr "Колер святла:"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:55
 msgid "Set frame:"
-msgstr ""
+msgstr "Рама:"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:59
 msgid "Physical object properties for *:"
-msgstr ""
+msgstr "Фізічныя ўласцівасці для *:"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:61
 msgid "Set material:"
-msgstr ""
+msgstr "Вызначыць матэрыял:"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:67
 msgid "Set solidity:"
-msgstr ""
+msgstr "Вызначыць трываласць:"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:68
 msgid "Non-solid"
-msgstr ""
+msgstr "Не цвёрды"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:69
 msgid "Solid"
-msgstr ""
+msgstr "Цвёрды"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:70
 msgid "Set physics:"
-msgstr ""
+msgstr "Вызначыць фізіку:"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:71
 msgid "Static"
-msgstr ""
+msgstr "Статычны"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:72
 msgid "Movable"
-msgstr ""
+msgstr "Дынамічны"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:73
 msgid "Physical"
-msgstr ""
+msgstr "Фізіка"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:75
 msgid "Set scale:"
-msgstr ""
+msgstr "Вызначыць памер:"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:77
 msgid "Set force:"
-msgstr ""
+msgstr "Вызначыць моц:"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:81
 msgid "Claim *"
-msgstr ""
+msgstr "Узяць *"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:83
 msgid "* object info"
-msgstr ""
+msgstr "інфармацыя пра аб'ект *"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:84
 msgid "* mesh info"
-msgstr ""
+msgstr "інфармацыя пра мадэль *"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:85
 msgid "* attachment info"
-msgstr ""
+msgstr "* інфармацыя пра далучэнне"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:86
 msgid "Show help"
-msgstr ""
+msgstr "Паказваць даведку"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:87
 msgid "* is the object you are facing"
-msgstr ""
+msgstr "* гэта аб'ект перад вамі"
 
 #: qcsrc/menu/xonotic/dialog_settings.c:4
 msgid "Settings"
-msgstr ""
+msgstr "Настáўленні"
 
 #: qcsrc/menu/xonotic/dialog_settings.c:18
 #: qcsrc/menu/xonotic/dialog_settings_input.c:4
 msgid "Input"
-msgstr ""
+msgstr "Увод"
 
 #: qcsrc/menu/xonotic/dialog_settings.c:19
 #: qcsrc/menu/xonotic/dialog_settings_video.c:4
 msgid "Video"
-msgstr ""
+msgstr "Відарыс"
 
 #: qcsrc/menu/xonotic/dialog_settings.c:20
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:4
 msgid "Effects"
-msgstr ""
+msgstr "Эфекты"
 
 #: qcsrc/menu/xonotic/dialog_settings.c:21
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:4
 msgid "Audio"
-msgstr ""
+msgstr "Гук"
 
 #: qcsrc/menu/xonotic/dialog_settings.c:22
 #: qcsrc/menu/xonotic/dialog_settings_user.c:4
 msgid "User"
-msgstr ""
+msgstr "Карыстальнік"
 
 #: qcsrc/menu/xonotic/dialog_settings.c:23
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:4
 msgid "Misc"
-msgstr ""
+msgstr "Іншае"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:27
 msgid "Master:"
-msgstr ""
+msgstr "Галоўны:"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:33
 msgid "Music:"
-msgstr ""
+msgstr "Музыка:"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:41
 msgid "VOL^Ambient:"
-msgstr ""
+msgstr "VOL^Фон:"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:48
 msgid "Info:"
-msgstr ""
+msgstr "Інфармацыя:"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:55
 msgid "Items:"
-msgstr ""
+msgstr "Рэчы:"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:62
 msgid "Pain:"
-msgstr ""
+msgstr "Боль:"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:69
 msgid "Player:"
-msgstr ""
+msgstr "Гулец:"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:76
 msgid "Shots:"
-msgstr ""
+msgstr "Стрэлы:"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:83
 msgid "Voice:"
-msgstr ""
+msgstr "Голас:"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:91
 msgid "Weapons:"
-msgstr ""
+msgstr "Зброя:"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:97
 msgid "New style sound attenuation"
-msgstr ""
+msgstr "Новы стыль паслаблення гуку"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:99
 msgid "Mute sounds when not active"
-msgstr ""
+msgstr "Абязгучыць калі акно неактыўна"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:102
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:156
 msgid "Frequency:"
-msgstr ""
+msgstr "Частата:"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:104
 msgid "8 kHz"
-msgstr ""
+msgstr "8 кГц"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:105
 msgid "11.025 kHz"
-msgstr ""
+msgstr "11.025 кГц"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:106
 msgid "16 kHz"
-msgstr ""
+msgstr "16 кГц"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:107
 msgid "22.05 kHz"
-msgstr ""
+msgstr "22.05 кГц"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:108
 msgid "24 kHz"
-msgstr ""
+msgstr "24 кГц"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:109
 msgid "32 kHz"
-msgstr ""
+msgstr "32 кГц"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:110
 msgid "44.1 kHz"
-msgstr ""
+msgstr "44.1 кГц"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:111
 msgid "48 kHz"
-msgstr ""
+msgstr "48 кГц"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:114
 msgid "Channels:"
-msgstr ""
+msgstr "Каналы:"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:116
 msgid "Mono"
-msgstr ""
+msgstr "Мона"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:117
 msgid "Stereo"
-msgstr ""
+msgstr "Стэрэа"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:118
 msgid "2.1"
-msgstr ""
+msgstr "2.1"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:119
 msgid "4"
-msgstr ""
+msgstr "4"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:120
 msgid "5"
-msgstr ""
+msgstr "5"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:121
 msgid "5.1"
-msgstr ""
+msgstr "5.1"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:122
 msgid "6.1"
-msgstr ""
+msgstr "6.1"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:123
 msgid "7.1"
-msgstr ""
+msgstr "7.1"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:126
 msgid "Swap Stereo"
-msgstr ""
+msgstr "Памяняць каналы месцамі"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:128
 msgid "Headphone friendly mode"
-msgstr ""
+msgstr "Рэжым для слухавак"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:132
 msgid "Hit indication sound"
-msgstr ""
+msgstr "Абвяшчаць пра траплянне"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:134
 msgid "Chat message sound"
-msgstr ""
+msgstr "Гук допісу ў чат"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:136
 msgid "Menu sounds"
-msgstr ""
+msgstr "Гукі меню"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:139
 msgid "Time announcer:"
-msgstr ""
+msgstr "Нагадванне пра таймаут за:"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:141
 msgid "WRN^Disabled"
-msgstr ""
+msgstr "WRN^Адключана"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:142
 msgid "1 minute"
-msgstr ""
+msgstr "1 хвіліну"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:143
 msgid "5 minutes"
-msgstr ""
+msgstr "5 хвілін"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:144
 msgid "WRN^Both"
-msgstr ""
+msgstr "1 ды 5 хвілін"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:151
 msgid "Automatic taunts"
-msgstr ""
+msgstr "Аўтаматычныя кпіны"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:161
 msgid "Debug info about sounds"
-msgstr ""
+msgstr "Адладачная інфармацыя пра гукі"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:38
 msgid "Quality preset:"
-msgstr ""
+msgstr "Нарыхтоўкі якасці:"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:41
 msgid "PRE^OMG!"
-msgstr ""
+msgstr "PRE^Божухна!"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:42
 msgid "PRE^Low"
-msgstr ""
+msgstr "PRE^Нізкая"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:43
 msgid "PRE^Medium"
-msgstr ""
+msgstr "PRE^Сярэдняя"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:44
 msgid "PRE^Normal"
-msgstr ""
+msgstr "PRE^Звычайная"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:45
 msgid "PRE^High"
-msgstr ""
+msgstr "PRE^Высокая"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:46
 msgid "PRE^Ultra"
-msgstr ""
+msgstr "PRE^Звыш"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:48
 msgid "PRE^Ultimate"
-msgstr ""
+msgstr "PRE^Неверагодная"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:52
 msgid "Geometry detail:"
-msgstr ""
+msgstr "Дэталізацыя геаметрыі:"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:54
 msgid "DET^Lowest"
-msgstr ""
+msgstr "Найніжэйшая"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:55
 msgid "DET^Low"
-msgstr ""
+msgstr "Нізкая"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:56
 msgid "DET^Normal"
-msgstr ""
+msgstr "Нармальная"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:57
 msgid "DET^Good"
-msgstr ""
+msgstr "Добрая"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:58
 msgid "DET^Best"
-msgstr ""
+msgstr "Выдатная"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:59
 msgid "DET^Insane"
-msgstr ""
+msgstr "Найвышэйшая"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:62
 msgid "Player detail:"
-msgstr ""
+msgstr "Дэталізацыя гульцоў:"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:65
 msgid "Texture resolution:"
-msgstr ""
+msgstr "Разрозненне тэкстур:"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:69
 msgid "RES^Leet"
-msgstr ""
+msgstr "RES^Жудаснае"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:70
 msgid "RES^Lowest"
-msgstr ""
+msgstr "RES^Жахлівае"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:71
 msgid "RES^Very low"
-msgstr ""
+msgstr "RES^Найніжэйшае"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:72
 msgid "RES^Low"
-msgstr ""
+msgstr "RES^Нізкае"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:73
 msgid "RES^Normal"
-msgstr ""
+msgstr "RES^Нармальнае"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:74
 msgid "RES^Good"
-msgstr ""
+msgstr "RES^Добрае"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:75
 msgid "RES^Best"
-msgstr ""
+msgstr "RES^Найлепшае"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:87
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:91
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:95
 msgid "Avoid lossy texture compression"
-msgstr ""
+msgstr "Пазбягаць сціскання тэкстур са стратамі"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:105
 msgid "Show surfaces"
-msgstr ""
+msgstr "Паказваць паверхні"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:108
 msgid "Use lightmaps"
-msgstr ""
+msgstr "Мапы асвятлення"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:109
 msgid "Deluxe mapping"
-msgstr ""
+msgstr "Выдатная якасць"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:111
 msgid "Gloss"
-msgstr ""
+msgstr "Бляск"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:114
 msgid "Offset mapping"
-msgstr ""
+msgstr "Накладанне тэкстур"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:116
 msgid "Relief mapping"
-msgstr ""
+msgstr "Рэльефныя тэкстуры"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:119
 msgid "Reflections:"
-msgstr ""
+msgstr "Адлюстраванні:"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:122
 msgid "Blurred"
-msgstr ""
+msgstr "Размытыя"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:123
 msgid "REFL^Good"
-msgstr ""
+msgstr "Някепскія"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:124
 msgid "Sharp"
-msgstr ""
+msgstr "Выразныя"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:129
 msgid "Particles quality:"
-msgstr ""
+msgstr "Якасць часцін:"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:132
 msgid "Particles distance:"
-msgstr ""
+msgstr "Далечыня часцін:"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:135
 msgid "Damage effects:"
-msgstr ""
+msgstr "Эфекты пашкоджвання:"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:137
 msgid "DMGPRTCLS^Disabled"
-msgstr ""
+msgstr "DMGPRTCLS^Адключана"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:138
 msgid "DMGPRTCLS^Skeletal"
-msgstr ""
+msgstr "DMGPRTCLS^Толькі на мадэлі"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:139
 msgid "DMGPRTCLS^All"
-msgstr ""
+msgstr "DMGPRTCLS^Усе"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:142
 msgid "Particle effects for spawnpoints"
@@ -5263,824 +5421,889 @@ msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:146
 msgid "No dynamic lighting"
-msgstr ""
+msgstr "Без дынамічнага ззяння"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:148
 msgid "Fake corona lighting"
-msgstr ""
+msgstr "Сімуляваць падлік ззяння"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:151
 msgid "Realtime dynamic lighting"
-msgstr ""
+msgstr "Дынам. ззянне ў рэальным часе"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:153
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:157
 msgid "Shadows"
-msgstr ""
+msgstr "Цені"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:156
 msgid "Realtime world lighting"
-msgstr ""
+msgstr "Асвятленне наваколля ў рэальным часе"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:161
 msgid "Use normal maps"
-msgstr ""
+msgstr "Задзейнічаць мапы нармаляў"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:163
 msgid "Soft shadows"
-msgstr ""
+msgstr "Мяккія цені"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:167
 msgid "Fade corona according to visibility"
-msgstr ""
+msgstr "Зацяняць зіхаценне паводле бачнасці"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:171
 msgid "Bloom"
-msgstr ""
+msgstr "Зіхаценне (Bloom)"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:172
 msgid "Extra postprocessing effects"
-msgstr ""
+msgstr "Дадатковыя эфекты постапрацоўкі"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:177
 msgid "Motion blur:"
-msgstr ""
+msgstr "Размыццё падчас руху:"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:183
 msgid "Decals"
-msgstr ""
+msgstr "Дэкалі"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:184
 msgid "Decals on models"
-msgstr ""
+msgstr "Дэкалі на аб'ектах"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:188
 msgid "Distance:"
-msgstr ""
+msgstr "Далечыня:"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:194
 msgid "Time:"
-msgstr ""
+msgstr "Тэрмін:"
 
 #: qcsrc/menu/xonotic/dialog_settings_input.c:26
 msgid "Key bindings:"
-msgstr ""
+msgstr "Кнопкі:"
 
 #: qcsrc/menu/xonotic/dialog_settings_input.c:30
 msgid "Change key..."
-msgstr ""
+msgstr "Змяніць кнопку..."
 
 #: qcsrc/menu/xonotic/dialog_settings_input.c:34
 msgid "Edit..."
-msgstr ""
+msgstr "Змяніць..."
 
 #: qcsrc/menu/xonotic/dialog_settings_input.c:40
 msgid "Clear"
-msgstr ""
+msgstr "Ачысціць"
 
 #: qcsrc/menu/xonotic/dialog_settings_input.c:46
 msgid "Pressing \"enter console\" key also closes it"
-msgstr ""
+msgstr "\"Разгарнуць кансоль\" таксама згортвае яе"
 
 #: qcsrc/menu/xonotic/dialog_settings_input.c:48
 msgid "Automatically repeat jumping if holding jump"
-msgstr ""
+msgstr "Працягваць скакаць пры ўтрыманні падскоку"
 
 #: qcsrc/menu/xonotic/dialog_settings_input.c:52
 #: qcsrc/menu/xonotic/dialog_settings_input.c:54
 #: qcsrc/menu/xonotic/dialog_settings_input.c:57
 msgid "Use joystick input"
-msgstr ""
+msgstr "Выкарыстоўваць увод з джойстыку"
 
 #: qcsrc/menu/xonotic/dialog_settings_input.c:62
 msgid "Mouse:"
-msgstr ""
+msgstr "Мыш:"
 
 #: qcsrc/menu/xonotic/dialog_settings_input.c:65
 msgid "Sensitivity:"
-msgstr ""
+msgstr "Адчувальнасць:"
 
 #: qcsrc/menu/xonotic/dialog_settings_input.c:69
 msgid "Smooth aiming"
-msgstr ""
+msgstr "Мяккія рухі мышы"
 
 #: qcsrc/menu/xonotic/dialog_settings_input.c:72
 msgid "Invert aiming"
-msgstr ""
+msgstr "Адвярнуць мыш па вертыкалі"
 
 #: qcsrc/menu/xonotic/dialog_settings_input.c:76
 #: qcsrc/menu/xonotic/dialog_settings_input.c:78
 #: qcsrc/menu/xonotic/dialog_settings_input.c:81
 msgid "Disable system mouse acceleration"
-msgstr ""
+msgstr "Адключыць сістэмнае паскарэнне мышы"
 
 #: qcsrc/menu/xonotic/dialog_settings_input.c:86
 msgid "Enable built in mouse acceleration"
-msgstr ""
+msgstr "Уключыць убудаванае паскарэнне мышы"
 
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5
 msgid "User defined key bind"
-msgstr ""
+msgstr "Свой скарот"
 
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:42
 msgid "Command when pressed:"
-msgstr ""
+msgstr "Загад пры націсканні:"
 
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:45
 msgid "Command when released:"
-msgstr ""
+msgstr "Загад пры адцісканні:"
 
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:48
 msgid "Save"
-msgstr ""
+msgstr "Захаваць"
 
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:51
 msgid "Cancel"
-msgstr ""
+msgstr "Скасаваць"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:26
 msgid "Network:"
-msgstr ""
+msgstr "Сетка:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:31
 msgid "56k"
-msgstr ""
+msgstr "56k"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:32
 msgid "ISDN"
-msgstr ""
+msgstr "ISDN"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:33
 msgid "Slow ADSL"
-msgstr ""
+msgstr "Марудны ADSL"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:34
 msgid "Fast ADSL"
-msgstr ""
+msgstr "Хуткі ADSL"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:35
 msgid "Broadband"
-msgstr ""
+msgstr "Шырокапалоснае"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:39
 msgid "Input packets/s:"
-msgstr ""
+msgstr "Пакетаў/с:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:45
 msgid "Local latency:"
-msgstr ""
+msgstr "Лакальная затрымка:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:50
 msgid "Client UDP port:"
-msgstr ""
+msgstr "UDP-порт кліента:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:56
-msgid "Show netgraph"
+msgid "Use encryption (AES) when available"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+msgid "Show netgraph"
+msgstr "Паказваць сеткавы графік"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
 msgid "Client-side movement prediction"
-msgstr ""
+msgstr "Прадказанне руху на баку кліента"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:63
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
 msgid "Movement error compensation"
-msgstr ""
+msgstr "Кампенсацыя памылак руху"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
 msgid "Downloads:"
-msgstr ""
+msgstr "Сцягванні:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:70
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:82
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
 msgid "Maximum:"
-msgstr ""
+msgstr "Не больш за:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
 msgid "Speed (kB/s):"
-msgstr ""
+msgstr "Хуткасць (кБ/с):"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:79
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
 msgid "Framerate:"
-msgstr ""
+msgstr "Частата кадраў:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:84
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
 msgid "MAXFPS^5 fps"
-msgstr ""
+msgstr "5 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:85
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
 msgid "MAXFPS^10 fps"
-msgstr ""
+msgstr "10 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
 msgid "MAXFPS^20 fps"
-msgstr ""
+msgstr "20 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:87
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
 msgid "MAXFPS^30 fps"
-msgstr ""
+msgstr "30 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
 msgid "MAXFPS^40 fps"
-msgstr ""
+msgstr "40 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
 msgid "MAXFPS^50 fps"
-msgstr ""
+msgstr "50 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
 msgid "MAXFPS^60 fps"
-msgstr ""
+msgstr "60 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
 msgid "MAXFPS^70 fps"
-msgstr ""
+msgstr "70 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
 msgid "MAXFPS^100 fps"
-msgstr ""
+msgstr "100 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
 msgid "MAXFPS^125 fps"
-msgstr ""
+msgstr "125 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
 msgid "MAXFPS^200 fps"
-msgstr ""
+msgstr "200 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
 msgid "MAXFPS^Unlimited"
-msgstr ""
+msgstr "Неабмежавана"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
 msgid "Target:"
-msgstr ""
+msgstr "Мэта:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:101
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
 msgid "TRGT^Disabled"
-msgstr ""
+msgstr "Адключана"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:102
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
 msgid "TRGT^30 fps"
-msgstr ""
+msgstr "30 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
 msgid "TRGT^40 fps"
-msgstr ""
+msgstr "40 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:104
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
 msgid "TRGT^50 fps"
-msgstr ""
+msgstr "50 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
 msgid "TRGT^60 fps"
-msgstr ""
+msgstr "60 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
 msgid "TRGT^100 fps"
-msgstr ""
+msgstr "100 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
 msgid "TRGT^125 fps"
-msgstr ""
+msgstr "125 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
 msgid "TRGT^200 fps"
-msgstr ""
+msgstr "200 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
 msgid "Idle limit:"
-msgstr ""
+msgstr "Абмежаванне неактыўнасці:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:114
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
 msgid "IDLFPS^10 fps"
-msgstr ""
+msgstr "10 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:115
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
 msgid "IDLFPS^20 fps"
-msgstr ""
+msgstr "20 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
 msgid "IDLFPS^30 fps"
-msgstr ""
+msgstr "30 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:117
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
 msgid "IDLFPS^60 fps"
-msgstr ""
+msgstr "60 кадраў/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
 msgid "IDLFPS^Unlimited"
-msgstr ""
+msgstr "Неабмежавана"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:123
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
 msgid "Show frames per second"
-msgstr ""
+msgstr "Паказваць кадры/с"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:126
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
 msgid "Save processing time for other apps"
-msgstr ""
+msgstr "Берагчы час працэсара для іншых праграм"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
 msgid "Menu tooltips:"
-msgstr ""
+msgstr "Падказкі для элементаў:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:132
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
 msgid "TLTIP^Disabled"
-msgstr ""
+msgstr "TLTIP^Адключана"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:133
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
 msgid "TLTIP^Standard"
-msgstr ""
+msgstr "TLTIP^Як звычайна"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
 msgid "TLTIP^Advanced"
-msgstr ""
+msgstr "TLTIP^Пашырана"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
 msgid "Show current time"
-msgstr ""
+msgstr "Паказваць час"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:140
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
 msgid "Show current date"
-msgstr ""
+msgstr "Паказваць дату"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
 msgid "Enable developer mode"
-msgstr ""
+msgstr "Задзейнічаць рэжым распрацоўніка"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5
 msgid "Advanced settings"
-msgstr ""
+msgstr "Пашыраныя настáўленні"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:32
 msgid "Cvar filter:"
-msgstr ""
+msgstr "Фільтр cvar:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:45
 msgid "Setting:"
-msgstr ""
+msgstr "Настáўленне:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:49
 msgid "Type:"
-msgstr ""
+msgstr "Тып:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:53
 msgid "Value:"
-msgstr ""
+msgstr "Значэнне:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:72
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
 msgid "Description:"
-msgstr ""
+msgstr "Апісанне:"
 
 #: qcsrc/menu/xonotic/dialog_settings_user.c:27
 msgid "Menu skins:"
-msgstr ""
+msgstr "Вокладкі меню:"
 
 #: qcsrc/menu/xonotic/dialog_settings_user.c:31
 msgid "Set skin"
-msgstr ""
+msgstr "Ужыць"
 
 #: qcsrc/menu/xonotic/dialog_settings_user.c:74
 msgid "Set language"
-msgstr ""
+msgstr "Ужыць"
 
 #: qcsrc/menu/xonotic/dialog_settings_user.c:79
 msgid "Disable gore effects and harsh language"
-msgstr ""
+msgstr "Адключыць эфекты крыві ды лаянку"
 
 #: qcsrc/menu/xonotic/dialog_settings_user.c:82
 msgid "Allow player statistics to track your client"
-msgstr ""
+msgstr "Дазволіць статыстыцы адсочваць ваш кліент"
 
 #: qcsrc/menu/xonotic/dialog_settings_user.c:84
 msgid "Allow player statistics to use your nickname"
+msgstr "Дазволіць статыстыцы карыстаць ваша імя"
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:26
 msgid "Resolution:"
-msgstr ""
+msgstr "Разрозненне:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:29
 msgid "Font/UI size:"
-msgstr ""
+msgstr "Памер шрыфту/UI:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:31
 msgid "SZ^Unreadable"
-msgstr ""
+msgstr "SZ^Нечытэльны"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:32
 msgid "SZ^Tiny"
-msgstr ""
+msgstr "SZ^Малюсенькі"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:33
 msgid "SZ^Little"
-msgstr ""
+msgstr "SZ^Маленькі"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:34
 msgid "SZ^Small"
-msgstr ""
+msgstr "SZ^Малы"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:35
 msgid "SZ^Medium"
-msgstr ""
+msgstr "SZ^Сярэдні"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:36
 msgid "SZ^Large"
-msgstr ""
+msgstr "SZ^Вялікі"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:37
 msgid "SZ^Huge"
-msgstr ""
+msgstr "SZ^Агромністы"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:38
 msgid "SZ^Gigantic"
-msgstr ""
+msgstr "SZ^Велізарны"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:39
 msgid "SZ^Colossal"
-msgstr ""
+msgstr "SZ^Каласальны"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:42
 msgid "Color depth:"
-msgstr ""
+msgstr "Глыбіня колеру:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:44
 msgid "16bit"
-msgstr ""
+msgstr "16 біт"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:45
 msgid "32bit"
-msgstr ""
+msgstr "32 біты"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:48
 msgid "Full screen"
-msgstr ""
+msgstr "На ўвесь экран"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:49
 msgid "Vertical Synchronization"
-msgstr ""
+msgstr "Вертыкальная сінхранізацыя"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:53
 msgid "Anisotropy:"
-msgstr ""
+msgstr "Анізатрапія:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:55
 msgid "ANISO^Disabled"
-msgstr ""
+msgstr "ANISO^Адключана"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:56
 #: qcsrc/menu/xonotic/dialog_settings_video.c:66
 msgid "2x"
-msgstr ""
+msgstr "2x"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:57
 #: qcsrc/menu/xonotic/dialog_settings_video.c:67
 msgid "4x"
-msgstr ""
+msgstr "4x"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:58
 msgid "8x"
-msgstr ""
+msgstr "8x"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:59
 msgid "16x"
-msgstr ""
+msgstr "16x"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:62
 msgid "Antialiasing:"
-msgstr ""
+msgstr "Згладжванне:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:65
 msgid "AA^Disabled"
-msgstr ""
+msgstr "AA^Адключана"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:71
 msgid "High-quality frame buffer"
-msgstr ""
+msgstr "Высакаякасны буфер кадраў"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:76
 msgid "Depth first:"
-msgstr ""
+msgstr "Спачатку глыбіня:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:78
 msgid "DF^Disabled"
-msgstr ""
+msgstr "DF^Адключана"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:79
 msgid "DF^World"
-msgstr ""
+msgstr "DF^Наваколле"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:80
 msgid "DF^All"
-msgstr ""
+msgstr "DF^Усё"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:83
 msgid "Vertex Buffer Objects (VBOs)"
-msgstr ""
+msgstr "Vertex Buffer Objects (VBOs)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:86
 msgid "VBO^Off"
-msgstr ""
+msgstr "VBO^Адключана"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:87
 msgid "Vertices, some Tris (compatible)"
-msgstr ""
+msgstr "Вяршыні, некаторыя трохкутнікі (сумяшчальна)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:90
 msgid "Vertices"
-msgstr ""
+msgstr "Вяршыні"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:91
 msgid "Vertices and Triangles"
-msgstr ""
+msgstr "Вяршыні ды трохкутнікі"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:94
 msgid "Brightness:"
-msgstr ""
+msgstr "Яркасць:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:97
 msgid "Contrast:"
-msgstr ""
+msgstr "Кантраст:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:100
 msgid "Gamma:"
-msgstr ""
+msgstr "Гама:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:105
 msgid "Contrast boost:"
-msgstr ""
+msgstr "Узмацненне кантрасту:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:110
 msgid "Saturation:"
-msgstr ""
+msgstr "Насычанасць:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:116
 msgid "LIT^Ambient:"
-msgstr ""
+msgstr "LIT^Навакольнае святло:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:119
 msgid "Intensity:"
-msgstr ""
+msgstr "Велічыня:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:123
 msgid "Wait for GPU to finish each frame"
-msgstr ""
+msgstr "Чакаць вылічэння на GPU кожнага кадра"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:125
 msgid "Use OpenGL 2.0 shaders (GLSL)"
-msgstr ""
+msgstr "Выкарыстоўваць шэйдэры OpenGL 2.0 (GLSL)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:128
 msgid "Use GLSL to handle color control"
-msgstr ""
+msgstr "Выкарыстоўваць GLSL для кіравання колерам"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:133
 msgid "Psycho coloring (easter egg)"
-msgstr ""
+msgstr "Псіхадэлічная афарбоўка (неспадзеўка)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:136
 msgid "Trippy vertices (easter egg)"
-msgstr ""
+msgstr "Файныя вяршыні (неспадзеўка)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:139
 msgid "Flip view horizontally"
-msgstr ""
+msgstr "Перакуліць відарыс па гарызанталі"
 
 #: qcsrc/menu/xonotic/dialog_singleplayer.c:4
 msgid "Singleplayer"
-msgstr ""
+msgstr "Асобная гульня"
 
 #: qcsrc/menu/xonotic/dialog_singleplayer.c:116
 msgid "Instant action! (random map with bots)"
-msgstr ""
+msgstr "Проста гуляць! (выпадковая мапа з ботамі)"
 
 #: qcsrc/menu/xonotic/dialog_singleplayer.c:137
 msgid "Campaign Difficulty:"
-msgstr ""
+msgstr "Цяжкасць:"
 
 #: qcsrc/menu/xonotic/dialog_singleplayer.c:138
 msgid "CSKL^Easy"
-msgstr ""
+msgstr "CSKL^Нізкая"
 
 #: qcsrc/menu/xonotic/dialog_singleplayer.c:139
 msgid "CSKL^Medium"
-msgstr ""
+msgstr "CSKL^Сярэдняя"
 
 #: qcsrc/menu/xonotic/dialog_singleplayer.c:140
 msgid "CSKL^Hard"
-msgstr ""
+msgstr "CSKL^Высокая"
 
 #: qcsrc/menu/xonotic/dialog_singleplayer.c:142
 msgid "Start Singleplayer!"
-msgstr ""
+msgstr "Пачаць асобную гульню!"
 
 #: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:4
 msgid "Winner"
-msgstr ""
+msgstr "Пераможца"
 
 #: qcsrc/menu/xonotic/dialog_teamselect.c:5
 msgid "Team Selection"
-msgstr ""
+msgstr "Выбар каманды"
 
 #: qcsrc/menu/xonotic/dialog_teamselect.c:42
 msgid "join 'best' team (auto-select)"
-msgstr ""
+msgstr "выбраць за мяне"
 
 #: qcsrc/menu/xonotic/dialog_teamselect.c:46
 msgid "red"
-msgstr ""
+msgstr "чырвоная"
 
 #: qcsrc/menu/xonotic/dialog_teamselect.c:47
 msgid "blue"
-msgstr ""
+msgstr "сіняя"
 
 #: qcsrc/menu/xonotic/dialog_teamselect.c:48
 msgid "yellow"
-msgstr ""
+msgstr "жоўтая"
 
 #: qcsrc/menu/xonotic/dialog_teamselect.c:49
 msgid "pink"
-msgstr ""
+msgstr "ружовая"
 
 #: qcsrc/menu/xonotic/dialog_teamselect.c:52
 msgid "spectate"
-msgstr ""
+msgstr "назіраць"
 
-#: qcsrc/menu/xonotic/mainwindow.c:39 qcsrc/menu/xonotic/mainwindow.c:42
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
 msgid "Do not press this button again!"
-msgstr ""
+msgstr "Больш не націскайце гэтую кнопку!"
 
 #: qcsrc/menu/xonotic/maplist.c:280
 msgid ""
 "Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"
 msgstr ""
+"Што? Не магу зайсці (m ёсць NULL). Перафільтрую, каб гэтага не паўтаралася.\n"
 
 #: qcsrc/menu/xonotic/maplist.c:288
 #, c-format
 msgid "%s's Xonotic Server"
-msgstr ""
+msgstr "Сервер Xonotic ад %s"
 
 #: qcsrc/menu/xonotic/maplist.c:293
 msgid ""
 "Huh? Can't play this (invalid game type). Refiltering so this won't happen "
 "again.\n"
 msgstr ""
+"Што? Не магу зайсці (памылковы тып гульні). Перафільтрую, каб гэтага не "
+"паўтаралася.\n"
 
 #: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128
 msgid "spectator"
-msgstr ""
+msgstr "назіральнік"
 
 #: qcsrc/menu/xonotic/playermodel.c:177
 msgid "<no model found>"
+msgstr "<мадэль гульца не знойдзена>"
+
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:190
-msgid "Remove"
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:192
-msgid "Bookmark"
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:553
-msgid "Ping"
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:554
-msgid "Host name"
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:555
-msgid "Map"
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:556
-msgid "Type"
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:557
-msgid "Players"
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
 msgstr ""
 
+#: qcsrc/menu/xonotic/serverlist.c:923
+msgid "Ping"
+msgstr "Пінг"
+
+#: qcsrc/menu/xonotic/serverlist.c:924
+msgid "Host name"
+msgstr "Назва сервера"
+
+#: qcsrc/menu/xonotic/serverlist.c:925
+msgid "Map"
+msgstr "Мапа"
+
+#: qcsrc/menu/xonotic/serverlist.c:926
+msgid "Type"
+msgstr "Тып"
+
+#: qcsrc/menu/xonotic/serverlist.c:927
+msgid "Players"
+msgstr "Гульцы"
+
 #: qcsrc/menu/xonotic/skinlist.c:105
 msgid "<TITLE>"
-msgstr ""
+msgstr "<ЗАГАЛОВАК>"
 
 #: qcsrc/menu/xonotic/skinlist.c:106
 msgid "<AUTHOR>"
-msgstr ""
+msgstr "<АЎТАР>"
 
 #: qcsrc/menu/xonotic/slider_decibels.c:77
 msgid "VOL^MAX"
-msgstr ""
+msgstr "VOL^Максімум"
 
 #: qcsrc/menu/xonotic/slider_decibels.c:79
 msgid "VOL^OFF"
-msgstr ""
+msgstr "VOL^Адключана"
 
 #: qcsrc/menu/xonotic/slider_decibels.c:81
 #, c-format
 msgid "%d %%"
-msgstr ""
+msgstr "%d %%"
 
 #: qcsrc/menu/xonotic/slider_decibels.c:83
 #, c-format
 msgid "%.1f"
-msgstr ""
+msgstr "%.1f"
 
 #: qcsrc/menu/xonotic/slider_decibels.c:85
 #, c-format
 msgid "%.2f %%"
-msgstr ""
+msgstr "%.2f %%"
 
 #: qcsrc/menu/xonotic/slider_decibels.c:87
 #, c-format
 msgid "%s dB"
-msgstr ""
+msgstr "%s дБ"
 
-#: qcsrc/menu/xonotic/slider_resolution.c:103
+#: qcsrc/menu/xonotic/slider_resolution.c:116
 #, c-format
 msgid "%dx%d (%d:%d)"
-msgstr ""
+msgstr "%dx%d (%d:%d)"
 
-#: qcsrc/menu/xonotic/slider_resolution.c:106
+#: qcsrc/menu/xonotic/slider_resolution.c:119
 #, c-format
 msgid "%dx%d"
-msgstr ""
+msgstr "%dx%d"
 
-#: qcsrc/menu/xonotic/util.qc:298
+#: qcsrc/menu/xonotic/util.qc:308
 #, c-format
 msgid "error receiving update notification: status is %d\n"
-msgstr ""
+msgstr "памылка пры атрыманні абвяшчэння пра абнаўленне: стан %d\n"
 
-#: qcsrc/menu/xonotic/util.qc:303
+#: qcsrc/menu/xonotic/util.qc:313
 msgid "error: received HTML instead of an update notification\n"
-msgstr ""
+msgstr "памылка: атрыманы HTML замест абвяшчэння пра абнаўленне\n"
 
-#: qcsrc/menu/xonotic/util.qc:308
+#: qcsrc/menu/xonotic/util.qc:318
 msgid "error: received carriage returns from update notification server\n"
 msgstr ""
+"памылка: атрыманы сімвалы вяртання радка ад сервера абвяшчэнняў пра "
+"абнаўленні\n"
 
-#: qcsrc/menu/xonotic/util.qc:329
+#: qcsrc/menu/xonotic/util.qc:397
 #, c-format
 msgid ""
 "Update can be downloaded at:\n"
 "%s\n"
 msgstr ""
+"Абнаўленне можна сцягнуць з:\n"
+"%s\n"
 
-#: qcsrc/menu/xonotic/util.qc:447
+#: qcsrc/menu/xonotic/util.qc:497
 msgid "Autogenerating mapinfo for newly added maps..."
-msgstr ""
+msgstr "Аўтаматычнае стварэнне mapinfo для новых мапаў..."
 
-#: qcsrc/menu/xonotic/util.qc:476
+#: qcsrc/menu/xonotic/util.qc:526
 #, c-format
 msgid "^1%s TEST BUILD"
-msgstr ""
+msgstr "^1%s ТЭСТАВЫ БІЛД"
 
-#: qcsrc/menu/xonotic/util.qc:491
+#: qcsrc/menu/xonotic/util.qc:541
 #, c-format
 msgid "Update to %s now!"
-msgstr ""
+msgstr "Абнавіцеся да %s зараз!"
 
-#: qcsrc/menu/xonotic/util.qc:576
+#: qcsrc/menu/xonotic/util.qc:626
 msgid ""
 "^1ERROR: Texture compression is required but not supported.\n"
 "^1Expect visual problems.\n"
 msgstr ""
+"1^ПАМЫЛКА: Сцісканне тэкстур патрабуецца, але не падтрымліваецца.\n"
+"1^Магчыма, будуць праблемы з адлюстраваннем.\n"
 
-#: qcsrc/menu/xonotic/util.qc:696
+#: qcsrc/menu/xonotic/util.qc:746
 msgid "Use default"
-msgstr ""
+msgstr "Стандартныя настáўленні"
 
-#: qcsrc/menu/xonotic/util.qc:716
+#: qcsrc/menu/xonotic/util.qc:766
 msgid "Team Color:"
-msgstr ""
+msgstr "Колер каманды:"
 
 #: qcsrc/menu/xonotic/util.qh:43
 msgid "Enable panel"
-msgstr ""
+msgstr "Уключыць панэль"
 
 #: qcsrc/menu/xonotic/weaponslist.c:102
 #, c-format
 msgid "%s (mutator weapon)"
-msgstr ""
+msgstr "%s (зброя з мутатара)"
 
 #: qcsrc/server/w_hlac.qc:11
 msgid "Heavy Laser Assault Cannon"
-msgstr ""
+msgstr "Heavy Laser Assault Cannon"
 
 #: qcsrc/server/w_hook.qc:11
 msgid "Grappling Hook"
-msgstr ""
+msgstr "Зачэпка"
 
 #: qcsrc/server/w_minstanex.qc:11
 msgid "MinstaNex"
-msgstr ""
+msgstr "MinstaNex"
 
 #: qcsrc/server/w_seeker.qc:11
 msgid "T.A.G. Seeker"
-msgstr ""
+msgstr "T.A.G. Seeker"
 
 #: qcsrc/server/w_tuba.qc:12
 #, no-c-format
 msgid "@!#%'n Tuba"
-msgstr ""
+msgstr "@!#%'n Tuba"
diff --git a/common.bg.po b/common.bg.po
new file mode 100644 (file)
index 0000000..34978b5
--- /dev/null
@@ -0,0 +1,6284 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Xonotic\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
+"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"Language-Team: Bulgarian (http://www.transifex.com/projects/p/xonotic/"
+"language/bg/)\n"
+"Language: bg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: qcsrc/client/Main.qc:21
+msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!"
+msgstr ""
+
+#: qcsrc/client/Main.qc:46
+msgid ""
+"^3Your engine build is outdated\n"
+"^3This Server uses a newer QC VM. Please update!\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:56
+#, c-format
+msgid "^4CSQC Build information: ^1%s\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:836
+#, c-format
+msgid ""
+"Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
+"%s)\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:1295
+#, c-format
+msgid "%s (not bound)"
+msgstr ""
+
+#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:157
+#, c-format
+msgid "%s (%s)"
+msgstr ""
+
+#: qcsrc/client/View.qc:1165
+msgid "Revival progress"
+msgstr ""
+
+#: qcsrc/client/hud.qc:186
+#, c-format
+msgid " (-%dL)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:191
+#, c-format
+msgid " (+%dL)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:210
+msgid "Start line"
+msgstr ""
+
+#: qcsrc/client/hud.qc:212 qcsrc/client/hud.qc:216
+msgid "Finish line"
+msgstr ""
+
+#: qcsrc/client/hud.qc:214
+#, c-format
+msgid "Intermediate %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:223
+#, c-format
+msgid "%s (%s %s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:832
+msgid "Out of ammo"
+msgstr ""
+
+#: qcsrc/client/hud.qc:836
+msgid "Don't have"
+msgstr ""
+
+#: qcsrc/client/hud.qc:840
+msgid "Unavailable"
+msgstr ""
+
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
+#, c-format
+msgid "Player %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2369
+msgid "^1Intermediate 1 (+15.42)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
+#, c-format
+msgid "^1PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2456
+#, c-format
+msgid "^2PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2486
+msgid "^1You must answer before entering hud configure mode\n"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2491
+msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2570
+msgid "A vote has been called for:"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2572
+msgid "Allow servers to store and display your name?"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2576
+msgid "^1Configure the HUD"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2580
+#, c-format
+msgid "Yes (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2582
+#, c-format
+msgid "No (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
+msgid "Personal best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
+msgid "Server best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3528
+msgid "^3Player^7: This is the chat area."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3593
+#, c-format
+msgid "FPS: %.*f"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3657
+msgid "^1Observing"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
+#, c-format
+msgid "^1Spectating: ^7%s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3667
+#, c-format
+msgid "^1Press ^3%s^1 to spectate"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3669
+#, c-format
+msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3673
+#, c-format
+msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3675
+#, c-format
+msgid "^1Press ^3%s^1 to observe"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3678
+#, c-format
+msgid "^1Press ^3%s^1 for gamemode info"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3686
+msgid "^1Match has already begun"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3688
+msgid "^1You have no more lives left"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
+#, c-format
+msgid "^1Press ^3%s^1 to join"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3701
+#, c-format
+msgid "^1Game starts in ^3%d^1 seconds"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3708
+msgid "^2Currently in ^1warmup^2 stage!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3723
+#, c-format
+msgid "%sPress ^3%s%s to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3725
+#, c-format
+msgid "%sPress ^3%s%s once you are ready"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3730
+msgid "^2Waiting for others to ready up to end warmup..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3732
+msgid "^2Waiting for others to ready up..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3738
+#, c-format
+msgid "^2Press ^3%s^2 to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3759
+msgid "Teamnumbers are unbalanced!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3764
+#, c-format
+msgid " Press ^3%s%s to adjust"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3772
+msgid "^7Press ^3ESC ^7to show HUD options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3774
+msgid "^3Doubleclick ^7a panel for panel-specific options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3776
+msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3778
+msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3825
+msgid " qu/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3829
+msgid " m/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3833
+msgid " km/h"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3837
+msgid " mph"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3841
+msgid " knots"
+msgstr ""
+
+#: qcsrc/client/hud.qc:4497
+msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
+msgstr ""
+
+#: qcsrc/client/hud_config.qc:196
+#, c-format
+msgid "^2Successfully exported to %s! (Note: It's saved in data/data/)\n"
+msgstr ""
+
+#: qcsrc/client/hud_config.qc:200
+#, c-format
+msgid "^1Couldn't write to %s\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:28
+msgid " (1 vote)"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:30
+#, c-format
+msgid " (%d votes)"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:118
+msgid "Don't care"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:203
+msgid "Vote for a map"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:209
+#, c-format
+msgid "%d seconds left"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:273
+msgid ""
+"mv_mapdownload: ^3You're not supposed to use this command on your own!\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:283
+msgid "^1Error:^7 Couldn't find pak index.\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:292
+msgid "Requesting preview...\n"
+msgstr ""
+
+#: qcsrc/client/miscfunctions.qc:101
+msgid "Trying to remove a team which is not in the teamlist!"
+msgstr ""
+
+#: qcsrc/client/movetypes.qc:227
+#, c-format
+msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr ""
+
+#: qcsrc/client/movetypes.qc:230
+#, c-format
+msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:19
+msgid "SCO^bckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:20
+msgid "SCO^bctime"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:21
+msgid "SCO^caps"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:22
+msgid "SCO^captime"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:23
+msgid "SCO^deaths"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:24
+msgid "SCO^destroyed"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:25
+msgid "SCO^drops"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:26
+msgid "SCO^faults"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:27
+msgid "SCO^fckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:28
+msgid "SCO^goals"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:29
+msgid "SCO^kckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:30
+msgid "SCO^kdratio"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:31
+msgid "SCO^k/d"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:32
+msgid "SCO^kd"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:33
+msgid "SCO^kdr"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:34
+msgid "SCO^kills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:35
+msgid "SCO^laps"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:36
+msgid "SCO^lives"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:37
+msgid "SCO^losses"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:38
+msgid "SCO^name"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:39
+msgid "SCO^sum"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:40
+msgid "SCO^nick"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:41
+msgid "SCO^objectives"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:42
+msgid "SCO^pickups"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:43
+msgid "SCO^ping"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:44
+msgid "SCO^pl"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:45
+msgid "SCO^pushes"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:46
+msgid "SCO^rank"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:47
+msgid "SCO^returns"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:48
+msgid "SCO^revivals"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:49
+msgid "SCO^score"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:50
+msgid "SCO^suicides"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:51
+msgid "SCO^takes"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:52
+msgid "SCO^ticks"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:237
+msgid ""
+"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:238
+msgid "^3|---------------------------------------------------------------|\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:239
+msgid "Usage:\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:240
+msgid "^2scoreboard_columns_set default\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:241
+msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:242
+msgid "The following field names are recognized (case insensitive):\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:243
+msgid ""
+"You can use a ^3|^7 to start the right-aligned fields.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:245
+msgid "^3name^7 or ^3nick^7             Name of a player\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:246
+msgid "^3ping^7                     Ping time\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:247
+msgid "^3pl^7                       Packet loss\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:248
+msgid "^3kills^7                    Number of kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:249
+msgid "^3deaths^7                   Number of deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:250
+msgid "^3suicides^7                 Number of suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:251
+msgid "^3frags^7                    kills - suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:252
+msgid "^3kd^7                       The kill-death ratio\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:253
+msgid "^3sum^7                      frags - deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:254
+msgid ""
+"^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
+"captured\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:255
+msgid ""
+"^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
+"ball (Keepaway) was picked up\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:256
+msgid "^3captime^7                  Time of fastest cap (CTF)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:257
+msgid "^3fckills^7                  Number of flag carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:258
+msgid "^3returns^7                  Number of flag returns\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:259
+msgid "^3drops^7                    Number of flag drops\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:260
+msgid "^3lives^7                    Number of lives (LMS)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:261
+msgid "^3rank^7                     Player rank\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:262
+msgid "^3pushes^7                   Number of players pushed into void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:263
+msgid ""
+"^3destroyed^7                Number of keys destroyed by pushing them into "
+"void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:264
+msgid "^3kckills^7                  Number of keys carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:265
+msgid "^3losses^7                   Number of times a key was lost\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:266
+msgid "^3laps^7                     Number of laps finished (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:267
+msgid "^3time^7                     Total time raced (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:268
+msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:269
+msgid "^3ticks^7                    Number of ticks (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:270
+msgid "^3takes^7                    Number of domination points taken (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:271
+msgid "^3bckills^7                  Number of ball carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:272
+msgid ""
+"^3bctime^7                   Total amount of time holding the ball in "
+"Keepaway\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:273
+msgid ""
+"^3score^7                    Total score\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:275
+msgid ""
+"Before a field you can put a + or - sign, then a comma separated list\n"
+"of game types, then a slash, to make the field show up only in these\n"
+"or in all but these game types. You can also specify 'all' as a\n"
+"field to show all fields available for the current game mode.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:280
+msgid ""
+"The special game type names 'teams' and 'noteams' can be used to\n"
+"include/exclude ALL teams/noteams game modes.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:283
+msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:284
+msgid ""
+"will display name, ping and pl aligned to the left, and the fields\n"
+"right of the vertical bar aligned to the right.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:286
+msgid ""
+"'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
+"other gamemodes except DM.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:240
+msgid "N/A"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:970
+#, c-format
+msgid "Accuracy stats (average %d%%)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1033
+#, c-format
+msgid "%d%%"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1099
+msgid "Map stats:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1124
+msgid "Secrets found:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1152
+msgid "Rankings"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1248
+msgid "Scoreboard"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1307
+#, c-format
+msgid "Speed award: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1311
+#, c-format
+msgid "All-time fastest: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1345
+msgid "Spectators"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1352
+#, c-format
+msgid "playing ^3%s^7 on ^2%s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
+#, c-format
+msgid " for up to ^1%1.0f minutes^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
+msgid " or"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
+#, c-format
+msgid " until ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
+msgid "SCO^points"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
+msgid "SCO^is beaten"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
+#, c-format
+msgid " until a lead of ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1419
+#, c-format
+msgid "^1Respawning in ^3%s^1..."
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1429
+#, c-format
+msgid "You are dead, wait ^3%s^7 before respawning"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1438
+#, c-format
+msgid "You are dead, press ^2%s^7 to respawn"
+msgstr ""
+
+#: qcsrc/client/target_music.qc:94 qcsrc/client/target_music.qc:183
+#, c-format
+msgid "Cannot initialize sound %s\n"
+msgstr ""
+
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
+msgid "Spam"
+msgstr ""
+
+#: qcsrc/client/tturrets.qc:308
+#, c-format
+msgid "%s under attack!"
+msgstr ""
+
+#: qcsrc/client/vehicles/vehicles.qc:331 qcsrc/client/vehicles/vehicles.qc:333
+msgid "No right gunner!"
+msgstr ""
+
+#: qcsrc/client/vehicles/vehicles.qc:353 qcsrc/client/vehicles/vehicles.qc:355
+msgid "No left gunner!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:246
+msgid "Push"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:247
+msgid "Destroy"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:248
+msgid "Defend"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:249
+msgid "Blue base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:250
+msgid "DANGER"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:251
+msgid "Enemy carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:252
+msgid "Flag carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:253
+msgid "Dropped flag"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:254
+msgid "Help me!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:255
+msgid "Here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:256
+msgid "Dropped key"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
+msgid "Key carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:258
+msgid "Run here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:263
+msgid "Red base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:264
+msgid "Waypoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
+msgid "Generator"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
+msgid "Control point"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:276
+msgid "Checkpoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
+msgid "Finish"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
+msgid "Start"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
+msgid "Ball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:283
+msgid "Ball carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
+msgid "Laser"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
+msgid "Shotgun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
+msgid "Machine Gun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
+msgid "Mortar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
+msgid "Electro"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
+msgid "Crylink"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
+msgid "Nex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
+msgid "Hagar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
+msgid "Rocket Launcher"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
+msgid "Port-O-Launch"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:294
+msgid "Minstanex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:295
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
+msgid "Hook"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
+msgid "Fireball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:297
+msgid "HLAC"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
+msgid "Rifle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
+msgid "Mine Layer"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:305
+msgid "Invisibility"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:306
+msgid "Extra life"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:307
+msgid "Speed"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:308
+msgid "Strength"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:309
+msgid "Shield"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:310
+msgid "Fuel regen"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:311
+msgid "Jet Pack"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:312
+msgid "Frozen!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:313
+msgid "Tagged"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:314
+msgid "Vehicle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:588
+#, c-format
+msgid "%s needing help!"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:31
+#, c-format
+msgid "error: status is %d\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:159
+msgid "error creating curl handle\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:263
+msgid "Notification dump command only works with cl_cmd and sv_cmd.\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:457
+msgid "Notification restart command only works with cl_cmd and sv_cmd.\n"
+msgstr ""
+
+#: qcsrc/common/counting.qh:5
+#, c-format
+msgid "CI_DEC^%s years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:7
+#, c-format
+msgid "CI_ZER^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:8
+#, c-format
+msgid "CI_FIR^%d year"
+msgstr ""
+
+#: qcsrc/common/counting.qh:9
+#, c-format
+msgid "CI_SEC^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:10
+#, c-format
+msgid "CI_THI^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:11
+#, c-format
+msgid "CI_MUL^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:13
+#, c-format
+msgid "CI_DEC^%s weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:15
+#, c-format
+msgid "CI_ZER^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:16
+#, c-format
+msgid "CI_FIR^%d week"
+msgstr ""
+
+#: qcsrc/common/counting.qh:17
+#, c-format
+msgid "CI_SEC^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:18
+#, c-format
+msgid "CI_THI^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:19
+#, c-format
+msgid "CI_MUL^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:21
+#, c-format
+msgid "CI_DEC^%s days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:23
+#, c-format
+msgid "CI_ZER^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:24
+#, c-format
+msgid "CI_FIR^%d day"
+msgstr ""
+
+#: qcsrc/common/counting.qh:25
+#, c-format
+msgid "CI_SEC^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:26
+#, c-format
+msgid "CI_THI^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:27
+#, c-format
+msgid "CI_MUL^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:29
+#, c-format
+msgid "CI_DEC^%s hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:31
+#, c-format
+msgid "CI_ZER^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:32
+#, c-format
+msgid "CI_FIR^%d hour"
+msgstr ""
+
+#: qcsrc/common/counting.qh:33
+#, c-format
+msgid "CI_SEC^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:34
+#, c-format
+msgid "CI_THI^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:35
+#, c-format
+msgid "CI_MUL^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:38
+#, c-format
+msgid "CI_DEC^%s minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:40
+#, c-format
+msgid "CI_ZER^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:41
+#, c-format
+msgid "CI_FIR^%d minute"
+msgstr ""
+
+#: qcsrc/common/counting.qh:42
+#, c-format
+msgid "CI_SEC^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:43
+#, c-format
+msgid "CI_THI^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:44
+#, c-format
+msgid "CI_MUL^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:46
+#, c-format
+msgid "CI_DEC^%s seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:48
+#, c-format
+msgid "CI_ZER^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:49
+#, c-format
+msgid "CI_FIR^%d second"
+msgstr ""
+
+#: qcsrc/common/counting.qh:50
+#, c-format
+msgid "CI_SEC^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:51
+#, c-format
+msgid "CI_THI^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:52
+#, c-format
+msgid "CI_MUL^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:68
+#, c-format
+msgid "%dst"
+msgstr ""
+
+#: qcsrc/common/counting.qh:69
+#, c-format
+msgid "%dnd"
+msgstr ""
+
+#: qcsrc/common/counting.qh:70
+#, c-format
+msgid "%drd"
+msgstr ""
+
+#: qcsrc/common/counting.qh:71 qcsrc/common/counting.qh:74
+#, c-format
+msgid "%dth"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:717
+#, no-c-format
+msgid "@!#%'n Tuba Throwing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
+#, c-format
+msgid "%s: %s"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:36
+msgid "Deathmatch"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:39
+msgid "Last Man Standing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:42
+msgid "Race"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:45
+msgid "Race CTS"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:48
+msgid "Team Deathmatch"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:51
+msgid "Capture the Flag"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:54
+msgid "Clan Arena"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:57
+msgid "Domination"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:60
+msgid "Key Hunt"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:63
+msgid "Assault"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:66
+msgid "Onslaught"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:69
+msgid "Nexball"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:72
+msgid "Freeze Tag"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:75
+msgid "Keepaway"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr ""
+
+#: qcsrc/common/net_notice.qc:89
+msgid "^1Server notices:"
+msgstr ""
+
+#: qcsrc/common/net_notice.qc:95
+#, c-format
+msgid "^7%s (^3%d sec left)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:343
+#, c-format
+msgid "^BG%s^BG captured the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:344
+#, c-format
+msgid ""
+"^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"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:345
+#, c-format
+msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:346
+#, c-format
+msgid ""
+"^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"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:347
+msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:348
+msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:349
+msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:350
+msgid ""
+"^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
+"base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:351
+#, c-format
+msgid ""
+"^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
+"itself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:352
+msgid "^BGThe ^TC^TT^BG flag has returned to the base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:353
+#, c-format
+msgid "^BG%s^BG lost the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:354
+#, c-format
+msgid "^BG%s^BG got the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
+#, c-format
+msgid "^BG%s^BG returned the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:357
+#, c-format
+msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:358
+#, c-format
+msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:359
+#, c-format
+msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:360
+#, c-format
+msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:360
+#, c-format
+msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:361
+#, c-format
+msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:363
+#, c-format
+msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:364
+#, c-format
+msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:365
+#, c-format
+msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:366
+#, c-format
+msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:367
+#, c-format
+msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:367
+#, c-format
+msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:368
+#, c-format
+msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:369
+#, c-format
+msgid ""
+"^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:370
+#, c-format
+msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:371
+#, c-format
+msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:372
+#, c-format
+msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:373
+#, c-format
+msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:374
+#, c-format
+msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:375
+#, c-format
+msgid ""
+"^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:376
+#, c-format
+msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:377
+#, c-format
+msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:378
+#, c-format
+msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:379
+#, c-format
+msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:380
+#, c-format
+msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:381
+#, c-format
+msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:382
+#, c-format
+msgid "^BG%s^K1 was moved into the %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:383
+#, c-format
+msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:384
+#, c-format
+msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:385
+#, c-format
+msgid "^BG%s^K1 unfairly eliminated themself%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:386
+#, c-format
+msgid "^BG%s^K1 %s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:387
+#, c-format
+msgid "^BG%s^K1 couldn't catch their breath%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:387
+#, c-format
+msgid "^BG%s^K1 was in the water for too long%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:388
+#, c-format
+msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:388
+#, c-format
+msgid "^BG%s^K1 hit the ground with a crunch%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:389
+#, c-format
+msgid "^BG%s^K1 became a bit too crispy%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:389
+#, c-format
+msgid "^BG%s^K1 felt a little hot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:390
+#, c-format
+msgid "^BG%s^K1 died%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:391
+#, c-format
+msgid "^BG%s^K1 found a hot place%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:391
+#, c-format
+msgid "^BG%s^K1 turned into hot slag%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:392
+#, c-format
+msgid "^BG%s^K1 mastered the art of self-nading%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:393
+#, c-format
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:394
+#, c-format
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:395
+#, c-format
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:396
+#, c-format
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:397
+#, c-format
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:398
+#, c-format
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 ran out of ammo%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:402
+#, c-format
+msgid "^BG%s^K1 rotted away%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:403
+#, c-format
+msgid "^BG%s^K1 became a shooting star%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:404
+#, c-format
+msgid "^BG%s^K1 was slimed%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:405
+#, c-format
+msgid "^BG%s^K1 couldn't take it anymore%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:406
+#, c-format
+msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:407
+#, c-format
+msgid "^BG%s^K1 switched to the %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:408
+#, c-format
+msgid "^BG%s^K1 died in an accident%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:409
+#, c-format
+msgid "^BG%s^K1 ran into a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:410
+#, c-format
+msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:411
+#, c-format
+msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:412
+#, c-format
+msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:413
+#, c-format
+msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:414
+#, c-format
+msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:415
+#, c-format
+msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:416
+#, c-format
+msgid "^BG%s^K1 was phased out by a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:417
+#, c-format
+msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:418
+#, c-format
+msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:419
+#, c-format
+msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:420
+#, c-format
+msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:421
+#, c-format
+msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:422
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:423
+#, c-format
+msgid "^BG%s^K1 was crushed by a vehicle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:424
+#, c-format
+msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:425
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:426
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:427
+#, c-format
+msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:428
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:429
+#, c-format
+msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:430
+#, c-format
+msgid "^BG%s^K1 was in the wrong place%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:431
+#, c-format
+msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:432
+#, c-format
+msgid "^BG%s^K1 was frozen by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:433
+#, c-format
+msgid "^BG%s^K3 was revived by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:434
+#, c-format
+msgid "^BG%s^K3 was revived by falling"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:435
+#, c-format
+msgid "^BG%s^K3 was automatically revived after %s second(s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
+msgid "^TC^TT^BG team wins the round"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
+#, c-format
+msgid "^BG%s^BG wins the round"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
+msgid "^BGRound tied"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
+msgid "^BGRound over, there's no winner"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:440
+#, c-format
+msgid "^BG%s^K1 froze themself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:441
+#, c-format
+msgid "^BGGodmode saved you %s units of damage, cheater!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
+#, c-format
+msgid "^BGYou do not have the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
+#, c-format
+msgid "^BGYou dropped the ^F1%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
+#, c-format
+msgid "^BGYou got the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
+#, c-format
+msgid "^BGYou don't have enough ammo for the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
+#, c-format
+msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
+#, c-format
+msgid "^F1%s^BG is ^F4not available^BG on this map"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:448
+#, c-format
+msgid "^BG%s^F3 connected%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:449
+#, c-format
+msgid "^BG%s^F3 connected and joined the ^TC^TT team"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:450
+#, c-format
+msgid "^BG%s^F3 is now playing"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
+#, c-format
+msgid "^BG%s^BG has dropped the ball!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
+#, c-format
+msgid "^BG%s^BG has picked up the ball!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:453
+#, c-format
+msgid "^BG%s^BG captured the keys for the ^TC^TT team"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:454
+#, c-format
+msgid "^BG%s^BG dropped the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:455
+#, c-format
+msgid "^BG%s^BG lost the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:456
+#, c-format
+msgid "^BG%s^BG picked up the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:457
+#, c-format
+msgid "^BG%s^F3 forfeited"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:458
+#, c-format
+msgid "^BG%s^F3 has no more lives left"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:460
+#, c-format
+msgid "^BG%s^K1 picked up Invisibility"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:461
+#, c-format
+msgid "^BG%s^K1 picked up Shield"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:462
+#, c-format
+msgid "^BG%s^K1 picked up Speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:463
+#, c-format
+msgid "^BG%s^K1 picked up Strength"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:464
+#, c-format
+msgid "^BG%s^F3 disconnected"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:465
+#, c-format
+msgid "^BG%s^F3 was kicked for idling"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:466
+msgid ""
+"^F2You were kicked from the server because you are a spectator and "
+"spectators aren't allowed at the moment."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:467
+#, c-format
+msgid "^BG%s^F3 is now spectating"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:468
+#, c-format
+msgid "^BG%s^BG has abandoned the race"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:469
+#, c-format
+msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:470
+#, c-format
+msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:471
+#, c-format
+msgid "^BG%s^BG has finished the race"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:472
+#, c-format
+msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:473
+#, c-format
+msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:474
+#, c-format
+msgid ""
+"^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
+"and will be lost."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:475
+#, c-format
+msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:476
+msgid "^TC^TT ^BGteam scores!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:477
+#, c-format
+msgid ""
+"^F2You have to become a player within the next %s, otherwise you will be "
+"kicked, because spectating isn't allowed at this time!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:478
+#, c-format
+msgid "^BG%s^K1 picked up a Superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:479
+#, c-format
+msgid ""
+"^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
+"^F2Xonotic %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:480
+#, c-format
+msgid ""
+"^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:481
+#, c-format
+msgid ""
+"^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
+"the update from ^F3http://www.xonotic.org/^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:482
+#, c-format
+msgid "^F3SVQC Build information: ^F4%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:483
+#, c-format
+msgid ""
+"^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:484
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:485
+#, c-format
+msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:486
+#, c-format
+msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:487
+#, c-format
+msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:488
+#, c-format
+msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:489
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:490
+#, c-format
+msgid "^BG%s^K1 played with Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:491
+#, c-format
+msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:492
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:493
+#, c-format
+msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:494
+#, c-format
+msgid "^BG%s^K1 should have used a smaller gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:495
+#, c-format
+msgid "^BG%s^K1 forgot about their firemine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:496
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:497
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:498
+#, c-format
+msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:499
+#, c-format
+msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:500
+#, c-format
+msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:501
+#, c-format
+msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:502
+#, c-format
+msgid ""
+"^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:503
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:504
+#, c-format
+msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:505
+#, c-format
+msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:506
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:507
+#, c-format
+msgid "^BG%s^K1 forgot about their mine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:508
+#, c-format
+msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:509
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:510
+#, c-format
+msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:511
+#, c-format
+msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:512
+#, c-format
+msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:513
+#, c-format
+msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:514
+#, c-format
+msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:515
+#, c-format
+msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:516
+#, c-format
+msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:517
+#, c-format
+msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:518
+#, c-format
+msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:519
+#, c-format
+msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:520
+#, c-format
+msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:521
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:522
+#, c-format
+msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:523
+#, c-format
+msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:524
+#, c-format
+msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:525
+#, c-format
+msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:526
+#, c-format
+msgid "^BG%s^K1 is now thinking with portals%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:527
+#, c-format
+msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:528
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:529
+#, c-format
+msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:530
+#, c-format
+msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:548
+msgid "^BGYou are attacking!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:549
+msgid "^BGYou are defending!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:550
+msgid "^F4Begin!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:551
+msgid "^F4Game starts in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:552
+msgid "^F4Round starts in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:553
+msgid "^F4Round cannot start"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:556
+msgid "^F2Don't camp!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:557
+msgid ""
+"^BGYou are now free.\n"
+"^BGFeel free to ^F2try to capture^BG the flag again\n"
+"^BGif you think you will succeed."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:558
+msgid ""
+"^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."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:559
+msgid "^BGYou captured the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:560
+#, c-format
+msgid "^BGToo many flag throws! Throwing disabled for %s."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:561
+#, c-format
+msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:562
+#, c-format
+msgid "^BGYou received the ^TC^TT^BG flag from %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:563
+#, c-format
+msgid "^BG%s^BG requests you to pass the flag%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:564
+#, c-format
+msgid "^BGRequesting %s^BG to pass you the flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:565
+#, c-format
+msgid "^BGYou passed the ^TC^TT^BG flag to %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:566
+msgid "^BGYou got the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:567
+#, c-format
+msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:568
+#, c-format
+msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:569
+#, c-format
+msgid "^BGYour %steam mate^BG got the flag! Protect them!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:570
+#, c-format
+msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:571
+msgid "^BGYou returned the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:572
+msgid "^BGStalemate! Enemies can now see you on radar!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:573
+msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:574
+#, c-format
+msgid "^K3%sYou fragged ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:574
+#, c-format
+msgid "^K3%sYou scored against ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:575
+#, c-format
+msgid "^K1%sYou were fragged by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:575
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:576
+#, c-format
+msgid "^K1%sYou were fragged by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:576
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:577
+#, c-format
+msgid "^K3%sYou fragged ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:577
+#, c-format
+msgid "^K3%sYou scored against ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:578
+#, c-format
+msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:578
+#, c-format
+msgid "^K1%sYou typefragged ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:579
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:579
+#, c-format
+msgid "^K1%sYou were typefragged by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:580
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:580
+#, c-format
+msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:581
+#, c-format
+msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:581
+#, c-format
+msgid "^K1%sYou typefragged ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:582
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:583
+#, c-format
+msgid ""
+"^BGYou have been moved into a different team\n"
+"You are now on: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:584
+msgid "^K1Don't go against your team mates!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:584
+msgid "^K1Don't shoot your team mates!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:585
+msgid "^K1Die camper!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:585
+msgid "^K1Reconsider your tactics, camper!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:586
+msgid "^K1You unfairly eliminated yourself!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:587
+#, c-format
+msgid "^K1You were %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:588
+msgid "^K1You couldn't catch your breath!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:589
+msgid "^K1You hit the ground with a crunch!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:590
+msgid "^K1You felt a little too hot!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:590
+msgid "^K1You got a little bit too crispy!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:591
+msgid "^K1You killed your own dumb self!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:591
+msgid "^K1You need to be more careful!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:592
+msgid "^K1You couldn't stand the heat!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
+msgid "^K1Tastes like chicken!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
+msgid "^K1You forgot to put the pin back in!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:595
+msgid "^K1You are respawning for running out of ammo..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:595
+msgid "^K1You were killed for running out of ammo..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:596
+msgid "^K1You grew too old without taking your medicine"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:596
+msgid "^K1You need to preserve your health"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:597
+msgid "^K1You became a shooting star!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:598
+msgid "^K1You melted away in slime!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:599
+msgid "^K1You committed suicide!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:599
+msgid "^K1You ended it all!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:600
+msgid "^K1You got stuck in a swamp!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:601
+#, c-format
+msgid "^BGYou are now on: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:602
+msgid "^K1You died in an accident!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:603
+msgid "^K1You had an unfortunate run in with a turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:603
+msgid "^K1You were fragged by a turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:604
+msgid "^K1You had an unfortunate run in with an eWheel turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:604
+msgid "^K1You were fragged by an eWheel turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:605
+msgid "^K1You had an unfortunate run in with a Walker turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:605
+msgid "^K1You were fragged by a Walker turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:606
+msgid "^K1You got caught in the blast of a Bumblebee explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:607
+msgid "^K1You were crushed by a vehicle!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:608
+msgid "^K1You were caught in a Raptor cluster bomb!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:609
+msgid "^K1You got caught in the blast of a Raptor explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:610
+msgid "^K1You got caught in the blast of a Spiderbot explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:611
+msgid "^K1You were blasted to bits by a Spiderbot rocket!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:612
+msgid "^K1You got caught in the blast of a Racer explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:613
+msgid "^K1You couldn't find shelter from a Racer rocket!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:614
+msgid "^K1Watch your step!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:615
+#, c-format
+msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:615
+#, c-format
+msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:616
+#, c-format
+msgid "^K1You were fragged by ^BG%s^K1, a team mate"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:616
+#, c-format
+msgid "^K1You were scored against by ^BG%s^K1, a team mate"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:617
+msgid ""
+"^K1Stop idling!\n"
+"^BGDisconnecting in ^COUNT..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:618
+msgid "^F2You picked up some extra lives"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:619
+#, c-format
+msgid "^K3You froze ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:620
+#, c-format
+msgid "^K1You were frozen by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:621
+#, c-format
+msgid "^K3You revived ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:622
+msgid "^K3You revived yourself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:623
+#, c-format
+msgid "^K3You were revived by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:624
+#, c-format
+msgid "^K3You were automatically revived after %s second(s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:627
+msgid "^K1You froze yourself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:628
+msgid "^K1Round already started, you spawn as frozen"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:636
+msgid ""
+"^K1No spawnpoints available!\n"
+"Hope your team can fix it..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:637
+msgid ""
+"^K1You may not join the game at this time.\n"
+"The player limit reached maximum capacity."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
+msgid "^BGKilling people while you don't have the ball gives no points!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:642
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Help the key carriers to meet!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:643
+msgid ""
+"^BGAll keys are in ^TC^TT team^BG's hands!\n"
+"Interfere ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:644
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Meet the other key carriers ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:645
+msgid "^F4Round will start in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:646
+msgid "^BGScanning frequency range..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:647
+msgid "^BGYou are starting with the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
+#, c-format
+msgid ""
+"^BGWaiting for players to join...\n"
+"Need active players for: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:650
+#, c-format
+msgid "^BGWaiting for %s player(s) to join..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:651
+msgid "^F4^COUNT^BG left to find some ammo!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:653
+#, c-format
+msgid "^F2Extra lives remaining: ^K1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:654
+msgid "^BGSecondary fire inflicts no damage!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:655
+#, c-format
+msgid "^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:656
+#, c-format
+msgid ""
+"^F2^COUNT^BG until weapon change...\n"
+"Next weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:657
+#, c-format
+msgid "^F2Active weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:658
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep fragging until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep scoring until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:660
+#, c-format
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"^BGAdded ^F4%s^BG to the game!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:661
+msgid "^F2Invisibility has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:662
+msgid "^F2Shield has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:663
+msgid "^F2Speed has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:664
+msgid "^F2Strength has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:665
+msgid "^F2You are invisible"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:666
+msgid "^F2Shield surrounds you"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:667
+msgid "^F2You are on speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:668
+msgid "^F2Strength infuses your weapons with devastating power"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:669
+msgid "^F2The race is over, finish your lap!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:670
+msgid "^F2Superweapons have broken down"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:671
+msgid "^F2Superweapons have been lost"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:672
+msgid "^F2You now have a superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:673
+msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:674
+msgid "^K1Changing team in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:675
+msgid "^K1Spectating in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:676
+msgid "^K1Suicide in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:677
+msgid "^F4Timeout begins in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:678
+msgid "^F4Timeout ends in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
+#, c-format
+msgid " (near %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
+msgid "primary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
+msgid "secondary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:980
+#, c-format
+msgid " ^F1(Press %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:989
+#, c-format
+msgid " with %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+msgid "TRIPLE FRAG! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 unlocked RAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+msgid "RAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 started a MASSACRE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+msgid "MASSACRE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 executed MAYHEM! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+msgid "MAYHEM! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 is a BERSERKER! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+msgid "BERSERKER! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 inflicts CARNAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+msgid "CARNAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+#, c-format
+msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+#, c-format
+msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+msgid "ARMAGEDDON! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1010
+#, c-format
+msgid "%s(^F1Bot^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1012
+#, c-format
+msgid "%s(Ping ^F1%d^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1018
+#, c-format
+msgid ""
+"\n"
+"(Health ^1%d^BG / Armor ^2%d^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1020
+#, c-format
+msgid ""
+"\n"
+"(^F4Dead^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
+#, c-format
+msgid "%d score spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1069
+#, c-format
+msgid "%d frag spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1082
+msgid "First blood! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1082
+msgid "First score! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1086
+msgid "First casualty! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1086
+msgid "First victim! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1127
+#, c-format
+msgid "%s^K1 has %d frags in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1128
+#, c-format
+msgid "%s^K1 made %d scores in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1146
+#, c-format
+msgid "%s^K1 drew first blood! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1147
+#, c-format
+msgid "%s^K1 got the first score! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1163
+#, c-format
+msgid ", ending their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1164
+#, c-format
+msgid ", ending their %d score spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1178
+#, c-format
+msgid ", losing their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1179
+#, c-format
+msgid ", losing their %d score spree"
+msgstr ""
+
+#: qcsrc/common/teams.qh:26
+msgid "Red"
+msgstr ""
+
+#: qcsrc/common/teams.qh:27
+msgid "Blue"
+msgstr ""
+
+#: qcsrc/common/teams.qh:28
+msgid "Yellow"
+msgstr ""
+
+#: qcsrc/common/teams.qh:29
+msgid "Pink"
+msgstr ""
+
+#: qcsrc/common/teams.qh:30
+msgid "Team"
+msgstr ""
+
+#: qcsrc/common/teams.qh:31
+msgid "Neutral"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:35
+msgid "Usage: menu_cmd command..., where possible commands are:\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:36
+msgid "  sync - reloads all cvars on the current menu page\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:37
+msgid "  directmenu ITEM - select a menu item as main item\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:68
+msgid "Available options:\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:119
+msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
+msgstr ""
+
+#: qcsrc/menu/item/label.c:82
+#, c-format
+msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
+msgstr ""
+
+#: qcsrc/menu/item/listbox.c:382
+#, c-format
+msgid "Item %d"
+msgstr ""
+
+#: qcsrc/menu/item/slider.c:64
+#, c-format
+msgid "%d (%s)"
+msgstr ""
+
+#: qcsrc/menu/item/textslider.c:31 qcsrc/menu/item/textslider.c:33
+msgid "custom"
+msgstr ""
+
+#: qcsrc/menu/menu.qc:59
+#, c-format
+msgid "^4MQC Build information: ^1%s\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/campaign.c:286
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:123
+msgid "???"
+msgstr ""
+
+#: qcsrc/menu/xonotic/campaign.c:287
+#, c-format
+msgid "Level %d: %s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
+msgid "will not be saved"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
+msgid "private"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:95
+msgid "engine setting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:97
+msgid "read only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_credits.c:5
+msgid "Credits"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:99
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
+msgid "OK"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:4
+msgid "Welcome"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+msgid ""
+"Welcome to Xonotic, please select your language preference and enter your "
+"player name to get started.  You can change these options later through the "
+"menu system."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
+msgid "Name:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
+#: qcsrc/menu/xonotic/dialog_settings_user.c:65
+msgid "Text language:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+msgid "ALWU2N^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
+msgid "ALWU2N^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
+msgid "ALWU2N^Undecided"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
+msgid "Save settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:4
+msgid "Ammo Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:23
+msgid "Ammunition display:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:26
+msgid "Show only current ammo type"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:29
+msgid "Align icon:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:30
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:37
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:29
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:41
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:29
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:41
+msgid "Left"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:39
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:42
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:42
+msgid "Right"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:4
+msgid "Centerprint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:24
+msgid "Message duration:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:28
+msgid "Fade time:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:32
+msgid "Flip messages order"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:34
+msgid "Text alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:38
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:51
+msgid "Center"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:42
+msgid "Font scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4
+msgid "Chat Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:23
+msgid "Chat entries:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:26
+msgid "Chat size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:30
+msgid "Chat lifetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:34
+msgid "Chat beep sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:4
+msgid "Engine Info Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:23
+msgid "Engine info:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:26
+msgid "Use an averaging algorithm for fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:4
+msgid "Health/Armor Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:23
+msgid "Enable status bar"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:25
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:25
+msgid "Status bar alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:33
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:43
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:33
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:43
+msgid "Inward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:35
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:44
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:35
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:44
+msgid "Outward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:38
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:38
+msgid "Icon alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:46
+msgid "Flip health and armor positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:4
+msgid "Info Messages Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:23
+msgid "Info messages:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:26
+msgid "Flip align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_modicons.c:4
+msgid "Mod Icons Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:4
+msgid "Notification Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:23
+msgid "Notifications:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:26
+msgid "Also print notifications to the console"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:29
+msgid "Flip notify order"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:32
+msgid "Entry lifetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:36
+msgid "Entry fadetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:4
+msgid "Physics Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:22
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:22
+msgid "Panel disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:24
+msgid "Panel enabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:25
+msgid "Panel enabled even observing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:26
+msgid "Panel enabled only in Race/CTS"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:32
+msgid "Status bar"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:34
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:49
+msgid "Left align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:35
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:53
+msgid "Right align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:36
+msgid "Inward align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:37
+msgid "Outward align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:41
+msgid "Flip speed/acceleration positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:45
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:29
+msgid "Speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:46
+msgid "Include vertical speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:57
+msgid "Speed unit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:59
+msgid "qu/s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:60
+msgid "m/s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:61
+msgid "km/h"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:62
+msgid "mph"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:63
+msgid "knots"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:65
+msgid "Show"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:68
+msgid "Top speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:74
+msgid "Acceleration:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:75
+msgid "Include vertical acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4
+msgid "Powerups Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:46
+msgid "Flip strength and shield positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:4
+msgid "Pressed Keys Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:23
+msgid "Panel enabled when spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:24
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:24
+msgid "Panel always enabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:31
+msgid "Forced aspect:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_racetimer.c:4
+msgid "Race Timer Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:4
+msgid "Radar Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:23
+msgid "Panel enabled in teamgames"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:30
+msgid "Radar:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:33
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
+#: qcsrc/menu/xonotic/util.qc:758
+msgid "Alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:37
+msgid "Rotation:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:39
+msgid "Forward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:40
+msgid "West"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:41
+msgid "South"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:42
+msgid "East"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:43
+msgid "North"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:47
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:63
+msgid "Scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:51
+msgid "Zoom mode:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:53
+msgid "Zoomed in"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:54
+msgid "Zoomed out"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:55
+msgid "Always zoomed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:56
+msgid "Never zoomed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:4
+msgid "Score Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:23
+msgid "Score:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
+msgid "Rankings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:27
+msgid "Off"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
+msgid "And me"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:29
+msgid "Pure"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
+msgid "Timer Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:23
+msgid "Timer:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:26
+msgid "Show elapsed time"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:4
+msgid "Vote Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:23
+msgid "Alpha after voting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:4
+msgid "Weapons Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:25
+msgid "Fade out after:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:27
+msgid "Never"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:29
+#, c-format
+msgid "%ds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:33
+msgid "Fade effect:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:36
+msgid "EF^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:37
+msgid "Alpha"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:38
+msgid "Slide"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:39
+msgid "EF^Both"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:43
+msgid "Weapon icons:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46
+msgid "Show only owned weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49
+msgid "Show weapon ID as:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50
+msgid "SHOWAS^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51
+msgid "Number"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52
+msgid "Bind"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55
+msgid "Show Accuracy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:56
+msgid "Show Ammo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:59
+msgid "Ammo bar color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:65
+msgid "Ammo bar alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:4
+msgid "Panel HUD Setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:22
+msgid "Panel background defaults:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
+msgid "Background:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
+msgid "Disable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
+msgid "Color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
+msgid "Border size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:51
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:90
+msgid "Team color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
+msgid "Test team color in configure mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
+msgid "Padding:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:69
+msgid "HUD Dock:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:71
+msgid "DOCK^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:72
+msgid "DOCK^Small"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:73
+msgid "DOCK^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:74
+msgid "DOCK^Large"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:97
+msgid "Grid settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:100
+msgid "Snap panels to grid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:103
+msgid "Grid size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:104
+msgid "X:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:110
+msgid "Y:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:118
+msgid "Exit setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:4
+msgid "Multiplayer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:18
+msgid "Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:19
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:5
+msgid "Create"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:20
+msgid "Demos"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:21
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:5
+msgid "Player Setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:34
+msgid "Game type:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48
+msgid "Time limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:52
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:60
+msgid "Use map specified default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:55
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:155
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+msgid "Point limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63
+msgid "Player slots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66
+msgid "Number of bots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69
+msgid "Bot skill:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72
+msgid "Botlike"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73
+msgid "Beginner"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74
+msgid "You will win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75
+msgid "You can win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76
+msgid "You might win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77
+msgid "Advanced"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78
+msgid "Expert"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79
+msgid "Pro"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80
+msgid "Assassin"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81
+msgid "Unhuman"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82
+msgid "Godlike"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87
+msgid "Mutators..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
+msgid "Advanced settings..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103
+msgid "Map list:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109
+msgid "Select all"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112
+msgid "Select none"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118
+msgid "Start Multiplayer!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153
+msgid "Capture limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:156
+msgid "Lives:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157
+msgid "Laps:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158
+msgid "Goals:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
+msgid "Frag limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:6
+msgid "Advanced server settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:25
+msgid "Game settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:28
+msgid "Allow spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:31
+msgid "Spawn shield:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:36
+msgid "Game speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:40
+msgid "Teamplay settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:43
+msgid "Friendly fire scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:47
+msgid "Virtual friendly fire (effect only)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:50
+msgid "Friendly fire penalty:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:54
+msgid "Virtual penalty (effect only)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:57
+msgid "Teams:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:66
+msgid "Map voting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:68
+msgid "No voting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:69
+msgid "2 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:70
+msgid "3 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:71
+msgid "4 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:72
+msgid "5 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:73
+msgid "6 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:74
+msgid "7 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:75
+msgid "8 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:76
+msgid "9 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:79
+msgid "Simple majority wins vcall"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:5
+msgid "Map Information"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "Full item placement"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "MinstaGib only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81
+msgid "Title:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:87
+msgid "Author:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:93
+msgid "Features:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98
+msgid "Game types:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:328
+msgid "Close"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124
+msgid "MAP^Play"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:7
+msgid "Mutators"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:33
+msgid "All Weapons Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:35
+msgid "Most Weapons Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:56
+#, c-format
+msgid "%s Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:68
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:162
+msgid "Dodging"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:70
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:254
+msgid "MinstaGib"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:72
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:208
+msgid "New Toys"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:74
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:258
+msgid "NIX"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:76
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:212
+msgid "Rocket Flying"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:78
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204
+msgid "Invincible Projectiles"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:266
+msgid "No start weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:189
+msgid "Low gravity"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:168
+msgid "Cloaked"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:90
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:171
+msgid "Midair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:92
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:174
+msgid "Vampire"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:94
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:216
+msgid "Piñata"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:96
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:220
+msgid "Weapons stay"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:179
+msgid "Blood loss"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:100
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201
+msgid "Jet pack"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:102
+msgid "No powerups"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104
+msgid "Powerups"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:106
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:165
+msgid "Touch explode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:108
+msgid "MUT^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:159
+msgid "Gameplay mutators:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:195
+msgid "Weapon & item mutators:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:198
+msgid "Grappling hook"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:225
+msgid "Regular (no arena)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:227
+msgid "Weapon arenas:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:244
+msgid "Most weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:248
+msgid "All weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:251
+msgid "Special arenas:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:262
+msgid "with laser"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:4
+msgid "Demo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:26
+msgid "Automatically record demos while playing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:29
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:28
+msgid "Filter:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:40
+msgid "Timedemo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43
+msgid "DEMO^Play"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:4
+msgid "Join"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
+msgid "SRVS^Empty"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
+msgid "SRVS^Full"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
+msgid "Pause"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
+msgid "Address:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
+msgid "Info..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
+msgid "Join!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:5
+msgid "Server Information"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:174
+#, c-format
+msgid "%d/%d"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
+msgid "Default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
+#, c-format
+msgid "%d modified"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
+msgid "Official"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:201
+msgid "N/A (auth library missing, can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:203
+msgid "N/A (auth library missing)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:209
+msgid "Not supported (can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211
+msgid "Not supported (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:215
+msgid "Supported (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217
+msgid "Supported (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:221
+msgid "Requested (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223
+msgid "Requested (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:227
+msgid "Required (can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:229
+msgid "Required (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:249
+msgid "Hostname:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:263
+msgid "Gametype:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:268
+msgid "Map:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:273
+msgid "Mod:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:278
+msgid "Version:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:283
+msgid "Settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:322
+msgid "Players:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:295
+msgid "Bots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:300
+msgid "Free slots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:306
+msgid "Encryption:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:311
+msgid "ID:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:316
+msgid "Key:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:61
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:20
+msgid "Model:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:73
+msgid "Glowing color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:82
+msgid "Detail color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93
+msgid "No crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:95
+msgid "Per weapon crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:98
+msgid "Custom crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117
+msgid "Crosshair size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:122
+msgid "Crosshair alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:128
+msgid "Crosshair color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130
+msgid "Per weapon"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:132
+msgid "By health"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:136
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:47
+msgid "Custom"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:144
+msgid "Other crosshair settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:152
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6
+msgid "Model settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6
+msgid "View settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:164
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6
+msgid "Weapon settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:174
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6
+msgid "HUD settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:180
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:164
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:200
+#: qcsrc/menu/xonotic/dialog_settings_input.c:90
+#: qcsrc/menu/xonotic/dialog_settings_user.c:88
+#: qcsrc/menu/xonotic/dialog_settings_video.c:143
+msgid "Apply immediately"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6
+msgid "Crosshair settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28
+msgid "Enable center crosshair dot"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31
+msgid "Dot size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36
+msgid "Dot alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41
+msgid "Dot color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43
+msgid "Use normal crosshair color"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54
+msgid "Crosshair animations:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57
+msgid "Smooth effects of crosshairs"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61
+msgid "Use rings to indicate weapon status"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67
+msgid "Hit testing:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69
+msgid "HTTST^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70
+msgid "HTTST^TrueAim"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71
+msgid "HTTST^Enemies"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76
+msgid "Blur crosshair if the shot is obstructed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81
+msgid "Animate when hitting an enemy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85
+msgid "Animate when picking up an item"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40
+msgid "Damage:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43
+msgid "Overlay:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:47
+msgid "Factor:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:53
+msgid "Fade rate:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:60
+msgid "Waypoints"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:75
+msgid "Edge offset:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83
+msgid "Show names above players"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:86
+msgid "Only when near crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:89
+msgid "Display health and armor"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:93
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:4
+msgid "Enter HUD editor"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:28
+msgid "In order for the HUD editor to show, you must first be in game."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30
+msgid "Do you wish to start a local game to set up the HUD?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33
+msgid "HDCNFRM^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36
+msgid "HDCNFRM^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28
+msgid "Body fading:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31
+msgid "Gibs:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33
+msgid "GIBS^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34
+msgid "GIBS^Few"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35
+msgid "GIBS^Many"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36
+msgid "GIBS^Lots"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:41
+msgid "Force player models to mine"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:43
+msgid "Force player colors to mine"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28
+msgid "Field of view:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31
+msgid "Zoom:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33
+msgid "RETICLE^Fullscreen"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34
+msgid "RETICLE^With reticle"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38
+msgid "ZOOM^Factor:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42
+msgid "ZOOM^Speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52
+msgid "ZOOM^Instant"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56
+msgid "ZOOM^Sensitivity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59
+msgid "Velocity zoom:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61
+msgid "VZOOM^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62
+msgid "VZOOM^Forward only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63
+msgid "VZOOM^All directions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67
+msgid "VZOOM^Speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72
+msgid "Allow passing through walls while spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75
+msgid "1st person perspective"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79
+msgid "Smooth the view when landing from a jump"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83
+msgid "Smooth the view while crouching"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87
+msgid "View waving while idle"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91
+msgid "View bobbing while walking around"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96
+msgid "3rd person perspective"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100
+msgid "Back distance"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106
+msgid "Up distance"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29
+msgid "Weapon priority list:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33
+msgid "Up"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36
+msgid "Down"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41
+msgid "Use priority list for weapon cycling"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43
+msgid "Auto switch weapons on pickup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:46
+msgid "Draw 1st person weapon model"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:58
+msgid "Gun model swaying"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63
+msgid "Gun model bobbing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:4
+msgid "Quit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:18
+msgid "Are you sure you want to quit?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:21
+msgid "Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:22
+msgid "No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:4
+msgid "Sandbox Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
+msgid "Remove *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28
+msgid "Copy *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:29
+msgid "Paste"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:31
+msgid "Bone:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:36
+msgid "Set * as child"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:37
+msgid "Attach to *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:39
+msgid "Detach from *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:42
+msgid "Visual object properties for *:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
+msgid "Set alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:49
+msgid "Set color main:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:51
+msgid "Set color glow:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:55
+msgid "Set frame:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:59
+msgid "Physical object properties for *:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:61
+msgid "Set material:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:67
+msgid "Set solidity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:68
+msgid "Non-solid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:69
+msgid "Solid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:70
+msgid "Set physics:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:71
+msgid "Static"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:72
+msgid "Movable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:73
+msgid "Physical"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:75
+msgid "Set scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:77
+msgid "Set force:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:81
+msgid "Claim *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:83
+msgid "* object info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:84
+msgid "* mesh info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:85
+msgid "* attachment info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:86
+msgid "Show help"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:87
+msgid "* is the object you are facing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:4
+msgid "Settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:18
+#: qcsrc/menu/xonotic/dialog_settings_input.c:4
+msgid "Input"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:19
+#: qcsrc/menu/xonotic/dialog_settings_video.c:4
+msgid "Video"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:20
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:4
+msgid "Effects"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:21
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:4
+msgid "Audio"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:22
+#: qcsrc/menu/xonotic/dialog_settings_user.c:4
+msgid "User"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:23
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:4
+msgid "Misc"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:27
+msgid "Master:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:33
+msgid "Music:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:41
+msgid "VOL^Ambient:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:48
+msgid "Info:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:55
+msgid "Items:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:62
+msgid "Pain:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:69
+msgid "Player:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:76
+msgid "Shots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:83
+msgid "Voice:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:91
+msgid "Weapons:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:97
+msgid "New style sound attenuation"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:99
+msgid "Mute sounds when not active"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:102
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:156
+msgid "Frequency:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:104
+msgid "8 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:105
+msgid "11.025 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:106
+msgid "16 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:107
+msgid "22.05 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:108
+msgid "24 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:109
+msgid "32 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:110
+msgid "44.1 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:111
+msgid "48 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:114
+msgid "Channels:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:116
+msgid "Mono"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:117
+msgid "Stereo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:118
+msgid "2.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:119
+msgid "4"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:120
+msgid "5"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:121
+msgid "5.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:122
+msgid "6.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:123
+msgid "7.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:126
+msgid "Swap Stereo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:128
+msgid "Headphone friendly mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:132
+msgid "Hit indication sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:134
+msgid "Chat message sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:136
+msgid "Menu sounds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:139
+msgid "Time announcer:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:141
+msgid "WRN^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:142
+msgid "1 minute"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:143
+msgid "5 minutes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:144
+msgid "WRN^Both"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:151
+msgid "Automatic taunts"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:161
+msgid "Debug info about sounds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:38
+msgid "Quality preset:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:41
+msgid "PRE^OMG!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:42
+msgid "PRE^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:43
+msgid "PRE^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:44
+msgid "PRE^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:45
+msgid "PRE^High"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:46
+msgid "PRE^Ultra"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:48
+msgid "PRE^Ultimate"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:52
+msgid "Geometry detail:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:54
+msgid "DET^Lowest"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:55
+msgid "DET^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:56
+msgid "DET^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:57
+msgid "DET^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:58
+msgid "DET^Best"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:59
+msgid "DET^Insane"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:62
+msgid "Player detail:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:65
+msgid "Texture resolution:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:69
+msgid "RES^Leet"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:70
+msgid "RES^Lowest"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:71
+msgid "RES^Very low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:72
+msgid "RES^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:73
+msgid "RES^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:74
+msgid "RES^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:75
+msgid "RES^Best"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:87
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:91
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:95
+msgid "Avoid lossy texture compression"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:105
+msgid "Show surfaces"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:108
+msgid "Use lightmaps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:109
+msgid "Deluxe mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:111
+msgid "Gloss"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:114
+msgid "Offset mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:116
+msgid "Relief mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:119
+msgid "Reflections:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:122
+msgid "Blurred"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:123
+msgid "REFL^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:124
+msgid "Sharp"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:129
+msgid "Particles quality:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:132
+msgid "Particles distance:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:135
+msgid "Damage effects:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:137
+msgid "DMGPRTCLS^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:138
+msgid "DMGPRTCLS^Skeletal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:139
+msgid "DMGPRTCLS^All"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:142
+msgid "Particle effects for spawnpoints"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:146
+msgid "No dynamic lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:148
+msgid "Fake corona lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:151
+msgid "Realtime dynamic lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:153
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:157
+msgid "Shadows"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:156
+msgid "Realtime world lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:161
+msgid "Use normal maps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:163
+msgid "Soft shadows"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:167
+msgid "Fade corona according to visibility"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:171
+msgid "Bloom"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:172
+msgid "Extra postprocessing effects"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:177
+msgid "Motion blur:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:183
+msgid "Decals"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:184
+msgid "Decals on models"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:188
+msgid "Distance:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:194
+msgid "Time:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:26
+msgid "Key bindings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:30
+msgid "Change key..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:34
+msgid "Edit..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:40
+msgid "Clear"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:46
+msgid "Pressing \"enter console\" key also closes it"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:48
+msgid "Automatically repeat jumping if holding jump"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:52
+#: qcsrc/menu/xonotic/dialog_settings_input.c:54
+#: qcsrc/menu/xonotic/dialog_settings_input.c:57
+msgid "Use joystick input"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:62
+msgid "Mouse:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:65
+msgid "Sensitivity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:69
+msgid "Smooth aiming"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:72
+msgid "Invert aiming"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:76
+#: qcsrc/menu/xonotic/dialog_settings_input.c:78
+#: qcsrc/menu/xonotic/dialog_settings_input.c:81
+msgid "Disable system mouse acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:86
+msgid "Enable built in mouse acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5
+msgid "User defined key bind"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:42
+msgid "Command when pressed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:45
+msgid "Command when released:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:48
+msgid "Save"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:51
+msgid "Cancel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:26
+msgid "Network:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:31
+msgid "56k"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:32
+msgid "ISDN"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:33
+msgid "Slow ADSL"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:34
+msgid "Fast ADSL"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:35
+msgid "Broadband"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:39
+msgid "Input packets/s:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:45
+msgid "Local latency:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:50
+msgid "Client UDP port:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "Use encryption (AES) when available"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+msgid "Show netgraph"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
+msgid "Client-side movement prediction"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+msgid "Movement error compensation"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
+msgid "Downloads:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+msgid "Maximum:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
+msgid "Speed (kB/s):"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
+msgid "Framerate:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+msgid "MAXFPS^5 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+msgid "MAXFPS^10 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+msgid "MAXFPS^20 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+msgid "MAXFPS^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+msgid "MAXFPS^40 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+msgid "MAXFPS^50 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+msgid "MAXFPS^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+msgid "MAXFPS^70 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
+msgid "MAXFPS^100 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
+msgid "MAXFPS^125 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
+msgid "MAXFPS^200 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+msgid "MAXFPS^Unlimited"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+msgid "Target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+msgid "TRGT^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+msgid "TRGT^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+msgid "TRGT^40 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+msgid "TRGT^50 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
+msgid "TRGT^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
+msgid "TRGT^100 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
+msgid "TRGT^125 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+msgid "TRGT^200 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+msgid "Idle limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+msgid "IDLFPS^10 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
+msgid "IDLFPS^20 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
+msgid "IDLFPS^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
+msgid "IDLFPS^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
+msgid "IDLFPS^Unlimited"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
+msgid "Show frames per second"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+msgid "Save processing time for other apps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+msgid "Menu tooltips:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
+msgid "TLTIP^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
+msgid "TLTIP^Standard"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+msgid "TLTIP^Advanced"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+msgid "Show current time"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
+msgid "Show current date"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+msgid "Enable developer mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5
+msgid "Advanced settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:32
+msgid "Cvar filter:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:45
+msgid "Setting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:49
+msgid "Type:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:53
+msgid "Value:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
+msgid "Description:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:27
+msgid "Menu skins:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:31
+msgid "Set skin"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:74
+msgid "Set language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:79
+msgid "Disable gore effects and harsh language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:82
+msgid "Allow player statistics to track your client"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:84
+msgid "Allow player statistics to use your nickname"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:26
+msgid "Resolution:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:29
+msgid "Font/UI size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:31
+msgid "SZ^Unreadable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:32
+msgid "SZ^Tiny"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:33
+msgid "SZ^Little"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:34
+msgid "SZ^Small"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:35
+msgid "SZ^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:36
+msgid "SZ^Large"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:37
+msgid "SZ^Huge"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:38
+msgid "SZ^Gigantic"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:39
+msgid "SZ^Colossal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:42
+msgid "Color depth:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:44
+msgid "16bit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:45
+msgid "32bit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:48
+msgid "Full screen"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:49
+msgid "Vertical Synchronization"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:53
+msgid "Anisotropy:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:55
+msgid "ANISO^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:56
+#: qcsrc/menu/xonotic/dialog_settings_video.c:66
+msgid "2x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:57
+#: qcsrc/menu/xonotic/dialog_settings_video.c:67
+msgid "4x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:58
+msgid "8x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:59
+msgid "16x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:62
+msgid "Antialiasing:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:65
+msgid "AA^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:71
+msgid "High-quality frame buffer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:76
+msgid "Depth first:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:78
+msgid "DF^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:79
+msgid "DF^World"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:80
+msgid "DF^All"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:83
+msgid "Vertex Buffer Objects (VBOs)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:86
+msgid "VBO^Off"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:87
+msgid "Vertices, some Tris (compatible)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:90
+msgid "Vertices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:91
+msgid "Vertices and Triangles"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:94
+msgid "Brightness:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:97
+msgid "Contrast:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:100
+msgid "Gamma:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:105
+msgid "Contrast boost:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:110
+msgid "Saturation:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:116
+msgid "LIT^Ambient:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:119
+msgid "Intensity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:123
+msgid "Wait for GPU to finish each frame"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:125
+msgid "Use OpenGL 2.0 shaders (GLSL)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:128
+msgid "Use GLSL to handle color control"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:133
+msgid "Psycho coloring (easter egg)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:136
+msgid "Trippy vertices (easter egg)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:139
+msgid "Flip view horizontally"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:4
+msgid "Singleplayer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:116
+msgid "Instant action! (random map with bots)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:137
+msgid "Campaign Difficulty:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:138
+msgid "CSKL^Easy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:139
+msgid "CSKL^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:140
+msgid "CSKL^Hard"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:142
+msgid "Start Singleplayer!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:4
+msgid "Winner"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:5
+msgid "Team Selection"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:42
+msgid "join 'best' team (auto-select)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:46
+msgid "red"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:47
+msgid "blue"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:48
+msgid "yellow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:49
+msgid "pink"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:52
+msgid "spectate"
+msgstr ""
+
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
+msgid "Do not press this button again!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:280
+msgid ""
+"Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:288
+#, c-format
+msgid "%s's Xonotic Server"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:293
+msgid ""
+"Huh? Can't play this (invalid game type). Refiltering so this won't happen "
+"again.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128
+msgid "spectator"
+msgstr ""
+
+#: qcsrc/menu/xonotic/playermodel.c:177
+msgid "<no model found>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:923
+msgid "Ping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:924
+msgid "Host name"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:925
+msgid "Map"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:926
+msgid "Type"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:927
+msgid "Players"
+msgstr ""
+
+#: qcsrc/menu/xonotic/skinlist.c:105
+msgid "<TITLE>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/skinlist.c:106
+msgid "<AUTHOR>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:77
+msgid "VOL^MAX"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:79
+msgid "VOL^OFF"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:81
+#, c-format
+msgid "%d %%"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:83
+#, c-format
+msgid "%.1f"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:85
+#, c-format
+msgid "%.2f %%"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:87
+#, c-format
+msgid "%s dB"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_resolution.c:116
+#, c-format
+msgid "%dx%d (%d:%d)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_resolution.c:119
+#, c-format
+msgid "%dx%d"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:308
+#, c-format
+msgid "error receiving update notification: status is %d\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:313
+msgid "error: received HTML instead of an update notification\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:318
+msgid "error: received carriage returns from update notification server\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:397
+#, c-format
+msgid ""
+"Update can be downloaded at:\n"
+"%s\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:497
+msgid "Autogenerating mapinfo for newly added maps..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:526
+#, c-format
+msgid "^1%s TEST BUILD"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:541
+#, c-format
+msgid "Update to %s now!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:626
+msgid ""
+"^1ERROR: Texture compression is required but not supported.\n"
+"^1Expect visual problems.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:746
+msgid "Use default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:766
+msgid "Team Color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qh:43
+msgid "Enable panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/weaponslist.c:102
+#, c-format
+msgid "%s (mutator weapon)"
+msgstr ""
+
+#: qcsrc/server/w_hlac.qc:11
+msgid "Heavy Laser Assault Cannon"
+msgstr ""
+
+#: qcsrc/server/w_hook.qc:11
+msgid "Grappling Hook"
+msgstr ""
+
+#: qcsrc/server/w_minstanex.qc:11
+msgid "MinstaNex"
+msgstr ""
+
+#: qcsrc/server/w_seeker.qc:11
+msgid "T.A.G. Seeker"
+msgstr ""
+
+#: qcsrc/server/w_tuba.qc:12
+#, no-c-format
+msgid "@!#%'n Tuba"
+msgstr ""
diff --git a/common.ca.po b/common.ca.po
new file mode 100644 (file)
index 0000000..b47984f
--- /dev/null
@@ -0,0 +1,6284 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Xonotic\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
+"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"Language-Team: Catalan (http://www.transifex.com/projects/p/xonotic/language/"
+"ca/)\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: qcsrc/client/Main.qc:21
+msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!"
+msgstr ""
+
+#: qcsrc/client/Main.qc:46
+msgid ""
+"^3Your engine build is outdated\n"
+"^3This Server uses a newer QC VM. Please update!\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:56
+#, c-format
+msgid "^4CSQC Build information: ^1%s\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:836
+#, c-format
+msgid ""
+"Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
+"%s)\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:1295
+#, c-format
+msgid "%s (not bound)"
+msgstr ""
+
+#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:157
+#, c-format
+msgid "%s (%s)"
+msgstr ""
+
+#: qcsrc/client/View.qc:1165
+msgid "Revival progress"
+msgstr ""
+
+#: qcsrc/client/hud.qc:186
+#, c-format
+msgid " (-%dL)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:191
+#, c-format
+msgid " (+%dL)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:210
+msgid "Start line"
+msgstr ""
+
+#: qcsrc/client/hud.qc:212 qcsrc/client/hud.qc:216
+msgid "Finish line"
+msgstr ""
+
+#: qcsrc/client/hud.qc:214
+#, c-format
+msgid "Intermediate %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:223
+#, c-format
+msgid "%s (%s %s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:832
+msgid "Out of ammo"
+msgstr ""
+
+#: qcsrc/client/hud.qc:836
+msgid "Don't have"
+msgstr ""
+
+#: qcsrc/client/hud.qc:840
+msgid "Unavailable"
+msgstr ""
+
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
+#, c-format
+msgid "Player %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2369
+msgid "^1Intermediate 1 (+15.42)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
+#, c-format
+msgid "^1PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2456
+#, c-format
+msgid "^2PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2486
+msgid "^1You must answer before entering hud configure mode\n"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2491
+msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2570
+msgid "A vote has been called for:"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2572
+msgid "Allow servers to store and display your name?"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2576
+msgid "^1Configure the HUD"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2580
+#, c-format
+msgid "Yes (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2582
+#, c-format
+msgid "No (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
+msgid "Personal best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
+msgid "Server best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3528
+msgid "^3Player^7: This is the chat area."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3593
+#, c-format
+msgid "FPS: %.*f"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3657
+msgid "^1Observing"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
+#, c-format
+msgid "^1Spectating: ^7%s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3667
+#, c-format
+msgid "^1Press ^3%s^1 to spectate"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3669
+#, c-format
+msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3673
+#, c-format
+msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3675
+#, c-format
+msgid "^1Press ^3%s^1 to observe"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3678
+#, c-format
+msgid "^1Press ^3%s^1 for gamemode info"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3686
+msgid "^1Match has already begun"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3688
+msgid "^1You have no more lives left"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
+#, c-format
+msgid "^1Press ^3%s^1 to join"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3701
+#, c-format
+msgid "^1Game starts in ^3%d^1 seconds"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3708
+msgid "^2Currently in ^1warmup^2 stage!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3723
+#, c-format
+msgid "%sPress ^3%s%s to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3725
+#, c-format
+msgid "%sPress ^3%s%s once you are ready"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3730
+msgid "^2Waiting for others to ready up to end warmup..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3732
+msgid "^2Waiting for others to ready up..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3738
+#, c-format
+msgid "^2Press ^3%s^2 to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3759
+msgid "Teamnumbers are unbalanced!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3764
+#, c-format
+msgid " Press ^3%s%s to adjust"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3772
+msgid "^7Press ^3ESC ^7to show HUD options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3774
+msgid "^3Doubleclick ^7a panel for panel-specific options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3776
+msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3778
+msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3825
+msgid " qu/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3829
+msgid " m/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3833
+msgid " km/h"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3837
+msgid " mph"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3841
+msgid " knots"
+msgstr ""
+
+#: qcsrc/client/hud.qc:4497
+msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
+msgstr ""
+
+#: qcsrc/client/hud_config.qc:196
+#, c-format
+msgid "^2Successfully exported to %s! (Note: It's saved in data/data/)\n"
+msgstr ""
+
+#: qcsrc/client/hud_config.qc:200
+#, c-format
+msgid "^1Couldn't write to %s\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:28
+msgid " (1 vote)"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:30
+#, c-format
+msgid " (%d votes)"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:118
+msgid "Don't care"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:203
+msgid "Vote for a map"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:209
+#, c-format
+msgid "%d seconds left"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:273
+msgid ""
+"mv_mapdownload: ^3You're not supposed to use this command on your own!\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:283
+msgid "^1Error:^7 Couldn't find pak index.\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:292
+msgid "Requesting preview...\n"
+msgstr ""
+
+#: qcsrc/client/miscfunctions.qc:101
+msgid "Trying to remove a team which is not in the teamlist!"
+msgstr ""
+
+#: qcsrc/client/movetypes.qc:227
+#, c-format
+msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr ""
+
+#: qcsrc/client/movetypes.qc:230
+#, c-format
+msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:19
+msgid "SCO^bckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:20
+msgid "SCO^bctime"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:21
+msgid "SCO^caps"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:22
+msgid "SCO^captime"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:23
+msgid "SCO^deaths"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:24
+msgid "SCO^destroyed"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:25
+msgid "SCO^drops"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:26
+msgid "SCO^faults"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:27
+msgid "SCO^fckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:28
+msgid "SCO^goals"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:29
+msgid "SCO^kckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:30
+msgid "SCO^kdratio"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:31
+msgid "SCO^k/d"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:32
+msgid "SCO^kd"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:33
+msgid "SCO^kdr"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:34
+msgid "SCO^kills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:35
+msgid "SCO^laps"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:36
+msgid "SCO^lives"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:37
+msgid "SCO^losses"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:38
+msgid "SCO^name"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:39
+msgid "SCO^sum"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:40
+msgid "SCO^nick"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:41
+msgid "SCO^objectives"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:42
+msgid "SCO^pickups"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:43
+msgid "SCO^ping"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:44
+msgid "SCO^pl"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:45
+msgid "SCO^pushes"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:46
+msgid "SCO^rank"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:47
+msgid "SCO^returns"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:48
+msgid "SCO^revivals"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:49
+msgid "SCO^score"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:50
+msgid "SCO^suicides"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:51
+msgid "SCO^takes"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:52
+msgid "SCO^ticks"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:237
+msgid ""
+"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:238
+msgid "^3|---------------------------------------------------------------|\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:239
+msgid "Usage:\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:240
+msgid "^2scoreboard_columns_set default\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:241
+msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:242
+msgid "The following field names are recognized (case insensitive):\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:243
+msgid ""
+"You can use a ^3|^7 to start the right-aligned fields.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:245
+msgid "^3name^7 or ^3nick^7             Name of a player\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:246
+msgid "^3ping^7                     Ping time\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:247
+msgid "^3pl^7                       Packet loss\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:248
+msgid "^3kills^7                    Number of kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:249
+msgid "^3deaths^7                   Number of deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:250
+msgid "^3suicides^7                 Number of suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:251
+msgid "^3frags^7                    kills - suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:252
+msgid "^3kd^7                       The kill-death ratio\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:253
+msgid "^3sum^7                      frags - deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:254
+msgid ""
+"^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
+"captured\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:255
+msgid ""
+"^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
+"ball (Keepaway) was picked up\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:256
+msgid "^3captime^7                  Time of fastest cap (CTF)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:257
+msgid "^3fckills^7                  Number of flag carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:258
+msgid "^3returns^7                  Number of flag returns\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:259
+msgid "^3drops^7                    Number of flag drops\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:260
+msgid "^3lives^7                    Number of lives (LMS)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:261
+msgid "^3rank^7                     Player rank\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:262
+msgid "^3pushes^7                   Number of players pushed into void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:263
+msgid ""
+"^3destroyed^7                Number of keys destroyed by pushing them into "
+"void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:264
+msgid "^3kckills^7                  Number of keys carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:265
+msgid "^3losses^7                   Number of times a key was lost\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:266
+msgid "^3laps^7                     Number of laps finished (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:267
+msgid "^3time^7                     Total time raced (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:268
+msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:269
+msgid "^3ticks^7                    Number of ticks (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:270
+msgid "^3takes^7                    Number of domination points taken (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:271
+msgid "^3bckills^7                  Number of ball carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:272
+msgid ""
+"^3bctime^7                   Total amount of time holding the ball in "
+"Keepaway\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:273
+msgid ""
+"^3score^7                    Total score\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:275
+msgid ""
+"Before a field you can put a + or - sign, then a comma separated list\n"
+"of game types, then a slash, to make the field show up only in these\n"
+"or in all but these game types. You can also specify 'all' as a\n"
+"field to show all fields available for the current game mode.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:280
+msgid ""
+"The special game type names 'teams' and 'noteams' can be used to\n"
+"include/exclude ALL teams/noteams game modes.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:283
+msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:284
+msgid ""
+"will display name, ping and pl aligned to the left, and the fields\n"
+"right of the vertical bar aligned to the right.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:286
+msgid ""
+"'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
+"other gamemodes except DM.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:240
+msgid "N/A"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:970
+#, c-format
+msgid "Accuracy stats (average %d%%)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1033
+#, c-format
+msgid "%d%%"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1099
+msgid "Map stats:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1124
+msgid "Secrets found:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1152
+msgid "Rankings"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1248
+msgid "Scoreboard"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1307
+#, c-format
+msgid "Speed award: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1311
+#, c-format
+msgid "All-time fastest: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1345
+msgid "Spectators"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1352
+#, c-format
+msgid "playing ^3%s^7 on ^2%s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
+#, c-format
+msgid " for up to ^1%1.0f minutes^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
+msgid " or"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
+#, c-format
+msgid " until ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
+msgid "SCO^points"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
+msgid "SCO^is beaten"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
+#, c-format
+msgid " until a lead of ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1419
+#, c-format
+msgid "^1Respawning in ^3%s^1..."
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1429
+#, c-format
+msgid "You are dead, wait ^3%s^7 before respawning"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1438
+#, c-format
+msgid "You are dead, press ^2%s^7 to respawn"
+msgstr ""
+
+#: qcsrc/client/target_music.qc:94 qcsrc/client/target_music.qc:183
+#, c-format
+msgid "Cannot initialize sound %s\n"
+msgstr ""
+
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
+msgid "Spam"
+msgstr ""
+
+#: qcsrc/client/tturrets.qc:308
+#, c-format
+msgid "%s under attack!"
+msgstr ""
+
+#: qcsrc/client/vehicles/vehicles.qc:331 qcsrc/client/vehicles/vehicles.qc:333
+msgid "No right gunner!"
+msgstr ""
+
+#: qcsrc/client/vehicles/vehicles.qc:353 qcsrc/client/vehicles/vehicles.qc:355
+msgid "No left gunner!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:246
+msgid "Push"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:247
+msgid "Destroy"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:248
+msgid "Defend"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:249
+msgid "Blue base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:250
+msgid "DANGER"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:251
+msgid "Enemy carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:252
+msgid "Flag carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:253
+msgid "Dropped flag"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:254
+msgid "Help me!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:255
+msgid "Here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:256
+msgid "Dropped key"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
+msgid "Key carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:258
+msgid "Run here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:263
+msgid "Red base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:264
+msgid "Waypoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
+msgid "Generator"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
+msgid "Control point"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:276
+msgid "Checkpoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
+msgid "Finish"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
+msgid "Start"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
+msgid "Ball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:283
+msgid "Ball carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
+msgid "Laser"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
+msgid "Shotgun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
+msgid "Machine Gun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
+msgid "Mortar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
+msgid "Electro"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
+msgid "Crylink"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
+msgid "Nex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
+msgid "Hagar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
+msgid "Rocket Launcher"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
+msgid "Port-O-Launch"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:294
+msgid "Minstanex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:295
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
+msgid "Hook"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
+msgid "Fireball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:297
+msgid "HLAC"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
+msgid "Rifle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
+msgid "Mine Layer"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:305
+msgid "Invisibility"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:306
+msgid "Extra life"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:307
+msgid "Speed"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:308
+msgid "Strength"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:309
+msgid "Shield"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:310
+msgid "Fuel regen"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:311
+msgid "Jet Pack"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:312
+msgid "Frozen!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:313
+msgid "Tagged"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:314
+msgid "Vehicle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:588
+#, c-format
+msgid "%s needing help!"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:31
+#, c-format
+msgid "error: status is %d\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:159
+msgid "error creating curl handle\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:263
+msgid "Notification dump command only works with cl_cmd and sv_cmd.\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:457
+msgid "Notification restart command only works with cl_cmd and sv_cmd.\n"
+msgstr ""
+
+#: qcsrc/common/counting.qh:5
+#, c-format
+msgid "CI_DEC^%s years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:7
+#, c-format
+msgid "CI_ZER^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:8
+#, c-format
+msgid "CI_FIR^%d year"
+msgstr ""
+
+#: qcsrc/common/counting.qh:9
+#, c-format
+msgid "CI_SEC^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:10
+#, c-format
+msgid "CI_THI^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:11
+#, c-format
+msgid "CI_MUL^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:13
+#, c-format
+msgid "CI_DEC^%s weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:15
+#, c-format
+msgid "CI_ZER^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:16
+#, c-format
+msgid "CI_FIR^%d week"
+msgstr ""
+
+#: qcsrc/common/counting.qh:17
+#, c-format
+msgid "CI_SEC^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:18
+#, c-format
+msgid "CI_THI^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:19
+#, c-format
+msgid "CI_MUL^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:21
+#, c-format
+msgid "CI_DEC^%s days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:23
+#, c-format
+msgid "CI_ZER^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:24
+#, c-format
+msgid "CI_FIR^%d day"
+msgstr ""
+
+#: qcsrc/common/counting.qh:25
+#, c-format
+msgid "CI_SEC^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:26
+#, c-format
+msgid "CI_THI^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:27
+#, c-format
+msgid "CI_MUL^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:29
+#, c-format
+msgid "CI_DEC^%s hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:31
+#, c-format
+msgid "CI_ZER^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:32
+#, c-format
+msgid "CI_FIR^%d hour"
+msgstr ""
+
+#: qcsrc/common/counting.qh:33
+#, c-format
+msgid "CI_SEC^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:34
+#, c-format
+msgid "CI_THI^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:35
+#, c-format
+msgid "CI_MUL^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:38
+#, c-format
+msgid "CI_DEC^%s minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:40
+#, c-format
+msgid "CI_ZER^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:41
+#, c-format
+msgid "CI_FIR^%d minute"
+msgstr ""
+
+#: qcsrc/common/counting.qh:42
+#, c-format
+msgid "CI_SEC^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:43
+#, c-format
+msgid "CI_THI^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:44
+#, c-format
+msgid "CI_MUL^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:46
+#, c-format
+msgid "CI_DEC^%s seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:48
+#, c-format
+msgid "CI_ZER^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:49
+#, c-format
+msgid "CI_FIR^%d second"
+msgstr ""
+
+#: qcsrc/common/counting.qh:50
+#, c-format
+msgid "CI_SEC^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:51
+#, c-format
+msgid "CI_THI^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:52
+#, c-format
+msgid "CI_MUL^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:68
+#, c-format
+msgid "%dst"
+msgstr ""
+
+#: qcsrc/common/counting.qh:69
+#, c-format
+msgid "%dnd"
+msgstr ""
+
+#: qcsrc/common/counting.qh:70
+#, c-format
+msgid "%drd"
+msgstr ""
+
+#: qcsrc/common/counting.qh:71 qcsrc/common/counting.qh:74
+#, c-format
+msgid "%dth"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:717
+#, no-c-format
+msgid "@!#%'n Tuba Throwing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
+#, c-format
+msgid "%s: %s"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:36
+msgid "Deathmatch"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:39
+msgid "Last Man Standing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:42
+msgid "Race"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:45
+msgid "Race CTS"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:48
+msgid "Team Deathmatch"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:51
+msgid "Capture the Flag"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:54
+msgid "Clan Arena"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:57
+msgid "Domination"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:60
+msgid "Key Hunt"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:63
+msgid "Assault"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:66
+msgid "Onslaught"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:69
+msgid "Nexball"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:72
+msgid "Freeze Tag"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:75
+msgid "Keepaway"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr ""
+
+#: qcsrc/common/net_notice.qc:89
+msgid "^1Server notices:"
+msgstr ""
+
+#: qcsrc/common/net_notice.qc:95
+#, c-format
+msgid "^7%s (^3%d sec left)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:343
+#, c-format
+msgid "^BG%s^BG captured the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:344
+#, c-format
+msgid ""
+"^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"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:345
+#, c-format
+msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:346
+#, c-format
+msgid ""
+"^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"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:347
+msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:348
+msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:349
+msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:350
+msgid ""
+"^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
+"base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:351
+#, c-format
+msgid ""
+"^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
+"itself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:352
+msgid "^BGThe ^TC^TT^BG flag has returned to the base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:353
+#, c-format
+msgid "^BG%s^BG lost the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:354
+#, c-format
+msgid "^BG%s^BG got the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
+#, c-format
+msgid "^BG%s^BG returned the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:357
+#, c-format
+msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:358
+#, c-format
+msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:359
+#, c-format
+msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:360
+#, c-format
+msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:360
+#, c-format
+msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:361
+#, c-format
+msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:363
+#, c-format
+msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:364
+#, c-format
+msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:365
+#, c-format
+msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:366
+#, c-format
+msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:367
+#, c-format
+msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:367
+#, c-format
+msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:368
+#, c-format
+msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:369
+#, c-format
+msgid ""
+"^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:370
+#, c-format
+msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:371
+#, c-format
+msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:372
+#, c-format
+msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:373
+#, c-format
+msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:374
+#, c-format
+msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:375
+#, c-format
+msgid ""
+"^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:376
+#, c-format
+msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:377
+#, c-format
+msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:378
+#, c-format
+msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:379
+#, c-format
+msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:380
+#, c-format
+msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:381
+#, c-format
+msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:382
+#, c-format
+msgid "^BG%s^K1 was moved into the %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:383
+#, c-format
+msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:384
+#, c-format
+msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:385
+#, c-format
+msgid "^BG%s^K1 unfairly eliminated themself%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:386
+#, c-format
+msgid "^BG%s^K1 %s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:387
+#, c-format
+msgid "^BG%s^K1 couldn't catch their breath%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:387
+#, c-format
+msgid "^BG%s^K1 was in the water for too long%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:388
+#, c-format
+msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:388
+#, c-format
+msgid "^BG%s^K1 hit the ground with a crunch%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:389
+#, c-format
+msgid "^BG%s^K1 became a bit too crispy%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:389
+#, c-format
+msgid "^BG%s^K1 felt a little hot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:390
+#, c-format
+msgid "^BG%s^K1 died%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:391
+#, c-format
+msgid "^BG%s^K1 found a hot place%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:391
+#, c-format
+msgid "^BG%s^K1 turned into hot slag%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:392
+#, c-format
+msgid "^BG%s^K1 mastered the art of self-nading%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:393
+#, c-format
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:394
+#, c-format
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:395
+#, c-format
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:396
+#, c-format
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:397
+#, c-format
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:398
+#, c-format
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 ran out of ammo%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:402
+#, c-format
+msgid "^BG%s^K1 rotted away%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:403
+#, c-format
+msgid "^BG%s^K1 became a shooting star%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:404
+#, c-format
+msgid "^BG%s^K1 was slimed%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:405
+#, c-format
+msgid "^BG%s^K1 couldn't take it anymore%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:406
+#, c-format
+msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:407
+#, c-format
+msgid "^BG%s^K1 switched to the %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:408
+#, c-format
+msgid "^BG%s^K1 died in an accident%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:409
+#, c-format
+msgid "^BG%s^K1 ran into a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:410
+#, c-format
+msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:411
+#, c-format
+msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:412
+#, c-format
+msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:413
+#, c-format
+msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:414
+#, c-format
+msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:415
+#, c-format
+msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:416
+#, c-format
+msgid "^BG%s^K1 was phased out by a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:417
+#, c-format
+msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:418
+#, c-format
+msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:419
+#, c-format
+msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:420
+#, c-format
+msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:421
+#, c-format
+msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:422
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:423
+#, c-format
+msgid "^BG%s^K1 was crushed by a vehicle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:424
+#, c-format
+msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:425
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:426
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:427
+#, c-format
+msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:428
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:429
+#, c-format
+msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:430
+#, c-format
+msgid "^BG%s^K1 was in the wrong place%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:431
+#, c-format
+msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:432
+#, c-format
+msgid "^BG%s^K1 was frozen by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:433
+#, c-format
+msgid "^BG%s^K3 was revived by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:434
+#, c-format
+msgid "^BG%s^K3 was revived by falling"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:435
+#, c-format
+msgid "^BG%s^K3 was automatically revived after %s second(s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
+msgid "^TC^TT^BG team wins the round"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
+#, c-format
+msgid "^BG%s^BG wins the round"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
+msgid "^BGRound tied"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
+msgid "^BGRound over, there's no winner"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:440
+#, c-format
+msgid "^BG%s^K1 froze themself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:441
+#, c-format
+msgid "^BGGodmode saved you %s units of damage, cheater!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
+#, c-format
+msgid "^BGYou do not have the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
+#, c-format
+msgid "^BGYou dropped the ^F1%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
+#, c-format
+msgid "^BGYou got the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
+#, c-format
+msgid "^BGYou don't have enough ammo for the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
+#, c-format
+msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
+#, c-format
+msgid "^F1%s^BG is ^F4not available^BG on this map"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:448
+#, c-format
+msgid "^BG%s^F3 connected%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:449
+#, c-format
+msgid "^BG%s^F3 connected and joined the ^TC^TT team"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:450
+#, c-format
+msgid "^BG%s^F3 is now playing"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
+#, c-format
+msgid "^BG%s^BG has dropped the ball!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
+#, c-format
+msgid "^BG%s^BG has picked up the ball!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:453
+#, c-format
+msgid "^BG%s^BG captured the keys for the ^TC^TT team"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:454
+#, c-format
+msgid "^BG%s^BG dropped the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:455
+#, c-format
+msgid "^BG%s^BG lost the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:456
+#, c-format
+msgid "^BG%s^BG picked up the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:457
+#, c-format
+msgid "^BG%s^F3 forfeited"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:458
+#, c-format
+msgid "^BG%s^F3 has no more lives left"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:460
+#, c-format
+msgid "^BG%s^K1 picked up Invisibility"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:461
+#, c-format
+msgid "^BG%s^K1 picked up Shield"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:462
+#, c-format
+msgid "^BG%s^K1 picked up Speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:463
+#, c-format
+msgid "^BG%s^K1 picked up Strength"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:464
+#, c-format
+msgid "^BG%s^F3 disconnected"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:465
+#, c-format
+msgid "^BG%s^F3 was kicked for idling"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:466
+msgid ""
+"^F2You were kicked from the server because you are a spectator and "
+"spectators aren't allowed at the moment."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:467
+#, c-format
+msgid "^BG%s^F3 is now spectating"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:468
+#, c-format
+msgid "^BG%s^BG has abandoned the race"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:469
+#, c-format
+msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:470
+#, c-format
+msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:471
+#, c-format
+msgid "^BG%s^BG has finished the race"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:472
+#, c-format
+msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:473
+#, c-format
+msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:474
+#, c-format
+msgid ""
+"^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
+"and will be lost."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:475
+#, c-format
+msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:476
+msgid "^TC^TT ^BGteam scores!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:477
+#, c-format
+msgid ""
+"^F2You have to become a player within the next %s, otherwise you will be "
+"kicked, because spectating isn't allowed at this time!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:478
+#, c-format
+msgid "^BG%s^K1 picked up a Superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:479
+#, c-format
+msgid ""
+"^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
+"^F2Xonotic %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:480
+#, c-format
+msgid ""
+"^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:481
+#, c-format
+msgid ""
+"^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
+"the update from ^F3http://www.xonotic.org/^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:482
+#, c-format
+msgid "^F3SVQC Build information: ^F4%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:483
+#, c-format
+msgid ""
+"^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:484
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:485
+#, c-format
+msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:486
+#, c-format
+msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:487
+#, c-format
+msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:488
+#, c-format
+msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:489
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:490
+#, c-format
+msgid "^BG%s^K1 played with Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:491
+#, c-format
+msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:492
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:493
+#, c-format
+msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:494
+#, c-format
+msgid "^BG%s^K1 should have used a smaller gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:495
+#, c-format
+msgid "^BG%s^K1 forgot about their firemine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:496
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:497
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:498
+#, c-format
+msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:499
+#, c-format
+msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:500
+#, c-format
+msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:501
+#, c-format
+msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:502
+#, c-format
+msgid ""
+"^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:503
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:504
+#, c-format
+msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:505
+#, c-format
+msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:506
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:507
+#, c-format
+msgid "^BG%s^K1 forgot about their mine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:508
+#, c-format
+msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:509
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:510
+#, c-format
+msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:511
+#, c-format
+msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:512
+#, c-format
+msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:513
+#, c-format
+msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:514
+#, c-format
+msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:515
+#, c-format
+msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:516
+#, c-format
+msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:517
+#, c-format
+msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:518
+#, c-format
+msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:519
+#, c-format
+msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:520
+#, c-format
+msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:521
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:522
+#, c-format
+msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:523
+#, c-format
+msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:524
+#, c-format
+msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:525
+#, c-format
+msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:526
+#, c-format
+msgid "^BG%s^K1 is now thinking with portals%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:527
+#, c-format
+msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:528
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:529
+#, c-format
+msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:530
+#, c-format
+msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:548
+msgid "^BGYou are attacking!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:549
+msgid "^BGYou are defending!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:550
+msgid "^F4Begin!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:551
+msgid "^F4Game starts in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:552
+msgid "^F4Round starts in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:553
+msgid "^F4Round cannot start"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:556
+msgid "^F2Don't camp!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:557
+msgid ""
+"^BGYou are now free.\n"
+"^BGFeel free to ^F2try to capture^BG the flag again\n"
+"^BGif you think you will succeed."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:558
+msgid ""
+"^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."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:559
+msgid "^BGYou captured the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:560
+#, c-format
+msgid "^BGToo many flag throws! Throwing disabled for %s."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:561
+#, c-format
+msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:562
+#, c-format
+msgid "^BGYou received the ^TC^TT^BG flag from %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:563
+#, c-format
+msgid "^BG%s^BG requests you to pass the flag%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:564
+#, c-format
+msgid "^BGRequesting %s^BG to pass you the flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:565
+#, c-format
+msgid "^BGYou passed the ^TC^TT^BG flag to %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:566
+msgid "^BGYou got the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:567
+#, c-format
+msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:568
+#, c-format
+msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:569
+#, c-format
+msgid "^BGYour %steam mate^BG got the flag! Protect them!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:570
+#, c-format
+msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:571
+msgid "^BGYou returned the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:572
+msgid "^BGStalemate! Enemies can now see you on radar!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:573
+msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:574
+#, c-format
+msgid "^K3%sYou fragged ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:574
+#, c-format
+msgid "^K3%sYou scored against ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:575
+#, c-format
+msgid "^K1%sYou were fragged by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:575
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:576
+#, c-format
+msgid "^K1%sYou were fragged by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:576
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:577
+#, c-format
+msgid "^K3%sYou fragged ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:577
+#, c-format
+msgid "^K3%sYou scored against ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:578
+#, c-format
+msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:578
+#, c-format
+msgid "^K1%sYou typefragged ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:579
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:579
+#, c-format
+msgid "^K1%sYou were typefragged by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:580
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:580
+#, c-format
+msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:581
+#, c-format
+msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:581
+#, c-format
+msgid "^K1%sYou typefragged ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:582
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:583
+#, c-format
+msgid ""
+"^BGYou have been moved into a different team\n"
+"You are now on: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:584
+msgid "^K1Don't go against your team mates!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:584
+msgid "^K1Don't shoot your team mates!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:585
+msgid "^K1Die camper!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:585
+msgid "^K1Reconsider your tactics, camper!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:586
+msgid "^K1You unfairly eliminated yourself!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:587
+#, c-format
+msgid "^K1You were %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:588
+msgid "^K1You couldn't catch your breath!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:589
+msgid "^K1You hit the ground with a crunch!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:590
+msgid "^K1You felt a little too hot!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:590
+msgid "^K1You got a little bit too crispy!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:591
+msgid "^K1You killed your own dumb self!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:591
+msgid "^K1You need to be more careful!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:592
+msgid "^K1You couldn't stand the heat!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
+msgid "^K1Tastes like chicken!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
+msgid "^K1You forgot to put the pin back in!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:595
+msgid "^K1You are respawning for running out of ammo..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:595
+msgid "^K1You were killed for running out of ammo..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:596
+msgid "^K1You grew too old without taking your medicine"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:596
+msgid "^K1You need to preserve your health"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:597
+msgid "^K1You became a shooting star!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:598
+msgid "^K1You melted away in slime!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:599
+msgid "^K1You committed suicide!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:599
+msgid "^K1You ended it all!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:600
+msgid "^K1You got stuck in a swamp!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:601
+#, c-format
+msgid "^BGYou are now on: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:602
+msgid "^K1You died in an accident!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:603
+msgid "^K1You had an unfortunate run in with a turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:603
+msgid "^K1You were fragged by a turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:604
+msgid "^K1You had an unfortunate run in with an eWheel turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:604
+msgid "^K1You were fragged by an eWheel turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:605
+msgid "^K1You had an unfortunate run in with a Walker turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:605
+msgid "^K1You were fragged by a Walker turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:606
+msgid "^K1You got caught in the blast of a Bumblebee explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:607
+msgid "^K1You were crushed by a vehicle!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:608
+msgid "^K1You were caught in a Raptor cluster bomb!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:609
+msgid "^K1You got caught in the blast of a Raptor explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:610
+msgid "^K1You got caught in the blast of a Spiderbot explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:611
+msgid "^K1You were blasted to bits by a Spiderbot rocket!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:612
+msgid "^K1You got caught in the blast of a Racer explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:613
+msgid "^K1You couldn't find shelter from a Racer rocket!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:614
+msgid "^K1Watch your step!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:615
+#, c-format
+msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:615
+#, c-format
+msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:616
+#, c-format
+msgid "^K1You were fragged by ^BG%s^K1, a team mate"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:616
+#, c-format
+msgid "^K1You were scored against by ^BG%s^K1, a team mate"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:617
+msgid ""
+"^K1Stop idling!\n"
+"^BGDisconnecting in ^COUNT..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:618
+msgid "^F2You picked up some extra lives"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:619
+#, c-format
+msgid "^K3You froze ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:620
+#, c-format
+msgid "^K1You were frozen by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:621
+#, c-format
+msgid "^K3You revived ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:622
+msgid "^K3You revived yourself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:623
+#, c-format
+msgid "^K3You were revived by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:624
+#, c-format
+msgid "^K3You were automatically revived after %s second(s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:627
+msgid "^K1You froze yourself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:628
+msgid "^K1Round already started, you spawn as frozen"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:636
+msgid ""
+"^K1No spawnpoints available!\n"
+"Hope your team can fix it..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:637
+msgid ""
+"^K1You may not join the game at this time.\n"
+"The player limit reached maximum capacity."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
+msgid "^BGKilling people while you don't have the ball gives no points!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:642
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Help the key carriers to meet!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:643
+msgid ""
+"^BGAll keys are in ^TC^TT team^BG's hands!\n"
+"Interfere ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:644
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Meet the other key carriers ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:645
+msgid "^F4Round will start in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:646
+msgid "^BGScanning frequency range..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:647
+msgid "^BGYou are starting with the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
+#, c-format
+msgid ""
+"^BGWaiting for players to join...\n"
+"Need active players for: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:650
+#, c-format
+msgid "^BGWaiting for %s player(s) to join..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:651
+msgid "^F4^COUNT^BG left to find some ammo!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:653
+#, c-format
+msgid "^F2Extra lives remaining: ^K1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:654
+msgid "^BGSecondary fire inflicts no damage!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:655
+#, c-format
+msgid "^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:656
+#, c-format
+msgid ""
+"^F2^COUNT^BG until weapon change...\n"
+"Next weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:657
+#, c-format
+msgid "^F2Active weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:658
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep fragging until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep scoring until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:660
+#, c-format
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"^BGAdded ^F4%s^BG to the game!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:661
+msgid "^F2Invisibility has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:662
+msgid "^F2Shield has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:663
+msgid "^F2Speed has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:664
+msgid "^F2Strength has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:665
+msgid "^F2You are invisible"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:666
+msgid "^F2Shield surrounds you"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:667
+msgid "^F2You are on speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:668
+msgid "^F2Strength infuses your weapons with devastating power"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:669
+msgid "^F2The race is over, finish your lap!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:670
+msgid "^F2Superweapons have broken down"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:671
+msgid "^F2Superweapons have been lost"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:672
+msgid "^F2You now have a superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:673
+msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:674
+msgid "^K1Changing team in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:675
+msgid "^K1Spectating in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:676
+msgid "^K1Suicide in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:677
+msgid "^F4Timeout begins in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:678
+msgid "^F4Timeout ends in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
+#, c-format
+msgid " (near %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
+msgid "primary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
+msgid "secondary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:980
+#, c-format
+msgid " ^F1(Press %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:989
+#, c-format
+msgid " with %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+msgid "TRIPLE FRAG! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 unlocked RAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+msgid "RAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 started a MASSACRE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+msgid "MASSACRE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 executed MAYHEM! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+msgid "MAYHEM! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 is a BERSERKER! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+msgid "BERSERKER! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 inflicts CARNAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+msgid "CARNAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+#, c-format
+msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+#, c-format
+msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+msgid "ARMAGEDDON! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1010
+#, c-format
+msgid "%s(^F1Bot^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1012
+#, c-format
+msgid "%s(Ping ^F1%d^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1018
+#, c-format
+msgid ""
+"\n"
+"(Health ^1%d^BG / Armor ^2%d^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1020
+#, c-format
+msgid ""
+"\n"
+"(^F4Dead^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
+#, c-format
+msgid "%d score spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1069
+#, c-format
+msgid "%d frag spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1082
+msgid "First blood! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1082
+msgid "First score! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1086
+msgid "First casualty! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1086
+msgid "First victim! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1127
+#, c-format
+msgid "%s^K1 has %d frags in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1128
+#, c-format
+msgid "%s^K1 made %d scores in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1146
+#, c-format
+msgid "%s^K1 drew first blood! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1147
+#, c-format
+msgid "%s^K1 got the first score! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1163
+#, c-format
+msgid ", ending their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1164
+#, c-format
+msgid ", ending their %d score spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1178
+#, c-format
+msgid ", losing their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1179
+#, c-format
+msgid ", losing their %d score spree"
+msgstr ""
+
+#: qcsrc/common/teams.qh:26
+msgid "Red"
+msgstr ""
+
+#: qcsrc/common/teams.qh:27
+msgid "Blue"
+msgstr ""
+
+#: qcsrc/common/teams.qh:28
+msgid "Yellow"
+msgstr ""
+
+#: qcsrc/common/teams.qh:29
+msgid "Pink"
+msgstr ""
+
+#: qcsrc/common/teams.qh:30
+msgid "Team"
+msgstr ""
+
+#: qcsrc/common/teams.qh:31
+msgid "Neutral"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:35
+msgid "Usage: menu_cmd command..., where possible commands are:\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:36
+msgid "  sync - reloads all cvars on the current menu page\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:37
+msgid "  directmenu ITEM - select a menu item as main item\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:68
+msgid "Available options:\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:119
+msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
+msgstr ""
+
+#: qcsrc/menu/item/label.c:82
+#, c-format
+msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
+msgstr ""
+
+#: qcsrc/menu/item/listbox.c:382
+#, c-format
+msgid "Item %d"
+msgstr ""
+
+#: qcsrc/menu/item/slider.c:64
+#, c-format
+msgid "%d (%s)"
+msgstr ""
+
+#: qcsrc/menu/item/textslider.c:31 qcsrc/menu/item/textslider.c:33
+msgid "custom"
+msgstr ""
+
+#: qcsrc/menu/menu.qc:59
+#, c-format
+msgid "^4MQC Build information: ^1%s\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/campaign.c:286
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:123
+msgid "???"
+msgstr ""
+
+#: qcsrc/menu/xonotic/campaign.c:287
+#, c-format
+msgid "Level %d: %s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
+msgid "will not be saved"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
+msgid "private"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:95
+msgid "engine setting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:97
+msgid "read only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_credits.c:5
+msgid "Credits"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:99
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
+msgid "OK"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:4
+msgid "Welcome"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+msgid ""
+"Welcome to Xonotic, please select your language preference and enter your "
+"player name to get started.  You can change these options later through the "
+"menu system."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
+msgid "Name:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
+#: qcsrc/menu/xonotic/dialog_settings_user.c:65
+msgid "Text language:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+msgid "ALWU2N^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
+msgid "ALWU2N^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
+msgid "ALWU2N^Undecided"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
+msgid "Save settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:4
+msgid "Ammo Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:23
+msgid "Ammunition display:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:26
+msgid "Show only current ammo type"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:29
+msgid "Align icon:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:30
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:37
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:29
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:41
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:29
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:41
+msgid "Left"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:39
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:42
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:42
+msgid "Right"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:4
+msgid "Centerprint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:24
+msgid "Message duration:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:28
+msgid "Fade time:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:32
+msgid "Flip messages order"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:34
+msgid "Text alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:38
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:51
+msgid "Center"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:42
+msgid "Font scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4
+msgid "Chat Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:23
+msgid "Chat entries:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:26
+msgid "Chat size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:30
+msgid "Chat lifetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:34
+msgid "Chat beep sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:4
+msgid "Engine Info Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:23
+msgid "Engine info:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:26
+msgid "Use an averaging algorithm for fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:4
+msgid "Health/Armor Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:23
+msgid "Enable status bar"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:25
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:25
+msgid "Status bar alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:33
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:43
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:33
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:43
+msgid "Inward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:35
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:44
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:35
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:44
+msgid "Outward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:38
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:38
+msgid "Icon alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:46
+msgid "Flip health and armor positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:4
+msgid "Info Messages Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:23
+msgid "Info messages:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:26
+msgid "Flip align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_modicons.c:4
+msgid "Mod Icons Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:4
+msgid "Notification Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:23
+msgid "Notifications:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:26
+msgid "Also print notifications to the console"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:29
+msgid "Flip notify order"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:32
+msgid "Entry lifetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:36
+msgid "Entry fadetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:4
+msgid "Physics Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:22
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:22
+msgid "Panel disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:24
+msgid "Panel enabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:25
+msgid "Panel enabled even observing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:26
+msgid "Panel enabled only in Race/CTS"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:32
+msgid "Status bar"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:34
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:49
+msgid "Left align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:35
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:53
+msgid "Right align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:36
+msgid "Inward align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:37
+msgid "Outward align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:41
+msgid "Flip speed/acceleration positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:45
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:29
+msgid "Speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:46
+msgid "Include vertical speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:57
+msgid "Speed unit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:59
+msgid "qu/s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:60
+msgid "m/s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:61
+msgid "km/h"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:62
+msgid "mph"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:63
+msgid "knots"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:65
+msgid "Show"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:68
+msgid "Top speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:74
+msgid "Acceleration:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:75
+msgid "Include vertical acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4
+msgid "Powerups Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:46
+msgid "Flip strength and shield positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:4
+msgid "Pressed Keys Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:23
+msgid "Panel enabled when spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:24
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:24
+msgid "Panel always enabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:31
+msgid "Forced aspect:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_racetimer.c:4
+msgid "Race Timer Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:4
+msgid "Radar Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:23
+msgid "Panel enabled in teamgames"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:30
+msgid "Radar:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:33
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
+#: qcsrc/menu/xonotic/util.qc:758
+msgid "Alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:37
+msgid "Rotation:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:39
+msgid "Forward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:40
+msgid "West"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:41
+msgid "South"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:42
+msgid "East"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:43
+msgid "North"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:47
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:63
+msgid "Scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:51
+msgid "Zoom mode:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:53
+msgid "Zoomed in"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:54
+msgid "Zoomed out"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:55
+msgid "Always zoomed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:56
+msgid "Never zoomed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:4
+msgid "Score Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:23
+msgid "Score:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
+msgid "Rankings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:27
+msgid "Off"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
+msgid "And me"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:29
+msgid "Pure"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
+msgid "Timer Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:23
+msgid "Timer:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:26
+msgid "Show elapsed time"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:4
+msgid "Vote Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:23
+msgid "Alpha after voting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:4
+msgid "Weapons Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:25
+msgid "Fade out after:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:27
+msgid "Never"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:29
+#, c-format
+msgid "%ds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:33
+msgid "Fade effect:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:36
+msgid "EF^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:37
+msgid "Alpha"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:38
+msgid "Slide"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:39
+msgid "EF^Both"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:43
+msgid "Weapon icons:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46
+msgid "Show only owned weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49
+msgid "Show weapon ID as:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50
+msgid "SHOWAS^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51
+msgid "Number"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52
+msgid "Bind"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55
+msgid "Show Accuracy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:56
+msgid "Show Ammo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:59
+msgid "Ammo bar color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:65
+msgid "Ammo bar alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:4
+msgid "Panel HUD Setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:22
+msgid "Panel background defaults:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
+msgid "Background:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
+msgid "Disable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
+msgid "Color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
+msgid "Border size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:51
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:90
+msgid "Team color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
+msgid "Test team color in configure mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
+msgid "Padding:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:69
+msgid "HUD Dock:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:71
+msgid "DOCK^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:72
+msgid "DOCK^Small"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:73
+msgid "DOCK^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:74
+msgid "DOCK^Large"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:97
+msgid "Grid settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:100
+msgid "Snap panels to grid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:103
+msgid "Grid size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:104
+msgid "X:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:110
+msgid "Y:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:118
+msgid "Exit setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:4
+msgid "Multiplayer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:18
+msgid "Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:19
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:5
+msgid "Create"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:20
+msgid "Demos"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:21
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:5
+msgid "Player Setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:34
+msgid "Game type:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48
+msgid "Time limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:52
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:60
+msgid "Use map specified default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:55
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:155
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+msgid "Point limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63
+msgid "Player slots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66
+msgid "Number of bots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69
+msgid "Bot skill:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72
+msgid "Botlike"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73
+msgid "Beginner"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74
+msgid "You will win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75
+msgid "You can win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76
+msgid "You might win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77
+msgid "Advanced"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78
+msgid "Expert"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79
+msgid "Pro"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80
+msgid "Assassin"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81
+msgid "Unhuman"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82
+msgid "Godlike"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87
+msgid "Mutators..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
+msgid "Advanced settings..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103
+msgid "Map list:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109
+msgid "Select all"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112
+msgid "Select none"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118
+msgid "Start Multiplayer!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153
+msgid "Capture limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:156
+msgid "Lives:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157
+msgid "Laps:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158
+msgid "Goals:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
+msgid "Frag limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:6
+msgid "Advanced server settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:25
+msgid "Game settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:28
+msgid "Allow spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:31
+msgid "Spawn shield:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:36
+msgid "Game speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:40
+msgid "Teamplay settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:43
+msgid "Friendly fire scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:47
+msgid "Virtual friendly fire (effect only)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:50
+msgid "Friendly fire penalty:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:54
+msgid "Virtual penalty (effect only)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:57
+msgid "Teams:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:66
+msgid "Map voting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:68
+msgid "No voting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:69
+msgid "2 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:70
+msgid "3 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:71
+msgid "4 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:72
+msgid "5 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:73
+msgid "6 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:74
+msgid "7 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:75
+msgid "8 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:76
+msgid "9 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:79
+msgid "Simple majority wins vcall"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:5
+msgid "Map Information"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "Full item placement"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "MinstaGib only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81
+msgid "Title:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:87
+msgid "Author:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:93
+msgid "Features:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98
+msgid "Game types:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:328
+msgid "Close"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124
+msgid "MAP^Play"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:7
+msgid "Mutators"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:33
+msgid "All Weapons Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:35
+msgid "Most Weapons Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:56
+#, c-format
+msgid "%s Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:68
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:162
+msgid "Dodging"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:70
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:254
+msgid "MinstaGib"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:72
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:208
+msgid "New Toys"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:74
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:258
+msgid "NIX"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:76
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:212
+msgid "Rocket Flying"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:78
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204
+msgid "Invincible Projectiles"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:266
+msgid "No start weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:189
+msgid "Low gravity"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:168
+msgid "Cloaked"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:90
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:171
+msgid "Midair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:92
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:174
+msgid "Vampire"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:94
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:216
+msgid "Piñata"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:96
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:220
+msgid "Weapons stay"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:179
+msgid "Blood loss"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:100
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201
+msgid "Jet pack"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:102
+msgid "No powerups"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104
+msgid "Powerups"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:106
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:165
+msgid "Touch explode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:108
+msgid "MUT^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:159
+msgid "Gameplay mutators:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:195
+msgid "Weapon & item mutators:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:198
+msgid "Grappling hook"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:225
+msgid "Regular (no arena)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:227
+msgid "Weapon arenas:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:244
+msgid "Most weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:248
+msgid "All weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:251
+msgid "Special arenas:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:262
+msgid "with laser"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:4
+msgid "Demo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:26
+msgid "Automatically record demos while playing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:29
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:28
+msgid "Filter:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:40
+msgid "Timedemo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43
+msgid "DEMO^Play"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:4
+msgid "Join"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
+msgid "SRVS^Empty"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
+msgid "SRVS^Full"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
+msgid "Pause"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
+msgid "Address:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
+msgid "Info..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
+msgid "Join!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:5
+msgid "Server Information"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:174
+#, c-format
+msgid "%d/%d"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
+msgid "Default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
+#, c-format
+msgid "%d modified"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
+msgid "Official"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:201
+msgid "N/A (auth library missing, can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:203
+msgid "N/A (auth library missing)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:209
+msgid "Not supported (can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211
+msgid "Not supported (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:215
+msgid "Supported (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217
+msgid "Supported (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:221
+msgid "Requested (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223
+msgid "Requested (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:227
+msgid "Required (can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:229
+msgid "Required (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:249
+msgid "Hostname:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:263
+msgid "Gametype:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:268
+msgid "Map:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:273
+msgid "Mod:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:278
+msgid "Version:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:283
+msgid "Settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:322
+msgid "Players:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:295
+msgid "Bots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:300
+msgid "Free slots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:306
+msgid "Encryption:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:311
+msgid "ID:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:316
+msgid "Key:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:61
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:20
+msgid "Model:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:73
+msgid "Glowing color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:82
+msgid "Detail color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93
+msgid "No crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:95
+msgid "Per weapon crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:98
+msgid "Custom crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117
+msgid "Crosshair size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:122
+msgid "Crosshair alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:128
+msgid "Crosshair color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130
+msgid "Per weapon"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:132
+msgid "By health"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:136
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:47
+msgid "Custom"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:144
+msgid "Other crosshair settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:152
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6
+msgid "Model settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6
+msgid "View settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:164
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6
+msgid "Weapon settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:174
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6
+msgid "HUD settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:180
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:164
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:200
+#: qcsrc/menu/xonotic/dialog_settings_input.c:90
+#: qcsrc/menu/xonotic/dialog_settings_user.c:88
+#: qcsrc/menu/xonotic/dialog_settings_video.c:143
+msgid "Apply immediately"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6
+msgid "Crosshair settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28
+msgid "Enable center crosshair dot"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31
+msgid "Dot size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36
+msgid "Dot alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41
+msgid "Dot color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43
+msgid "Use normal crosshair color"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54
+msgid "Crosshair animations:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57
+msgid "Smooth effects of crosshairs"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61
+msgid "Use rings to indicate weapon status"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67
+msgid "Hit testing:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69
+msgid "HTTST^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70
+msgid "HTTST^TrueAim"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71
+msgid "HTTST^Enemies"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76
+msgid "Blur crosshair if the shot is obstructed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81
+msgid "Animate when hitting an enemy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85
+msgid "Animate when picking up an item"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40
+msgid "Damage:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43
+msgid "Overlay:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:47
+msgid "Factor:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:53
+msgid "Fade rate:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:60
+msgid "Waypoints"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:75
+msgid "Edge offset:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83
+msgid "Show names above players"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:86
+msgid "Only when near crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:89
+msgid "Display health and armor"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:93
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:4
+msgid "Enter HUD editor"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:28
+msgid "In order for the HUD editor to show, you must first be in game."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30
+msgid "Do you wish to start a local game to set up the HUD?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33
+msgid "HDCNFRM^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36
+msgid "HDCNFRM^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28
+msgid "Body fading:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31
+msgid "Gibs:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33
+msgid "GIBS^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34
+msgid "GIBS^Few"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35
+msgid "GIBS^Many"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36
+msgid "GIBS^Lots"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:41
+msgid "Force player models to mine"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:43
+msgid "Force player colors to mine"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28
+msgid "Field of view:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31
+msgid "Zoom:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33
+msgid "RETICLE^Fullscreen"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34
+msgid "RETICLE^With reticle"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38
+msgid "ZOOM^Factor:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42
+msgid "ZOOM^Speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52
+msgid "ZOOM^Instant"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56
+msgid "ZOOM^Sensitivity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59
+msgid "Velocity zoom:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61
+msgid "VZOOM^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62
+msgid "VZOOM^Forward only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63
+msgid "VZOOM^All directions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67
+msgid "VZOOM^Speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72
+msgid "Allow passing through walls while spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75
+msgid "1st person perspective"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79
+msgid "Smooth the view when landing from a jump"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83
+msgid "Smooth the view while crouching"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87
+msgid "View waving while idle"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91
+msgid "View bobbing while walking around"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96
+msgid "3rd person perspective"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100
+msgid "Back distance"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106
+msgid "Up distance"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29
+msgid "Weapon priority list:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33
+msgid "Up"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36
+msgid "Down"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41
+msgid "Use priority list for weapon cycling"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43
+msgid "Auto switch weapons on pickup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:46
+msgid "Draw 1st person weapon model"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:58
+msgid "Gun model swaying"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63
+msgid "Gun model bobbing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:4
+msgid "Quit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:18
+msgid "Are you sure you want to quit?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:21
+msgid "Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:22
+msgid "No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:4
+msgid "Sandbox Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
+msgid "Remove *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28
+msgid "Copy *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:29
+msgid "Paste"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:31
+msgid "Bone:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:36
+msgid "Set * as child"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:37
+msgid "Attach to *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:39
+msgid "Detach from *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:42
+msgid "Visual object properties for *:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
+msgid "Set alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:49
+msgid "Set color main:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:51
+msgid "Set color glow:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:55
+msgid "Set frame:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:59
+msgid "Physical object properties for *:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:61
+msgid "Set material:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:67
+msgid "Set solidity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:68
+msgid "Non-solid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:69
+msgid "Solid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:70
+msgid "Set physics:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:71
+msgid "Static"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:72
+msgid "Movable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:73
+msgid "Physical"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:75
+msgid "Set scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:77
+msgid "Set force:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:81
+msgid "Claim *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:83
+msgid "* object info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:84
+msgid "* mesh info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:85
+msgid "* attachment info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:86
+msgid "Show help"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:87
+msgid "* is the object you are facing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:4
+msgid "Settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:18
+#: qcsrc/menu/xonotic/dialog_settings_input.c:4
+msgid "Input"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:19
+#: qcsrc/menu/xonotic/dialog_settings_video.c:4
+msgid "Video"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:20
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:4
+msgid "Effects"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:21
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:4
+msgid "Audio"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:22
+#: qcsrc/menu/xonotic/dialog_settings_user.c:4
+msgid "User"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:23
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:4
+msgid "Misc"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:27
+msgid "Master:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:33
+msgid "Music:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:41
+msgid "VOL^Ambient:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:48
+msgid "Info:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:55
+msgid "Items:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:62
+msgid "Pain:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:69
+msgid "Player:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:76
+msgid "Shots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:83
+msgid "Voice:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:91
+msgid "Weapons:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:97
+msgid "New style sound attenuation"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:99
+msgid "Mute sounds when not active"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:102
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:156
+msgid "Frequency:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:104
+msgid "8 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:105
+msgid "11.025 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:106
+msgid "16 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:107
+msgid "22.05 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:108
+msgid "24 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:109
+msgid "32 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:110
+msgid "44.1 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:111
+msgid "48 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:114
+msgid "Channels:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:116
+msgid "Mono"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:117
+msgid "Stereo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:118
+msgid "2.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:119
+msgid "4"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:120
+msgid "5"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:121
+msgid "5.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:122
+msgid "6.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:123
+msgid "7.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:126
+msgid "Swap Stereo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:128
+msgid "Headphone friendly mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:132
+msgid "Hit indication sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:134
+msgid "Chat message sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:136
+msgid "Menu sounds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:139
+msgid "Time announcer:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:141
+msgid "WRN^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:142
+msgid "1 minute"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:143
+msgid "5 minutes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:144
+msgid "WRN^Both"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:151
+msgid "Automatic taunts"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:161
+msgid "Debug info about sounds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:38
+msgid "Quality preset:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:41
+msgid "PRE^OMG!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:42
+msgid "PRE^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:43
+msgid "PRE^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:44
+msgid "PRE^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:45
+msgid "PRE^High"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:46
+msgid "PRE^Ultra"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:48
+msgid "PRE^Ultimate"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:52
+msgid "Geometry detail:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:54
+msgid "DET^Lowest"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:55
+msgid "DET^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:56
+msgid "DET^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:57
+msgid "DET^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:58
+msgid "DET^Best"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:59
+msgid "DET^Insane"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:62
+msgid "Player detail:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:65
+msgid "Texture resolution:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:69
+msgid "RES^Leet"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:70
+msgid "RES^Lowest"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:71
+msgid "RES^Very low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:72
+msgid "RES^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:73
+msgid "RES^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:74
+msgid "RES^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:75
+msgid "RES^Best"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:87
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:91
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:95
+msgid "Avoid lossy texture compression"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:105
+msgid "Show surfaces"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:108
+msgid "Use lightmaps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:109
+msgid "Deluxe mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:111
+msgid "Gloss"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:114
+msgid "Offset mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:116
+msgid "Relief mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:119
+msgid "Reflections:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:122
+msgid "Blurred"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:123
+msgid "REFL^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:124
+msgid "Sharp"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:129
+msgid "Particles quality:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:132
+msgid "Particles distance:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:135
+msgid "Damage effects:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:137
+msgid "DMGPRTCLS^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:138
+msgid "DMGPRTCLS^Skeletal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:139
+msgid "DMGPRTCLS^All"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:142
+msgid "Particle effects for spawnpoints"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:146
+msgid "No dynamic lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:148
+msgid "Fake corona lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:151
+msgid "Realtime dynamic lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:153
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:157
+msgid "Shadows"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:156
+msgid "Realtime world lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:161
+msgid "Use normal maps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:163
+msgid "Soft shadows"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:167
+msgid "Fade corona according to visibility"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:171
+msgid "Bloom"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:172
+msgid "Extra postprocessing effects"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:177
+msgid "Motion blur:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:183
+msgid "Decals"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:184
+msgid "Decals on models"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:188
+msgid "Distance:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:194
+msgid "Time:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:26
+msgid "Key bindings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:30
+msgid "Change key..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:34
+msgid "Edit..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:40
+msgid "Clear"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:46
+msgid "Pressing \"enter console\" key also closes it"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:48
+msgid "Automatically repeat jumping if holding jump"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:52
+#: qcsrc/menu/xonotic/dialog_settings_input.c:54
+#: qcsrc/menu/xonotic/dialog_settings_input.c:57
+msgid "Use joystick input"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:62
+msgid "Mouse:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:65
+msgid "Sensitivity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:69
+msgid "Smooth aiming"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:72
+msgid "Invert aiming"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:76
+#: qcsrc/menu/xonotic/dialog_settings_input.c:78
+#: qcsrc/menu/xonotic/dialog_settings_input.c:81
+msgid "Disable system mouse acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:86
+msgid "Enable built in mouse acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5
+msgid "User defined key bind"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:42
+msgid "Command when pressed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:45
+msgid "Command when released:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:48
+msgid "Save"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:51
+msgid "Cancel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:26
+msgid "Network:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:31
+msgid "56k"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:32
+msgid "ISDN"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:33
+msgid "Slow ADSL"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:34
+msgid "Fast ADSL"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:35
+msgid "Broadband"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:39
+msgid "Input packets/s:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:45
+msgid "Local latency:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:50
+msgid "Client UDP port:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "Use encryption (AES) when available"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+msgid "Show netgraph"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
+msgid "Client-side movement prediction"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+msgid "Movement error compensation"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
+msgid "Downloads:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+msgid "Maximum:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
+msgid "Speed (kB/s):"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
+msgid "Framerate:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+msgid "MAXFPS^5 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+msgid "MAXFPS^10 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+msgid "MAXFPS^20 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+msgid "MAXFPS^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+msgid "MAXFPS^40 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+msgid "MAXFPS^50 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+msgid "MAXFPS^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+msgid "MAXFPS^70 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
+msgid "MAXFPS^100 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
+msgid "MAXFPS^125 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
+msgid "MAXFPS^200 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+msgid "MAXFPS^Unlimited"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+msgid "Target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+msgid "TRGT^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+msgid "TRGT^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+msgid "TRGT^40 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+msgid "TRGT^50 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
+msgid "TRGT^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
+msgid "TRGT^100 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
+msgid "TRGT^125 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+msgid "TRGT^200 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+msgid "Idle limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+msgid "IDLFPS^10 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
+msgid "IDLFPS^20 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
+msgid "IDLFPS^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
+msgid "IDLFPS^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
+msgid "IDLFPS^Unlimited"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
+msgid "Show frames per second"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+msgid "Save processing time for other apps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+msgid "Menu tooltips:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
+msgid "TLTIP^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
+msgid "TLTIP^Standard"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+msgid "TLTIP^Advanced"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+msgid "Show current time"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
+msgid "Show current date"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+msgid "Enable developer mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5
+msgid "Advanced settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:32
+msgid "Cvar filter:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:45
+msgid "Setting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:49
+msgid "Type:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:53
+msgid "Value:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
+msgid "Description:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:27
+msgid "Menu skins:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:31
+msgid "Set skin"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:74
+msgid "Set language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:79
+msgid "Disable gore effects and harsh language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:82
+msgid "Allow player statistics to track your client"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:84
+msgid "Allow player statistics to use your nickname"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:26
+msgid "Resolution:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:29
+msgid "Font/UI size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:31
+msgid "SZ^Unreadable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:32
+msgid "SZ^Tiny"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:33
+msgid "SZ^Little"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:34
+msgid "SZ^Small"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:35
+msgid "SZ^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:36
+msgid "SZ^Large"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:37
+msgid "SZ^Huge"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:38
+msgid "SZ^Gigantic"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:39
+msgid "SZ^Colossal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:42
+msgid "Color depth:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:44
+msgid "16bit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:45
+msgid "32bit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:48
+msgid "Full screen"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:49
+msgid "Vertical Synchronization"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:53
+msgid "Anisotropy:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:55
+msgid "ANISO^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:56
+#: qcsrc/menu/xonotic/dialog_settings_video.c:66
+msgid "2x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:57
+#: qcsrc/menu/xonotic/dialog_settings_video.c:67
+msgid "4x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:58
+msgid "8x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:59
+msgid "16x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:62
+msgid "Antialiasing:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:65
+msgid "AA^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:71
+msgid "High-quality frame buffer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:76
+msgid "Depth first:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:78
+msgid "DF^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:79
+msgid "DF^World"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:80
+msgid "DF^All"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:83
+msgid "Vertex Buffer Objects (VBOs)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:86
+msgid "VBO^Off"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:87
+msgid "Vertices, some Tris (compatible)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:90
+msgid "Vertices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:91
+msgid "Vertices and Triangles"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:94
+msgid "Brightness:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:97
+msgid "Contrast:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:100
+msgid "Gamma:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:105
+msgid "Contrast boost:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:110
+msgid "Saturation:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:116
+msgid "LIT^Ambient:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:119
+msgid "Intensity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:123
+msgid "Wait for GPU to finish each frame"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:125
+msgid "Use OpenGL 2.0 shaders (GLSL)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:128
+msgid "Use GLSL to handle color control"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:133
+msgid "Psycho coloring (easter egg)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:136
+msgid "Trippy vertices (easter egg)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:139
+msgid "Flip view horizontally"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:4
+msgid "Singleplayer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:116
+msgid "Instant action! (random map with bots)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:137
+msgid "Campaign Difficulty:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:138
+msgid "CSKL^Easy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:139
+msgid "CSKL^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:140
+msgid "CSKL^Hard"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:142
+msgid "Start Singleplayer!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:4
+msgid "Winner"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:5
+msgid "Team Selection"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:42
+msgid "join 'best' team (auto-select)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:46
+msgid "red"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:47
+msgid "blue"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:48
+msgid "yellow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:49
+msgid "pink"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:52
+msgid "spectate"
+msgstr ""
+
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
+msgid "Do not press this button again!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:280
+msgid ""
+"Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:288
+#, c-format
+msgid "%s's Xonotic Server"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:293
+msgid ""
+"Huh? Can't play this (invalid game type). Refiltering so this won't happen "
+"again.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128
+msgid "spectator"
+msgstr ""
+
+#: qcsrc/menu/xonotic/playermodel.c:177
+msgid "<no model found>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:923
+msgid "Ping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:924
+msgid "Host name"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:925
+msgid "Map"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:926
+msgid "Type"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:927
+msgid "Players"
+msgstr ""
+
+#: qcsrc/menu/xonotic/skinlist.c:105
+msgid "<TITLE>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/skinlist.c:106
+msgid "<AUTHOR>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:77
+msgid "VOL^MAX"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:79
+msgid "VOL^OFF"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:81
+#, c-format
+msgid "%d %%"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:83
+#, c-format
+msgid "%.1f"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:85
+#, c-format
+msgid "%.2f %%"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:87
+#, c-format
+msgid "%s dB"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_resolution.c:116
+#, c-format
+msgid "%dx%d (%d:%d)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_resolution.c:119
+#, c-format
+msgid "%dx%d"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:308
+#, c-format
+msgid "error receiving update notification: status is %d\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:313
+msgid "error: received HTML instead of an update notification\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:318
+msgid "error: received carriage returns from update notification server\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:397
+#, c-format
+msgid ""
+"Update can be downloaded at:\n"
+"%s\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:497
+msgid "Autogenerating mapinfo for newly added maps..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:526
+#, c-format
+msgid "^1%s TEST BUILD"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:541
+#, c-format
+msgid "Update to %s now!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:626
+msgid ""
+"^1ERROR: Texture compression is required but not supported.\n"
+"^1Expect visual problems.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:746
+msgid "Use default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:766
+msgid "Team Color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qh:43
+msgid "Enable panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/weaponslist.c:102
+#, c-format
+msgid "%s (mutator weapon)"
+msgstr ""
+
+#: qcsrc/server/w_hlac.qc:11
+msgid "Heavy Laser Assault Cannon"
+msgstr ""
+
+#: qcsrc/server/w_hook.qc:11
+msgid "Grappling Hook"
+msgstr ""
+
+#: qcsrc/server/w_minstanex.qc:11
+msgid "MinstaNex"
+msgstr ""
+
+#: qcsrc/server/w_seeker.qc:11
+msgid "T.A.G. Seeker"
+msgstr ""
+
+#: qcsrc/server/w_tuba.qc:12
+#, no-c-format
+msgid "@!#%'n Tuba"
+msgstr ""
diff --git a/common.cs.po b/common.cs.po
new file mode 100644 (file)
index 0000000..639a440
--- /dev/null
@@ -0,0 +1,6284 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Xonotic\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
+"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"Language-Team: Czech (http://www.transifex.com/projects/p/xonotic/language/"
+"cs/)\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: qcsrc/client/Main.qc:21
+msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!"
+msgstr ""
+
+#: qcsrc/client/Main.qc:46
+msgid ""
+"^3Your engine build is outdated\n"
+"^3This Server uses a newer QC VM. Please update!\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:56
+#, c-format
+msgid "^4CSQC Build information: ^1%s\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:836
+#, c-format
+msgid ""
+"Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
+"%s)\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:1295
+#, c-format
+msgid "%s (not bound)"
+msgstr ""
+
+#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:157
+#, c-format
+msgid "%s (%s)"
+msgstr ""
+
+#: qcsrc/client/View.qc:1165
+msgid "Revival progress"
+msgstr ""
+
+#: qcsrc/client/hud.qc:186
+#, c-format
+msgid " (-%dL)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:191
+#, c-format
+msgid " (+%dL)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:210
+msgid "Start line"
+msgstr ""
+
+#: qcsrc/client/hud.qc:212 qcsrc/client/hud.qc:216
+msgid "Finish line"
+msgstr ""
+
+#: qcsrc/client/hud.qc:214
+#, c-format
+msgid "Intermediate %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:223
+#, c-format
+msgid "%s (%s %s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:832
+msgid "Out of ammo"
+msgstr ""
+
+#: qcsrc/client/hud.qc:836
+msgid "Don't have"
+msgstr ""
+
+#: qcsrc/client/hud.qc:840
+msgid "Unavailable"
+msgstr ""
+
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
+#, c-format
+msgid "Player %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2369
+msgid "^1Intermediate 1 (+15.42)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
+#, c-format
+msgid "^1PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2456
+#, c-format
+msgid "^2PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2486
+msgid "^1You must answer before entering hud configure mode\n"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2491
+msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2570
+msgid "A vote has been called for:"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2572
+msgid "Allow servers to store and display your name?"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2576
+msgid "^1Configure the HUD"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2580
+#, c-format
+msgid "Yes (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2582
+#, c-format
+msgid "No (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
+msgid "Personal best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
+msgid "Server best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3528
+msgid "^3Player^7: This is the chat area."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3593
+#, c-format
+msgid "FPS: %.*f"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3657
+msgid "^1Observing"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
+#, c-format
+msgid "^1Spectating: ^7%s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3667
+#, c-format
+msgid "^1Press ^3%s^1 to spectate"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3669
+#, c-format
+msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3673
+#, c-format
+msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3675
+#, c-format
+msgid "^1Press ^3%s^1 to observe"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3678
+#, c-format
+msgid "^1Press ^3%s^1 for gamemode info"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3686
+msgid "^1Match has already begun"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3688
+msgid "^1You have no more lives left"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
+#, c-format
+msgid "^1Press ^3%s^1 to join"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3701
+#, c-format
+msgid "^1Game starts in ^3%d^1 seconds"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3708
+msgid "^2Currently in ^1warmup^2 stage!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3723
+#, c-format
+msgid "%sPress ^3%s%s to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3725
+#, c-format
+msgid "%sPress ^3%s%s once you are ready"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3730
+msgid "^2Waiting for others to ready up to end warmup..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3732
+msgid "^2Waiting for others to ready up..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3738
+#, c-format
+msgid "^2Press ^3%s^2 to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3759
+msgid "Teamnumbers are unbalanced!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3764
+#, c-format
+msgid " Press ^3%s%s to adjust"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3772
+msgid "^7Press ^3ESC ^7to show HUD options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3774
+msgid "^3Doubleclick ^7a panel for panel-specific options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3776
+msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3778
+msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3825
+msgid " qu/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3829
+msgid " m/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3833
+msgid " km/h"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3837
+msgid " mph"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3841
+msgid " knots"
+msgstr ""
+
+#: qcsrc/client/hud.qc:4497
+msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
+msgstr ""
+
+#: qcsrc/client/hud_config.qc:196
+#, c-format
+msgid "^2Successfully exported to %s! (Note: It's saved in data/data/)\n"
+msgstr ""
+
+#: qcsrc/client/hud_config.qc:200
+#, c-format
+msgid "^1Couldn't write to %s\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:28
+msgid " (1 vote)"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:30
+#, c-format
+msgid " (%d votes)"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:118
+msgid "Don't care"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:203
+msgid "Vote for a map"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:209
+#, c-format
+msgid "%d seconds left"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:273
+msgid ""
+"mv_mapdownload: ^3You're not supposed to use this command on your own!\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:283
+msgid "^1Error:^7 Couldn't find pak index.\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:292
+msgid "Requesting preview...\n"
+msgstr ""
+
+#: qcsrc/client/miscfunctions.qc:101
+msgid "Trying to remove a team which is not in the teamlist!"
+msgstr ""
+
+#: qcsrc/client/movetypes.qc:227
+#, c-format
+msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr ""
+
+#: qcsrc/client/movetypes.qc:230
+#, c-format
+msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:19
+msgid "SCO^bckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:20
+msgid "SCO^bctime"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:21
+msgid "SCO^caps"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:22
+msgid "SCO^captime"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:23
+msgid "SCO^deaths"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:24
+msgid "SCO^destroyed"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:25
+msgid "SCO^drops"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:26
+msgid "SCO^faults"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:27
+msgid "SCO^fckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:28
+msgid "SCO^goals"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:29
+msgid "SCO^kckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:30
+msgid "SCO^kdratio"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:31
+msgid "SCO^k/d"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:32
+msgid "SCO^kd"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:33
+msgid "SCO^kdr"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:34
+msgid "SCO^kills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:35
+msgid "SCO^laps"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:36
+msgid "SCO^lives"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:37
+msgid "SCO^losses"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:38
+msgid "SCO^name"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:39
+msgid "SCO^sum"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:40
+msgid "SCO^nick"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:41
+msgid "SCO^objectives"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:42
+msgid "SCO^pickups"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:43
+msgid "SCO^ping"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:44
+msgid "SCO^pl"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:45
+msgid "SCO^pushes"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:46
+msgid "SCO^rank"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:47
+msgid "SCO^returns"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:48
+msgid "SCO^revivals"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:49
+msgid "SCO^score"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:50
+msgid "SCO^suicides"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:51
+msgid "SCO^takes"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:52
+msgid "SCO^ticks"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:237
+msgid ""
+"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:238
+msgid "^3|---------------------------------------------------------------|\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:239
+msgid "Usage:\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:240
+msgid "^2scoreboard_columns_set default\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:241
+msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:242
+msgid "The following field names are recognized (case insensitive):\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:243
+msgid ""
+"You can use a ^3|^7 to start the right-aligned fields.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:245
+msgid "^3name^7 or ^3nick^7             Name of a player\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:246
+msgid "^3ping^7                     Ping time\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:247
+msgid "^3pl^7                       Packet loss\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:248
+msgid "^3kills^7                    Number of kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:249
+msgid "^3deaths^7                   Number of deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:250
+msgid "^3suicides^7                 Number of suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:251
+msgid "^3frags^7                    kills - suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:252
+msgid "^3kd^7                       The kill-death ratio\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:253
+msgid "^3sum^7                      frags - deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:254
+msgid ""
+"^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
+"captured\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:255
+msgid ""
+"^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
+"ball (Keepaway) was picked up\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:256
+msgid "^3captime^7                  Time of fastest cap (CTF)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:257
+msgid "^3fckills^7                  Number of flag carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:258
+msgid "^3returns^7                  Number of flag returns\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:259
+msgid "^3drops^7                    Number of flag drops\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:260
+msgid "^3lives^7                    Number of lives (LMS)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:261
+msgid "^3rank^7                     Player rank\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:262
+msgid "^3pushes^7                   Number of players pushed into void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:263
+msgid ""
+"^3destroyed^7                Number of keys destroyed by pushing them into "
+"void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:264
+msgid "^3kckills^7                  Number of keys carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:265
+msgid "^3losses^7                   Number of times a key was lost\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:266
+msgid "^3laps^7                     Number of laps finished (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:267
+msgid "^3time^7                     Total time raced (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:268
+msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:269
+msgid "^3ticks^7                    Number of ticks (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:270
+msgid "^3takes^7                    Number of domination points taken (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:271
+msgid "^3bckills^7                  Number of ball carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:272
+msgid ""
+"^3bctime^7                   Total amount of time holding the ball in "
+"Keepaway\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:273
+msgid ""
+"^3score^7                    Total score\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:275
+msgid ""
+"Before a field you can put a + or - sign, then a comma separated list\n"
+"of game types, then a slash, to make the field show up only in these\n"
+"or in all but these game types. You can also specify 'all' as a\n"
+"field to show all fields available for the current game mode.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:280
+msgid ""
+"The special game type names 'teams' and 'noteams' can be used to\n"
+"include/exclude ALL teams/noteams game modes.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:283
+msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:284
+msgid ""
+"will display name, ping and pl aligned to the left, and the fields\n"
+"right of the vertical bar aligned to the right.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:286
+msgid ""
+"'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
+"other gamemodes except DM.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:240
+msgid "N/A"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:970
+#, c-format
+msgid "Accuracy stats (average %d%%)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1033
+#, c-format
+msgid "%d%%"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1099
+msgid "Map stats:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1124
+msgid "Secrets found:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1152
+msgid "Rankings"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1248
+msgid "Scoreboard"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1307
+#, c-format
+msgid "Speed award: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1311
+#, c-format
+msgid "All-time fastest: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1345
+msgid "Spectators"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1352
+#, c-format
+msgid "playing ^3%s^7 on ^2%s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
+#, c-format
+msgid " for up to ^1%1.0f minutes^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
+msgid " or"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
+#, c-format
+msgid " until ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
+msgid "SCO^points"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
+msgid "SCO^is beaten"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
+#, c-format
+msgid " until a lead of ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1419
+#, c-format
+msgid "^1Respawning in ^3%s^1..."
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1429
+#, c-format
+msgid "You are dead, wait ^3%s^7 before respawning"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1438
+#, c-format
+msgid "You are dead, press ^2%s^7 to respawn"
+msgstr ""
+
+#: qcsrc/client/target_music.qc:94 qcsrc/client/target_music.qc:183
+#, c-format
+msgid "Cannot initialize sound %s\n"
+msgstr ""
+
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
+msgid "Spam"
+msgstr ""
+
+#: qcsrc/client/tturrets.qc:308
+#, c-format
+msgid "%s under attack!"
+msgstr ""
+
+#: qcsrc/client/vehicles/vehicles.qc:331 qcsrc/client/vehicles/vehicles.qc:333
+msgid "No right gunner!"
+msgstr ""
+
+#: qcsrc/client/vehicles/vehicles.qc:353 qcsrc/client/vehicles/vehicles.qc:355
+msgid "No left gunner!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:246
+msgid "Push"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:247
+msgid "Destroy"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:248
+msgid "Defend"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:249
+msgid "Blue base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:250
+msgid "DANGER"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:251
+msgid "Enemy carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:252
+msgid "Flag carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:253
+msgid "Dropped flag"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:254
+msgid "Help me!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:255
+msgid "Here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:256
+msgid "Dropped key"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
+msgid "Key carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:258
+msgid "Run here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:263
+msgid "Red base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:264
+msgid "Waypoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
+msgid "Generator"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
+msgid "Control point"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:276
+msgid "Checkpoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
+msgid "Finish"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
+msgid "Start"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
+msgid "Ball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:283
+msgid "Ball carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
+msgid "Laser"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
+msgid "Shotgun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
+msgid "Machine Gun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
+msgid "Mortar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
+msgid "Electro"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
+msgid "Crylink"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
+msgid "Nex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
+msgid "Hagar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
+msgid "Rocket Launcher"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
+msgid "Port-O-Launch"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:294
+msgid "Minstanex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:295
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
+msgid "Hook"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
+msgid "Fireball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:297
+msgid "HLAC"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
+msgid "Rifle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
+msgid "Mine Layer"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:305
+msgid "Invisibility"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:306
+msgid "Extra life"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:307
+msgid "Speed"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:308
+msgid "Strength"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:309
+msgid "Shield"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:310
+msgid "Fuel regen"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:311
+msgid "Jet Pack"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:312
+msgid "Frozen!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:313
+msgid "Tagged"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:314
+msgid "Vehicle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:588
+#, c-format
+msgid "%s needing help!"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:31
+#, c-format
+msgid "error: status is %d\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:159
+msgid "error creating curl handle\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:263
+msgid "Notification dump command only works with cl_cmd and sv_cmd.\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:457
+msgid "Notification restart command only works with cl_cmd and sv_cmd.\n"
+msgstr ""
+
+#: qcsrc/common/counting.qh:5
+#, c-format
+msgid "CI_DEC^%s years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:7
+#, c-format
+msgid "CI_ZER^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:8
+#, c-format
+msgid "CI_FIR^%d year"
+msgstr ""
+
+#: qcsrc/common/counting.qh:9
+#, c-format
+msgid "CI_SEC^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:10
+#, c-format
+msgid "CI_THI^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:11
+#, c-format
+msgid "CI_MUL^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:13
+#, c-format
+msgid "CI_DEC^%s weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:15
+#, c-format
+msgid "CI_ZER^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:16
+#, c-format
+msgid "CI_FIR^%d week"
+msgstr ""
+
+#: qcsrc/common/counting.qh:17
+#, c-format
+msgid "CI_SEC^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:18
+#, c-format
+msgid "CI_THI^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:19
+#, c-format
+msgid "CI_MUL^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:21
+#, c-format
+msgid "CI_DEC^%s days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:23
+#, c-format
+msgid "CI_ZER^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:24
+#, c-format
+msgid "CI_FIR^%d day"
+msgstr ""
+
+#: qcsrc/common/counting.qh:25
+#, c-format
+msgid "CI_SEC^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:26
+#, c-format
+msgid "CI_THI^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:27
+#, c-format
+msgid "CI_MUL^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:29
+#, c-format
+msgid "CI_DEC^%s hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:31
+#, c-format
+msgid "CI_ZER^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:32
+#, c-format
+msgid "CI_FIR^%d hour"
+msgstr ""
+
+#: qcsrc/common/counting.qh:33
+#, c-format
+msgid "CI_SEC^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:34
+#, c-format
+msgid "CI_THI^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:35
+#, c-format
+msgid "CI_MUL^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:38
+#, c-format
+msgid "CI_DEC^%s minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:40
+#, c-format
+msgid "CI_ZER^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:41
+#, c-format
+msgid "CI_FIR^%d minute"
+msgstr ""
+
+#: qcsrc/common/counting.qh:42
+#, c-format
+msgid "CI_SEC^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:43
+#, c-format
+msgid "CI_THI^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:44
+#, c-format
+msgid "CI_MUL^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:46
+#, c-format
+msgid "CI_DEC^%s seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:48
+#, c-format
+msgid "CI_ZER^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:49
+#, c-format
+msgid "CI_FIR^%d second"
+msgstr ""
+
+#: qcsrc/common/counting.qh:50
+#, c-format
+msgid "CI_SEC^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:51
+#, c-format
+msgid "CI_THI^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:52
+#, c-format
+msgid "CI_MUL^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:68
+#, c-format
+msgid "%dst"
+msgstr ""
+
+#: qcsrc/common/counting.qh:69
+#, c-format
+msgid "%dnd"
+msgstr ""
+
+#: qcsrc/common/counting.qh:70
+#, c-format
+msgid "%drd"
+msgstr ""
+
+#: qcsrc/common/counting.qh:71 qcsrc/common/counting.qh:74
+#, c-format
+msgid "%dth"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:717
+#, no-c-format
+msgid "@!#%'n Tuba Throwing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
+#, c-format
+msgid "%s: %s"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:36
+msgid "Deathmatch"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:39
+msgid "Last Man Standing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:42
+msgid "Race"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:45
+msgid "Race CTS"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:48
+msgid "Team Deathmatch"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:51
+msgid "Capture the Flag"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:54
+msgid "Clan Arena"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:57
+msgid "Domination"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:60
+msgid "Key Hunt"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:63
+msgid "Assault"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:66
+msgid "Onslaught"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:69
+msgid "Nexball"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:72
+msgid "Freeze Tag"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:75
+msgid "Keepaway"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr ""
+
+#: qcsrc/common/net_notice.qc:89
+msgid "^1Server notices:"
+msgstr ""
+
+#: qcsrc/common/net_notice.qc:95
+#, c-format
+msgid "^7%s (^3%d sec left)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:343
+#, c-format
+msgid "^BG%s^BG captured the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:344
+#, c-format
+msgid ""
+"^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"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:345
+#, c-format
+msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:346
+#, c-format
+msgid ""
+"^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"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:347
+msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:348
+msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:349
+msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:350
+msgid ""
+"^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
+"base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:351
+#, c-format
+msgid ""
+"^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
+"itself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:352
+msgid "^BGThe ^TC^TT^BG flag has returned to the base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:353
+#, c-format
+msgid "^BG%s^BG lost the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:354
+#, c-format
+msgid "^BG%s^BG got the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
+#, c-format
+msgid "^BG%s^BG returned the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:357
+#, c-format
+msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:358
+#, c-format
+msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:359
+#, c-format
+msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:360
+#, c-format
+msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:360
+#, c-format
+msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:361
+#, c-format
+msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:363
+#, c-format
+msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:364
+#, c-format
+msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:365
+#, c-format
+msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:366
+#, c-format
+msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:367
+#, c-format
+msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:367
+#, c-format
+msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:368
+#, c-format
+msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:369
+#, c-format
+msgid ""
+"^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:370
+#, c-format
+msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:371
+#, c-format
+msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:372
+#, c-format
+msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:373
+#, c-format
+msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:374
+#, c-format
+msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:375
+#, c-format
+msgid ""
+"^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:376
+#, c-format
+msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:377
+#, c-format
+msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:378
+#, c-format
+msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:379
+#, c-format
+msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:380
+#, c-format
+msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:381
+#, c-format
+msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:382
+#, c-format
+msgid "^BG%s^K1 was moved into the %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:383
+#, c-format
+msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:384
+#, c-format
+msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:385
+#, c-format
+msgid "^BG%s^K1 unfairly eliminated themself%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:386
+#, c-format
+msgid "^BG%s^K1 %s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:387
+#, c-format
+msgid "^BG%s^K1 couldn't catch their breath%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:387
+#, c-format
+msgid "^BG%s^K1 was in the water for too long%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:388
+#, c-format
+msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:388
+#, c-format
+msgid "^BG%s^K1 hit the ground with a crunch%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:389
+#, c-format
+msgid "^BG%s^K1 became a bit too crispy%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:389
+#, c-format
+msgid "^BG%s^K1 felt a little hot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:390
+#, c-format
+msgid "^BG%s^K1 died%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:391
+#, c-format
+msgid "^BG%s^K1 found a hot place%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:391
+#, c-format
+msgid "^BG%s^K1 turned into hot slag%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:392
+#, c-format
+msgid "^BG%s^K1 mastered the art of self-nading%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:393
+#, c-format
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:394
+#, c-format
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:395
+#, c-format
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:396
+#, c-format
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:397
+#, c-format
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:398
+#, c-format
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 ran out of ammo%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:402
+#, c-format
+msgid "^BG%s^K1 rotted away%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:403
+#, c-format
+msgid "^BG%s^K1 became a shooting star%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:404
+#, c-format
+msgid "^BG%s^K1 was slimed%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:405
+#, c-format
+msgid "^BG%s^K1 couldn't take it anymore%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:406
+#, c-format
+msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:407
+#, c-format
+msgid "^BG%s^K1 switched to the %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:408
+#, c-format
+msgid "^BG%s^K1 died in an accident%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:409
+#, c-format
+msgid "^BG%s^K1 ran into a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:410
+#, c-format
+msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:411
+#, c-format
+msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:412
+#, c-format
+msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:413
+#, c-format
+msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:414
+#, c-format
+msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:415
+#, c-format
+msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:416
+#, c-format
+msgid "^BG%s^K1 was phased out by a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:417
+#, c-format
+msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:418
+#, c-format
+msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:419
+#, c-format
+msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:420
+#, c-format
+msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:421
+#, c-format
+msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:422
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:423
+#, c-format
+msgid "^BG%s^K1 was crushed by a vehicle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:424
+#, c-format
+msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:425
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:426
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:427
+#, c-format
+msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:428
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:429
+#, c-format
+msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:430
+#, c-format
+msgid "^BG%s^K1 was in the wrong place%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:431
+#, c-format
+msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:432
+#, c-format
+msgid "^BG%s^K1 was frozen by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:433
+#, c-format
+msgid "^BG%s^K3 was revived by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:434
+#, c-format
+msgid "^BG%s^K3 was revived by falling"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:435
+#, c-format
+msgid "^BG%s^K3 was automatically revived after %s second(s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
+msgid "^TC^TT^BG team wins the round"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
+#, c-format
+msgid "^BG%s^BG wins the round"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
+msgid "^BGRound tied"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
+msgid "^BGRound over, there's no winner"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:440
+#, c-format
+msgid "^BG%s^K1 froze themself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:441
+#, c-format
+msgid "^BGGodmode saved you %s units of damage, cheater!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
+#, c-format
+msgid "^BGYou do not have the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
+#, c-format
+msgid "^BGYou dropped the ^F1%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
+#, c-format
+msgid "^BGYou got the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
+#, c-format
+msgid "^BGYou don't have enough ammo for the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
+#, c-format
+msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
+#, c-format
+msgid "^F1%s^BG is ^F4not available^BG on this map"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:448
+#, c-format
+msgid "^BG%s^F3 connected%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:449
+#, c-format
+msgid "^BG%s^F3 connected and joined the ^TC^TT team"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:450
+#, c-format
+msgid "^BG%s^F3 is now playing"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
+#, c-format
+msgid "^BG%s^BG has dropped the ball!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
+#, c-format
+msgid "^BG%s^BG has picked up the ball!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:453
+#, c-format
+msgid "^BG%s^BG captured the keys for the ^TC^TT team"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:454
+#, c-format
+msgid "^BG%s^BG dropped the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:455
+#, c-format
+msgid "^BG%s^BG lost the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:456
+#, c-format
+msgid "^BG%s^BG picked up the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:457
+#, c-format
+msgid "^BG%s^F3 forfeited"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:458
+#, c-format
+msgid "^BG%s^F3 has no more lives left"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:460
+#, c-format
+msgid "^BG%s^K1 picked up Invisibility"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:461
+#, c-format
+msgid "^BG%s^K1 picked up Shield"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:462
+#, c-format
+msgid "^BG%s^K1 picked up Speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:463
+#, c-format
+msgid "^BG%s^K1 picked up Strength"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:464
+#, c-format
+msgid "^BG%s^F3 disconnected"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:465
+#, c-format
+msgid "^BG%s^F3 was kicked for idling"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:466
+msgid ""
+"^F2You were kicked from the server because you are a spectator and "
+"spectators aren't allowed at the moment."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:467
+#, c-format
+msgid "^BG%s^F3 is now spectating"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:468
+#, c-format
+msgid "^BG%s^BG has abandoned the race"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:469
+#, c-format
+msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:470
+#, c-format
+msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:471
+#, c-format
+msgid "^BG%s^BG has finished the race"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:472
+#, c-format
+msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:473
+#, c-format
+msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:474
+#, c-format
+msgid ""
+"^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
+"and will be lost."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:475
+#, c-format
+msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:476
+msgid "^TC^TT ^BGteam scores!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:477
+#, c-format
+msgid ""
+"^F2You have to become a player within the next %s, otherwise you will be "
+"kicked, because spectating isn't allowed at this time!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:478
+#, c-format
+msgid "^BG%s^K1 picked up a Superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:479
+#, c-format
+msgid ""
+"^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
+"^F2Xonotic %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:480
+#, c-format
+msgid ""
+"^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:481
+#, c-format
+msgid ""
+"^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
+"the update from ^F3http://www.xonotic.org/^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:482
+#, c-format
+msgid "^F3SVQC Build information: ^F4%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:483
+#, c-format
+msgid ""
+"^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:484
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:485
+#, c-format
+msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:486
+#, c-format
+msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:487
+#, c-format
+msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:488
+#, c-format
+msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:489
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:490
+#, c-format
+msgid "^BG%s^K1 played with Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:491
+#, c-format
+msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:492
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:493
+#, c-format
+msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:494
+#, c-format
+msgid "^BG%s^K1 should have used a smaller gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:495
+#, c-format
+msgid "^BG%s^K1 forgot about their firemine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:496
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:497
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:498
+#, c-format
+msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:499
+#, c-format
+msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:500
+#, c-format
+msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:501
+#, c-format
+msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:502
+#, c-format
+msgid ""
+"^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:503
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:504
+#, c-format
+msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:505
+#, c-format
+msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:506
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:507
+#, c-format
+msgid "^BG%s^K1 forgot about their mine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:508
+#, c-format
+msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:509
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:510
+#, c-format
+msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:511
+#, c-format
+msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:512
+#, c-format
+msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:513
+#, c-format
+msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:514
+#, c-format
+msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:515
+#, c-format
+msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:516
+#, c-format
+msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:517
+#, c-format
+msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:518
+#, c-format
+msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:519
+#, c-format
+msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:520
+#, c-format
+msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:521
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:522
+#, c-format
+msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:523
+#, c-format
+msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:524
+#, c-format
+msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:525
+#, c-format
+msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:526
+#, c-format
+msgid "^BG%s^K1 is now thinking with portals%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:527
+#, c-format
+msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:528
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:529
+#, c-format
+msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:530
+#, c-format
+msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:548
+msgid "^BGYou are attacking!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:549
+msgid "^BGYou are defending!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:550
+msgid "^F4Begin!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:551
+msgid "^F4Game starts in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:552
+msgid "^F4Round starts in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:553
+msgid "^F4Round cannot start"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:556
+msgid "^F2Don't camp!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:557
+msgid ""
+"^BGYou are now free.\n"
+"^BGFeel free to ^F2try to capture^BG the flag again\n"
+"^BGif you think you will succeed."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:558
+msgid ""
+"^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."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:559
+msgid "^BGYou captured the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:560
+#, c-format
+msgid "^BGToo many flag throws! Throwing disabled for %s."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:561
+#, c-format
+msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:562
+#, c-format
+msgid "^BGYou received the ^TC^TT^BG flag from %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:563
+#, c-format
+msgid "^BG%s^BG requests you to pass the flag%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:564
+#, c-format
+msgid "^BGRequesting %s^BG to pass you the flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:565
+#, c-format
+msgid "^BGYou passed the ^TC^TT^BG flag to %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:566
+msgid "^BGYou got the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:567
+#, c-format
+msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:568
+#, c-format
+msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:569
+#, c-format
+msgid "^BGYour %steam mate^BG got the flag! Protect them!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:570
+#, c-format
+msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:571
+msgid "^BGYou returned the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:572
+msgid "^BGStalemate! Enemies can now see you on radar!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:573
+msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:574
+#, c-format
+msgid "^K3%sYou fragged ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:574
+#, c-format
+msgid "^K3%sYou scored against ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:575
+#, c-format
+msgid "^K1%sYou were fragged by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:575
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:576
+#, c-format
+msgid "^K1%sYou were fragged by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:576
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:577
+#, c-format
+msgid "^K3%sYou fragged ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:577
+#, c-format
+msgid "^K3%sYou scored against ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:578
+#, c-format
+msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:578
+#, c-format
+msgid "^K1%sYou typefragged ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:579
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:579
+#, c-format
+msgid "^K1%sYou were typefragged by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:580
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:580
+#, c-format
+msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:581
+#, c-format
+msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:581
+#, c-format
+msgid "^K1%sYou typefragged ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:582
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:583
+#, c-format
+msgid ""
+"^BGYou have been moved into a different team\n"
+"You are now on: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:584
+msgid "^K1Don't go against your team mates!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:584
+msgid "^K1Don't shoot your team mates!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:585
+msgid "^K1Die camper!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:585
+msgid "^K1Reconsider your tactics, camper!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:586
+msgid "^K1You unfairly eliminated yourself!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:587
+#, c-format
+msgid "^K1You were %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:588
+msgid "^K1You couldn't catch your breath!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:589
+msgid "^K1You hit the ground with a crunch!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:590
+msgid "^K1You felt a little too hot!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:590
+msgid "^K1You got a little bit too crispy!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:591
+msgid "^K1You killed your own dumb self!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:591
+msgid "^K1You need to be more careful!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:592
+msgid "^K1You couldn't stand the heat!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
+msgid "^K1Tastes like chicken!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
+msgid "^K1You forgot to put the pin back in!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:595
+msgid "^K1You are respawning for running out of ammo..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:595
+msgid "^K1You were killed for running out of ammo..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:596
+msgid "^K1You grew too old without taking your medicine"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:596
+msgid "^K1You need to preserve your health"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:597
+msgid "^K1You became a shooting star!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:598
+msgid "^K1You melted away in slime!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:599
+msgid "^K1You committed suicide!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:599
+msgid "^K1You ended it all!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:600
+msgid "^K1You got stuck in a swamp!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:601
+#, c-format
+msgid "^BGYou are now on: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:602
+msgid "^K1You died in an accident!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:603
+msgid "^K1You had an unfortunate run in with a turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:603
+msgid "^K1You were fragged by a turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:604
+msgid "^K1You had an unfortunate run in with an eWheel turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:604
+msgid "^K1You were fragged by an eWheel turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:605
+msgid "^K1You had an unfortunate run in with a Walker turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:605
+msgid "^K1You were fragged by a Walker turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:606
+msgid "^K1You got caught in the blast of a Bumblebee explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:607
+msgid "^K1You were crushed by a vehicle!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:608
+msgid "^K1You were caught in a Raptor cluster bomb!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:609
+msgid "^K1You got caught in the blast of a Raptor explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:610
+msgid "^K1You got caught in the blast of a Spiderbot explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:611
+msgid "^K1You were blasted to bits by a Spiderbot rocket!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:612
+msgid "^K1You got caught in the blast of a Racer explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:613
+msgid "^K1You couldn't find shelter from a Racer rocket!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:614
+msgid "^K1Watch your step!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:615
+#, c-format
+msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:615
+#, c-format
+msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:616
+#, c-format
+msgid "^K1You were fragged by ^BG%s^K1, a team mate"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:616
+#, c-format
+msgid "^K1You were scored against by ^BG%s^K1, a team mate"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:617
+msgid ""
+"^K1Stop idling!\n"
+"^BGDisconnecting in ^COUNT..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:618
+msgid "^F2You picked up some extra lives"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:619
+#, c-format
+msgid "^K3You froze ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:620
+#, c-format
+msgid "^K1You were frozen by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:621
+#, c-format
+msgid "^K3You revived ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:622
+msgid "^K3You revived yourself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:623
+#, c-format
+msgid "^K3You were revived by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:624
+#, c-format
+msgid "^K3You were automatically revived after %s second(s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:627
+msgid "^K1You froze yourself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:628
+msgid "^K1Round already started, you spawn as frozen"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:636
+msgid ""
+"^K1No spawnpoints available!\n"
+"Hope your team can fix it..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:637
+msgid ""
+"^K1You may not join the game at this time.\n"
+"The player limit reached maximum capacity."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
+msgid "^BGKilling people while you don't have the ball gives no points!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:642
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Help the key carriers to meet!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:643
+msgid ""
+"^BGAll keys are in ^TC^TT team^BG's hands!\n"
+"Interfere ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:644
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Meet the other key carriers ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:645
+msgid "^F4Round will start in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:646
+msgid "^BGScanning frequency range..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:647
+msgid "^BGYou are starting with the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
+#, c-format
+msgid ""
+"^BGWaiting for players to join...\n"
+"Need active players for: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:650
+#, c-format
+msgid "^BGWaiting for %s player(s) to join..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:651
+msgid "^F4^COUNT^BG left to find some ammo!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:653
+#, c-format
+msgid "^F2Extra lives remaining: ^K1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:654
+msgid "^BGSecondary fire inflicts no damage!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:655
+#, c-format
+msgid "^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:656
+#, c-format
+msgid ""
+"^F2^COUNT^BG until weapon change...\n"
+"Next weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:657
+#, c-format
+msgid "^F2Active weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:658
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep fragging until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep scoring until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:660
+#, c-format
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"^BGAdded ^F4%s^BG to the game!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:661
+msgid "^F2Invisibility has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:662
+msgid "^F2Shield has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:663
+msgid "^F2Speed has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:664
+msgid "^F2Strength has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:665
+msgid "^F2You are invisible"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:666
+msgid "^F2Shield surrounds you"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:667
+msgid "^F2You are on speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:668
+msgid "^F2Strength infuses your weapons with devastating power"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:669
+msgid "^F2The race is over, finish your lap!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:670
+msgid "^F2Superweapons have broken down"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:671
+msgid "^F2Superweapons have been lost"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:672
+msgid "^F2You now have a superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:673
+msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:674
+msgid "^K1Changing team in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:675
+msgid "^K1Spectating in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:676
+msgid "^K1Suicide in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:677
+msgid "^F4Timeout begins in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:678
+msgid "^F4Timeout ends in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
+#, c-format
+msgid " (near %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
+msgid "primary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
+msgid "secondary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:980
+#, c-format
+msgid " ^F1(Press %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:989
+#, c-format
+msgid " with %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+msgid "TRIPLE FRAG! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 unlocked RAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+msgid "RAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 started a MASSACRE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+msgid "MASSACRE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 executed MAYHEM! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+msgid "MAYHEM! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 is a BERSERKER! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+msgid "BERSERKER! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 inflicts CARNAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+msgid "CARNAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+#, c-format
+msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+#, c-format
+msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+msgid "ARMAGEDDON! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1010
+#, c-format
+msgid "%s(^F1Bot^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1012
+#, c-format
+msgid "%s(Ping ^F1%d^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1018
+#, c-format
+msgid ""
+"\n"
+"(Health ^1%d^BG / Armor ^2%d^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1020
+#, c-format
+msgid ""
+"\n"
+"(^F4Dead^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
+#, c-format
+msgid "%d score spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1069
+#, c-format
+msgid "%d frag spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1082
+msgid "First blood! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1082
+msgid "First score! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1086
+msgid "First casualty! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1086
+msgid "First victim! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1127
+#, c-format
+msgid "%s^K1 has %d frags in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1128
+#, c-format
+msgid "%s^K1 made %d scores in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1146
+#, c-format
+msgid "%s^K1 drew first blood! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1147
+#, c-format
+msgid "%s^K1 got the first score! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1163
+#, c-format
+msgid ", ending their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1164
+#, c-format
+msgid ", ending their %d score spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1178
+#, c-format
+msgid ", losing their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1179
+#, c-format
+msgid ", losing their %d score spree"
+msgstr ""
+
+#: qcsrc/common/teams.qh:26
+msgid "Red"
+msgstr ""
+
+#: qcsrc/common/teams.qh:27
+msgid "Blue"
+msgstr ""
+
+#: qcsrc/common/teams.qh:28
+msgid "Yellow"
+msgstr ""
+
+#: qcsrc/common/teams.qh:29
+msgid "Pink"
+msgstr ""
+
+#: qcsrc/common/teams.qh:30
+msgid "Team"
+msgstr ""
+
+#: qcsrc/common/teams.qh:31
+msgid "Neutral"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:35
+msgid "Usage: menu_cmd command..., where possible commands are:\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:36
+msgid "  sync - reloads all cvars on the current menu page\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:37
+msgid "  directmenu ITEM - select a menu item as main item\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:68
+msgid "Available options:\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:119
+msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
+msgstr ""
+
+#: qcsrc/menu/item/label.c:82
+#, c-format
+msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
+msgstr ""
+
+#: qcsrc/menu/item/listbox.c:382
+#, c-format
+msgid "Item %d"
+msgstr ""
+
+#: qcsrc/menu/item/slider.c:64
+#, c-format
+msgid "%d (%s)"
+msgstr ""
+
+#: qcsrc/menu/item/textslider.c:31 qcsrc/menu/item/textslider.c:33
+msgid "custom"
+msgstr ""
+
+#: qcsrc/menu/menu.qc:59
+#, c-format
+msgid "^4MQC Build information: ^1%s\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/campaign.c:286
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:123
+msgid "???"
+msgstr ""
+
+#: qcsrc/menu/xonotic/campaign.c:287
+#, c-format
+msgid "Level %d: %s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
+msgid "will not be saved"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
+msgid "private"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:95
+msgid "engine setting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:97
+msgid "read only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_credits.c:5
+msgid "Credits"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:99
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
+msgid "OK"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:4
+msgid "Welcome"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+msgid ""
+"Welcome to Xonotic, please select your language preference and enter your "
+"player name to get started.  You can change these options later through the "
+"menu system."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
+msgid "Name:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
+#: qcsrc/menu/xonotic/dialog_settings_user.c:65
+msgid "Text language:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+msgid "ALWU2N^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
+msgid "ALWU2N^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
+msgid "ALWU2N^Undecided"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
+msgid "Save settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:4
+msgid "Ammo Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:23
+msgid "Ammunition display:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:26
+msgid "Show only current ammo type"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:29
+msgid "Align icon:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:30
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:37
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:29
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:41
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:29
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:41
+msgid "Left"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:39
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:42
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:42
+msgid "Right"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:4
+msgid "Centerprint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:24
+msgid "Message duration:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:28
+msgid "Fade time:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:32
+msgid "Flip messages order"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:34
+msgid "Text alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:38
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:51
+msgid "Center"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:42
+msgid "Font scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4
+msgid "Chat Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:23
+msgid "Chat entries:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:26
+msgid "Chat size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:30
+msgid "Chat lifetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:34
+msgid "Chat beep sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:4
+msgid "Engine Info Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:23
+msgid "Engine info:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:26
+msgid "Use an averaging algorithm for fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:4
+msgid "Health/Armor Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:23
+msgid "Enable status bar"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:25
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:25
+msgid "Status bar alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:33
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:43
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:33
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:43
+msgid "Inward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:35
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:44
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:35
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:44
+msgid "Outward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:38
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:38
+msgid "Icon alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:46
+msgid "Flip health and armor positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:4
+msgid "Info Messages Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:23
+msgid "Info messages:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:26
+msgid "Flip align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_modicons.c:4
+msgid "Mod Icons Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:4
+msgid "Notification Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:23
+msgid "Notifications:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:26
+msgid "Also print notifications to the console"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:29
+msgid "Flip notify order"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:32
+msgid "Entry lifetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:36
+msgid "Entry fadetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:4
+msgid "Physics Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:22
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:22
+msgid "Panel disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:24
+msgid "Panel enabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:25
+msgid "Panel enabled even observing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:26
+msgid "Panel enabled only in Race/CTS"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:32
+msgid "Status bar"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:34
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:49
+msgid "Left align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:35
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:53
+msgid "Right align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:36
+msgid "Inward align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:37
+msgid "Outward align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:41
+msgid "Flip speed/acceleration positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:45
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:29
+msgid "Speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:46
+msgid "Include vertical speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:57
+msgid "Speed unit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:59
+msgid "qu/s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:60
+msgid "m/s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:61
+msgid "km/h"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:62
+msgid "mph"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:63
+msgid "knots"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:65
+msgid "Show"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:68
+msgid "Top speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:74
+msgid "Acceleration:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:75
+msgid "Include vertical acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4
+msgid "Powerups Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:46
+msgid "Flip strength and shield positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:4
+msgid "Pressed Keys Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:23
+msgid "Panel enabled when spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:24
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:24
+msgid "Panel always enabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:31
+msgid "Forced aspect:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_racetimer.c:4
+msgid "Race Timer Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:4
+msgid "Radar Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:23
+msgid "Panel enabled in teamgames"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:30
+msgid "Radar:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:33
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
+#: qcsrc/menu/xonotic/util.qc:758
+msgid "Alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:37
+msgid "Rotation:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:39
+msgid "Forward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:40
+msgid "West"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:41
+msgid "South"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:42
+msgid "East"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:43
+msgid "North"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:47
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:63
+msgid "Scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:51
+msgid "Zoom mode:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:53
+msgid "Zoomed in"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:54
+msgid "Zoomed out"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:55
+msgid "Always zoomed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:56
+msgid "Never zoomed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:4
+msgid "Score Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:23
+msgid "Score:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
+msgid "Rankings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:27
+msgid "Off"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
+msgid "And me"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:29
+msgid "Pure"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
+msgid "Timer Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:23
+msgid "Timer:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:26
+msgid "Show elapsed time"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:4
+msgid "Vote Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:23
+msgid "Alpha after voting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:4
+msgid "Weapons Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:25
+msgid "Fade out after:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:27
+msgid "Never"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:29
+#, c-format
+msgid "%ds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:33
+msgid "Fade effect:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:36
+msgid "EF^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:37
+msgid "Alpha"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:38
+msgid "Slide"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:39
+msgid "EF^Both"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:43
+msgid "Weapon icons:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46
+msgid "Show only owned weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49
+msgid "Show weapon ID as:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50
+msgid "SHOWAS^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51
+msgid "Number"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52
+msgid "Bind"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55
+msgid "Show Accuracy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:56
+msgid "Show Ammo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:59
+msgid "Ammo bar color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:65
+msgid "Ammo bar alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:4
+msgid "Panel HUD Setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:22
+msgid "Panel background defaults:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
+msgid "Background:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
+msgid "Disable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
+msgid "Color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
+msgid "Border size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:51
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:90
+msgid "Team color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
+msgid "Test team color in configure mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
+msgid "Padding:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:69
+msgid "HUD Dock:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:71
+msgid "DOCK^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:72
+msgid "DOCK^Small"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:73
+msgid "DOCK^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:74
+msgid "DOCK^Large"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:97
+msgid "Grid settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:100
+msgid "Snap panels to grid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:103
+msgid "Grid size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:104
+msgid "X:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:110
+msgid "Y:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:118
+msgid "Exit setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:4
+msgid "Multiplayer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:18
+msgid "Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:19
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:5
+msgid "Create"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:20
+msgid "Demos"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:21
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:5
+msgid "Player Setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:34
+msgid "Game type:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48
+msgid "Time limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:52
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:60
+msgid "Use map specified default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:55
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:155
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+msgid "Point limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63
+msgid "Player slots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66
+msgid "Number of bots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69
+msgid "Bot skill:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72
+msgid "Botlike"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73
+msgid "Beginner"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74
+msgid "You will win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75
+msgid "You can win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76
+msgid "You might win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77
+msgid "Advanced"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78
+msgid "Expert"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79
+msgid "Pro"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80
+msgid "Assassin"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81
+msgid "Unhuman"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82
+msgid "Godlike"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87
+msgid "Mutators..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
+msgid "Advanced settings..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103
+msgid "Map list:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109
+msgid "Select all"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112
+msgid "Select none"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118
+msgid "Start Multiplayer!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153
+msgid "Capture limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:156
+msgid "Lives:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157
+msgid "Laps:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158
+msgid "Goals:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
+msgid "Frag limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:6
+msgid "Advanced server settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:25
+msgid "Game settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:28
+msgid "Allow spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:31
+msgid "Spawn shield:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:36
+msgid "Game speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:40
+msgid "Teamplay settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:43
+msgid "Friendly fire scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:47
+msgid "Virtual friendly fire (effect only)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:50
+msgid "Friendly fire penalty:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:54
+msgid "Virtual penalty (effect only)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:57
+msgid "Teams:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:66
+msgid "Map voting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:68
+msgid "No voting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:69
+msgid "2 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:70
+msgid "3 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:71
+msgid "4 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:72
+msgid "5 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:73
+msgid "6 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:74
+msgid "7 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:75
+msgid "8 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:76
+msgid "9 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:79
+msgid "Simple majority wins vcall"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:5
+msgid "Map Information"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "Full item placement"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "MinstaGib only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81
+msgid "Title:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:87
+msgid "Author:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:93
+msgid "Features:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98
+msgid "Game types:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:328
+msgid "Close"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124
+msgid "MAP^Play"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:7
+msgid "Mutators"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:33
+msgid "All Weapons Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:35
+msgid "Most Weapons Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:56
+#, c-format
+msgid "%s Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:68
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:162
+msgid "Dodging"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:70
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:254
+msgid "MinstaGib"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:72
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:208
+msgid "New Toys"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:74
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:258
+msgid "NIX"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:76
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:212
+msgid "Rocket Flying"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:78
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204
+msgid "Invincible Projectiles"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:266
+msgid "No start weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:189
+msgid "Low gravity"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:168
+msgid "Cloaked"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:90
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:171
+msgid "Midair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:92
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:174
+msgid "Vampire"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:94
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:216
+msgid "Piñata"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:96
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:220
+msgid "Weapons stay"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:179
+msgid "Blood loss"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:100
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201
+msgid "Jet pack"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:102
+msgid "No powerups"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104
+msgid "Powerups"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:106
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:165
+msgid "Touch explode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:108
+msgid "MUT^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:159
+msgid "Gameplay mutators:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:195
+msgid "Weapon & item mutators:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:198
+msgid "Grappling hook"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:225
+msgid "Regular (no arena)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:227
+msgid "Weapon arenas:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:244
+msgid "Most weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:248
+msgid "All weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:251
+msgid "Special arenas:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:262
+msgid "with laser"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:4
+msgid "Demo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:26
+msgid "Automatically record demos while playing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:29
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:28
+msgid "Filter:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:40
+msgid "Timedemo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43
+msgid "DEMO^Play"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:4
+msgid "Join"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
+msgid "SRVS^Empty"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
+msgid "SRVS^Full"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
+msgid "Pause"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
+msgid "Address:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
+msgid "Info..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
+msgid "Join!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:5
+msgid "Server Information"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:174
+#, c-format
+msgid "%d/%d"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
+msgid "Default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
+#, c-format
+msgid "%d modified"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
+msgid "Official"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:201
+msgid "N/A (auth library missing, can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:203
+msgid "N/A (auth library missing)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:209
+msgid "Not supported (can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211
+msgid "Not supported (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:215
+msgid "Supported (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217
+msgid "Supported (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:221
+msgid "Requested (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223
+msgid "Requested (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:227
+msgid "Required (can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:229
+msgid "Required (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:249
+msgid "Hostname:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:263
+msgid "Gametype:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:268
+msgid "Map:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:273
+msgid "Mod:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:278
+msgid "Version:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:283
+msgid "Settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:322
+msgid "Players:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:295
+msgid "Bots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:300
+msgid "Free slots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:306
+msgid "Encryption:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:311
+msgid "ID:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:316
+msgid "Key:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:61
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:20
+msgid "Model:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:73
+msgid "Glowing color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:82
+msgid "Detail color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93
+msgid "No crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:95
+msgid "Per weapon crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:98
+msgid "Custom crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117
+msgid "Crosshair size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:122
+msgid "Crosshair alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:128
+msgid "Crosshair color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130
+msgid "Per weapon"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:132
+msgid "By health"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:136
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:47
+msgid "Custom"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:144
+msgid "Other crosshair settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:152
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6
+msgid "Model settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6
+msgid "View settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:164
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6
+msgid "Weapon settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:174
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6
+msgid "HUD settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:180
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:164
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:200
+#: qcsrc/menu/xonotic/dialog_settings_input.c:90
+#: qcsrc/menu/xonotic/dialog_settings_user.c:88
+#: qcsrc/menu/xonotic/dialog_settings_video.c:143
+msgid "Apply immediately"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6
+msgid "Crosshair settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28
+msgid "Enable center crosshair dot"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31
+msgid "Dot size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36
+msgid "Dot alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41
+msgid "Dot color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43
+msgid "Use normal crosshair color"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54
+msgid "Crosshair animations:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57
+msgid "Smooth effects of crosshairs"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61
+msgid "Use rings to indicate weapon status"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67
+msgid "Hit testing:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69
+msgid "HTTST^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70
+msgid "HTTST^TrueAim"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71
+msgid "HTTST^Enemies"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76
+msgid "Blur crosshair if the shot is obstructed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81
+msgid "Animate when hitting an enemy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85
+msgid "Animate when picking up an item"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40
+msgid "Damage:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43
+msgid "Overlay:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:47
+msgid "Factor:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:53
+msgid "Fade rate:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:60
+msgid "Waypoints"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:75
+msgid "Edge offset:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83
+msgid "Show names above players"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:86
+msgid "Only when near crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:89
+msgid "Display health and armor"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:93
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:4
+msgid "Enter HUD editor"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:28
+msgid "In order for the HUD editor to show, you must first be in game."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30
+msgid "Do you wish to start a local game to set up the HUD?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33
+msgid "HDCNFRM^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36
+msgid "HDCNFRM^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28
+msgid "Body fading:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31
+msgid "Gibs:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33
+msgid "GIBS^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34
+msgid "GIBS^Few"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35
+msgid "GIBS^Many"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36
+msgid "GIBS^Lots"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:41
+msgid "Force player models to mine"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:43
+msgid "Force player colors to mine"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28
+msgid "Field of view:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31
+msgid "Zoom:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33
+msgid "RETICLE^Fullscreen"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34
+msgid "RETICLE^With reticle"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38
+msgid "ZOOM^Factor:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42
+msgid "ZOOM^Speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52
+msgid "ZOOM^Instant"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56
+msgid "ZOOM^Sensitivity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59
+msgid "Velocity zoom:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61
+msgid "VZOOM^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62
+msgid "VZOOM^Forward only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63
+msgid "VZOOM^All directions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67
+msgid "VZOOM^Speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72
+msgid "Allow passing through walls while spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75
+msgid "1st person perspective"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79
+msgid "Smooth the view when landing from a jump"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83
+msgid "Smooth the view while crouching"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87
+msgid "View waving while idle"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91
+msgid "View bobbing while walking around"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96
+msgid "3rd person perspective"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100
+msgid "Back distance"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106
+msgid "Up distance"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29
+msgid "Weapon priority list:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33
+msgid "Up"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36
+msgid "Down"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41
+msgid "Use priority list for weapon cycling"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43
+msgid "Auto switch weapons on pickup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:46
+msgid "Draw 1st person weapon model"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:58
+msgid "Gun model swaying"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63
+msgid "Gun model bobbing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:4
+msgid "Quit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:18
+msgid "Are you sure you want to quit?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:21
+msgid "Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:22
+msgid "No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:4
+msgid "Sandbox Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
+msgid "Remove *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28
+msgid "Copy *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:29
+msgid "Paste"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:31
+msgid "Bone:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:36
+msgid "Set * as child"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:37
+msgid "Attach to *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:39
+msgid "Detach from *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:42
+msgid "Visual object properties for *:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
+msgid "Set alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:49
+msgid "Set color main:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:51
+msgid "Set color glow:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:55
+msgid "Set frame:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:59
+msgid "Physical object properties for *:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:61
+msgid "Set material:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:67
+msgid "Set solidity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:68
+msgid "Non-solid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:69
+msgid "Solid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:70
+msgid "Set physics:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:71
+msgid "Static"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:72
+msgid "Movable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:73
+msgid "Physical"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:75
+msgid "Set scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:77
+msgid "Set force:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:81
+msgid "Claim *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:83
+msgid "* object info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:84
+msgid "* mesh info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:85
+msgid "* attachment info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:86
+msgid "Show help"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:87
+msgid "* is the object you are facing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:4
+msgid "Settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:18
+#: qcsrc/menu/xonotic/dialog_settings_input.c:4
+msgid "Input"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:19
+#: qcsrc/menu/xonotic/dialog_settings_video.c:4
+msgid "Video"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:20
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:4
+msgid "Effects"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:21
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:4
+msgid "Audio"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:22
+#: qcsrc/menu/xonotic/dialog_settings_user.c:4
+msgid "User"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:23
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:4
+msgid "Misc"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:27
+msgid "Master:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:33
+msgid "Music:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:41
+msgid "VOL^Ambient:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:48
+msgid "Info:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:55
+msgid "Items:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:62
+msgid "Pain:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:69
+msgid "Player:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:76
+msgid "Shots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:83
+msgid "Voice:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:91
+msgid "Weapons:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:97
+msgid "New style sound attenuation"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:99
+msgid "Mute sounds when not active"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:102
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:156
+msgid "Frequency:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:104
+msgid "8 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:105
+msgid "11.025 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:106
+msgid "16 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:107
+msgid "22.05 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:108
+msgid "24 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:109
+msgid "32 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:110
+msgid "44.1 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:111
+msgid "48 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:114
+msgid "Channels:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:116
+msgid "Mono"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:117
+msgid "Stereo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:118
+msgid "2.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:119
+msgid "4"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:120
+msgid "5"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:121
+msgid "5.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:122
+msgid "6.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:123
+msgid "7.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:126
+msgid "Swap Stereo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:128
+msgid "Headphone friendly mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:132
+msgid "Hit indication sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:134
+msgid "Chat message sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:136
+msgid "Menu sounds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:139
+msgid "Time announcer:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:141
+msgid "WRN^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:142
+msgid "1 minute"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:143
+msgid "5 minutes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:144
+msgid "WRN^Both"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:151
+msgid "Automatic taunts"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:161
+msgid "Debug info about sounds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:38
+msgid "Quality preset:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:41
+msgid "PRE^OMG!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:42
+msgid "PRE^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:43
+msgid "PRE^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:44
+msgid "PRE^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:45
+msgid "PRE^High"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:46
+msgid "PRE^Ultra"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:48
+msgid "PRE^Ultimate"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:52
+msgid "Geometry detail:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:54
+msgid "DET^Lowest"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:55
+msgid "DET^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:56
+msgid "DET^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:57
+msgid "DET^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:58
+msgid "DET^Best"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:59
+msgid "DET^Insane"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:62
+msgid "Player detail:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:65
+msgid "Texture resolution:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:69
+msgid "RES^Leet"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:70
+msgid "RES^Lowest"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:71
+msgid "RES^Very low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:72
+msgid "RES^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:73
+msgid "RES^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:74
+msgid "RES^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:75
+msgid "RES^Best"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:87
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:91
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:95
+msgid "Avoid lossy texture compression"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:105
+msgid "Show surfaces"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:108
+msgid "Use lightmaps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:109
+msgid "Deluxe mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:111
+msgid "Gloss"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:114
+msgid "Offset mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:116
+msgid "Relief mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:119
+msgid "Reflections:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:122
+msgid "Blurred"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:123
+msgid "REFL^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:124
+msgid "Sharp"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:129
+msgid "Particles quality:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:132
+msgid "Particles distance:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:135
+msgid "Damage effects:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:137
+msgid "DMGPRTCLS^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:138
+msgid "DMGPRTCLS^Skeletal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:139
+msgid "DMGPRTCLS^All"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:142
+msgid "Particle effects for spawnpoints"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:146
+msgid "No dynamic lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:148
+msgid "Fake corona lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:151
+msgid "Realtime dynamic lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:153
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:157
+msgid "Shadows"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:156
+msgid "Realtime world lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:161
+msgid "Use normal maps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:163
+msgid "Soft shadows"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:167
+msgid "Fade corona according to visibility"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:171
+msgid "Bloom"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:172
+msgid "Extra postprocessing effects"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:177
+msgid "Motion blur:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:183
+msgid "Decals"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:184
+msgid "Decals on models"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:188
+msgid "Distance:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:194
+msgid "Time:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:26
+msgid "Key bindings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:30
+msgid "Change key..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:34
+msgid "Edit..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:40
+msgid "Clear"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:46
+msgid "Pressing \"enter console\" key also closes it"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:48
+msgid "Automatically repeat jumping if holding jump"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:52
+#: qcsrc/menu/xonotic/dialog_settings_input.c:54
+#: qcsrc/menu/xonotic/dialog_settings_input.c:57
+msgid "Use joystick input"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:62
+msgid "Mouse:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:65
+msgid "Sensitivity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:69
+msgid "Smooth aiming"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:72
+msgid "Invert aiming"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:76
+#: qcsrc/menu/xonotic/dialog_settings_input.c:78
+#: qcsrc/menu/xonotic/dialog_settings_input.c:81
+msgid "Disable system mouse acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:86
+msgid "Enable built in mouse acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5
+msgid "User defined key bind"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:42
+msgid "Command when pressed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:45
+msgid "Command when released:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:48
+msgid "Save"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:51
+msgid "Cancel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:26
+msgid "Network:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:31
+msgid "56k"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:32
+msgid "ISDN"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:33
+msgid "Slow ADSL"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:34
+msgid "Fast ADSL"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:35
+msgid "Broadband"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:39
+msgid "Input packets/s:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:45
+msgid "Local latency:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:50
+msgid "Client UDP port:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "Use encryption (AES) when available"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+msgid "Show netgraph"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
+msgid "Client-side movement prediction"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+msgid "Movement error compensation"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
+msgid "Downloads:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+msgid "Maximum:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
+msgid "Speed (kB/s):"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
+msgid "Framerate:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+msgid "MAXFPS^5 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+msgid "MAXFPS^10 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+msgid "MAXFPS^20 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+msgid "MAXFPS^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+msgid "MAXFPS^40 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+msgid "MAXFPS^50 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+msgid "MAXFPS^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+msgid "MAXFPS^70 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
+msgid "MAXFPS^100 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
+msgid "MAXFPS^125 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
+msgid "MAXFPS^200 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+msgid "MAXFPS^Unlimited"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+msgid "Target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+msgid "TRGT^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+msgid "TRGT^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+msgid "TRGT^40 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+msgid "TRGT^50 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
+msgid "TRGT^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
+msgid "TRGT^100 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
+msgid "TRGT^125 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+msgid "TRGT^200 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+msgid "Idle limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+msgid "IDLFPS^10 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
+msgid "IDLFPS^20 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
+msgid "IDLFPS^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
+msgid "IDLFPS^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
+msgid "IDLFPS^Unlimited"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
+msgid "Show frames per second"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+msgid "Save processing time for other apps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+msgid "Menu tooltips:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
+msgid "TLTIP^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
+msgid "TLTIP^Standard"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+msgid "TLTIP^Advanced"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+msgid "Show current time"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
+msgid "Show current date"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+msgid "Enable developer mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5
+msgid "Advanced settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:32
+msgid "Cvar filter:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:45
+msgid "Setting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:49
+msgid "Type:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:53
+msgid "Value:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
+msgid "Description:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:27
+msgid "Menu skins:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:31
+msgid "Set skin"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:74
+msgid "Set language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:79
+msgid "Disable gore effects and harsh language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:82
+msgid "Allow player statistics to track your client"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:84
+msgid "Allow player statistics to use your nickname"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:26
+msgid "Resolution:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:29
+msgid "Font/UI size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:31
+msgid "SZ^Unreadable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:32
+msgid "SZ^Tiny"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:33
+msgid "SZ^Little"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:34
+msgid "SZ^Small"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:35
+msgid "SZ^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:36
+msgid "SZ^Large"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:37
+msgid "SZ^Huge"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:38
+msgid "SZ^Gigantic"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:39
+msgid "SZ^Colossal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:42
+msgid "Color depth:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:44
+msgid "16bit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:45
+msgid "32bit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:48
+msgid "Full screen"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:49
+msgid "Vertical Synchronization"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:53
+msgid "Anisotropy:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:55
+msgid "ANISO^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:56
+#: qcsrc/menu/xonotic/dialog_settings_video.c:66
+msgid "2x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:57
+#: qcsrc/menu/xonotic/dialog_settings_video.c:67
+msgid "4x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:58
+msgid "8x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:59
+msgid "16x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:62
+msgid "Antialiasing:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:65
+msgid "AA^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:71
+msgid "High-quality frame buffer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:76
+msgid "Depth first:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:78
+msgid "DF^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:79
+msgid "DF^World"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:80
+msgid "DF^All"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:83
+msgid "Vertex Buffer Objects (VBOs)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:86
+msgid "VBO^Off"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:87
+msgid "Vertices, some Tris (compatible)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:90
+msgid "Vertices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:91
+msgid "Vertices and Triangles"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:94
+msgid "Brightness:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:97
+msgid "Contrast:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:100
+msgid "Gamma:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:105
+msgid "Contrast boost:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:110
+msgid "Saturation:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:116
+msgid "LIT^Ambient:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:119
+msgid "Intensity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:123
+msgid "Wait for GPU to finish each frame"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:125
+msgid "Use OpenGL 2.0 shaders (GLSL)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:128
+msgid "Use GLSL to handle color control"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:133
+msgid "Psycho coloring (easter egg)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:136
+msgid "Trippy vertices (easter egg)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:139
+msgid "Flip view horizontally"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:4
+msgid "Singleplayer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:116
+msgid "Instant action! (random map with bots)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:137
+msgid "Campaign Difficulty:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:138
+msgid "CSKL^Easy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:139
+msgid "CSKL^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:140
+msgid "CSKL^Hard"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:142
+msgid "Start Singleplayer!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:4
+msgid "Winner"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:5
+msgid "Team Selection"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:42
+msgid "join 'best' team (auto-select)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:46
+msgid "red"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:47
+msgid "blue"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:48
+msgid "yellow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:49
+msgid "pink"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:52
+msgid "spectate"
+msgstr ""
+
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
+msgid "Do not press this button again!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:280
+msgid ""
+"Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:288
+#, c-format
+msgid "%s's Xonotic Server"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:293
+msgid ""
+"Huh? Can't play this (invalid game type). Refiltering so this won't happen "
+"again.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128
+msgid "spectator"
+msgstr ""
+
+#: qcsrc/menu/xonotic/playermodel.c:177
+msgid "<no model found>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:923
+msgid "Ping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:924
+msgid "Host name"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:925
+msgid "Map"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:926
+msgid "Type"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:927
+msgid "Players"
+msgstr ""
+
+#: qcsrc/menu/xonotic/skinlist.c:105
+msgid "<TITLE>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/skinlist.c:106
+msgid "<AUTHOR>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:77
+msgid "VOL^MAX"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:79
+msgid "VOL^OFF"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:81
+#, c-format
+msgid "%d %%"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:83
+#, c-format
+msgid "%.1f"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:85
+#, c-format
+msgid "%.2f %%"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:87
+#, c-format
+msgid "%s dB"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_resolution.c:116
+#, c-format
+msgid "%dx%d (%d:%d)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_resolution.c:119
+#, c-format
+msgid "%dx%d"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:308
+#, c-format
+msgid "error receiving update notification: status is %d\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:313
+msgid "error: received HTML instead of an update notification\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:318
+msgid "error: received carriage returns from update notification server\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:397
+#, c-format
+msgid ""
+"Update can be downloaded at:\n"
+"%s\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:497
+msgid "Autogenerating mapinfo for newly added maps..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:526
+#, c-format
+msgid "^1%s TEST BUILD"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:541
+#, c-format
+msgid "Update to %s now!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:626
+msgid ""
+"^1ERROR: Texture compression is required but not supported.\n"
+"^1Expect visual problems.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:746
+msgid "Use default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:766
+msgid "Team Color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qh:43
+msgid "Enable panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/weaponslist.c:102
+#, c-format
+msgid "%s (mutator weapon)"
+msgstr ""
+
+#: qcsrc/server/w_hlac.qc:11
+msgid "Heavy Laser Assault Cannon"
+msgstr ""
+
+#: qcsrc/server/w_hook.qc:11
+msgid "Grappling Hook"
+msgstr ""
+
+#: qcsrc/server/w_minstanex.qc:11
+msgid "MinstaNex"
+msgstr ""
+
+#: qcsrc/server/w_seeker.qc:11
+msgid "T.A.G. Seeker"
+msgstr ""
+
+#: qcsrc/server/w_tuba.qc:12
+#, no-c-format
+msgid "@!#%'n Tuba"
+msgstr ""
index 0130a180be113b4a8ad545db63e676ad98c88a38..b51d4170e98ead256944ee64f596cf60da700fc0 100644 (file)
@@ -4,15 +4,21 @@
 #
 # Translators:
 # divVerent <divVerent@xonotic.org>, 2011,2013
-# divVerent <divVerent@xonotic.org>, 2013
+# divVerent <divVerent@xonotic.org>, 2013-2014
+# Hans Andersen <hans.andersen72@yahoo.com>, 2013
+# Hans Andersen <hans.andersen72@yahoo.com>, 2013
+# Yepoleb <huberg18@gmail.com>, 2013
 # divVerent <divVerent@xonotic.org>, 2011
+# Sless <sless@gmx.net>, 2014
+# Sless <sless@gmx.net>, 2014
+# Yepoleb <huberg18@gmail.com>, 2013
 msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-03 11:55+0200\n"
-"PO-Revision-Date: 2013-10-03 10:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 14:09+0000\n"
+"Last-Translator: Sless <sless@gmx.net>\n"
 "Language-Team: German (http://www.transifex.com/projects/p/xonotic/language/"
 "de/)\n"
 "Language: de\n"
@@ -38,12 +44,7 @@ msgstr ""
 msgid "^4CSQC Build information: ^1%s\n"
 msgstr "^4CSQC Build-Information: ^1%s\n"
 
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
-#, c-format
-msgid "trying to switch to unsupported team %d\n"
-msgstr "Es wird versucht, zum nicht unterstützten Team %d zu wechseln\n"
-
-#: qcsrc/client/Main.qc:835
+#: qcsrc/client/Main.qc:836
 #, c-format
 msgid ""
 "Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
@@ -63,7 +64,7 @@ msgstr "%s (nicht zugewiesen)"
 msgid "%s (%s)"
 msgstr "%s (%s)"
 
-#: qcsrc/client/View.qc:1096
+#: qcsrc/client/View.qc:1165
 msgid "Revival progress"
 msgstr "Wiederbelebungsfortschritt"
 
@@ -95,214 +96,210 @@ msgstr "Zwischenzeit %d"
 msgid "%s (%s %s)"
 msgstr "%s (%s %s)"
 
-#: qcsrc/client/hud.qc:829
+#: qcsrc/client/hud.qc:832
 msgid "Out of ammo"
 msgstr "Keine Munition mehr"
 
-#: qcsrc/client/hud.qc:833
+#: qcsrc/client/hud.qc:836
 msgid "Don't have"
 msgstr "Nicht vorhanden"
 
-#: qcsrc/client/hud.qc:837
+#: qcsrc/client/hud.qc:840
 msgid "Unavailable"
 msgstr "Nicht verfügbar"
 
-#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
 #, c-format
 msgid "Player %d"
 msgstr "Spieler %d"
 
-#: qcsrc/client/hud.qc:2384
+#: qcsrc/client/hud.qc:2369
 msgid "^1Intermediate 1 (+15.42)"
 msgstr "^1Zwischenzeit 1 (+15.42)"
 
-#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
 #, c-format
 msgid "^1PENALTY: %.1f (%s)"
 msgstr "^1STRAFE: %.1f (%s)"
 
-#: qcsrc/client/hud.qc:2471
+#: qcsrc/client/hud.qc:2456
 #, c-format
 msgid "^2PENALTY: %.1f (%s)"
 msgstr "^2STRAFE: %.1f (%s)"
 
-#: qcsrc/client/hud.qc:2501
+#: qcsrc/client/hud.qc:2486
 msgid "^1You must answer before entering hud configure mode\n"
 msgstr "^1Du musst antworten, bevor das HUD konfiguriert werden kann\n"
 
-#: qcsrc/client/hud.qc:2506
+#: qcsrc/client/hud.qc:2491
 msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
 msgstr "^2Name ^7statt \"^1Anonymous player^7\" in den Statistiken"
 
-#: qcsrc/client/hud.qc:2586
+#: qcsrc/client/hud.qc:2570
 msgid "A vote has been called for:"
 msgstr "Eine Abstimmung wurde initiiert für:"
 
-#: qcsrc/client/hud.qc:2588
+#: qcsrc/client/hud.qc:2572
 msgid "Allow servers to store and display your name?"
 msgstr "Erlaube Servern, deinen Namen zu speichern und später zu zeigen?"
 
-#: qcsrc/client/hud.qc:2592
+#: qcsrc/client/hud.qc:2576
 msgid "^1Configure the HUD"
 msgstr "^1Das HUD konfigurieren"
 
-#: qcsrc/client/hud.qc:2596
+#: qcsrc/client/hud.qc:2580
 #, c-format
 msgid "Yes (%s): %d"
 msgstr "Ja (%s): %d"
 
-#: qcsrc/client/hud.qc:2598
+#: qcsrc/client/hud.qc:2582
 #, c-format
 msgid "No (%s): %d"
 msgstr "Nein (%s): %d"
 
-#: qcsrc/client/hud.qc:3169 qcsrc/client/hud.qc:3172 qcsrc/client/hud.qc:3174
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
 msgid "Personal best"
 msgstr "Persönliche Bestzeit"
 
-#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
 msgid "Server best"
 msgstr "Server-Bestzeit"
 
-#: qcsrc/client/hud.qc:3552
+#: qcsrc/client/hud.qc:3528
 msgid "^3Player^7: This is the chat area."
 msgstr "^3Player^7: Das ist der Chat-Bereich."
 
-#: qcsrc/client/hud.qc:3618
+#: qcsrc/client/hud.qc:3593
 #, c-format
 msgid "FPS: %.*f"
 msgstr "FPS: %.*f"
 
-#: qcsrc/client/hud.qc:3683
+#: qcsrc/client/hud.qc:3657
 msgid "^1Observing"
 msgstr "^1Beobachten"
 
-#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
 #, c-format
 msgid "^1Spectating: ^7%s"
 msgstr "^1Zuschauen bei: ^7%s"
 
-#: qcsrc/client/hud.qc:3693
+#: qcsrc/client/hud.qc:3667
 #, c-format
 msgid "^1Press ^3%s^1 to spectate"
 msgstr "^1Drücke ^3%s^1, um jemandem zuzuschauen"
 
-#: qcsrc/client/hud.qc:3695
+#: qcsrc/client/hud.qc:3669
 #, c-format
 msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
 msgstr "^1Drücke ^3%s^1 oder ^3%s^1 für den nächsten oder vorherigen Spieler"
 
-#: qcsrc/client/hud.qc:3699
+#: qcsrc/client/hud.qc:3673
 #, c-format
 msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
 msgstr "^1Benutze ^3%s^1 oder ^3%s^1 zum Ändern der Geschwindigkeit"
 
-#: qcsrc/client/hud.qc:3701
+#: qcsrc/client/hud.qc:3675
 #, c-format
 msgid "^1Press ^3%s^1 to observe"
 msgstr "^1Drücke ^3%s^1 zum Beobachten"
 
-#: qcsrc/client/hud.qc:3704
+#: qcsrc/client/hud.qc:3678
 #, c-format
 msgid "^1Press ^3%s^1 for gamemode info"
 msgstr "^1Drücke ^3%s^1 für Spielmodus-Info"
 
-#: qcsrc/client/hud.qc:3708
-msgid "^1Wait for your turn to join"
-msgstr "^1Warte, bis du dran bist"
-
-#: qcsrc/client/hud.qc:3714
+#: qcsrc/client/hud.qc:3686
 msgid "^1Match has already begun"
 msgstr "^1Das Match hat bereits begonnen"
 
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3688
 msgid "^1You have no more lives left"
 msgstr "^1Du hast keine Leben mehr übrig"
 
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
 #, c-format
 msgid "^1Press ^3%s^1 to join"
 msgstr "^1Drücke ^3%s^1 zum Mitspielen"
 
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3701
 #, c-format
 msgid "^1Game starts in ^3%d^1 seconds"
 msgstr "^1Das Spiel beginnt in ^3%d^1 Sekunden"
 
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3708
 msgid "^2Currently in ^1warmup^2 stage!"
 msgstr "^2Momentan in der ^1Aufwärmphase^2!"
 
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3723
 #, c-format
 msgid "%sPress ^3%s%s to end warmup"
 msgstr "%sDrücke ^3%s%s, um die Aufwärmphase zu beenden"
 
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3725
 #, c-format
 msgid "%sPress ^3%s%s once you are ready"
 msgstr "%sDrücke ^3%s%s, sobald du bereit bist"
 
-#: qcsrc/client/hud.qc:3758
+#: qcsrc/client/hud.qc:3730
 msgid "^2Waiting for others to ready up to end warmup..."
 msgstr ""
 "^2Es wird auf andere Spieler gewartet, um die Aufwärmphase zu beenden..."
 
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3732
 msgid "^2Waiting for others to ready up..."
 msgstr "^2Es wird gewartet, bis andere Spieler bereit sind..."
 
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3738
 #, c-format
 msgid "^2Press ^3%s^2 to end warmup"
 msgstr "^2Drücke ^3%s^2, um die Aufwärmphase zu beenden"
 
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3759
 msgid "Teamnumbers are unbalanced!"
 msgstr "Die Teams sind unausgeglichen!"
 
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3764
 #, c-format
 msgid " Press ^3%s%s to adjust"
 msgstr " Drücke ^3%s%s zum Anpassen"
 
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3772
 msgid "^7Press ^3ESC ^7to show HUD options."
 msgstr "^7Drücke ^3ESC^7, um die HUD-Optionen anzuzeigen."
 
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3774
 msgid "^3Doubleclick ^7a panel for panel-specific options."
 msgstr "^3Doppelklicke ^7ein Panel für panel-spezifische Optionen."
 
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3776
 msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
 msgstr "^3STRG^7, um Kollisionstests zu deaktivieren, ^3SHIFT ^7und"
 
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3778
 msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
 msgstr "^3ALT ^7+ ^3PFEILTASTEN ^7für Feinjustierungen."
 
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3825
 msgid " qu/s"
 msgstr "qu/s"
 
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3829
 msgid " m/s"
 msgstr "m/s"
 
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3833
 msgid " km/h"
 msgstr "km/h"
 
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3837
 msgid " mph"
 msgstr "mph"
 
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3841
 msgid " knots"
 msgstr " Knoten"
 
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4497
 msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
 msgstr ""
 "Falsche/fehlende Panel-Nummern in _hud_panelorder wurden automatisch "
@@ -356,17 +353,17 @@ msgstr "^1Fehler:^7 Konnte den Pak-Index nicht finden.\n"
 msgid "Requesting preview...\n"
 msgstr "Vorschau wird angefordert...\n"
 
-#: qcsrc/client/miscfunctions.qc:98
+#: qcsrc/client/miscfunctions.qc:101
 msgid "Trying to remove a team which is not in the teamlist!"
 msgstr "Versuchte, ein Team zu löschen, das nicht in der Teamliste ist!"
 
-#: qcsrc/client/movetypes.qc:163
+#: qcsrc/client/movetypes.qc:227
 #, c-format
 msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
 "Kann ein Objekt nicht befreien (edict: %d, classname: %s, origin: %s)\n"
 
-#: qcsrc/client/movetypes.qc:166
+#: qcsrc/client/movetypes.qc:230
 #, c-format
 msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
@@ -508,34 +505,34 @@ msgstr "SCO^takes"
 msgid "SCO^ticks"
 msgstr "SCO^ticks"
 
-#: qcsrc/client/scoreboard.qc:251
+#: qcsrc/client/scoreboard.qc:237
 msgid ""
 "You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
 msgstr ""
 "Sie können die Tabelle mit dem ^2scoreboard_columns_set Befehl ändern.\n"
 
-#: qcsrc/client/scoreboard.qc:252
+#: qcsrc/client/scoreboard.qc:238
 msgid "^3|---------------------------------------------------------------|\n"
 msgstr "^3|---------------------------------------------------------------|\n"
 
-#: qcsrc/client/scoreboard.qc:253
+#: qcsrc/client/scoreboard.qc:239
 msgid "Usage:\n"
 msgstr "Syntax:\n"
 
-#: qcsrc/client/scoreboard.qc:254
+#: qcsrc/client/scoreboard.qc:240
 msgid "^2scoreboard_columns_set default\n"
 msgstr "^2scoreboard_columns_set default\n"
 
-#: qcsrc/client/scoreboard.qc:255
+#: qcsrc/client/scoreboard.qc:241
 msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
 msgstr "^2scoreboard_columns_set ^7field1 field2 ...\n"
 
-#: qcsrc/client/scoreboard.qc:256
+#: qcsrc/client/scoreboard.qc:242
 msgid "The following field names are recognized (case insensitive):\n"
 msgstr ""
 "Die folgenden Feldnamen werden akzeptiert (in Groß- oder Kleinschreibung):\n"
 
-#: qcsrc/client/scoreboard.qc:257
+#: qcsrc/client/scoreboard.qc:243
 msgid ""
 "You can use a ^3|^7 to start the right-aligned fields.\n"
 "\n"
@@ -543,43 +540,43 @@ msgstr ""
 "Bei ^3|^7 beginnen die nach rechts ausgerichteten Felder.\n"
 "\n"
 
-#: qcsrc/client/scoreboard.qc:259
+#: qcsrc/client/scoreboard.qc:245
 msgid "^3name^7 or ^3nick^7             Name of a player\n"
 msgstr "^3name^7 oder ^3nick^7             Name des Spielers\n"
 
-#: qcsrc/client/scoreboard.qc:260
+#: qcsrc/client/scoreboard.qc:246
 msgid "^3ping^7                     Ping time\n"
 msgstr "^3ping^7                     Ping\n"
 
-#: qcsrc/client/scoreboard.qc:261
+#: qcsrc/client/scoreboard.qc:247
 msgid "^3pl^7                       Packet loss\n"
 msgstr "^3pl^7                       Paketverlust\n"
 
-#: qcsrc/client/scoreboard.qc:262
+#: qcsrc/client/scoreboard.qc:248
 msgid "^3kills^7                    Number of kills\n"
 msgstr "^3kills^7                    Anzahl Kills\n"
 
-#: qcsrc/client/scoreboard.qc:263
+#: qcsrc/client/scoreboard.qc:249
 msgid "^3deaths^7                   Number of deaths\n"
 msgstr "^3deaths^7                   Anzahl der Tode\n"
 
-#: qcsrc/client/scoreboard.qc:264
+#: qcsrc/client/scoreboard.qc:250
 msgid "^3suicides^7                 Number of suicides\n"
 msgstr "^3suicides^7                 Anzahl der Selbstmorde\n"
 
-#: qcsrc/client/scoreboard.qc:265
+#: qcsrc/client/scoreboard.qc:251
 msgid "^3frags^7                    kills - suicides\n"
 msgstr "^3frags^7                    Anzahl Kills - Anzahl Selbstmorde\n"
 
-#: qcsrc/client/scoreboard.qc:266
+#: qcsrc/client/scoreboard.qc:252
 msgid "^3kd^7                       The kill-death ratio\n"
 msgstr "^3kd^7                       Das Kill/Death-Verhältnis\n"
 
-#: qcsrc/client/scoreboard.qc:267
+#: qcsrc/client/scoreboard.qc:253
 msgid "^3sum^7                      frags - deaths\n"
 msgstr "^3deaths^7                   Anzahl der Tode\n"
 
-#: qcsrc/client/scoreboard.qc:268
+#: qcsrc/client/scoreboard.qc:254
 msgid ""
 "^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
 "captured\n"
@@ -587,7 +584,7 @@ msgstr ""
 "^3caps^7                     Wie oft mit einer Flagge (CTF) oder einem "
 "Schlüssel (KeyHunt) gepunktet wurde\n"
 
-#: qcsrc/client/scoreboard.qc:269
+#: qcsrc/client/scoreboard.qc:255
 msgid ""
 "^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
 "ball (Keepaway) was picked up\n"
@@ -595,82 +592,82 @@ msgstr ""
 "^3pickups^7                  Wie oft eine Flagge (CTF), ein Schlüssel "
 "(KeyHunt) oder ein Ball (Keepaway) aufgenommen wurde\n"
 
-#: qcsrc/client/scoreboard.qc:270
+#: qcsrc/client/scoreboard.qc:256
 msgid "^3captime^7                  Time of fastest cap (CTF)\n"
 msgstr "^3captime^7                  Zeit des schnellsten Caps (CTF)\n"
 
-#: qcsrc/client/scoreboard.qc:271
+#: qcsrc/client/scoreboard.qc:257
 msgid "^3fckills^7                  Number of flag carrier kills\n"
 msgstr "^3fckills^7                  Anzahl der getöteten Flaggen-Träger\n"
 
-#: qcsrc/client/scoreboard.qc:272
+#: qcsrc/client/scoreboard.qc:258
 msgid "^3returns^7                  Number of flag returns\n"
 msgstr "^3returns^7                  Anzahl der zurückgebrachten Flaggen\n"
 
-#: qcsrc/client/scoreboard.qc:273
+#: qcsrc/client/scoreboard.qc:259
 msgid "^3drops^7                    Number of flag drops\n"
 msgstr "^3drops^7                    Anzahl der fallen gelassenen Flaggen\n"
 
-#: qcsrc/client/scoreboard.qc:274
+#: qcsrc/client/scoreboard.qc:260
 msgid "^3lives^7                    Number of lives (LMS)\n"
 msgstr "^3lives^7                    Anzahl der Leben (LMS)\n"
 
-#: qcsrc/client/scoreboard.qc:275
+#: qcsrc/client/scoreboard.qc:261
 msgid "^3rank^7                     Player rank\n"
 msgstr "^3rank^7                     Rang des Spielers\n"
 
-#: qcsrc/client/scoreboard.qc:276
+#: qcsrc/client/scoreboard.qc:262
 msgid "^3pushes^7                   Number of players pushed into void\n"
 msgstr ""
 "^3pushes^7                   Anzahl der in die Leere gestoßenen Gegner\n"
 
-#: qcsrc/client/scoreboard.qc:277
+#: qcsrc/client/scoreboard.qc:263
 msgid ""
 "^3destroyed^7                Number of keys destroyed by pushing them into "
 "void\n"
 msgstr ""
 "^3destroyed^7                Anzahl der in die Leere gestoßenen Schlüssel\n"
 
-#: qcsrc/client/scoreboard.qc:278
+#: qcsrc/client/scoreboard.qc:264
 msgid "^3kckills^7                  Number of keys carrier kills\n"
 msgstr "^3kckills^7                  Anzahl der getöteten Schlüsselträger\n"
 
-#: qcsrc/client/scoreboard.qc:279
+#: qcsrc/client/scoreboard.qc:265
 msgid "^3losses^7                   Number of times a key was lost\n"
 msgstr "^3losses^7                   Anzahl verlorener Schlüssel\n"
 
-#: qcsrc/client/scoreboard.qc:280
+#: qcsrc/client/scoreboard.qc:266
 msgid "^3laps^7                     Number of laps finished (race/cts)\n"
 msgstr "^3laps^7                     Anzahl vollendeter Runden (race/cts)\n"
 
-#: qcsrc/client/scoreboard.qc:281
+#: qcsrc/client/scoreboard.qc:267
 msgid "^3time^7                     Total time raced (race/cts)\n"
 msgstr "^3time^7                     Gesamtzeit des Rennens (race/cts)\n"
 
-#: qcsrc/client/scoreboard.qc:282
+#: qcsrc/client/scoreboard.qc:268
 msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
 msgstr "^3fastest^7                  Zeit der schnellsten Runde (race/cts)\n"
 
-#: qcsrc/client/scoreboard.qc:283
+#: qcsrc/client/scoreboard.qc:269
 msgid "^3ticks^7                    Number of ticks (DOM)\n"
 msgstr "^3ticks^7                    Anzahl der Ticks (DOM)\n"
 
-#: qcsrc/client/scoreboard.qc:284
+#: qcsrc/client/scoreboard.qc:270
 msgid "^3takes^7                    Number of domination points taken (DOM)\n"
 msgstr ""
 "^3takes^7                    Anzahl eingenommener Domination-Punkte (DOM)\n"
 
-#: qcsrc/client/scoreboard.qc:285
+#: qcsrc/client/scoreboard.qc:271
 msgid "^3bckills^7                  Number of ball carrier kills\n"
 msgstr "^3bckills^7                  Anzahl der getöteten Ballträger\n"
 
-#: qcsrc/client/scoreboard.qc:286
+#: qcsrc/client/scoreboard.qc:272
 msgid ""
 "^3bctime^7                   Total amount of time holding the ball in "
 "Keepaway\n"
 msgstr "^3bctime^7                   Gesamtzeit im Ballbesitz bei Keepaway\n"
 
-#: qcsrc/client/scoreboard.qc:287
+#: qcsrc/client/scoreboard.qc:273
 msgid ""
 "^3score^7                    Total score\n"
 "\n"
@@ -678,7 +675,7 @@ msgstr ""
 "^3score^7                    Gesamtpunktzahl\n"
 "\n"
 
-#: qcsrc/client/scoreboard.qc:289
+#: qcsrc/client/scoreboard.qc:275
 msgid ""
 "Before a field you can put a + or - sign, then a comma separated list\n"
 "of game types, then a slash, to make the field show up only in these\n"
@@ -693,7 +690,7 @@ msgstr ""
 "um alle im aktuellen Spieltyp zu verfügbaren Felder zu zeigen.\n"
 "\n"
 
-#: qcsrc/client/scoreboard.qc:294
+#: qcsrc/client/scoreboard.qc:280
 msgid ""
 "The special game type names 'teams' and 'noteams' can be used to\n"
 "include/exclude ALL teams/noteams game modes.\n"
@@ -703,11 +700,11 @@ msgstr ""
 "um ALLE Teamplay- oder Nicht-Teamplay-Spieltypen ein-/auszuschließen.\n"
 "\n"
 
-#: qcsrc/client/scoreboard.qc:297
+#: qcsrc/client/scoreboard.qc:283
 msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
 msgstr "Beispiel: scoreboard_columns_set name ping pl < +ctf/feld3 dm/feld4\n"
 
-#: qcsrc/client/scoreboard.qc:298
+#: qcsrc/client/scoreboard.qc:284
 msgid ""
 "will display name, ping and pl aligned to the left, and the fields\n"
 "right of the vertical bar aligned to the right.\n"
@@ -715,7 +712,7 @@ msgstr ""
 "wird Name, Ping und Paketverlust linksbündig, und die Felder rechts\n"
 "von der Trennlinie rechtsbündig anzeigen.\n"
 
-#: qcsrc/client/scoreboard.qc:300
+#: qcsrc/client/scoreboard.qc:286
 msgid ""
 "'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
 "other gamemodes except DM.\n"
@@ -723,7 +720,7 @@ msgstr ""
 "'feld3' wird nur in CTF sichtbar sein, und 'feld4' wird in allen Spieltypen\n"
 "außer DM erscheinen.\n"
 
-#: qcsrc/client/scoreboard.qc:534 qcsrc/client/scoreboard.qc:541
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
@@ -731,91 +728,95 @@ msgstr ""
 msgid "N/A"
 msgstr "N/V"
 
-#: qcsrc/client/scoreboard.qc:984
+#: qcsrc/client/scoreboard.qc:970
 #, c-format
 msgid "Accuracy stats (average %d%%)"
 msgstr "Genauigkeit (Durchschn.: %d%%)"
 
-#: qcsrc/client/scoreboard.qc:1047
+#: qcsrc/client/scoreboard.qc:1033
 #, c-format
 msgid "%d%%"
 msgstr "%d%%"
 
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1099
 msgid "Map stats:"
 msgstr "Map-Statistiken:"
 
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr "Monster getötet:"
+
+#: qcsrc/client/scoreboard.qc:1124
 msgid "Secrets found:"
 msgstr "Gefundene Geheimnisse:"
 
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1152
 msgid "Rankings"
 msgstr "Platzierungen"
 
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1248
 msgid "Scoreboard"
 msgstr "Tabelle"
 
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1307
 #, c-format
 msgid "Speed award: %d ^7(%s^7)"
 msgstr "Höchstgeschwindigkeit: %d ^7(%s^7)"
 
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1311
 #, c-format
 msgid "All-time fastest: %d ^7(%s^7)"
 msgstr "Rekord: %d ^7(%s^7)"
 
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1345
 msgid "Spectators"
 msgstr "Zuschauer"
 
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1352
 #, c-format
-msgid "playing on ^2%s^7"
-msgstr "es wird auf ^2%s^7 gespielt"
+msgid "playing ^3%s^7 on ^2%s^7"
+msgstr "spielend ^3%s^7 auf ^2%s^7"
 
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
 #, c-format
 msgid " for up to ^1%1.0f minutes^7"
 msgstr "für bis zu ^1%1.0f Minuten^7"
 
-#: qcsrc/client/scoreboard.qc:1364 qcsrc/client/scoreboard.qc:1383
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
 msgid " or"
 msgstr " oder"
 
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
 #, c-format
 msgid " until ^3%s %s^7"
 msgstr " bis ^3%s %s^7"
 
-#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1375
-#: qcsrc/client/scoreboard.qc:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
 msgid "SCO^points"
 msgstr "Punkte"
 
-#: qcsrc/client/scoreboard.qc:1369 qcsrc/client/scoreboard.qc:1376
-#: qcsrc/client/scoreboard.qc:1388 qcsrc/client/scoreboard.qc:1395
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
 msgid "SCO^is beaten"
 msgstr "SCO^is beaten"
 
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
 #, c-format
 msgid " until a lead of ^3%s %s^7"
 msgstr " bis zu einem Vorsprung von ^3%s %s^7"
 
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1419
 #, c-format
 msgid "^1Respawning in ^3%s^1..."
 msgstr "^1Erneut spawnen in ^3%s^1..."
 
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1429
 #, c-format
 msgid "You are dead, wait ^3%s^7 before respawning"
 msgstr "Du bist tot, warte ^3%s^7 bis zum Respawn"
 
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1438
 #, c-format
 msgid "You are dead, press ^2%s^7 to respawn"
 msgstr "Du bist tot, drücke ^2%s^7 um neu zu spawnen"
@@ -825,7 +826,7 @@ msgstr "Du bist tot, drücke ^2%s^7 um neu zu spawnen"
 msgid "Cannot initialize sound %s\n"
 msgstr "Kann Sound %s nicht initialisieren\n"
 
-#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:591
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
 msgid "Spam"
 msgstr "Spam"
 
@@ -842,209 +843,213 @@ msgstr "Rechts keine Waffe!"
 msgid "No left gunner!"
 msgstr "Links keine Waffe!"
 
-#: qcsrc/client/waypointsprites.qc:254
+#: qcsrc/client/waypointsprites.qc:246
 msgid "Push"
 msgstr "Drücken"
 
-#: qcsrc/client/waypointsprites.qc:255
+#: qcsrc/client/waypointsprites.qc:247
 msgid "Destroy"
 msgstr "Zerstören"
 
-#: qcsrc/client/waypointsprites.qc:256
+#: qcsrc/client/waypointsprites.qc:248
 msgid "Defend"
 msgstr "Verteidigen"
 
-#: qcsrc/client/waypointsprites.qc:257
+#: qcsrc/client/waypointsprites.qc:249
 msgid "Blue base"
 msgstr "Blaue Basis"
 
-#: qcsrc/client/waypointsprites.qc:258
+#: qcsrc/client/waypointsprites.qc:250
 msgid "DANGER"
 msgstr "GEFAHR"
 
-#: qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:251
 msgid "Enemy carrier"
 msgstr "Feindlicher Träger"
 
-#: qcsrc/client/waypointsprites.qc:260
+#: qcsrc/client/waypointsprites.qc:252
 msgid "Flag carrier"
 msgstr "Flaggenträger"
 
-#: qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:253
 msgid "Dropped flag"
 msgstr "Flagge"
 
-#: qcsrc/client/waypointsprites.qc:262
+#: qcsrc/client/waypointsprites.qc:254
 msgid "Help me!"
 msgstr "Helft mir!"
 
-#: qcsrc/client/waypointsprites.qc:263
+#: qcsrc/client/waypointsprites.qc:255
 msgid "Here"
 msgstr "Hier"
 
-#: qcsrc/client/waypointsprites.qc:264
+#: qcsrc/client/waypointsprites.qc:256
 msgid "Dropped key"
 msgstr "Schlüssel"
 
-#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:267
-#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
-#: qcsrc/client/waypointsprites.qc:270
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
 msgid "Key carrier"
 msgstr "Schlüsselträger"
 
-#: qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:258
 msgid "Run here"
 msgstr "Hier her"
 
-#: qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:263
 msgid "Red base"
 msgstr "Rote Basis"
 
-#: qcsrc/client/waypointsprites.qc:272
+#: qcsrc/client/waypointsprites.qc:264
 msgid "Waypoint"
 msgstr "Wegpunkt"
 
-#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
-#: qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
 msgid "Generator"
 msgstr "Generator"
 
-#: qcsrc/client/waypointsprites.qc:276 qcsrc/client/waypointsprites.qc:277
-#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
-#: qcsrc/client/waypointsprites.qc:280 qcsrc/client/waypointsprites.qc:281
-#: qcsrc/client/waypointsprites.qc:282 qcsrc/client/waypointsprites.qc:283
-#: qcsrc/client/waypointsprites.qc:307 qcsrc/client/waypointsprites.qc:308
-#: qcsrc/client/waypointsprites.qc:309 qcsrc/client/waypointsprites.qc:310
-#: qcsrc/client/waypointsprites.qc:311
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
 msgid "Control point"
 msgstr "Kontrollpunkt"
 
-#: qcsrc/client/waypointsprites.qc:284
+#: qcsrc/client/waypointsprites.qc:276
 msgid "Checkpoint"
 msgstr "Checkpoint"
 
-#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
 msgid "Finish"
 msgstr "Ziel"
 
-#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
 msgid "Start"
 msgstr "Start"
 
-#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
+msgstr "Tor"
+
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
 msgid "Ball"
 msgstr "Ball"
 
-#: qcsrc/client/waypointsprites.qc:290
+#: qcsrc/client/waypointsprites.qc:283
 msgid "Ball carrier"
 msgstr "Ballbesitzer"
 
-#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
 msgid "Laser"
 msgstr "Laser"
 
-#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
 msgid "Shotgun"
 msgstr "Schrotflinte"
 
-#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
 msgid "Machine Gun"
 msgstr "Maschinengewehr"
 
-#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
 msgid "Mortar"
 msgstr "Mortar"
 
-#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
 msgid "Electro"
 msgstr "Elektro"
 
-#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
 msgid "Crylink"
 msgstr "Crylink"
 
-#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
 msgid "Nex"
 msgstr "Nex"
 
-#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
 msgid "Hagar"
 msgstr "Hagar"
 
-#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
 msgid "Rocket Launcher"
 msgstr "Raketenwerfer"
 
-#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
 msgid "Port-O-Launch"
 msgstr "Port-O-Launch"
 
-#: qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:294
 msgid "Minstanex"
 msgstr "MinstaNex"
 
-#: qcsrc/client/waypointsprites.qc:302
+#: qcsrc/client/waypointsprites.qc:295
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
 msgid "Hook"
 msgstr "Enterhaken"
 
-#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
 msgid "Fireball"
 msgstr "Fireball"
 
-#: qcsrc/client/waypointsprites.qc:304
+#: qcsrc/client/waypointsprites.qc:297
 msgid "HLAC"
 msgstr "HLAC"
 
-#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
 msgid "Rifle"
 msgstr "Gewehr"
 
-#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
 msgid "Mine Layer"
 msgstr "Minenleger"
 
-#: qcsrc/client/waypointsprites.qc:312
+#: qcsrc/client/waypointsprites.qc:305
 msgid "Invisibility"
 msgstr "Unsichtbarkeit"
 
-#: qcsrc/client/waypointsprites.qc:313
+#: qcsrc/client/waypointsprites.qc:306
 msgid "Extra life"
 msgstr "Extraleben"
 
-#: qcsrc/client/waypointsprites.qc:314
+#: qcsrc/client/waypointsprites.qc:307
 msgid "Speed"
 msgstr "Geschwindigkeit"
 
-#: qcsrc/client/waypointsprites.qc:315
+#: qcsrc/client/waypointsprites.qc:308
 msgid "Strength"
 msgstr "Stärke"
 
-#: qcsrc/client/waypointsprites.qc:316
+#: qcsrc/client/waypointsprites.qc:309
 msgid "Shield"
 msgstr "Schutzschild"
 
-#: qcsrc/client/waypointsprites.qc:317
+#: qcsrc/client/waypointsprites.qc:310
 msgid "Fuel regen"
 msgstr "Treibstoff-Regeneration"
 
-#: qcsrc/client/waypointsprites.qc:318
+#: qcsrc/client/waypointsprites.qc:311
 msgid "Jet Pack"
 msgstr "Jetpack"
 
-#: qcsrc/client/waypointsprites.qc:319
+#: qcsrc/client/waypointsprites.qc:312
 msgid "Frozen!"
 msgstr "Eingefroren!"
 
-#: qcsrc/client/waypointsprites.qc:320
+#: qcsrc/client/waypointsprites.qc:313
 msgid "Tagged"
 msgstr "Markiert"
 
-#: qcsrc/client/waypointsprites.qc:321
+#: qcsrc/client/waypointsprites.qc:314
 msgid "Vehicle"
 msgstr "Fahrzeug"
 
-#: qcsrc/client/waypointsprites.qc:595
+#: qcsrc/client/waypointsprites.qc:588
 #, c-format
 msgid "%s needing help!"
 msgstr "%s braucht Hilfe!"
@@ -1268,12 +1273,12 @@ msgstr "%drd"
 msgid "%dth"
 msgstr "%dth"
 
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:717
 #, no-c-format
 msgid "@!#%'n Tuba Throwing"
 msgstr "@!#%'n Tuba-Werfen"
 
-#: qcsrc/common/mapinfo.qc:1109 qcsrc/menu/xonotic/skinlist.c:166
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
@@ -1287,57 +1292,82 @@ msgid "Last Man Standing"
 msgstr "Last Man Standing"
 
 #: qcsrc/common/mapinfo.qh:42
-msgid "Arena"
-msgstr "Arena"
-
-#: qcsrc/common/mapinfo.qh:45
 msgid "Race"
 msgstr "Race"
 
-#: qcsrc/common/mapinfo.qh:48
+#: qcsrc/common/mapinfo.qh:45
 msgid "Race CTS"
 msgstr "Race CTS"
 
-#: qcsrc/common/mapinfo.qh:51
+#: qcsrc/common/mapinfo.qh:48
 msgid "Team Deathmatch"
 msgstr "Team Deathmatch"
 
-#: qcsrc/common/mapinfo.qh:54
+#: qcsrc/common/mapinfo.qh:51
 msgid "Capture the Flag"
 msgstr "Capture The Flag"
 
-#: qcsrc/common/mapinfo.qh:57
+#: qcsrc/common/mapinfo.qh:54
 msgid "Clan Arena"
 msgstr "Clan Arena"
 
-#: qcsrc/common/mapinfo.qh:60
+#: qcsrc/common/mapinfo.qh:57
 msgid "Domination"
 msgstr "Domination"
 
-#: qcsrc/common/mapinfo.qh:63
+#: qcsrc/common/mapinfo.qh:60
 msgid "Key Hunt"
 msgstr "Key Hunt"
 
-#: qcsrc/common/mapinfo.qh:66
+#: qcsrc/common/mapinfo.qh:63
 msgid "Assault"
 msgstr "Assault"
 
-#: qcsrc/common/mapinfo.qh:69
+#: qcsrc/common/mapinfo.qh:66
 msgid "Onslaught"
 msgstr "Onslaught"
 
-#: qcsrc/common/mapinfo.qh:72
+#: qcsrc/common/mapinfo.qh:69
 msgid "Nexball"
 msgstr "Nexball"
 
-#: qcsrc/common/mapinfo.qh:75
+#: qcsrc/common/mapinfo.qh:72
 msgid "Freeze Tag"
 msgstr "Freeze Tag"
 
-#: qcsrc/common/mapinfo.qh:78
+#: qcsrc/common/mapinfo.qh:75
 msgid "Keepaway"
 msgstr "Keepaway"
 
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr "Invasion"
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr "Magier"
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr "Shambler"
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr "Spinne"
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr "Lindwurm"
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr "Zombie"
+
 #: qcsrc/common/net_notice.qc:89
 msgid "^1Server notices:"
 msgstr "^1Serverbenachrichtigungen:"
@@ -1348,11 +1378,17 @@ msgid "^7%s (^3%d sec left)"
 msgstr "^7%s (^3%d Sek. verbleibend)"
 
 #: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr ""
+"^F4NOTE: ^BGSpectatorchat wird nicht an die Spieler gesendet während des "
+"Matches"
+
+#: qcsrc/common/notifications.qh:343
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag"
 msgstr "^BG%s^BG hat die ^TC^TT^BG Flagge erobert"
 
-#: qcsrc/common/notifications.qh:343
+#: qcsrc/common/notifications.qh:344
 #, c-format
 msgid ""
 "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds, breaking ^BG"
@@ -1361,12 +1397,12 @@ msgstr ""
 "^BG%s^BG hat die ^TC^TT^BG Flagge in ^F1%s^BG Sekunden erobert, und damit ^BG"
 "%s^BG's Rekord von ^F2%s^BG Sekunden gebrochen"
 
-#: qcsrc/common/notifications.qh:344
+#: qcsrc/common/notifications.qh:345
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
 msgstr "^BG%s^BG hat die ^TC^TT^BG Flagge in ^F1%s^BG Sekunden erobert"
 
-#: qcsrc/common/notifications.qh:345
+#: qcsrc/common/notifications.qh:346
 #, c-format
 msgid ""
 "^BG%s^BG captured the ^TC^TT^BG flag in ^F2%s^BG seconds, failing to break "
@@ -1375,22 +1411,22 @@ msgstr ""
 "^BG%s^BG hat die ^TC^TT^BG Flagge in ^F1%s^BG Sekunden erobert, konnte "
 "jedoch nicht ^BG%s^BG's Rekord von ^F2%s^BG Sekunden brechen"
 
-#: qcsrc/common/notifications.qh:346
+#: qcsrc/common/notifications.qh:347
 msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
 msgstr ""
 "^BGDie ^TC^TT^BG Flagge wurde von ihrem Besitzer zur Basis zurückgebracht"
 
-#: qcsrc/common/notifications.qh:347
+#: qcsrc/common/notifications.qh:348
 msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
 msgstr "^BGDie ^TC^TT^BG Flagge wurde zerstört und zur Basis zurückgebracht"
 
-#: qcsrc/common/notifications.qh:348
+#: qcsrc/common/notifications.qh:349
 msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
 msgstr ""
 "^BGDie ^TC^TT^BG Flagge fühlte sich in der Basis vernachlässigt und ist "
 "einfach nach Hause gerannt"
 
-#: qcsrc/common/notifications.qh:349
+#: qcsrc/common/notifications.qh:350
 msgid ""
 "^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
 "base"
@@ -1398,7 +1434,7 @@ msgstr ""
 "^BGDie ^TC^TT^BG Flagge fiel an einen unerreichbaren Ort und ist daher aus "
 "Langeweile heimgeflogen"
 
-#: qcsrc/common/notifications.qh:350
+#: qcsrc/common/notifications.qh:351
 #, c-format
 msgid ""
 "^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
@@ -1407,919 +1443,995 @@ msgstr ""
 "^BGDie ^TC^TT^BG Flagge hatte nach ^F1%.2f^BG Sekunden einfach keine Geduld "
 "mehr und ist nach Hause gegangen"
 
-#: qcsrc/common/notifications.qh:351
+#: qcsrc/common/notifications.qh:352
 msgid "^BGThe ^TC^TT^BG flag has returned to the base"
 msgstr "^BGDie ^TC^TT^BG Flagge ist zur Basis zurückgekehrt"
 
-#: qcsrc/common/notifications.qh:352
+#: qcsrc/common/notifications.qh:353
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT^BG flag"
 msgstr "^BG%s^BG hat die ^TC^TT^BG Flagge verloren"
 
-#: qcsrc/common/notifications.qh:353
+#: qcsrc/common/notifications.qh:354
 #, c-format
 msgid "^BG%s^BG got the ^TC^TT^BG flag"
 msgstr "^BG%s^BG hat die ^TC^TT^BG Flagge genommen"
 
-#: qcsrc/common/notifications.qh:354
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
 #, c-format
 msgid "^BG%s^BG returned the ^TC^TT^BG flag"
 msgstr "^BG%s^BG hat die ^TC^TT^BG Flagge zurückgebracht"
 
-#: qcsrc/common/notifications.qh:355
+#: qcsrc/common/notifications.qh:357
 #, c-format
 msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
 msgstr "^BG%s%s^K1 wurde unfair aus dem Spiel geworfen von ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:356
+#: qcsrc/common/notifications.qh:358
 #, c-format
 msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
 msgstr "^BG%s%s^K1 wurde von ^BG%s^K1 ertränkt%s%s"
 
-#: qcsrc/common/notifications.qh:357
+#: qcsrc/common/notifications.qh:359
 #, c-format
 msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde von ^BG%s^K1%s%s umgelegt"
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 verbrannte sich ein wenig am ^BG%s^K1s Feuer^K1%s%s"
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde von ^BG%s^K1 knusprig gebraten%s%s"
 
-#: qcsrc/common/notifications.qh:359
+#: qcsrc/common/notifications.qh:361
 #, c-format
 msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde von ^BG%s^K1 gekocht^K1%s%s"
 
-#: qcsrc/common/notifications.qh:360
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr "^BG%s%s^K1 wurde vor Monster befördert von ^BG%s^K1%s%s"
+
+#: qcsrc/common/notifications.qh:363
 #, c-format
 msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde in die Luft gejagt von ^BG%s^K1's Granate%s%s"
 
-#: qcsrc/common/notifications.qh:361
+#: qcsrc/common/notifications.qh:364
 #, c-format
 msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde ins All geschossen von ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:362
+#: qcsrc/common/notifications.qh:365
 #, c-format
 msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde vollgeschleimt von ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:363
+#: qcsrc/common/notifications.qh:366
 #, c-format
 msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde verschont von ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 versuchte ^BG%s^K1's Teleporterplatz zu blockieren%s%s"
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde telefragged von ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:365
+#: qcsrc/common/notifications.qh:368
 #, c-format
 msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 starb in einem Unfall mit ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:366
+#: qcsrc/common/notifications.qh:369
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
 msgstr ""
+"^BG%s%s^K1 wurde in die Luft gesprengt als ^BG%s^K1's Bumblebee explodierte%s"
+"%s"
 
-#: qcsrc/common/notifications.qh:367
+#: qcsrc/common/notifications.qh:370
 #, c-format
 msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 sah die schönen Lichter von ^BG%s^K1's Bumblebee Waffe%s%s"
 
-#: qcsrc/common/notifications.qh:368
+#: qcsrc/common/notifications.qh:371
 #, c-format
 msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde zerquetscht von ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:369
+#: qcsrc/common/notifications.qh:372
 #, c-format
 msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde gesprengt von ^BG%s^K1's Raptor%s%s"
 
-#: qcsrc/common/notifications.qh:370
+#: qcsrc/common/notifications.qh:373
 #, c-format
 msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 konnte ^BG%s^K1's blauen Blobs nicht widerstehen%s%s"
 
-#: qcsrc/common/notifications.qh:371
+#: qcsrc/common/notifications.qh:374
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
 msgstr ""
+"^BG%s%s^K1 wurde in die Luft gesprengt als ^BG%s^K1's Raptor explodierte%s%s"
 
-#: qcsrc/common/notifications.qh:372
+#: qcsrc/common/notifications.qh:375
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
 msgstr ""
+"^BG%s%s^K1 wurde in die Luft gesprengt als ^BG%s^K1's Spiderbot explodierte%s"
+"%s"
 
-#: qcsrc/common/notifications.qh:373
+#: qcsrc/common/notifications.qh:376
 #, c-format
 msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde von ^BG%s^K1's Spiderbot geschreddert%s%s"
 
-#: qcsrc/common/notifications.qh:374
+#: qcsrc/common/notifications.qh:377
 #, c-format
 msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde in Stücke gesprengt von ^BG%s^K1's Spiderbot%s%s"
 
-#: qcsrc/common/notifications.qh:375
+#: qcsrc/common/notifications.qh:378
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
 msgstr ""
+"^BG%s%s^K1 wurde in die Luft gesprengt als ^BG%s^K1's Racer explodierte%s%s"
 
-#: qcsrc/common/notifications.qh:376
+#: qcsrc/common/notifications.qh:379
 #, c-format
 msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde von ^BG%s^K1's Racer durchsiebt%s%s"
 
-#: qcsrc/common/notifications.qh:377
+#: qcsrc/common/notifications.qh:380
 #, c-format
 msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 konnte keinen Schutz vor ^BG%s^K1's Racer finden%s%s"
 
-#: qcsrc/common/notifications.qh:378
+#: qcsrc/common/notifications.qh:381
 #, c-format
 msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde von ^BG%s^K1%s%s in eine Welt des Schmerzes befördert"
 
-#: qcsrc/common/notifications.qh:379
+#: qcsrc/common/notifications.qh:382
 #, c-format
 msgid "^BG%s^K1 was moved into the %s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde in %s%s verschoben"
 
-#: qcsrc/common/notifications.qh:380
+#: qcsrc/common/notifications.qh:383
 #, c-format
 msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde zum Feind vom Lord of Teamplay%s%s"
 
-#: qcsrc/common/notifications.qh:381
+#: qcsrc/common/notifications.qh:384
 #, c-format
 msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
-msgstr ""
+msgstr "^BG%s^K1 dachte einen schönen Campingplatz gefunden zu haben%s%s"
 
-#: qcsrc/common/notifications.qh:382
+#: qcsrc/common/notifications.qh:385
 #, c-format
 msgid "^BG%s^K1 unfairly eliminated themself%s%s"
-msgstr ""
+msgstr "^BG%s^K1 tötete sich unfairerweise selbst%s%s"
 
-#: qcsrc/common/notifications.qh:383
+#: qcsrc/common/notifications.qh:386
 #, c-format
 msgid "^BG%s^K1 %s^K1%s%s"
 msgstr "^BG%s^K1 %s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 couldn't catch their breath%s%s"
-msgstr ""
+msgstr "^BG%s^K1 konnte den Atem nicht anhalten%s%s"
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 was in the water for too long%s%s"
-msgstr ""
+msgstr "^BG%s^K1 war zu lang im Wasser%s%s"
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
-msgstr ""
+msgstr "^BG%s^K1 erreichte den Boden mit zu viel Schwung%s%s"
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a crunch%s%s"
-msgstr ""
+msgstr "^BG%s^K1 kam mit einem Knirschen auf dem Boden auf%s%s"
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 became a bit too crispy%s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde etwas zu knusprig!%s%s"
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 felt a little hot%s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde es zu heiss%s%s"
 
-#: qcsrc/common/notifications.qh:387
+#: qcsrc/common/notifications.qh:390
 #, c-format
 msgid "^BG%s^K1 died%s%s"
 msgstr "^BG%s^K1 starb%s%s"
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 found a hot place%s%s"
-msgstr ""
+msgstr "^BG%s^K1 fand ein heißes Plätzchen%s%s"
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 turned into hot slag%s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde zu heißer Schlacke%s%s"
 
-#: qcsrc/common/notifications.qh:389
+#: qcsrc/common/notifications.qh:392
 #, c-format
 msgid "^BG%s^K1 mastered the art of self-nading%s%s"
-msgstr ""
+msgstr "^BG%s^K1 meisterte die Kunst des Selbst-Sprengens%s%s"
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:393
+#, c-format
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
+msgstr "^BG%s^K1 explodierte durch einen Magier%s%s"
+
+#: qcsrc/common/notifications.qh:394
+#, c-format
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
+msgstr "^BG%s^K1's Eingeweide wurden nach außen gekehrtvon einem Shambler%s%s"
+
+#: qcsrc/common/notifications.qh:395
+#, c-format
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr "^BG%s^K1 wurde von einem Shambler zerquetscht%s%s"
+
+#: qcsrc/common/notifications.qh:396
+#, c-format
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
+msgstr "^BG%s^K1 wurde von einem Shambler gezapped%s%s"
+
+#: qcsrc/common/notifications.qh:397
+#, c-format
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr "^BG%s^K1 wurde von einer Spinne gebissen%s%s"
+
+#: qcsrc/common/notifications.qh:398
+#, c-format
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr "^BG%s^K1 wurde mit einem Lindwurmfeuerball vertraut gemacht%s%s"
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr "^BG%s^K1 folgt nun den Zombies%s%s"
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr "^BG%s^K1 bekam Kung Fu Unterricht von einem Zombie%s%s"
+
+#: qcsrc/common/notifications.qh:401
 #, c-format
 msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
-msgstr ""
+msgstr "^BG%s^K1 starb%s%s. Was ist der Sinn in einem Leben ohne Munoition?"
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:401
 #, c-format
 msgid "^BG%s^K1 ran out of ammo%s%s"
-msgstr ""
+msgstr "^BG%s^K1 hatte keine Munition mehr%s%s"
 
-#: qcsrc/common/notifications.qh:391
+#: qcsrc/common/notifications.qh:402
 #, c-format
 msgid "^BG%s^K1 rotted away%s%s"
-msgstr ""
+msgstr "^BG%s^K1 verweste%s%s"
 
-#: qcsrc/common/notifications.qh:392
+#: qcsrc/common/notifications.qh:403
 #, c-format
 msgid "^BG%s^K1 became a shooting star%s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde zur Sternschnuppe%s%s"
 
-#: qcsrc/common/notifications.qh:393
+#: qcsrc/common/notifications.qh:404
 #, c-format
 msgid "^BG%s^K1 was slimed%s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde vollgeschleimt%s%s"
 
-#: qcsrc/common/notifications.qh:394
+#: qcsrc/common/notifications.qh:405
 #, c-format
 msgid "^BG%s^K1 couldn't take it anymore%s%s"
-msgstr ""
+msgstr "^BG%s^K1 konnte es nicht mehr ertragen%s%s"
 
-#: qcsrc/common/notifications.qh:395
+#: qcsrc/common/notifications.qh:406
 #, c-format
 msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
-msgstr ""
+msgstr "^BG%s^K1 ist nun für die Jahre die noch kommen mögen konserviert%s%s"
 
-#: qcsrc/common/notifications.qh:396
+#: qcsrc/common/notifications.qh:407
 #, c-format
 msgid "^BG%s^K1 switched to the %s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde verschoben zu %s%s"
 
-#: qcsrc/common/notifications.qh:397
+#: qcsrc/common/notifications.qh:408
 #, c-format
 msgid "^BG%s^K1 died in an accident%s%s"
-msgstr ""
+msgstr "^BG%s^K1 starb in einem Unfall%s%s"
 
-#: qcsrc/common/notifications.qh:398
+#: qcsrc/common/notifications.qh:409
 #, c-format
 msgid "^BG%s^K1 ran into a turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 rannte in einem Geschützturm%s%s"
 
-#: qcsrc/common/notifications.qh:399
+#: qcsrc/common/notifications.qh:410
 #, c-format
 msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde vom eWheel weggeblasen%s%s"
 
-#: qcsrc/common/notifications.qh:400
+#: qcsrc/common/notifications.qh:411
 #, c-format
 msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde vom FLAC-Feuer erwischt%s%s"
 
-#: qcsrc/common/notifications.qh:401
+#: qcsrc/common/notifications.qh:412
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde vom Hellion Geschützturm weggeblasen%s%s"
 
-#: qcsrc/common/notifications.qh:402
+#: qcsrc/common/notifications.qh:413
 #, c-format
 msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
 msgstr ""
+"^BG%s^K1 cokonnte sich nicht vor dem Hunter Geschützturm verstecken%s%s"
 
-#: qcsrc/common/notifications.qh:403
+#: qcsrc/common/notifications.qh:414
 #, c-format
 msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde von einem Geschützturm durchlöchert%s%s"
 
-#: qcsrc/common/notifications.qh:404
+#: qcsrc/common/notifications.qh:415
 #, c-format
 msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
 msgstr ""
+"^BG%s^K1 wurde vom MLRS Geschützturm in qualmende berreste zerschossen%s%s"
 
-#: qcsrc/common/notifications.qh:405
+#: qcsrc/common/notifications.qh:416
 #, c-format
 msgid "^BG%s^K1 was phased out by a turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde von einem Geschützturm ausgemustert%s%s"
 
-#: qcsrc/common/notifications.qh:406
+#: qcsrc/common/notifications.qh:417
 #, c-format
 msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 bekam superheißes Plasma von einem Geschützturm serviert%s%s"
 
-#: qcsrc/common/notifications.qh:407
+#: qcsrc/common/notifications.qh:418
 #, c-format
 msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde von der Tesla geschockt%s%s"
 
-#: qcsrc/common/notifications.qh:408
+#: qcsrc/common/notifications.qh:419
 #, c-format
 msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 bekam eine Bleiveredelung vom Walker spendiert%s%s"
 
-#: qcsrc/common/notifications.qh:409
+#: qcsrc/common/notifications.qh:420
 #, c-format
 msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde vom Walker gepfählt%s%s"
 
-#: qcsrc/common/notifications.qh:410
+#: qcsrc/common/notifications.qh:421
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde vom Walker weggeblasen%s%s"
 
-#: qcsrc/common/notifications.qh:411
+#: qcsrc/common/notifications.qh:422
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde von einer Bumblebee-Explosion erfasst%s%s"
 
-#: qcsrc/common/notifications.qh:412
+#: qcsrc/common/notifications.qh:423
 #, c-format
 msgid "^BG%s^K1 was crushed by a vehicle%s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde von einem Fahrzeug zerquetscht%s%s"
 
-#: qcsrc/common/notifications.qh:413
+#: qcsrc/common/notifications.qh:424
 #, c-format
 msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde von einer Raptor-Clustergranate zerfetzt%s%s"
 
-#: qcsrc/common/notifications.qh:414
+#: qcsrc/common/notifications.qh:425
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde von der Raptor-Explosion erfasst%s%s"
 
-#: qcsrc/common/notifications.qh:415
+#: qcsrc/common/notifications.qh:426
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
-msgstr ""
+msgstr "^BG%s^K1 kam ins Schussfeld vom Spiderbot%s%s"
 
-#: qcsrc/common/notifications.qh:416
+#: qcsrc/common/notifications.qh:427
 #, c-format
 msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde von Spiderbots Rakete in fetzen gerissen%s%s"
 
-#: qcsrc/common/notifications.qh:417
+#: qcsrc/common/notifications.qh:428
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde vom Racer erfasst%s%s"
 
-#: qcsrc/common/notifications.qh:418
+#: qcsrc/common/notifications.qh:429
 #, c-format
 msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
-msgstr ""
+msgstr "^BG%s^K1 konnte keinen Schutz vor der Racerrakete finden%s%s"
 
-#: qcsrc/common/notifications.qh:419
+#: qcsrc/common/notifications.qh:430
 #, c-format
 msgid "^BG%s^K1 was in the wrong place%s%s"
-msgstr ""
+msgstr "^BG%s^K1 war am falschen Ort%s%s"
 
-#: qcsrc/common/notifications.qh:420
+#: qcsrc/common/notifications.qh:431
 #, c-format
 msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde von ^BG%s^K1 betrogen%s%s"
 
-#: qcsrc/common/notifications.qh:421
+#: qcsrc/common/notifications.qh:432
 #, c-format
 msgid "^BG%s^K1 was frozen by ^BG%s"
-msgstr ""
+msgstr "^BG%s^K1 wurde von ^BG vereist%s"
 
-#: qcsrc/common/notifications.qh:422
+#: qcsrc/common/notifications.qh:433
 #, c-format
 msgid "^BG%s^K3 was revived by ^BG%s"
-msgstr ""
+msgstr "^BG%s^K3 wurde von ^BG wiederbelebt%s"
 
-#: qcsrc/common/notifications.qh:423
+#: qcsrc/common/notifications.qh:434
 #, c-format
 msgid "^BG%s^K3 was revived by falling"
-msgstr ""
+msgstr "^BG%s^K3 wurde durch herunterfallen wiederbelebt"
 
-#: qcsrc/common/notifications.qh:424
+#: qcsrc/common/notifications.qh:435
 #, c-format
 msgid "^BG%s^K3 was automatically revived after %s second(s)"
-msgstr ""
+msgstr "^BG%s^K3 wurde automatisch wiederbelebt nach %s sekunde(n)"
 
-#: qcsrc/common/notifications.qh:425 qcsrc/common/notifications.qh:612
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
 msgid "^TC^TT^BG team wins the round"
 msgstr "Das ^TC^TT^BG Team gewinnt die Runde"
 
-#: qcsrc/common/notifications.qh:426 qcsrc/common/notifications.qh:613
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
 #, c-format
 msgid "^BG%s^BG wins the round"
 msgstr "^BG%s^BG gewinnt die Runde"
 
-#: qcsrc/common/notifications.qh:427 qcsrc/common/notifications.qh:542
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
 msgid "^BGRound tied"
 msgstr "^BGRunde unentschieden"
 
-#: qcsrc/common/notifications.qh:428 qcsrc/common/notifications.qh:543
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
 msgid "^BGRound over, there's no winner"
 msgstr "^BGDie Runde ist vorbei, aber es gibt keinen Gewinner"
 
-#: qcsrc/common/notifications.qh:429
+#: qcsrc/common/notifications.qh:440
 #, c-format
 msgid "^BG%s^K1 froze themself"
-msgstr ""
+msgstr "^BG%s^K1 frierte sich selbst ein"
 
-#: qcsrc/common/notifications.qh:430
+#: qcsrc/common/notifications.qh:441
 #, c-format
 msgid "^BGGodmode saved you %s units of damage, cheater!"
-msgstr ""
+msgstr "^BGGodmode ersparte dir %s Schaden, Cheater!"
 
-#: qcsrc/common/notifications.qh:431 qcsrc/common/notifications.qh:616
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
 #, c-format
 msgid "^BGYou do not have the ^F1%s"
-msgstr ""
+msgstr "^BGDu hast nicht den/die ^F1%s"
 
-#: qcsrc/common/notifications.qh:432 qcsrc/common/notifications.qh:617
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
 #, c-format
 msgid "^BGYou dropped the ^F1%s^BG%s"
 msgstr "^BGDu hast ^F1%s^BG%s fallengelassen"
 
-#: qcsrc/common/notifications.qh:433 qcsrc/common/notifications.qh:618
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
 #, c-format
 msgid "^BGYou got the ^F1%s"
-msgstr ""
+msgstr "^BGDu hast den/die ^F1%s"
 
-#: qcsrc/common/notifications.qh:434 qcsrc/common/notifications.qh:619
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
 #, c-format
 msgid "^BGYou don't have enough ammo for the ^F1%s"
 msgstr "^BGDu hast nicht genug Munition für ^F1%s"
 
-#: qcsrc/common/notifications.qh:435 qcsrc/common/notifications.qh:620
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
 #, c-format
 msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
 msgstr "^F1%s %s^BG kann nicht schießen, aber sein ^F1%s^BG kann"
 
-#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:621
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
 #, c-format
 msgid "^F1%s^BG is ^F4not available^BG on this map"
 msgstr "^F1%s^BG ist auf dieser Map ^F4nicht verfügbar"
 
-#: qcsrc/common/notifications.qh:437
+#: qcsrc/common/notifications.qh:448
 #, c-format
 msgid "^BG%s^F3 connected%s"
-msgstr ""
+msgstr "^BG%s^F3 tritt bei%s"
 
-#: qcsrc/common/notifications.qh:438
+#: qcsrc/common/notifications.qh:449
 #, c-format
 msgid "^BG%s^F3 connected and joined the ^TC^TT team"
-msgstr ""
+msgstr "^BG%s^F3 nimmt teil und ist dem ^TC^TT Team beigetreten"
 
-#: qcsrc/common/notifications.qh:439
+#: qcsrc/common/notifications.qh:450
 #, c-format
 msgid "^BG%s^F3 is now playing"
-msgstr ""
+msgstr "^BG%s^F3 spielt jetzt"
 
-#: qcsrc/common/notifications.qh:440 qcsrc/common/notifications.qh:624
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
 #, c-format
 msgid "^BG%s^BG has dropped the ball!"
 msgstr "^BG%s^BG hat den Ball verloren!"
 
-#: qcsrc/common/notifications.qh:441 qcsrc/common/notifications.qh:625
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
 #, c-format
 msgid "^BG%s^BG has picked up the ball!"
 msgstr "^BG%s^BG hat den Ball genommen!"
 
-#: qcsrc/common/notifications.qh:442
+#: qcsrc/common/notifications.qh:453
 #, c-format
 msgid "^BG%s^BG captured the keys for the ^TC^TT team"
-msgstr ""
+msgstr "^BG%s^BG eroberte die Schlüssel für Team ^TC^TT"
 
-#: qcsrc/common/notifications.qh:443
+#: qcsrc/common/notifications.qh:454
 #, c-format
 msgid "^BG%s^BG dropped the ^TC^TT Key"
-msgstr ""
+msgstr "^BG%s^BG ließ den ^TC^TT Schlüssel fallen"
 
-#: qcsrc/common/notifications.qh:444
+#: qcsrc/common/notifications.qh:455
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT Key"
-msgstr ""
+msgstr "^BG%s^BG ver lor den ^TC^TT Schlüssel"
 
-#: qcsrc/common/notifications.qh:445
+#: qcsrc/common/notifications.qh:456
 #, c-format
 msgid "^BG%s^BG picked up the ^TC^TT Key"
-msgstr ""
+msgstr "^BG%s^BG hat den ^TC^TT Schlüssel aufgenommen"
 
-#: qcsrc/common/notifications.qh:446
+#: qcsrc/common/notifications.qh:457
 #, c-format
 msgid "^BG%s^F3 forfeited"
-msgstr ""
+msgstr "^BG%s^F3 aufgegeben"
 
-#: qcsrc/common/notifications.qh:447
+#: qcsrc/common/notifications.qh:458
 #, c-format
 msgid "^BG%s^F3 has no more lives left"
-msgstr ""
+msgstr "^BG%s^F3 hat keine Leben mehr übrig"
 
-#: qcsrc/common/notifications.qh:448
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr "^BGMonster sind im Moment deaktiviert "
+
+#: qcsrc/common/notifications.qh:460
 #, c-format
 msgid "^BG%s^K1 picked up Invisibility"
-msgstr ""
+msgstr "^BG%s^K1 hat Unsichtbarkeit aufgesammelt"
 
-#: qcsrc/common/notifications.qh:449
+#: qcsrc/common/notifications.qh:461
 #, c-format
 msgid "^BG%s^K1 picked up Shield"
-msgstr ""
+msgstr "^BG%s^K1 hat das Schild aufgenommen"
 
-#: qcsrc/common/notifications.qh:450
+#: qcsrc/common/notifications.qh:462
 #, c-format
 msgid "^BG%s^K1 picked up Speed"
-msgstr ""
+msgstr "^BG%s^K1 hat Speed aufgenommen"
 
-#: qcsrc/common/notifications.qh:451
+#: qcsrc/common/notifications.qh:463
 #, c-format
 msgid "^BG%s^K1 picked up Strength"
-msgstr ""
+msgstr "^BG%s^K1 hat Stärke aufgenommen"
 
-#: qcsrc/common/notifications.qh:452
+#: qcsrc/common/notifications.qh:464
 #, c-format
 msgid "^BG%s^F3 disconnected"
-msgstr ""
+msgstr "^BG%s^F3 hat sich getrennt"
 
-#: qcsrc/common/notifications.qh:453
+#: qcsrc/common/notifications.qh:465
 #, c-format
 msgid "^BG%s^F3 was kicked for idling"
-msgstr ""
+msgstr "^BG%s^F3 wurde aufgrund von Inaktivität gekickt"
 
-#: qcsrc/common/notifications.qh:454
+#: qcsrc/common/notifications.qh:466
 msgid ""
 "^F2You were kicked from the server because you are a spectator and "
 "spectators aren't allowed at the moment."
 msgstr ""
+"^F2Du wurdest vom Server gekickt weil du Beobachter bist, und Beaobachter "
+"sind im Moment nicht erlaubt."
 
-#: qcsrc/common/notifications.qh:455
+#: qcsrc/common/notifications.qh:467
 #, c-format
 msgid "^BG%s^F3 is now spectating"
-msgstr ""
+msgstr "^BG%s^F3 beobachtet nun"
 
-#: qcsrc/common/notifications.qh:456
+#: qcsrc/common/notifications.qh:468
 #, c-format
 msgid "^BG%s^BG has abandoned the race"
-msgstr ""
+msgstr "^BG%s^BG hat das Rennen aufgegeben"
 
-#: qcsrc/common/notifications.qh:457
+#: qcsrc/common/notifications.qh:469
 #, c-format
 msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
-msgstr ""
+msgstr "^BG%s^BG konnte seinen %s%s^BG Platz nicht brechen von %s%s %s"
 
-#: qcsrc/common/notifications.qh:458
+#: qcsrc/common/notifications.qh:470
 #, c-format
 msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
-msgstr ""
+msgstr "^BG%s^BG konnte den %s%s^BG Platz von %s%s nicht brechen%s"
 
-#: qcsrc/common/notifications.qh:459
+#: qcsrc/common/notifications.qh:471
 #, c-format
 msgid "^BG%s^BG has finished the race"
-msgstr ""
+msgstr "^BG%s^BG hat das Rennen beendet"
 
-#: qcsrc/common/notifications.qh:460
+#: qcsrc/common/notifications.qh:472
 #, c-format
 msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
-msgstr ""
+msgstr "^BG%s^BG brach %s^BG's %s%s^BG Rekord mit %s%s %s"
 
-#: qcsrc/common/notifications.qh:461
+#: qcsrc/common/notifications.qh:473
 #, c-format
 msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
-msgstr ""
+msgstr "^BG%s^BG verbesserte seinen %s%s^BG Rekord mit %s%s %s"
 
-#: qcsrc/common/notifications.qh:462
+#: qcsrc/common/notifications.qh:474
 #, c-format
 msgid ""
 "^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
 "and will be lost."
 msgstr ""
+"^BG%s^BG errang einen neuen Rekord mit ^F2%s^BG. Unglücklicherweise hat er "
+"keine UID und der Rekord geht verloren."
 
-#: qcsrc/common/notifications.qh:463
+#: qcsrc/common/notifications.qh:475
 #, c-format
 msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
-msgstr ""
+msgstr "^BG%s^BG hält den %s%s^BG Rekord mit %s%s"
 
-#: qcsrc/common/notifications.qh:464
+#: qcsrc/common/notifications.qh:476
 msgid "^TC^TT ^BGteam scores!"
-msgstr ""
+msgstr "^TC^TT ^BGTeam Punktet!"
 
-#: qcsrc/common/notifications.qh:465
+#: qcsrc/common/notifications.qh:477
 #, c-format
 msgid ""
 "^F2You have to become a player within the next %s, otherwise you will be "
 "kicked, because spectating isn't allowed at this time!"
 msgstr ""
+"^F2Du musst in den nächsten %s Spieler werden, oder du wirst gekicked, denn "
+"Beobachten ist nicht erlaubt im Moment."
 
-#: qcsrc/common/notifications.qh:466
+#: qcsrc/common/notifications.qh:478
 #, c-format
 msgid "^BG%s^K1 picked up a Superweapon"
-msgstr ""
+msgstr "^BG%s^K1 hat eine Superwaffe aufgesammelt"
 
-#: qcsrc/common/notifications.qh:467
+#: qcsrc/common/notifications.qh:479
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
 "^F2Xonotic %s"
 msgstr ""
+"^F4NOTE: ^BGDer Server läuft unter ^F1Xonotic %s (beta)^BG, du hast "
+"^F2Xonotic %s"
 
-#: qcsrc/common/notifications.qh:468
+#: qcsrc/common/notifications.qh:480
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
 msgstr ""
+"^F4NOTE: ^BGDer Server läuft unter ^F1Xonotic %s^BG, du hast^F2Xonotic %s"
 
-#: qcsrc/common/notifications.qh:469
+#: qcsrc/common/notifications.qh:481
 #, c-format
 msgid ""
 "^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
 "the update from ^F3http://www.xonotic.org/^BG!"
 msgstr ""
+"^F4NOTE: ^F1Xonotic %s^BG ist raus und du hast noch ^F2Xonotic %s^BG - hol "
+"dir das Update von ^F3http://www.xonotic.org/^BG!"
 
-#: qcsrc/common/notifications.qh:470
+#: qcsrc/common/notifications.qh:482
 #, c-format
 msgid "^F3SVQC Build information: ^F4%s"
 msgstr "^F3SVQC Build-Information: ^F4%s"
 
-#: qcsrc/common/notifications.qh:471
+#: qcsrc/common/notifications.qh:483
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
 msgstr ""
+"^BG%s%s^K1 starb von ^BG%s^K1's großartigen Spielkünsten auf dem @!#%%'n "
+"Accordeon%s%s"
 
-#: qcsrc/common/notifications.qh:472
+#: qcsrc/common/notifications.qh:484
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
-msgstr ""
+msgstr "^BG%s^K1 bekam Schmerzen vom @!#%%'n Accordeon%s%s"
 
-#: qcsrc/common/notifications.qh:473
+#: qcsrc/common/notifications.qh:485
 #, c-format
 msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 hat den starken Zug von^BG%s^K1's Crylink gespürt%s%s"
 
-#: qcsrc/common/notifications.qh:474
+#: qcsrc/common/notifications.qh:486
 #, c-format
 msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
-msgstr ""
+msgstr "^BG%s^K1 hat den starken Zug der eigenen Crylink gesprüt%s%s"
 
-#: qcsrc/common/notifications.qh:475
+#: qcsrc/common/notifications.qh:487
 #, c-format
 msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde von ^BG%s^K1's Elektrokugeln zerfetzt%s%s"
 
-#: qcsrc/common/notifications.qh:476
+#: qcsrc/common/notifications.qh:488
 #, c-format
 msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
 msgstr ""
+"^BG%s%s^K1 fühlte die elektrifizierte Luft von ^BG%s^K1's Elektro-combo%s%s"
 
-#: qcsrc/common/notifications.qh:477
+#: qcsrc/common/notifications.qh:489
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 kam zu nah an ^BG%s^K1's Elektroplasma%s%s"
 
-#: qcsrc/common/notifications.qh:478
+#: qcsrc/common/notifications.qh:490
 #, c-format
 msgid "^BG%s^K1 played with Electro plasma%s%s"
-msgstr ""
+msgstr "^BG%s^K1 spielte mit Elektroplasma%s%s"
 
-#: qcsrc/common/notifications.qh:479
+#: qcsrc/common/notifications.qh:491
 #, c-format
 msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
-msgstr ""
+msgstr "^BG%s^K1 konnte sich an sein Elektroplasma nicht erinnern%s%s"
 
-#: qcsrc/common/notifications.qh:480
+#: qcsrc/common/notifications.qh:492
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 war zu nah an ^BG%s^K1's Fireball%s%s"
 
-#: qcsrc/common/notifications.qh:481
+#: qcsrc/common/notifications.qh:493
 #, c-format
 msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde von ^BG%s^K1's Feuermine verbrannt%s%s"
 
-#: qcsrc/common/notifications.qh:482
+#: qcsrc/common/notifications.qh:494
 #, c-format
 msgid "^BG%s^K1 should have used a smaller gun%s%s"
-msgstr ""
+msgstr "^BG%s^K1 hätte eine kleinere Waffe nutzen sollen%s%s"
 
-#: qcsrc/common/notifications.qh:483
+#: qcsrc/common/notifications.qh:495
 #, c-format
 msgid "^BG%s^K1 forgot about their firemine%s%s"
-msgstr ""
+msgstr "^BG%s^K1 hat vergessen wo die eigene Feuermine lag%s%s"
 
-#: qcsrc/common/notifications.qh:484
+#: qcsrc/common/notifications.qh:496
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
+"^BG%s%s^K1 wurde von einem Combo von ^BG%s^K1's Hagar Raketen durchsiebt%s%s"
 
-#: qcsrc/common/notifications.qh:485
+#: qcsrc/common/notifications.qh:497
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde von ^BG%s^K1's Hagar Raketen durchsiebt%s%s"
 
-#: qcsrc/common/notifications.qh:486
+#: qcsrc/common/notifications.qh:498
 #, c-format
 msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
-msgstr ""
+msgstr "^BG%s^K1 spielte mit kleinen Hagar Raketen%s%s"
 
-#: qcsrc/common/notifications.qh:487
+#: qcsrc/common/notifications.qh:499
 #, c-format
 msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde mit ^BG%s^K1's HLAC niedergestreckt%s%s"
 
-#: qcsrc/common/notifications.qh:488
+#: qcsrc/common/notifications.qh:500
 #, c-format
 msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
-msgstr ""
+msgstr "^BG%s^K1 war ein bisschen Schreckhaft mit seiner HLAC%s%s"
 
-#: qcsrc/common/notifications.qh:489
+#: qcsrc/common/notifications.qh:501
 #, c-format
 msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde von ^BG%s^K1's Hook-Gravity-Bombe erfasst%s%s"
 
-#: qcsrc/common/notifications.qh:490
+#: qcsrc/common/notifications.qh:502
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
 msgstr ""
+"^BG%s%s^K1 starb von ^BG%s^K1's großartigen Spielkünsten auf der @!#%%'n "
+"Kleinschen Flasche%s%s"
 
-#: qcsrc/common/notifications.qh:491
+#: qcsrc/common/notifications.qh:503
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
-msgstr ""
+msgstr "^BG%s^K1 bekam Schmerzen von der @!#%%'n Kleinschen Flasche%s%s"
 
-#: qcsrc/common/notifications.qh:492
+#: qcsrc/common/notifications.qh:504
 #, c-format
 msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 kam  durch ^BG%s^K1's Laser zu tode%s%s"
 
-#: qcsrc/common/notifications.qh:493
+#: qcsrc/common/notifications.qh:505
 #, c-format
 msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
-msgstr ""
+msgstr "^BG%s^K1 hat sich mit dem Laser getötet%s%s"
 
-#: qcsrc/common/notifications.qh:494
+#: qcsrc/common/notifications.qh:506
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 kam zu nah an ^BG%s^K1's Mine%s%s"
 
-#: qcsrc/common/notifications.qh:495
+#: qcsrc/common/notifications.qh:507
 #, c-format
 msgid "^BG%s^K1 forgot about their mine%s%s"
-msgstr ""
+msgstr "^BG%s^K1 hat seine Mine vergessen%s%s"
 
-#: qcsrc/common/notifications.qh:496
+#: qcsrc/common/notifications.qh:508
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde von ^BG%s^K1's Minstanex vaporisiert%s%s"
 
-#: qcsrc/common/notifications.qh:497
+#: qcsrc/common/notifications.qh:509
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 kam ^BG%s^K1's Mortar Granate zu nah%s%s"
 
-#: qcsrc/common/notifications.qh:498
+#: qcsrc/common/notifications.qh:510
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 bekam ^BG%s^K1's Mortar Granate zu fressen%s%s"
 
-#: qcsrc/common/notifications.qh:499
+#: qcsrc/common/notifications.qh:511
 #, c-format
 msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
-msgstr ""
+msgstr "^BG%s^K1 hat die eigene Mortar Granate nicht beachtet%s%s"
 
-#: qcsrc/common/notifications.qh:500
+#: qcsrc/common/notifications.qh:512
 #, c-format
 msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
-msgstr ""
+msgstr "^BG%s^K1 jagte sich mit der eigenen Martar in die Luft%s%s"
 
-#: qcsrc/common/notifications.qh:501
+#: qcsrc/common/notifications.qh:513
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde von ^BG%s^K1's Nex vaporisiert%s%s"
 
-#: qcsrc/common/notifications.qh:502
+#: qcsrc/common/notifications.qh:514
 #, c-format
 msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde von ^BG%s^K1 Rifle weggesniped%s%s"
 
-#: qcsrc/common/notifications.qh:503
+#: qcsrc/common/notifications.qh:515
 #, c-format
 msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 starb im ^BG%s^K1's Rifle Kugelhagel%s%s"
 
-#: qcsrc/common/notifications.qh:504
+#: qcsrc/common/notifications.qh:516
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
+"^BG%s%s^K1 versagte sich vor ^BG%s^K1's Rifle Kugelhagel zu verstecken%s%s"
 
-#: qcsrc/common/notifications.qh:505
+#: qcsrc/common/notifications.qh:517
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 versagte sich vor ^BG%s^K1's Rifle zu verstecken%s%s"
 
-#: qcsrc/common/notifications.qh:506
+#: qcsrc/common/notifications.qh:518
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 hat ^BG%s^K1s Rakete gefressen%s%s"
 
-#: qcsrc/common/notifications.qh:507
+#: qcsrc/common/notifications.qh:519
 #, c-format
 msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 kam ^BG%s^K1s Rakete zu nahe%s%s"
 
-#: qcsrc/common/notifications.qh:508
+#: qcsrc/common/notifications.qh:520
 #, c-format
 msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
-msgstr ""
+msgstr "^BG%s^K1 jagte sich mit dem Raketenwerfer selbst in die Luft%s%s"
 
-#: qcsrc/common/notifications.qh:509
+#: qcsrc/common/notifications.qh:521
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde von ^BG%s^K1s Seeker-Raketen zerlegt%s%s"
 
-#: qcsrc/common/notifications.qh:510
+#: qcsrc/common/notifications.qh:522
 #, c-format
 msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde von ^BG%s^K1s Seeker markiert%s%s"
 
-#: qcsrc/common/notifications.qh:511
+#: qcsrc/common/notifications.qh:523
 #, c-format
 msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
-msgstr ""
+msgstr "^BG%s^K1 spielte mit den kleinen Seeker-Raketen%s%s"
 
-#: qcsrc/common/notifications.qh:512
+#: qcsrc/common/notifications.qh:524
 #, c-format
 msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde mit ^BG%s^K1s Schrotflinte abgeknallt%s%s"
 
-#: qcsrc/common/notifications.qh:513
+#: qcsrc/common/notifications.qh:525
 #, c-format
 msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 schlug ^BG%s^K1 eine runter mit ner großen Shotgun%s%s"
 
-#: qcsrc/common/notifications.qh:514
+#: qcsrc/common/notifications.qh:526
 #, c-format
 msgid "^BG%s^K1 is now thinking with portals%s%s"
-msgstr ""
+msgstr "^BG%s^K1denkt nun auch an Portale%s%s"
 
-#: qcsrc/common/notifications.qh:515
+#: qcsrc/common/notifications.qh:527
 #, c-format
 msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
 msgstr ""
+"^BG%s%s^K1 starb durch ^BG%s^K1's großartigem Spiel auf der @!#%%'n Tuba%s%s"
 
-#: qcsrc/common/notifications.qh:516
+#: qcsrc/common/notifications.qh:528
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
-msgstr ""
+msgstr "^BG%s^K1 bekam Schmerzen durch die @!#%%'n Tuba%s%s"
 
-#: qcsrc/common/notifications.qh:517
+#: qcsrc/common/notifications.qh:529
 #, c-format
 msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde weggesniped durch^BG%s^K1's Maschinengewehr%s%s"
 
-#: qcsrc/common/notifications.qh:518
+#: qcsrc/common/notifications.qh:530
 #, c-format
 msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 wurde durch ^BG%s^K1's Maschinengewehr durchsiebt%s%s"
 
-#: qcsrc/common/notifications.qh:536
+#: qcsrc/common/notifications.qh:548
 msgid "^BGYou are attacking!"
 msgstr "^BGDu greifst an!"
 
-#: qcsrc/common/notifications.qh:537
+#: qcsrc/common/notifications.qh:549
 msgid "^BGYou are defending!"
 msgstr "^BGDu verteidigst!"
 
-#: qcsrc/common/notifications.qh:538
+#: qcsrc/common/notifications.qh:550
 msgid "^F4Begin!"
 msgstr "^F4Los!"
 
-#: qcsrc/common/notifications.qh:539
+#: qcsrc/common/notifications.qh:551
 msgid "^F4Game starts in ^COUNT"
 msgstr "^F4Das Spiel beginnt in ^COUNT"
 
-#: qcsrc/common/notifications.qh:540
+#: qcsrc/common/notifications.qh:552
 msgid "^F4Round starts in ^COUNT"
 msgstr "^F4Die Runde beginnt in ^COUNT"
 
-#: qcsrc/common/notifications.qh:541
+#: qcsrc/common/notifications.qh:553
 msgid "^F4Round cannot start"
 msgstr "^F4Die Runde kann nicht beginnen"
 
-#: qcsrc/common/notifications.qh:544
+#: qcsrc/common/notifications.qh:556
 msgid "^F2Don't camp!"
 msgstr "^F2Campe nicht!"
 
-#: qcsrc/common/notifications.qh:545
+#: qcsrc/common/notifications.qh:557
 msgid ""
 "^BGYou are now free.\n"
 "^BGFeel free to ^F2try to capture^BG the flag again\n"
@@ -2329,7 +2441,7 @@ msgstr ""
 "^BGDu kannst ^F2versuchen^BG die Flage noch einmal\n"
 "^BGzu erobern, wenn du glaubst es zu schaffen."
 
-#: qcsrc/common/notifications.qh:546
+#: qcsrc/common/notifications.qh:558
 msgid ""
 "^BGYou are now ^F1shielded^BG from the flag\n"
 "^BGfor ^F2too many unsuccessful attempts^BG to capture.\n"
@@ -2340,162 +2452,162 @@ msgstr ""
 "^BGdie Flagge zu erobern. Gewinne Punkte in der Verteidigung,\n"
 "^BGbevor du es noch einmal versuchst."
 
-#: qcsrc/common/notifications.qh:547
+#: qcsrc/common/notifications.qh:559
 msgid "^BGYou captured the ^TC^TT^BG flag!"
 msgstr "^BGDu hast die ^TC^TT^BG Flagge erobert!"
 
-#: qcsrc/common/notifications.qh:548
+#: qcsrc/common/notifications.qh:560
 #, c-format
 msgid "^BGToo many flag throws! Throwing disabled for %s."
 msgstr "^BGZu viele Flaggen geworfen! Das Werfen wurde für %s deaktiviert."
 
-#: qcsrc/common/notifications.qh:549
+#: qcsrc/common/notifications.qh:561
 #, c-format
 msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
-msgstr ""
+msgstr "^BG%s^BG passte die ^TC^TT^BG Flagge zu %s"
 
-#: qcsrc/common/notifications.qh:550
+#: qcsrc/common/notifications.qh:562
 #, c-format
 msgid "^BGYou received the ^TC^TT^BG flag from %s"
-msgstr ""
+msgstr "^BGDu bekamst die ^TC^TT^BG Flagge von %s;"
 
-#: qcsrc/common/notifications.qh:551
+#: qcsrc/common/notifications.qh:563
 #, c-format
 msgid "^BG%s^BG requests you to pass the flag%s"
 msgstr "^BG%s^BG bittet dich, die Flagge zu passen%s"
 
-#: qcsrc/common/notifications.qh:552
+#: qcsrc/common/notifications.qh:564
 #, c-format
 msgid "^BGRequesting %s^BG to pass you the flag"
 msgstr "^BG%s^BG wird darum gebeten, dir die Flagge zu passen"
 
-#: qcsrc/common/notifications.qh:553
+#: qcsrc/common/notifications.qh:565
 #, c-format
 msgid "^BGYou passed the ^TC^TT^BG flag to %s"
 msgstr "^BGDu hast die ^TC^TT^BG Flagge an %s gepasst"
 
-#: qcsrc/common/notifications.qh:554
+#: qcsrc/common/notifications.qh:566
 msgid "^BGYou got the ^TC^TT^BG flag!"
 msgstr "^BGDu hast die ^TC^TT^BG Flagge!"
 
-#: qcsrc/common/notifications.qh:555
+#: qcsrc/common/notifications.qh:567
 #, c-format
 msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
 msgstr "^BGDer %sFeind^BG hat eure Flagge! Bring sie zurück!"
 
-#: qcsrc/common/notifications.qh:556
+#: qcsrc/common/notifications.qh:568
 #, c-format
 msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
 msgstr "^BGDer %sFeind (^BG%s%s)^BG hat eure Flagge! Bring sie zurück!"
 
-#: qcsrc/common/notifications.qh:557
+#: qcsrc/common/notifications.qh:569
 #, c-format
 msgid "^BGYour %steam mate^BG got the flag! Protect them!"
 msgstr "^BGDein %sTeamkollege^BG hat die Flagge! Beschütze ihn!"
 
-#: qcsrc/common/notifications.qh:558
+#: qcsrc/common/notifications.qh:570
 #, c-format
 msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
 msgstr "^BGDein %sTeamkollege (^BG%s%s)^BG hat die Flagge! Beschütz ihn!"
 
-#: qcsrc/common/notifications.qh:559
+#: qcsrc/common/notifications.qh:571
 msgid "^BGYou returned the ^TC^TT^BG flag!"
 msgstr "^BGDu hast die ^TC^TT^BG Flagge zurückgebracht!"
 
-#: qcsrc/common/notifications.qh:560
+#: qcsrc/common/notifications.qh:572
 msgid "^BGStalemate! Enemies can now see you on radar!"
 msgstr "^BGPatt! Du kannst Gegner nun auf dem Radar sehen!"
 
-#: qcsrc/common/notifications.qh:561
+#: qcsrc/common/notifications.qh:573
 msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
 msgstr ""
 "^BGPatt! Flagenträger können jetzt von Feinden auf dem Radar gesehen werden!"
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou fragged ^BG%s"
 msgstr "^K3%sDu hast ^BG%s getötet"
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou scored against ^BG%s"
 msgstr "^K3%sDu hast gegen ^BG%s gepunktet"
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s"
 msgstr "^K1%sDu wurdest von ^BG%s getötet"
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s"
 msgstr "^K1%s^BG%s hat gegen Dich gepunktet"
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s^BG%s"
 msgstr "^K1%sDu wurdest von ^BG%s^BG%s getötet"
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^BG%s"
 msgstr "^K1%s^BG%s^BG%s hat gegen Dich gepunktet"
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou fragged ^BG%s^BG%s"
 msgstr "^K3%s Du hast ^BG%s^BG%s getötet"
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou scored against ^BG%s^BG%s"
 msgstr "^K3%sDu hast gegen ^BG%s^BG%s gepunktet"
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
 msgstr "^K1%sDu hast gegen ^BG%s^K1 gepunktet, während er am Tippen war"
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s"
 msgstr "^K1%sDu hast ^BG%s beim Tippen getötet"
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
 msgstr "^K1%s^BG%s hat gegen Dich gepunktet, während du getippt hast!"
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s"
 msgstr "^K1%sDu wurdest von ^BG%s beim Tippen getötet"
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
 msgstr "^K1%sDu wurdest von ^BG%s^K1 beim Tippen verpunktet^BG%s"
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
 msgstr "^K1%sDu wurdest von ^BG%s^BG%s beim Tippen getötet"
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
 msgstr "^K1%sDu punktetest gegen ^BG%s^K1 während er tippte^BG%s"
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s^BG%s"
 msgstr "^K1%sDu hast ^BG%s^BG%s beim Tippen getötet"
 
-#: qcsrc/common/notifications.qh:570
+#: qcsrc/common/notifications.qh:582
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
 msgstr "^BGDrücke ^F2DROPWEAPON^BG erneut um die Granate zu werfen!"
 
-#: qcsrc/common/notifications.qh:571
+#: qcsrc/common/notifications.qh:583
 #, c-format
 msgid ""
 "^BGYou have been moved into a different team\n"
@@ -2504,195 +2616,203 @@ msgstr ""
 "^BGDu bist in ein anderes Tesm gewechselt worden\n"
 "Du bist jetzt in: %s"
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't go against your team mates!"
 msgstr "^K1Nicht gegen deine Teamkameraden agieren!"
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't shoot your team mates!"
 msgstr "^K1Nicht auf deine Teamkameraden einschießen!"
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Die camper!"
 msgstr "^K1Stirb, Camper!"
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Reconsider your tactics, camper!"
 msgstr "^1Überdenke dein Verhalten, Camper!"
 
-#: qcsrc/common/notifications.qh:574
+#: qcsrc/common/notifications.qh:586
 msgid "^K1You unfairly eliminated yourself!"
 msgstr "^K1Du hast dich auf unfaire Weise selbst eliminiert!"
 
-#: qcsrc/common/notifications.qh:575
+#: qcsrc/common/notifications.qh:587
 #, c-format
 msgid "^K1You were %s"
 msgstr "^K1Du warst %s"
 
-#: qcsrc/common/notifications.qh:576
+#: qcsrc/common/notifications.qh:588
 msgid "^K1You couldn't catch your breath!"
 msgstr "^K1Du hast keine Luft mehr bekommen!"
 
-#: qcsrc/common/notifications.qh:577
+#: qcsrc/common/notifications.qh:589
 msgid "^K1You hit the ground with a crunch!"
 msgstr "^K1Du bist mit einem Krachen auf dem Boden aufgeschlagen!"
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You felt a little too hot!"
 msgstr "^K1Dir wurde etwas zu heiß!"
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You got a little bit too crispy!"
 msgstr "^K1Du wurdest etwas zu knusprig!"
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You killed your own dumb self!"
 msgstr "^K1Du hast dich selbst umgebracht, du Trottel!"
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You need to be more careful!"
 msgstr "^K1Du musst vorsichtiger sein!"
 
-#: qcsrc/common/notifications.qh:580
+#: qcsrc/common/notifications.qh:592
 msgid "^K1You couldn't stand the heat!"
 msgstr "^K1Du konntest die Hitze nicht ertragen!"
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr "^K1Du musst auf Monster aufpassen!"
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr "^K1Du wurdest von einem Monster getötet!"
+
+#: qcsrc/common/notifications.qh:594
 msgid "^K1Tastes like chicken!"
 msgstr "^K1Schmeckt nach McDonald's!"
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:594
 msgid "^K1You forgot to put the pin back in!"
 msgstr "^K1Du has vergessen, den Pin wieder reinzustecken!"
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You are respawning for running out of ammo..."
 msgstr "^K1Du wirst wiederbelebt weil du keine Munition mehr hast..."
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You were killed for running out of ammo..."
 msgstr "^K1Du wurdest getötet weil du keine Munition mehr hast..."
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You grew too old without taking your medicine"
 msgstr "^1Du wurdest zu alt, und hast deine Medizin nicht genommen"
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You need to preserve your health"
 msgstr "^1Du solltest deine Gesundheit erhalten"
 
-#: qcsrc/common/notifications.qh:584
+#: qcsrc/common/notifications.qh:597
 msgid "^K1You became a shooting star!"
 msgstr "^K1Du wurdest zur Sternschnuppe!"
 
-#: qcsrc/common/notifications.qh:585
+#: qcsrc/common/notifications.qh:598
 msgid "^K1You melted away in slime!"
 msgstr "^K1Du bist im Schleim zerschmolzen!"
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You committed suicide!"
 msgstr "^K1Du hast Selbstmord begangen!"
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You ended it all!"
 msgstr "^K1Du hast alles beendet!"
 
-#: qcsrc/common/notifications.qh:587
+#: qcsrc/common/notifications.qh:600
 msgid "^K1You got stuck in a swamp!"
 msgstr "^K1Du bist in einem Sumpf stecken geblieben!"
 
-#: qcsrc/common/notifications.qh:588
+#: qcsrc/common/notifications.qh:601
 #, c-format
 msgid "^BGYou are now on: %s"
 msgstr "^BGDu bist jetzt in: %s"
 
-#: qcsrc/common/notifications.qh:589
+#: qcsrc/common/notifications.qh:602
 msgid "^K1You died in an accident!"
 msgstr "^K1Du bist bei einem Unfall gestorben!"
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You had an unfortunate run in with a turret!"
 msgstr "^K1Du hattest eine unglückliche Auseinandersetzung mit einem Geschütz!"
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You were fragged by a turret!"
 msgstr "^K1Du wurdest von einem Geschütz getötet!"
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You had an unfortunate run in with an eWheel turret!"
 msgstr ""
 "^K1Du hattest eine unglückliche Auseinandersetzung mit einem eWheel-Geschütz!"
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You were fragged by an eWheel turret!"
 msgstr "^K1Du wurdest von einem eWheel-Geschütz getötet!"
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You had an unfortunate run in with a Walker turret!"
 msgstr ""
 "^K1Du hattest eine unglückliche Auseinandersetzung mit einem Walker-Geschütz!"
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You were fragged by a Walker turret!"
 msgstr "^K1Du wurdest von einem Walker-Geschütz getötet!"
 
-#: qcsrc/common/notifications.qh:593
+#: qcsrc/common/notifications.qh:606
 msgid "^K1You got caught in the blast of a Bumblebee explosion!"
 msgstr "^K1Du wurdest von der Explosion eines Bumblebees getötet!"
 
-#: qcsrc/common/notifications.qh:594
+#: qcsrc/common/notifications.qh:607
 msgid "^K1You were crushed by a vehicle!"
 msgstr "^K1Du wurdest von einem Fahrzeug zerquetscht!"
 
-#: qcsrc/common/notifications.qh:595
+#: qcsrc/common/notifications.qh:608
 msgid "^K1You were caught in a Raptor cluster bomb!"
 msgstr "^K1Du wurdest in Raptor-Streubomben gefangen!"
 
-#: qcsrc/common/notifications.qh:596
+#: qcsrc/common/notifications.qh:609
 msgid "^K1You got caught in the blast of a Raptor explosion!"
 msgstr "^K1Du wurdest von der Explosion eines Raptors getötet!"
 
-#: qcsrc/common/notifications.qh:597
+#: qcsrc/common/notifications.qh:610
 msgid "^K1You got caught in the blast of a Spiderbot explosion!"
 msgstr "^K1Du wurdest von der Explosion eines Spiderbots getötet!"
 
-#: qcsrc/common/notifications.qh:598
+#: qcsrc/common/notifications.qh:611
 msgid "^K1You were blasted to bits by a Spiderbot rocket!"
 msgstr "^K1Du wurdest von der Rakete eines Spiderbots in Stücke gesprengt!"
 
-#: qcsrc/common/notifications.qh:599
+#: qcsrc/common/notifications.qh:612
 msgid "^K1You got caught in the blast of a Racer explosion!"
 msgstr "^K1Du wurdest von der Explosion eines Racers getötet!"
 
-#: qcsrc/common/notifications.qh:600
+#: qcsrc/common/notifications.qh:613
 msgid "^K1You couldn't find shelter from a Racer rocket!"
 msgstr "^K1Du konntest keinen Schutz vor der Rakete eines Racers finden!"
 
-#: qcsrc/common/notifications.qh:601
+#: qcsrc/common/notifications.qh:614
 msgid "^K1Watch your step!"
 msgstr "^1Achte darauf, wo du hin trittst!"
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
 msgstr "^K1Idiot! Du hast ^BG%s^K1 getötet, einen Teamkollegen von dir!"
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
 msgstr "^K1Idiot! Du hast ^BG%s^K1 getroffen, einen Teamkollegen von dir!"
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were fragged by ^BG%s^K1, a team mate"
 msgstr "^K1Du wurdest von ^BG%s^K1, einem Teamkollegen, getötet"
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were scored against by ^BG%s^K1, a team mate"
 msgstr "^BG%s^K1, ein Teamkollege, hat gegen dich gepunktet"
 
-#: qcsrc/common/notifications.qh:604
+#: qcsrc/common/notifications.qh:617
 msgid ""
 "^K1Stop idling!\n"
 "^BGDisconnecting in ^COUNT..."
@@ -2700,48 +2820,53 @@ msgstr ""
 "^K1Stehe nicht herum!\n"
 "^BGDie Verbindung wird in ^COUNT getrennt..."
 
-#: qcsrc/common/notifications.qh:605
+#: qcsrc/common/notifications.qh:618
 msgid "^F2You picked up some extra lives"
 msgstr "^F2Du hast einige extra Leben aufgehoben"
 
-#: qcsrc/common/notifications.qh:606
+#: qcsrc/common/notifications.qh:619
 #, c-format
 msgid "^K3You froze ^BG%s"
 msgstr "^K3Du hast ^BG%s ^K3eingefroren"
 
-#: qcsrc/common/notifications.qh:607
+#: qcsrc/common/notifications.qh:620
 #, c-format
 msgid "^K1You were frozen by ^BG%s"
 msgstr "^K1Du wurdest von ^BG%s eingefroren"
 
-#: qcsrc/common/notifications.qh:608
+#: qcsrc/common/notifications.qh:621
 #, c-format
 msgid "^K3You revived ^BG%s"
 msgstr "^K3Du hast ^BG%s ^K3wiederbelebt"
 
-#: qcsrc/common/notifications.qh:609
+#: qcsrc/common/notifications.qh:622
 msgid "^K3You revived yourself"
 msgstr "^K3Du hast dich selbst wiederbelebt"
 
-#: qcsrc/common/notifications.qh:610
+#: qcsrc/common/notifications.qh:623
 #, c-format
 msgid "^K3You were revived by ^BG%s"
 msgstr "^K3Du wurdest von ^BG%s ^K3wiederbelebt"
 
-#: qcsrc/common/notifications.qh:611
+#: qcsrc/common/notifications.qh:624
 #, c-format
 msgid "^K3You were automatically revived after %s second(s)"
 msgstr "^K3Du wurdest automatisch nach %s Sekunde(n) wiederbelebt"
 
-#: qcsrc/common/notifications.qh:614
+#: qcsrc/common/notifications.qh:627
 msgid "^K1You froze yourself"
 msgstr "^K1Du hast dich selbst eingefroren"
 
-#: qcsrc/common/notifications.qh:615
+#: qcsrc/common/notifications.qh:628
 msgid "^K1Round already started, you spawn as frozen"
 msgstr "^K1Die Runde hat bereits begonnen, du spawnst eingefroren"
 
-#: qcsrc/common/notifications.qh:622
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr "^K1A %s ist angekommen!"
+
+#: qcsrc/common/notifications.qh:636
 msgid ""
 "^K1No spawnpoints available!\n"
 "Hope your team can fix it..."
@@ -2749,7 +2874,7 @@ msgstr ""
 "^K1Keine Spawnpunkte frei!\n"
 "Hoffentlich schafft es dein Team..."
 
-#: qcsrc/common/notifications.qh:623
+#: qcsrc/common/notifications.qh:637
 msgid ""
 "^K1You may not join the game at this time.\n"
 "The player limit reached maximum capacity."
@@ -2757,12 +2882,16 @@ msgstr ""
 "^K1Du kannst dem Spiel momentan nicht beitreten.\n"
 "Die maximale Anzahl an Spielern ist bereits erreicht."
 
-#: qcsrc/common/notifications.qh:626
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr "^BGDu hast den Ball aufgenommen"
+
+#: qcsrc/common/notifications.qh:641
 msgid "^BGKilling people while you don't have the ball gives no points!"
 msgstr ""
 "^BGSpieler zu töten, während du den Ball nicht hast, bring dir keine Punkte!"
 
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:642
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Help the key carriers to meet!"
@@ -2770,7 +2899,7 @@ msgstr ""
 "^BGAlle Schlüssel sind in der Hand deines Teams!\n"
 "Hilf den Schlüsselträgern sich zu treffen!"
 
-#: qcsrc/common/notifications.qh:628
+#: qcsrc/common/notifications.qh:643
 msgid ""
 "^BGAll keys are in ^TC^TT team^BG's hands!\n"
 "Interfere ^F4NOW^BG!"
@@ -2778,7 +2907,7 @@ msgstr ""
 "^BGAlle Schlüssel sind in der Hand des ^TC^TT Teams^BG!\n"
 "Greife ^F4SOFORT ^BGein!"
 
-#: qcsrc/common/notifications.qh:629
+#: qcsrc/common/notifications.qh:644
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Meet the other key carriers ^F4NOW^BG!"
@@ -2786,19 +2915,19 @@ msgstr ""
 "^BGAlle Schlüssel sind in der Hand deines Teams!\n"
 "Treffe dich mit den anderen Schlüsselträgern ^F4JETZT^BG!"
 
-#: qcsrc/common/notifications.qh:630
+#: qcsrc/common/notifications.qh:645
 msgid "^F4Round will start in ^COUNT"
 msgstr "^F4Die Runde beginnt in ^COUNT"
 
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:646
 msgid "^BGScanning frequency range..."
 msgstr "^BGFrequenzbereich wird gescannt..."
 
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:647
 msgid "^BGYou are starting with the ^TC^TT Key"
 msgstr "^BGDu beginnst mit dem ^TC^TT Schlüssel"
 
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
 #, c-format
 msgid ""
 "^BGWaiting for players to join...\n"
@@ -2807,38 +2936,38 @@ msgstr ""
 "^BGEs wird auf weitere Spieler gewartet...\n"
 "Benötigte Spieler: %s"
 
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:650
 #, c-format
 msgid "^BGWaiting for %s player(s) to join..."
 msgstr "^BGEs wird auf %s Spieler gewartet..."
 
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:651
 msgid "^F4^COUNT^BG left to find some ammo!"
 msgstr "^F4^COUNT^BG haben das Spiel verlassen, um etwas Munition zu finden!"
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
 msgstr "^BGFinde etwas Munition oder du stirbst in ^F4^COUNT^BG!"
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
 msgstr "^BGFinde etwas Munition! ^F4^COUNT^BG übrig!"
 
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:653
 #, c-format
 msgid "^F2Extra lives remaining: ^K1%s"
 msgstr "^F2Extra Leben übrig: ^K1%s"
 
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:654
 msgid "^BGSecondary fire inflicts no damage!"
 msgstr "^BGIndirekter Beschuss bewirkt keinen Schaden!"
 
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:655
 #, c-format
 msgid "^BG%s"
 msgstr "^BG%s"
 
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:656
 #, c-format
 msgid ""
 "^F2^COUNT^BG until weapon change...\n"
@@ -2847,16 +2976,16 @@ msgstr ""
 "^F2^COUNT^BG bis zum Waffenwechsel...\n"
 "Nächste Waffe: ^F1%s"
 
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:657
 #, c-format
 msgid "^F2Active weapon: ^F1%s"
 msgstr "^F2Aktive Waffe: ^F1%s"
 
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:658
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
 msgstr "^BGDrücke ^F2DROPWEAPON^BG erneut um die Granate zu werfen!"
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep fragging until we have a winner!"
@@ -2864,7 +2993,7 @@ msgstr ""
 "^F4VERLÄNGERUNG^F2!\n"
 "Töte weiter, bis wir einen Gewinner haben!"
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep scoring until we have a winner!"
@@ -2872,7 +3001,7 @@ msgstr ""
 "^F4VERLÄNGERUNG^F2!\n"
 "Punkte weiter, bis wir einen Gewinner haben!"
 
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:660
 #, c-format
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
@@ -2881,210 +3010,210 @@ msgstr ""
 "^F4VERLÄNGERUNG^F2!\n"
 "^F4%s ^BGwurde zum Spiel hinzugefügt!"
 
-#: qcsrc/common/notifications.qh:646
+#: qcsrc/common/notifications.qh:661
 msgid "^F2Invisibility has worn off"
 msgstr "^F2Die Unsichtbarkeit ist wieder verschwunden"
 
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:662
 msgid "^F2Shield has worn off"
 msgstr "^F2Das Schild ist wieder verschwunden"
 
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:663
 msgid "^F2Speed has worn off"
 msgstr "^F2Der Geschwindigkeitsbonus ist wieder verschwunden"
 
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:664
 msgid "^F2Strength has worn off"
 msgstr "^F2Die Stärke ist wieder verschwunden"
 
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:665
 msgid "^F2You are invisible"
 msgstr "^F2Du bist unsichtbar"
 
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:666
 msgid "^F2Shield surrounds you"
 msgstr "^F2Ein Schild umgibt dich"
 
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:667
 msgid "^F2You are on speed"
 msgstr "^F2Du bist auf Speed"
 
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:668
 msgid "^F2Strength infuses your weapons with devastating power"
 msgstr "^F2Stärke erfüllt deine Waffen mit unschlagbarer Kraft"
 
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:669
 msgid "^F2The race is over, finish your lap!"
 msgstr "^F2Das Rennen ist vorbei, beende deine Runde!"
 
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:670
 msgid "^F2Superweapons have broken down"
 msgstr "^F2Die Superwaffen wurden zerstört"
 
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:671
 msgid "^F2Superweapons have been lost"
 msgstr "^F2Die Superwaffen sind verloren gegangen"
 
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:672
 msgid "^F2You now have a superweapon"
 msgstr "^F2Du hast jetzt eine Superwaffe"
 
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:673
 msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
 msgstr "^K1Dein Team wird zu ^TC^TT^K1 geändert in ^COUNT"
 
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:674
 msgid "^K1Changing team in ^COUNT"
 msgstr "^K1Dein Team wird geändert in ^COUNT"
 
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:675
 msgid "^K1Spectating in ^COUNT"
 msgstr "^K1Du schaust zu in ^COUNT"
 
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:676
 msgid "^K1Suicide in ^COUNT"
 msgstr "^K1Selbstmord in ^COUNT"
 
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:677
 msgid "^F4Timeout begins in ^COUNT"
 msgstr "^F4Timeout beginnt in ^COUNT"
 
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:678
 msgid "^F4Timeout ends in ^COUNT"
 msgstr "^F4Timeout endet in ^COUNT"
 
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
 #, c-format
 msgid " (near %s)"
 msgstr " (nahe %s)"
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "primary"
 msgstr "primär"
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "secondary"
 msgstr "sekundär"
 
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:980
 #, c-format
 msgid " ^F1(Press %s)"
 msgstr " ^F1(Drücke %s)"
 
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:989
 #, c-format
 msgid " with %s"
 msgstr " mit %s"
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
 msgstr "%s^K1 hat einen TRIPLE FRAG geschafft! %s^BG"
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
 msgstr "%s^K1 hat einen TRIPLE SCORE geschafft! %s^BG"
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 msgid "TRIPLE FRAG! "
 msgstr "TRIPLE FRAG! "
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 hat 5 PUNKTE HINTEREINANDER erreicht! %s^BG"
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 unlocked RAGE! %s^BG"
 msgstr "%s^K1 ist in RAGE! %s^BG"
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 msgid "RAGE! "
 msgstr "RAGE! "
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 hat 10 PUNKTE HINTEREINANDER erreicht! %s^BG"
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 started a MASSACRE! %s^BG"
 msgstr "%s^K1 hat ein MASSAKER angefangen! %s^BG"
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 msgid "MASSACRE! "
 msgstr "MASSAKER! "
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 executed MAYHEM! %s^BG"
 msgstr "%s^K1 hat ein CHAOS angerichtet! %s^BG"
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 hat 15 PUNKTE HINTEREINANDER erreicht! %s^BG"
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 msgid "MAYHEM! "
 msgstr "CHAOS! "
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 is a BERSERKER! %s^BG"
 msgstr "%s^K1 ist ein BERSERKER! %s^BG"
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 hat 20 PUNKTE HINTEREINANDER erreicht! %s^BG"
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 msgid "BERSERKER! "
 msgstr "BERSERKER! "
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 inflicts CARNAGE! %s^BG"
 msgstr "%s^K1 verursacht ein GEMETZEL! %s^BG"
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 hat 25 PUNKTE HINTEREINANDER erreicht! %s^BG"
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 msgid "CARNAGE! "
 msgstr "GEMETZEL! "
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 hat 30 PUNKTE HINTEREINANDER erreicht! %s^BG"
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
 msgstr "%s^K1 verursacht einen WELTUNTERGANG! %s^BG"
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 msgid "ARMAGEDDON! "
 msgstr "WELTUNTERGANG! "
 
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1010
 #, c-format
 msgid "%s(^F1Bot^BG)"
 msgstr "%s(^F1Bot^BG)"
 
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1012
 #, c-format
 msgid "%s(Ping ^F1%d^BG)"
 msgstr "%s(Ping ^F1%d^BG)"
 
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1018
 #, c-format
 msgid ""
 "\n"
@@ -3093,7 +3222,7 @@ msgstr ""
 "\n"
 "(Gesundheit ^1%d^BG / Rüstung ^2%d^BG)%s"
 
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1020
 #, c-format
 msgid ""
 "\n"
@@ -3102,68 +3231,68 @@ msgstr ""
 "\n"
 "(^F4Tot^BG)%s"
 
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
 #, c-format
 msgid "%d score spree! "
 msgstr "%d Punkte hintereinander! "
 
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1069
 #, c-format
 msgid "%d frag spree! "
 msgstr "%d Tötungen hintereinander! "
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First blood! "
 msgstr "Erster Kill!"
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First score! "
 msgstr "Erster Punkt! "
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First casualty! "
 msgstr "Erster Kollateralschaden! "
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First victim! "
 msgstr "Erstes Opfer! "
 
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1127
 #, c-format
 msgid "%s^K1 has %d frags in a row! %s^BG"
 msgstr "%s^K1 hat %d Kills hintereinander! %s^BG"
 
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1128
 #, c-format
 msgid "%s^K1 made %d scores in a row! %s^BG"
 msgstr "%s^K1 hat %d Punkte in Serie erreicht! %s^BG"
 
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1146
 #, c-format
 msgid "%s^K1 drew first blood! %s^BG"
 msgstr "%s^K1 hat den ersten Kill! %s^BG"
 
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1147
 #, c-format
 msgid "%s^K1 got the first score! %s^BG"
 msgstr "%s^K1 hat den ersten Punkt! %s^BG"
 
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1163
 #, c-format
 msgid ", ending their %d frag spree"
 msgstr ", und beendet seinen Lauf von %d Tötungen"
 
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1164
 #, c-format
 msgid ", ending their %d score spree"
 msgstr ", und beendet seinen Lauf von %d Punkten"
 
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1178
 #, c-format
 msgid ", losing their %d frag spree"
 msgstr ", und verliert seinen Lauf von %d Tötungen"
 
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1179
 #, c-format
 msgid ", losing their %d score spree"
 msgstr ", und verliert seinen Lauf von %d Punkten"
@@ -3204,11 +3333,11 @@ msgstr "  sync - lädt alle Variablen auf der aktuellen Menüseite neu\n"
 msgid "  directmenu ITEM - select a menu item as main item\n"
 msgstr "directmenu ELEMENT - springt zu einem Menüelement\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:62
+#: qcsrc/menu/command/menu_cmd.qc:68
 msgid "Available options:\n"
 msgstr "Verfügbare Optionen:\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:113
+#: qcsrc/menu/command/menu_cmd.qc:119
 msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
 msgstr ""
 "Ungültiger Befehl. Eine Liste der unterstützten Befehle wird von menu_cmd "
@@ -3221,7 +3350,7 @@ msgstr ""
 "HINWEIS: Text %s ist zu weit für das Textfeld, der Text wurde um einen "
 "Faktor %f gestaucht\n"
 
-#: qcsrc/menu/item/listbox.c:302
+#: qcsrc/menu/item/listbox.c:382
 #, c-format
 msgid "Item %d"
 msgstr "Eintrag %d"
@@ -3250,23 +3379,27 @@ msgstr "???"
 msgid "Level %d: %s"
 msgstr "Level %d: %s"
 
-#: qcsrc/menu/xonotic/cvarlist.c:85
-msgid "will be saved to config.cfg"
-msgstr "wird in config.cfg gespeichert"
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr "gezwungen in der config.cfg zu speichern"
 
-#: qcsrc/menu/xonotic/cvarlist.c:87
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
 msgid "will not be saved"
 msgstr "wird nicht gespeichert"
 
-#: qcsrc/menu/xonotic/cvarlist.c:89
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr "wird in config.cfg gespeichert"
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
 msgid "private"
 msgstr "privat"
 
-#: qcsrc/menu/xonotic/cvarlist.c:91
+#: qcsrc/menu/xonotic/cvarlist.c:95
 msgid "engine setting"
 msgstr "Engine-Einstellung"
 
-#: qcsrc/menu/xonotic/cvarlist.c:93
+#: qcsrc/menu/xonotic/cvarlist.c:97
 msgid "read only"
 msgstr "nur lesen"
 
@@ -3275,6 +3408,7 @@ msgid "Credits"
 msgstr "Entwickler"
 
 #: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
@@ -3283,7 +3417,7 @@ msgstr "Entwickler"
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:77
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
 #: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
 msgid "OK"
 msgstr "OK"
@@ -3292,7 +3426,7 @@ msgstr "OK"
 msgid "Welcome"
 msgstr "Willkommen"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:40
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
 msgid ""
 "Welcome to Xonotic, please select your language preference and enter your "
 "player name to get started.  You can change these options later through the "
@@ -3302,35 +3436,35 @@ msgstr ""
 "Spielernamens kann es losgehen.  Diese Optionen können natürlich später im "
 "Menüsystem geändert werden."
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
 msgid "Name:"
 msgstr "Name:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:68
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
 #: qcsrc/menu/xonotic/dialog_settings_user.c:65
 msgid "Text language:"
 msgstr "Sprache:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
 msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
 msgstr ""
 "Darf stats.xonotic.org deinen Spielernamen für Spielerstatistiken nutzen?"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
 msgid "ALWU2N^Yes"
 msgstr "Ja"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
 msgid "ALWU2N^No"
 msgstr "Nein"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
 msgid "ALWU2N^Undecided"
 msgstr "Später fragen"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
 msgid "Save settings"
 msgstr "Einstellungen speichern"
 
@@ -3648,7 +3782,7 @@ msgstr "Radar:"
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
-#: qcsrc/menu/xonotic/util.qc:708
+#: qcsrc/menu/xonotic/util.qc:758
 msgid "Alpha:"
 msgstr "Alpha:"
 
@@ -3830,24 +3964,24 @@ msgstr "HUD-Konfiguration"
 msgid "Panel background defaults:"
 msgstr "Panel-Standardhintergrund:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:683
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
 msgid "Background:"
 msgstr "Hintergrund:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:686
-#: qcsrc/menu/xonotic/util.qc:702 qcsrc/menu/xonotic/util.qc:719
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
 msgid "Disable"
 msgstr "Aus"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:691
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
 msgid "Color:"
 msgstr "Farbe:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:699
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
 msgid "Border size:"
 msgstr "Rahmengröße:"
 
@@ -3856,11 +3990,11 @@ msgstr "Rahmengröße:"
 msgid "Team color:"
 msgstr "Teamfarbe:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:725
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
 msgid "Test team color in configure mode"
 msgstr "Teamfarbe bei Konfiguration testen"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:728
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
 msgid "Padding:"
 msgstr "Abstand:"
 
@@ -3908,6 +4042,53 @@ msgstr "Y:"
 msgid "Exit setup"
 msgstr "Verlassen"
 
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr "Monster Tools"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr "Monster:"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr "Neu"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr "Entfernen"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr "Bewegendes Ziel:"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr "Folgen"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr "Laufen"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr "Startpunkt"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr "Keine Bewegung"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr "Farben:"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr "Skin:"
+
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:4
 msgid "Multiplayer"
 msgstr "Mehrspieler"
@@ -3949,6 +4130,7 @@ msgstr "Standardwert der Map verwenden"
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
 msgid "Point limit:"
 msgstr "Punktelimit:"
 
@@ -4013,7 +4195,7 @@ msgid "Mutators..."
 msgstr "Mutators..."
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
 msgid "Advanced settings..."
 msgstr "Erweiterte Einstellungen..."
 
@@ -4049,7 +4231,7 @@ msgstr "Runden:"
 msgid "Goals:"
 msgstr "Tore:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
 msgid "Frag limit:"
 msgstr "Punktelimit:"
 
@@ -4349,27 +4531,31 @@ msgid "Join"
 msgstr "Verbinden"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr "SRVS^Kategorien"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
 msgid "SRVS^Empty"
 msgstr "Leer"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:37
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
 msgid "SRVS^Full"
 msgstr "Voll"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:41
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
 msgid "Pause"
 msgstr "Pause"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:53
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
 msgid "Address:"
 msgstr "Adresse:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:64
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
 msgid "Info..."
 msgstr "Info..."
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:69
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
 msgid "Join!"
 msgstr "Verbinden!"
@@ -4384,9 +4570,9 @@ msgid "%d/%d"
 msgstr "%d/%d"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
-#: qcsrc/menu/xonotic/util.qc:685 qcsrc/menu/xonotic/util.qc:701
-#: qcsrc/menu/xonotic/util.qc:710 qcsrc/menu/xonotic/util.qc:718
-#: qcsrc/menu/xonotic/util.qc:730
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
 msgid "Default"
 msgstr "Standard"
 
@@ -4864,10 +5050,6 @@ msgstr "Nein"
 msgid "Sandbox Tools"
 msgstr "Sandbox-Tools"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
-msgid "Spawn"
-msgstr "Neu"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
 msgid "Remove *"
 msgstr "Entfernen *"
@@ -4900,10 +5082,6 @@ msgstr "Von * abhängen"
 msgid "Visual object properties for *:"
 msgstr "Visuelle Eigenschaften von *:"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
-msgid "Set skin:"
-msgstr "Skin:"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
 msgid "Set alpha:"
 msgstr "Alpha:"
@@ -5535,175 +5713,179 @@ msgid "Client UDP port:"
 msgstr "Client-UDP-Port:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "Use encryption (AES) when available"
+msgstr "Verschlüsselung (AES) benutzen wenn verfügbar"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
 msgid "Show netgraph"
 msgstr "Netgraph anzeigen"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
 msgid "Client-side movement prediction"
 msgstr "Client-seitige Bewegungssimulation"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:63
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
 msgid "Movement error compensation"
 msgstr "Fehlerkompensation"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
 msgid "Downloads:"
 msgstr "Downloads:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:70
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:82
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
 msgid "Maximum:"
 msgstr "Maximum:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
 msgid "Speed (kB/s):"
 msgstr "Geschwindigkeit (kB/s):"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:79
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
 msgid "Framerate:"
 msgstr "Framerate:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:84
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
 msgid "MAXFPS^5 fps"
 msgstr "5 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:85
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
 msgid "MAXFPS^10 fps"
 msgstr "10 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
 msgid "MAXFPS^20 fps"
 msgstr "20 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:87
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
 msgid "MAXFPS^30 fps"
 msgstr "30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
 msgid "MAXFPS^40 fps"
 msgstr "40 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
 msgid "MAXFPS^50 fps"
 msgstr "50 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
 msgid "MAXFPS^60 fps"
 msgstr "60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
 msgid "MAXFPS^70 fps"
 msgstr "70 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
 msgid "MAXFPS^100 fps"
 msgstr "100 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
 msgid "MAXFPS^125 fps"
 msgstr "125 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
 msgid "MAXFPS^200 fps"
 msgstr "200 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
 msgid "MAXFPS^Unlimited"
 msgstr "Unbegrenzt"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
 msgid "Target:"
 msgstr "Ziel:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:101
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
 msgid "TRGT^Disabled"
 msgstr "Aus"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:102
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
 msgid "TRGT^30 fps"
 msgstr "30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
 msgid "TRGT^40 fps"
 msgstr "40 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:104
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
 msgid "TRGT^50 fps"
 msgstr "50 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
 msgid "TRGT^60 fps"
 msgstr "60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
 msgid "TRGT^100 fps"
 msgstr "100 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
 msgid "TRGT^125 fps"
 msgstr "125 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
 msgid "TRGT^200 fps"
 msgstr "200 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
 msgid "Idle limit:"
 msgstr "wenn inaktiv:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:114
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
 msgid "IDLFPS^10 fps"
 msgstr "10 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:115
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
 msgid "IDLFPS^20 fps"
 msgstr "20 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
 msgid "IDLFPS^30 fps"
 msgstr "30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:117
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
 msgid "IDLFPS^60 fps"
 msgstr "60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
 msgid "IDLFPS^Unlimited"
 msgstr "Unbegrenzt"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:123
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
 msgid "Show frames per second"
 msgstr "Frames pro Sekunde anzeigen"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:126
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
 msgid "Save processing time for other apps"
 msgstr "CPU-Zeit für andere Anwendungen sparen"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
 msgid "Menu tooltips:"
 msgstr "Menü-Tooltips:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:132
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
 msgid "TLTIP^Disabled"
 msgstr "Aus"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:133
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
 msgid "TLTIP^Standard"
 msgstr "Standard"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
 msgid "TLTIP^Advanced"
 msgstr "Fortgeschritten"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
 msgid "Show current time"
 msgstr "Uhrzeit anzeigen"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:140
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
 msgid "Show current date"
 msgstr "Datum anzeigen"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
 msgid "Enable developer mode"
 msgstr "Entwicklermodus aktivieren"
 
@@ -5727,7 +5909,7 @@ msgstr "Typ:"
 msgid "Value:"
 msgstr "Wert:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:72
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
 msgid "Description:"
 msgstr "Beschreibung:"
 
@@ -5755,6 +5937,27 @@ msgstr "Aufzeichung von Spielerstatistiken erlauben"
 msgid "Allow player statistics to use your nickname"
 msgstr "Verwendung des Spielernamens für Spielerstatistiken erlauben"
 
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr "Warnung"
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+"Während du verbunden bist werden Sprachänderungen nur auf das Menü angewandt"
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr "volle Sprachänderungen finden erst nach dem Neustart des Spiels statt"
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr "Verbindung jetzt unterbrechen"
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr "Sprache ändern"
+
 #: qcsrc/menu/xonotic/dialog_settings_video.c:26
 msgid "Resolution:"
 msgstr "Auflösung:"
@@ -6005,7 +6208,7 @@ msgstr "pink"
 msgid "spectate"
 msgstr "zuschauen"
 
-#: qcsrc/menu/xonotic/mainwindow.c:39 qcsrc/menu/xonotic/mainwindow.c:42
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
 msgid "Do not press this button again!"
 msgstr "Bitte nicht nochmal diesen Knopf drücken!"
 
@@ -6036,31 +6239,63 @@ msgstr "schaut zu"
 msgid "<no model found>"
 msgstr "<Spielermodell nicht gefunden>"
 
-#: qcsrc/menu/xonotic/serverlist.c:190
-msgid "Remove"
-msgstr "Entfernen"
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr "SLCAT^Favoriten"
 
-#: qcsrc/menu/xonotic/serverlist.c:192
-msgid "Bookmark"
-msgstr "Speichern"
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
+msgstr "SLCAT^Vorgeschlagen"
+
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
+msgstr "SLCAT^Normale Server"
+
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr "SLCAT^Server"
 
-#: qcsrc/menu/xonotic/serverlist.c:553
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr "SLCAT^Wettbewerbsmodus"
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr "SLCAT^Modifizierte Server"
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr "SLCAT^Overkill Modus"
+
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr "SLCAT^MinstaGib Modus"
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr "SLCAT^Defrag Modus"
+
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr "Favoriten"
+
+#: qcsrc/menu/xonotic/serverlist.c:923
 msgid "Ping"
 msgstr "Ping"
 
-#: qcsrc/menu/xonotic/serverlist.c:554
+#: qcsrc/menu/xonotic/serverlist.c:924
 msgid "Host name"
 msgstr "Servername"
 
-#: qcsrc/menu/xonotic/serverlist.c:555
+#: qcsrc/menu/xonotic/serverlist.c:925
 msgid "Map"
 msgstr "Map"
 
-#: qcsrc/menu/xonotic/serverlist.c:556
+#: qcsrc/menu/xonotic/serverlist.c:926
 msgid "Type"
 msgstr "Typ"
 
-#: qcsrc/menu/xonotic/serverlist.c:557
+#: qcsrc/menu/xonotic/serverlist.c:927
 msgid "Players"
 msgstr "Spieler"
 
@@ -6100,30 +6335,30 @@ msgstr "%.2f %%"
 msgid "%s dB"
 msgstr "%s dB"
 
-#: qcsrc/menu/xonotic/slider_resolution.c:103
+#: qcsrc/menu/xonotic/slider_resolution.c:116
 #, c-format
 msgid "%dx%d (%d:%d)"
 msgstr "%dx%d (%d:%d)"
 
-#: qcsrc/menu/xonotic/slider_resolution.c:106
+#: qcsrc/menu/xonotic/slider_resolution.c:119
 #, c-format
 msgid "%dx%d"
 msgstr "%dx%d"
 
-#: qcsrc/menu/xonotic/util.qc:298
+#: qcsrc/menu/xonotic/util.qc:308
 #, c-format
 msgid "error receiving update notification: status is %d\n"
 msgstr "Fehler beim Empfang von Update-Information: Status ist %d\n"
 
-#: qcsrc/menu/xonotic/util.qc:303
+#: qcsrc/menu/xonotic/util.qc:313
 msgid "error: received HTML instead of an update notification\n"
 msgstr "Fehler: HTML statt Update-Information erhalten\n"
 
-#: qcsrc/menu/xonotic/util.qc:308
+#: qcsrc/menu/xonotic/util.qc:318
 msgid "error: received carriage returns from update notification server\n"
 msgstr "Fehler: Carriage-Returns in Update-Information enthalten\n"
 
-#: qcsrc/menu/xonotic/util.qc:329
+#: qcsrc/menu/xonotic/util.qc:397
 #, c-format
 msgid ""
 "Update can be downloaded at:\n"
@@ -6132,21 +6367,21 @@ msgstr ""
 "Das Update kann dort heruntergeladen werden:\n"
 "%s\n"
 
-#: qcsrc/menu/xonotic/util.qc:447
+#: qcsrc/menu/xonotic/util.qc:497
 msgid "Autogenerating mapinfo for newly added maps..."
 msgstr "Automatische Generierung von mapinfo-Dateien..."
 
-#: qcsrc/menu/xonotic/util.qc:476
+#: qcsrc/menu/xonotic/util.qc:526
 #, c-format
 msgid "^1%s TEST BUILD"
 msgstr "^1%s TEST VERSION"
 
-#: qcsrc/menu/xonotic/util.qc:491
+#: qcsrc/menu/xonotic/util.qc:541
 #, c-format
 msgid "Update to %s now!"
 msgstr "Jetzt auf %s updaten!"
 
-#: qcsrc/menu/xonotic/util.qc:576
+#: qcsrc/menu/xonotic/util.qc:626
 msgid ""
 "^1ERROR: Texture compression is required but not supported.\n"
 "^1Expect visual problems.\n"
@@ -6154,11 +6389,11 @@ msgstr ""
 "^1FEHLER: Texturekompression ist notwendig aber nicht unterstützt.\n"
 "^1Darstellungsprobleme sind zu erwarten.\n"
 
-#: qcsrc/menu/xonotic/util.qc:696
+#: qcsrc/menu/xonotic/util.qc:746
 msgid "Use default"
 msgstr "Standard verwenden"
 
-#: qcsrc/menu/xonotic/util.qc:716
+#: qcsrc/menu/xonotic/util.qc:766
 msgid "Team Color:"
 msgstr "Teamfarbe:"
 
index 52fa79f67fd5d2281be1ab780328a103fa6b9f05..6b830eab9312c95fb4f0fb427a2546e2d4f97f95 100644 (file)
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-03 11:55+0200\n"
-"PO-Revision-Date: 2013-10-03 10:08+0000\n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
 "Last-Translator: divVerent <divVerent@xonotic.org>\n"
 "Language-Team: Greek (http://www.transifex.com/projects/p/xonotic/language/"
 "el/)\n"
@@ -34,12 +34,7 @@ msgstr ""
 msgid "^4CSQC Build information: ^1%s\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
-#, c-format
-msgid "trying to switch to unsupported team %d\n"
-msgstr ""
-
-#: qcsrc/client/Main.qc:835
+#: qcsrc/client/Main.qc:836
 #, c-format
 msgid ""
 "Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
@@ -57,7 +52,7 @@ msgstr ""
 msgid "%s (%s)"
 msgstr ""
 
-#: qcsrc/client/View.qc:1096
+#: qcsrc/client/View.qc:1165
 msgid "Revival progress"
 msgstr ""
 
@@ -89,213 +84,209 @@ msgstr ""
 msgid "%s (%s %s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:829
+#: qcsrc/client/hud.qc:832
 msgid "Out of ammo"
 msgstr ""
 
-#: qcsrc/client/hud.qc:833
+#: qcsrc/client/hud.qc:836
 msgid "Don't have"
 msgstr ""
 
-#: qcsrc/client/hud.qc:837
+#: qcsrc/client/hud.qc:840
 msgid "Unavailable"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
 #, c-format
 msgid "Player %d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2384
+#: qcsrc/client/hud.qc:2369
 msgid "^1Intermediate 1 (+15.42)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
 #, c-format
 msgid "^1PENALTY: %.1f (%s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2471
+#: qcsrc/client/hud.qc:2456
 #, c-format
 msgid "^2PENALTY: %.1f (%s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2501
+#: qcsrc/client/hud.qc:2486
 msgid "^1You must answer before entering hud configure mode\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2506
+#: qcsrc/client/hud.qc:2491
 msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2586
+#: qcsrc/client/hud.qc:2570
 msgid "A vote has been called for:"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2588
+#: qcsrc/client/hud.qc:2572
 msgid "Allow servers to store and display your name?"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2592
+#: qcsrc/client/hud.qc:2576
 msgid "^1Configure the HUD"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2596
+#: qcsrc/client/hud.qc:2580
 #, c-format
 msgid "Yes (%s): %d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2598
+#: qcsrc/client/hud.qc:2582
 #, c-format
 msgid "No (%s): %d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3169 qcsrc/client/hud.qc:3172 qcsrc/client/hud.qc:3174
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
 msgid "Personal best"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
 msgid "Server best"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3552
+#: qcsrc/client/hud.qc:3528
 msgid "^3Player^7: This is the chat area."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3618
+#: qcsrc/client/hud.qc:3593
 #, c-format
 msgid "FPS: %.*f"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3683
+#: qcsrc/client/hud.qc:3657
 msgid "^1Observing"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
 #, c-format
 msgid "^1Spectating: ^7%s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3693
+#: qcsrc/client/hud.qc:3667
 #, c-format
 msgid "^1Press ^3%s^1 to spectate"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3695
+#: qcsrc/client/hud.qc:3669
 #, c-format
 msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3699
+#: qcsrc/client/hud.qc:3673
 #, c-format
 msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3701
+#: qcsrc/client/hud.qc:3675
 #, c-format
 msgid "^1Press ^3%s^1 to observe"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3704
+#: qcsrc/client/hud.qc:3678
 #, c-format
 msgid "^1Press ^3%s^1 for gamemode info"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3708
-msgid "^1Wait for your turn to join"
-msgstr ""
-
-#: qcsrc/client/hud.qc:3714
+#: qcsrc/client/hud.qc:3686
 msgid "^1Match has already begun"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3688
 msgid "^1You have no more lives left"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
 #, c-format
 msgid "^1Press ^3%s^1 to join"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3701
 #, c-format
 msgid "^1Game starts in ^3%d^1 seconds"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3708
 msgid "^2Currently in ^1warmup^2 stage!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3723
 #, c-format
 msgid "%sPress ^3%s%s to end warmup"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3725
 #, c-format
 msgid "%sPress ^3%s%s once you are ready"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3758
+#: qcsrc/client/hud.qc:3730
 msgid "^2Waiting for others to ready up to end warmup..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3732
 msgid "^2Waiting for others to ready up..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3738
 #, c-format
 msgid "^2Press ^3%s^2 to end warmup"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3759
 msgid "Teamnumbers are unbalanced!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3764
 #, c-format
 msgid " Press ^3%s%s to adjust"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3772
 msgid "^7Press ^3ESC ^7to show HUD options."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3774
 msgid "^3Doubleclick ^7a panel for panel-specific options."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3776
 msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3778
 msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3825
 msgid " qu/s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3829
 msgid " m/s"
-msgstr ""
+msgstr "μέτρα/δευτερόλεπτο"
 
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3833
 msgid " km/h"
-msgstr ""
+msgstr "χλμ/ώρα"
 
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3837
 msgid " mph"
-msgstr ""
+msgstr "μίλια/ώρα"
 
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3841
 msgid " knots"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4497
 msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
 msgstr ""
 
@@ -344,16 +335,16 @@ msgstr ""
 msgid "Requesting preview...\n"
 msgstr ""
 
-#: qcsrc/client/miscfunctions.qc:98
+#: qcsrc/client/miscfunctions.qc:101
 msgid "Trying to remove a team which is not in the teamlist!"
 msgstr ""
 
-#: qcsrc/client/movetypes.qc:163
+#: qcsrc/client/movetypes.qc:227
 #, c-format
 msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
 
-#: qcsrc/client/movetypes.qc:166
+#: qcsrc/client/movetypes.qc:230
 #, c-format
 msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
@@ -494,164 +485,164 @@ msgstr ""
 msgid "SCO^ticks"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:251
+#: qcsrc/client/scoreboard.qc:237
 msgid ""
 "You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:252
+#: qcsrc/client/scoreboard.qc:238
 msgid "^3|---------------------------------------------------------------|\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:253
+#: qcsrc/client/scoreboard.qc:239
 msgid "Usage:\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:254
+#: qcsrc/client/scoreboard.qc:240
 msgid "^2scoreboard_columns_set default\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:255
+#: qcsrc/client/scoreboard.qc:241
 msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:256
+#: qcsrc/client/scoreboard.qc:242
 msgid "The following field names are recognized (case insensitive):\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:257
+#: qcsrc/client/scoreboard.qc:243
 msgid ""
 "You can use a ^3|^7 to start the right-aligned fields.\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:259
+#: qcsrc/client/scoreboard.qc:245
 msgid "^3name^7 or ^3nick^7             Name of a player\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:260
+#: qcsrc/client/scoreboard.qc:246
 msgid "^3ping^7                     Ping time\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:261
+#: qcsrc/client/scoreboard.qc:247
 msgid "^3pl^7                       Packet loss\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:262
+#: qcsrc/client/scoreboard.qc:248
 msgid "^3kills^7                    Number of kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:263
+#: qcsrc/client/scoreboard.qc:249
 msgid "^3deaths^7                   Number of deaths\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:264
+#: qcsrc/client/scoreboard.qc:250
 msgid "^3suicides^7                 Number of suicides\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:265
+#: qcsrc/client/scoreboard.qc:251
 msgid "^3frags^7                    kills - suicides\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:266
+#: qcsrc/client/scoreboard.qc:252
 msgid "^3kd^7                       The kill-death ratio\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:267
+#: qcsrc/client/scoreboard.qc:253
 msgid "^3sum^7                      frags - deaths\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:268
+#: qcsrc/client/scoreboard.qc:254
 msgid ""
 "^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
 "captured\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:269
+#: qcsrc/client/scoreboard.qc:255
 msgid ""
 "^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
 "ball (Keepaway) was picked up\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:270
+#: qcsrc/client/scoreboard.qc:256
 msgid "^3captime^7                  Time of fastest cap (CTF)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:271
+#: qcsrc/client/scoreboard.qc:257
 msgid "^3fckills^7                  Number of flag carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:272
+#: qcsrc/client/scoreboard.qc:258
 msgid "^3returns^7                  Number of flag returns\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:273
+#: qcsrc/client/scoreboard.qc:259
 msgid "^3drops^7                    Number of flag drops\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:274
+#: qcsrc/client/scoreboard.qc:260
 msgid "^3lives^7                    Number of lives (LMS)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:275
+#: qcsrc/client/scoreboard.qc:261
 msgid "^3rank^7                     Player rank\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:276
+#: qcsrc/client/scoreboard.qc:262
 msgid "^3pushes^7                   Number of players pushed into void\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:277
+#: qcsrc/client/scoreboard.qc:263
 msgid ""
 "^3destroyed^7                Number of keys destroyed by pushing them into "
 "void\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:278
+#: qcsrc/client/scoreboard.qc:264
 msgid "^3kckills^7                  Number of keys carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:279
+#: qcsrc/client/scoreboard.qc:265
 msgid "^3losses^7                   Number of times a key was lost\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:280
+#: qcsrc/client/scoreboard.qc:266
 msgid "^3laps^7                     Number of laps finished (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:281
+#: qcsrc/client/scoreboard.qc:267
 msgid "^3time^7                     Total time raced (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:282
+#: qcsrc/client/scoreboard.qc:268
 msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:283
+#: qcsrc/client/scoreboard.qc:269
 msgid "^3ticks^7                    Number of ticks (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:284
+#: qcsrc/client/scoreboard.qc:270
 msgid "^3takes^7                    Number of domination points taken (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:285
+#: qcsrc/client/scoreboard.qc:271
 msgid "^3bckills^7                  Number of ball carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:286
+#: qcsrc/client/scoreboard.qc:272
 msgid ""
 "^3bctime^7                   Total amount of time holding the ball in "
 "Keepaway\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:287
+#: qcsrc/client/scoreboard.qc:273
 msgid ""
 "^3score^7                    Total score\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:289
+#: qcsrc/client/scoreboard.qc:275
 msgid ""
 "Before a field you can put a + or - sign, then a comma separated list\n"
 "of game types, then a slash, to make the field show up only in these\n"
@@ -660,30 +651,30 @@ msgid ""
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:294
+#: qcsrc/client/scoreboard.qc:280
 msgid ""
 "The special game type names 'teams' and 'noteams' can be used to\n"
 "include/exclude ALL teams/noteams game modes.\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:297
+#: qcsrc/client/scoreboard.qc:283
 msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:298
+#: qcsrc/client/scoreboard.qc:284
 msgid ""
 "will display name, ping and pl aligned to the left, and the fields\n"
 "right of the vertical bar aligned to the right.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:300
+#: qcsrc/client/scoreboard.qc:286
 msgid ""
 "'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
 "other gamemodes except DM.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:534 qcsrc/client/scoreboard.qc:541
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
@@ -691,91 +682,95 @@ msgstr ""
 msgid "N/A"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:984
+#: qcsrc/client/scoreboard.qc:970
 #, c-format
 msgid "Accuracy stats (average %d%%)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1047
+#: qcsrc/client/scoreboard.qc:1033
 #, c-format
 msgid "%d%%"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1099
 msgid "Map stats:"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1124
 msgid "Secrets found:"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1152
 msgid "Rankings"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1248
 msgid "Scoreboard"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1307
 #, c-format
 msgid "Speed award: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1311
 #, c-format
 msgid "All-time fastest: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1345
 msgid "Spectators"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1352
 #, c-format
-msgid "playing on ^2%s^7"
+msgid "playing ^3%s^7 on ^2%s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
 #, c-format
 msgid " for up to ^1%1.0f minutes^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1364 qcsrc/client/scoreboard.qc:1383
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
 msgid " or"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
 #, c-format
 msgid " until ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1375
-#: qcsrc/client/scoreboard.qc:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
 msgid "SCO^points"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1369 qcsrc/client/scoreboard.qc:1376
-#: qcsrc/client/scoreboard.qc:1388 qcsrc/client/scoreboard.qc:1395
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
 msgid "SCO^is beaten"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
 #, c-format
 msgid " until a lead of ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1419
 #, c-format
 msgid "^1Respawning in ^3%s^1..."
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1429
 #, c-format
 msgid "You are dead, wait ^3%s^7 before respawning"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1438
 #, c-format
 msgid "You are dead, press ^2%s^7 to respawn"
 msgstr ""
@@ -785,7 +780,7 @@ msgstr ""
 msgid "Cannot initialize sound %s\n"
 msgstr ""
 
-#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:591
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
 msgid "Spam"
 msgstr ""
 
@@ -802,209 +797,213 @@ msgstr ""
 msgid "No left gunner!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:254
+#: qcsrc/client/waypointsprites.qc:246
 msgid "Push"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:255
+#: qcsrc/client/waypointsprites.qc:247
 msgid "Destroy"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:256
+#: qcsrc/client/waypointsprites.qc:248
 msgid "Defend"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:257
+#: qcsrc/client/waypointsprites.qc:249
 msgid "Blue base"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:258
+#: qcsrc/client/waypointsprites.qc:250
 msgid "DANGER"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:251
 msgid "Enemy carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:260
+#: qcsrc/client/waypointsprites.qc:252
 msgid "Flag carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:253
 msgid "Dropped flag"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:262
+#: qcsrc/client/waypointsprites.qc:254
 msgid "Help me!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:263
+#: qcsrc/client/waypointsprites.qc:255
 msgid "Here"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:264
+#: qcsrc/client/waypointsprites.qc:256
 msgid "Dropped key"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:267
-#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
-#: qcsrc/client/waypointsprites.qc:270
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
 msgid "Key carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:258
 msgid "Run here"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:263
 msgid "Red base"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:272
+#: qcsrc/client/waypointsprites.qc:264
 msgid "Waypoint"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
-#: qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
 msgid "Generator"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:276 qcsrc/client/waypointsprites.qc:277
-#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
-#: qcsrc/client/waypointsprites.qc:280 qcsrc/client/waypointsprites.qc:281
-#: qcsrc/client/waypointsprites.qc:282 qcsrc/client/waypointsprites.qc:283
-#: qcsrc/client/waypointsprites.qc:307 qcsrc/client/waypointsprites.qc:308
-#: qcsrc/client/waypointsprites.qc:309 qcsrc/client/waypointsprites.qc:310
-#: qcsrc/client/waypointsprites.qc:311
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
 msgid "Control point"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:284
+#: qcsrc/client/waypointsprites.qc:276
 msgid "Checkpoint"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
 msgid "Finish"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
 msgid "Start"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
 msgid "Ball"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:290
+#: qcsrc/client/waypointsprites.qc:283
 msgid "Ball carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
 msgid "Laser"
 msgstr "Λέιζερ"
 
-#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
 msgid "Shotgun"
 msgstr "Καραμπίνα"
 
-#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
 msgid "Machine Gun"
 msgstr "Πολυβόλο"
 
-#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
 msgid "Mortar"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
 msgid "Electro"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
 msgid "Crylink"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
 msgid "Nex"
 msgstr "Θάνατος"
 
-#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
 msgid "Hagar"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
 msgid "Rocket Launcher"
 msgstr "Ρουκετοεκτοξευτήρας"
 
-#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
 msgid "Port-O-Launch"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:294
 msgid "Minstanex"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:302
+#: qcsrc/client/waypointsprites.qc:295
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
 msgid "Hook"
 msgstr "Γάντζος"
 
-#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
 msgid "Fireball"
 msgstr "Φλογοβολίδα"
 
-#: qcsrc/client/waypointsprites.qc:304
+#: qcsrc/client/waypointsprites.qc:297
 msgid "HLAC"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
 msgid "Rifle"
 msgstr "Τουφέκι"
 
-#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
 msgid "Mine Layer"
 msgstr "Ναρκοθέτης"
 
-#: qcsrc/client/waypointsprites.qc:312
+#: qcsrc/client/waypointsprites.qc:305
 msgid "Invisibility"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:313
+#: qcsrc/client/waypointsprites.qc:306
 msgid "Extra life"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:314
+#: qcsrc/client/waypointsprites.qc:307
 msgid "Speed"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:315
+#: qcsrc/client/waypointsprites.qc:308
 msgid "Strength"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:316
+#: qcsrc/client/waypointsprites.qc:309
 msgid "Shield"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:317
+#: qcsrc/client/waypointsprites.qc:310
 msgid "Fuel regen"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:318
+#: qcsrc/client/waypointsprites.qc:311
 msgid "Jet Pack"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:319
+#: qcsrc/client/waypointsprites.qc:312
 msgid "Frozen!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:320
+#: qcsrc/client/waypointsprites.qc:313
 msgid "Tagged"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:321
+#: qcsrc/client/waypointsprites.qc:314
 msgid "Vehicle"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:595
+#: qcsrc/client/waypointsprites.qc:588
 #, c-format
 msgid "%s needing help!"
 msgstr ""
@@ -1226,12 +1225,12 @@ msgstr ""
 msgid "%dth"
 msgstr ""
 
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:717
 #, no-c-format
 msgid "@!#%'n Tuba Throwing"
 msgstr ""
 
-#: qcsrc/common/mapinfo.qc:1109 qcsrc/menu/xonotic/skinlist.c:166
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
@@ -1245,57 +1244,82 @@ msgid "Last Man Standing"
 msgstr ""
 
 #: qcsrc/common/mapinfo.qh:42
-msgid "Arena"
-msgstr "Αρένα"
-
-#: qcsrc/common/mapinfo.qh:45
 msgid "Race"
 msgstr "Αγώνας"
 
-#: qcsrc/common/mapinfo.qh:48
+#: qcsrc/common/mapinfo.qh:45
 msgid "Race CTS"
 msgstr ""
 
-#: qcsrc/common/mapinfo.qh:51
+#: qcsrc/common/mapinfo.qh:48
 msgid "Team Deathmatch"
 msgstr ""
 
-#: qcsrc/common/mapinfo.qh:54
+#: qcsrc/common/mapinfo.qh:51
 msgid "Capture the Flag"
 msgstr "Κατάλυψη Σημαίας"
 
-#: qcsrc/common/mapinfo.qh:57
+#: qcsrc/common/mapinfo.qh:54
 msgid "Clan Arena"
 msgstr ""
 
-#: qcsrc/common/mapinfo.qh:60
+#: qcsrc/common/mapinfo.qh:57
 msgid "Domination"
 msgstr "Κυριαρχία"
 
-#: qcsrc/common/mapinfo.qh:63
+#: qcsrc/common/mapinfo.qh:60
 msgid "Key Hunt"
 msgstr "Κυνήγι για κλειδιά"
 
-#: qcsrc/common/mapinfo.qh:66
+#: qcsrc/common/mapinfo.qh:63
 msgid "Assault"
 msgstr ""
 
-#: qcsrc/common/mapinfo.qh:69
+#: qcsrc/common/mapinfo.qh:66
 msgid "Onslaught"
 msgstr ""
 
-#: qcsrc/common/mapinfo.qh:72
+#: qcsrc/common/mapinfo.qh:69
 msgid "Nexball"
 msgstr "Θανατόμπαλα"
 
-#: qcsrc/common/mapinfo.qh:75
+#: qcsrc/common/mapinfo.qh:72
 msgid "Freeze Tag"
 msgstr ""
 
-#: qcsrc/common/mapinfo.qh:78
+#: qcsrc/common/mapinfo.qh:75
 msgid "Keepaway"
 msgstr ""
 
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr ""
+
 #: qcsrc/common/net_notice.qc:89
 msgid "^1Server notices:"
 msgstr ""
@@ -1306,1772 +1330,1842 @@ msgid "^7%s (^3%d sec left)"
 msgstr ""
 
 #: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:343
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:343
+#: qcsrc/common/notifications.qh:344
 #, c-format
 msgid ""
 "^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"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:344
+#: qcsrc/common/notifications.qh:345
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:345
+#: qcsrc/common/notifications.qh:346
 #, c-format
 msgid ""
 "^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"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:346
+#: qcsrc/common/notifications.qh:347
 msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:347
+#: qcsrc/common/notifications.qh:348
 msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:348
+#: qcsrc/common/notifications.qh:349
 msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:349
+#: qcsrc/common/notifications.qh:350
 msgid ""
 "^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
 "base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:350
+#: qcsrc/common/notifications.qh:351
 #, c-format
 msgid ""
 "^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
 "itself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:351
+#: qcsrc/common/notifications.qh:352
 msgid "^BGThe ^TC^TT^BG flag has returned to the base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:352
+#: qcsrc/common/notifications.qh:353
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:353
+#: qcsrc/common/notifications.qh:354
 #, c-format
 msgid "^BG%s^BG got the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:354
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
 #, c-format
 msgid "^BG%s^BG returned the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:355
+#: qcsrc/common/notifications.qh:357
 #, c-format
 msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:356
+#: qcsrc/common/notifications.qh:358
 #, c-format
 msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:357
+#: qcsrc/common/notifications.qh:359
 #, c-format
 msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:359
+#: qcsrc/common/notifications.qh:361
 #, c-format
 msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:360
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:363
 #, c-format
 msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:361
+#: qcsrc/common/notifications.qh:364
 #, c-format
 msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:362
+#: qcsrc/common/notifications.qh:365
 #, c-format
 msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:363
+#: qcsrc/common/notifications.qh:366
 #, c-format
 msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:365
+#: qcsrc/common/notifications.qh:368
 #, c-format
 msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:366
+#: qcsrc/common/notifications.qh:369
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:367
+#: qcsrc/common/notifications.qh:370
 #, c-format
 msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:368
+#: qcsrc/common/notifications.qh:371
 #, c-format
 msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:369
+#: qcsrc/common/notifications.qh:372
 #, c-format
 msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:370
+#: qcsrc/common/notifications.qh:373
 #, c-format
 msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:371
+#: qcsrc/common/notifications.qh:374
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:372
+#: qcsrc/common/notifications.qh:375
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:373
+#: qcsrc/common/notifications.qh:376
 #, c-format
 msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:374
+#: qcsrc/common/notifications.qh:377
 #, c-format
 msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:375
+#: qcsrc/common/notifications.qh:378
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:376
+#: qcsrc/common/notifications.qh:379
 #, c-format
 msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:377
+#: qcsrc/common/notifications.qh:380
 #, c-format
 msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:378
+#: qcsrc/common/notifications.qh:381
 #, c-format
 msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:379
+#: qcsrc/common/notifications.qh:382
 #, c-format
 msgid "^BG%s^K1 was moved into the %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:380
+#: qcsrc/common/notifications.qh:383
 #, c-format
 msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:381
+#: qcsrc/common/notifications.qh:384
 #, c-format
 msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:382
+#: qcsrc/common/notifications.qh:385
 #, c-format
 msgid "^BG%s^K1 unfairly eliminated themself%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:383
+#: qcsrc/common/notifications.qh:386
 #, c-format
 msgid "^BG%s^K1 %s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 couldn't catch their breath%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 was in the water for too long%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a crunch%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 became a bit too crispy%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 felt a little hot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:387
+#: qcsrc/common/notifications.qh:390
 #, c-format
 msgid "^BG%s^K1 died%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 found a hot place%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 turned into hot slag%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:389
+#: qcsrc/common/notifications.qh:392
 #, c-format
 msgid "^BG%s^K1 mastered the art of self-nading%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:393
 #, c-format
-msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:394
 #, c-format
-msgid "^BG%s^K1 ran out of ammo%s%s"
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:391
+#: qcsrc/common/notifications.qh:395
+#, c-format
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:396
+#, c-format
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:397
+#, c-format
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:398
+#, c-format
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 ran out of ammo%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:402
 #, c-format
 msgid "^BG%s^K1 rotted away%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:392
+#: qcsrc/common/notifications.qh:403
 #, c-format
 msgid "^BG%s^K1 became a shooting star%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:393
+#: qcsrc/common/notifications.qh:404
 #, c-format
 msgid "^BG%s^K1 was slimed%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:394
+#: qcsrc/common/notifications.qh:405
 #, c-format
 msgid "^BG%s^K1 couldn't take it anymore%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:395
+#: qcsrc/common/notifications.qh:406
 #, c-format
 msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:396
+#: qcsrc/common/notifications.qh:407
 #, c-format
 msgid "^BG%s^K1 switched to the %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:397
+#: qcsrc/common/notifications.qh:408
 #, c-format
 msgid "^BG%s^K1 died in an accident%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:398
+#: qcsrc/common/notifications.qh:409
 #, c-format
 msgid "^BG%s^K1 ran into a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:399
+#: qcsrc/common/notifications.qh:410
 #, c-format
 msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:400
+#: qcsrc/common/notifications.qh:411
 #, c-format
 msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:401
+#: qcsrc/common/notifications.qh:412
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:402
+#: qcsrc/common/notifications.qh:413
 #, c-format
 msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:403
+#: qcsrc/common/notifications.qh:414
 #, c-format
 msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:404
+#: qcsrc/common/notifications.qh:415
 #, c-format
 msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:405
+#: qcsrc/common/notifications.qh:416
 #, c-format
 msgid "^BG%s^K1 was phased out by a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:406
+#: qcsrc/common/notifications.qh:417
 #, c-format
 msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:407
+#: qcsrc/common/notifications.qh:418
 #, c-format
 msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:408
+#: qcsrc/common/notifications.qh:419
 #, c-format
 msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:409
+#: qcsrc/common/notifications.qh:420
 #, c-format
 msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:410
+#: qcsrc/common/notifications.qh:421
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:411
+#: qcsrc/common/notifications.qh:422
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:412
+#: qcsrc/common/notifications.qh:423
 #, c-format
 msgid "^BG%s^K1 was crushed by a vehicle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:413
+#: qcsrc/common/notifications.qh:424
 #, c-format
 msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:414
+#: qcsrc/common/notifications.qh:425
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:415
+#: qcsrc/common/notifications.qh:426
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:416
+#: qcsrc/common/notifications.qh:427
 #, c-format
 msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:417
+#: qcsrc/common/notifications.qh:428
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:418
+#: qcsrc/common/notifications.qh:429
 #, c-format
 msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:419
+#: qcsrc/common/notifications.qh:430
 #, c-format
 msgid "^BG%s^K1 was in the wrong place%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:420
+#: qcsrc/common/notifications.qh:431
 #, c-format
 msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:421
+#: qcsrc/common/notifications.qh:432
 #, c-format
 msgid "^BG%s^K1 was frozen by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:422
+#: qcsrc/common/notifications.qh:433
 #, c-format
 msgid "^BG%s^K3 was revived by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:423
+#: qcsrc/common/notifications.qh:434
 #, c-format
 msgid "^BG%s^K3 was revived by falling"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:424
+#: qcsrc/common/notifications.qh:435
 #, c-format
 msgid "^BG%s^K3 was automatically revived after %s second(s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:425 qcsrc/common/notifications.qh:612
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
 msgid "^TC^TT^BG team wins the round"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:426 qcsrc/common/notifications.qh:613
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
 #, c-format
 msgid "^BG%s^BG wins the round"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:427 qcsrc/common/notifications.qh:542
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
 msgid "^BGRound tied"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:428 qcsrc/common/notifications.qh:543
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
 msgid "^BGRound over, there's no winner"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:429
+#: qcsrc/common/notifications.qh:440
 #, c-format
 msgid "^BG%s^K1 froze themself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:430
+#: qcsrc/common/notifications.qh:441
 #, c-format
 msgid "^BGGodmode saved you %s units of damage, cheater!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:431 qcsrc/common/notifications.qh:616
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
 #, c-format
 msgid "^BGYou do not have the ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:432 qcsrc/common/notifications.qh:617
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
 #, c-format
 msgid "^BGYou dropped the ^F1%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:433 qcsrc/common/notifications.qh:618
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
 #, c-format
 msgid "^BGYou got the ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:434 qcsrc/common/notifications.qh:619
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
 #, c-format
 msgid "^BGYou don't have enough ammo for the ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:435 qcsrc/common/notifications.qh:620
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
 #, c-format
 msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:621
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
 #, c-format
 msgid "^F1%s^BG is ^F4not available^BG on this map"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:437
+#: qcsrc/common/notifications.qh:448
 #, c-format
 msgid "^BG%s^F3 connected%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:438
+#: qcsrc/common/notifications.qh:449
 #, c-format
 msgid "^BG%s^F3 connected and joined the ^TC^TT team"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:439
+#: qcsrc/common/notifications.qh:450
 #, c-format
 msgid "^BG%s^F3 is now playing"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:440 qcsrc/common/notifications.qh:624
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
 #, c-format
 msgid "^BG%s^BG has dropped the ball!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:441 qcsrc/common/notifications.qh:625
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
 #, c-format
 msgid "^BG%s^BG has picked up the ball!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:442
+#: qcsrc/common/notifications.qh:453
 #, c-format
 msgid "^BG%s^BG captured the keys for the ^TC^TT team"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:443
+#: qcsrc/common/notifications.qh:454
 #, c-format
 msgid "^BG%s^BG dropped the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:444
+#: qcsrc/common/notifications.qh:455
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:445
+#: qcsrc/common/notifications.qh:456
 #, c-format
 msgid "^BG%s^BG picked up the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:446
+#: qcsrc/common/notifications.qh:457
 #, c-format
 msgid "^BG%s^F3 forfeited"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:447
+#: qcsrc/common/notifications.qh:458
 #, c-format
 msgid "^BG%s^F3 has no more lives left"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:448
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:460
 #, c-format
 msgid "^BG%s^K1 picked up Invisibility"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:449
+#: qcsrc/common/notifications.qh:461
 #, c-format
 msgid "^BG%s^K1 picked up Shield"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:450
+#: qcsrc/common/notifications.qh:462
 #, c-format
 msgid "^BG%s^K1 picked up Speed"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:451
+#: qcsrc/common/notifications.qh:463
 #, c-format
 msgid "^BG%s^K1 picked up Strength"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:452
+#: qcsrc/common/notifications.qh:464
 #, c-format
 msgid "^BG%s^F3 disconnected"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:453
+#: qcsrc/common/notifications.qh:465
 #, c-format
 msgid "^BG%s^F3 was kicked for idling"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:454
+#: qcsrc/common/notifications.qh:466
 msgid ""
 "^F2You were kicked from the server because you are a spectator and "
 "spectators aren't allowed at the moment."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:455
+#: qcsrc/common/notifications.qh:467
 #, c-format
 msgid "^BG%s^F3 is now spectating"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:456
+#: qcsrc/common/notifications.qh:468
 #, c-format
 msgid "^BG%s^BG has abandoned the race"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:457
+#: qcsrc/common/notifications.qh:469
 #, c-format
 msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:458
+#: qcsrc/common/notifications.qh:470
 #, c-format
 msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:459
+#: qcsrc/common/notifications.qh:471
 #, c-format
 msgid "^BG%s^BG has finished the race"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:460
+#: qcsrc/common/notifications.qh:472
 #, c-format
 msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:461
+#: qcsrc/common/notifications.qh:473
 #, c-format
 msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:462
+#: qcsrc/common/notifications.qh:474
 #, c-format
 msgid ""
 "^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
 "and will be lost."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:463
+#: qcsrc/common/notifications.qh:475
 #, c-format
 msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:464
+#: qcsrc/common/notifications.qh:476
 msgid "^TC^TT ^BGteam scores!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:465
+#: qcsrc/common/notifications.qh:477
 #, c-format
 msgid ""
 "^F2You have to become a player within the next %s, otherwise you will be "
 "kicked, because spectating isn't allowed at this time!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:466
+#: qcsrc/common/notifications.qh:478
 #, c-format
 msgid "^BG%s^K1 picked up a Superweapon"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:467
+#: qcsrc/common/notifications.qh:479
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
 "^F2Xonotic %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:468
+#: qcsrc/common/notifications.qh:480
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:469
+#: qcsrc/common/notifications.qh:481
 #, c-format
 msgid ""
 "^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
 "the update from ^F3http://www.xonotic.org/^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:470
+#: qcsrc/common/notifications.qh:482
 #, c-format
 msgid "^F3SVQC Build information: ^F4%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:471
+#: qcsrc/common/notifications.qh:483
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:472
+#: qcsrc/common/notifications.qh:484
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:473
+#: qcsrc/common/notifications.qh:485
 #, c-format
 msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:474
+#: qcsrc/common/notifications.qh:486
 #, c-format
 msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:475
+#: qcsrc/common/notifications.qh:487
 #, c-format
 msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:476
+#: qcsrc/common/notifications.qh:488
 #, c-format
 msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:477
+#: qcsrc/common/notifications.qh:489
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:478
+#: qcsrc/common/notifications.qh:490
 #, c-format
 msgid "^BG%s^K1 played with Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:479
+#: qcsrc/common/notifications.qh:491
 #, c-format
 msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:480
+#: qcsrc/common/notifications.qh:492
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:481
+#: qcsrc/common/notifications.qh:493
 #, c-format
 msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:482
+#: qcsrc/common/notifications.qh:494
 #, c-format
 msgid "^BG%s^K1 should have used a smaller gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:483
+#: qcsrc/common/notifications.qh:495
 #, c-format
 msgid "^BG%s^K1 forgot about their firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:484
+#: qcsrc/common/notifications.qh:496
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:485
+#: qcsrc/common/notifications.qh:497
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:486
+#: qcsrc/common/notifications.qh:498
 #, c-format
 msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:487
+#: qcsrc/common/notifications.qh:499
 #, c-format
 msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:488
+#: qcsrc/common/notifications.qh:500
 #, c-format
 msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:489
+#: qcsrc/common/notifications.qh:501
 #, c-format
 msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:490
+#: qcsrc/common/notifications.qh:502
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:491
+#: qcsrc/common/notifications.qh:503
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:492
+#: qcsrc/common/notifications.qh:504
 #, c-format
 msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:493
+#: qcsrc/common/notifications.qh:505
 #, c-format
 msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:494
+#: qcsrc/common/notifications.qh:506
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:495
+#: qcsrc/common/notifications.qh:507
 #, c-format
 msgid "^BG%s^K1 forgot about their mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:496
+#: qcsrc/common/notifications.qh:508
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:497
+#: qcsrc/common/notifications.qh:509
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:498
+#: qcsrc/common/notifications.qh:510
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:499
+#: qcsrc/common/notifications.qh:511
 #, c-format
 msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:500
+#: qcsrc/common/notifications.qh:512
 #, c-format
 msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:501
+#: qcsrc/common/notifications.qh:513
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:502
+#: qcsrc/common/notifications.qh:514
 #, c-format
 msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:503
+#: qcsrc/common/notifications.qh:515
 #, c-format
 msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:504
+#: qcsrc/common/notifications.qh:516
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:505
+#: qcsrc/common/notifications.qh:517
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:506
+#: qcsrc/common/notifications.qh:518
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:507
+#: qcsrc/common/notifications.qh:519
 #, c-format
 msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:508
+#: qcsrc/common/notifications.qh:520
 #, c-format
 msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:509
+#: qcsrc/common/notifications.qh:521
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:510
+#: qcsrc/common/notifications.qh:522
 #, c-format
 msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:511
+#: qcsrc/common/notifications.qh:523
 #, c-format
 msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:512
+#: qcsrc/common/notifications.qh:524
 #, c-format
 msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:513
+#: qcsrc/common/notifications.qh:525
 #, c-format
 msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:514
+#: qcsrc/common/notifications.qh:526
 #, c-format
 msgid "^BG%s^K1 is now thinking with portals%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:515
+#: qcsrc/common/notifications.qh:527
 #, c-format
 msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:516
+#: qcsrc/common/notifications.qh:528
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:517
+#: qcsrc/common/notifications.qh:529
 #, c-format
 msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:518
+#: qcsrc/common/notifications.qh:530
 #, c-format
 msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:536
+#: qcsrc/common/notifications.qh:548
 msgid "^BGYou are attacking!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:537
+#: qcsrc/common/notifications.qh:549
 msgid "^BGYou are defending!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:538
+#: qcsrc/common/notifications.qh:550
 msgid "^F4Begin!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:539
+#: qcsrc/common/notifications.qh:551
 msgid "^F4Game starts in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:540
+#: qcsrc/common/notifications.qh:552
 msgid "^F4Round starts in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:541
+#: qcsrc/common/notifications.qh:553
 msgid "^F4Round cannot start"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:544
+#: qcsrc/common/notifications.qh:556
 msgid "^F2Don't camp!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:545
+#: qcsrc/common/notifications.qh:557
 msgid ""
 "^BGYou are now free.\n"
 "^BGFeel free to ^F2try to capture^BG the flag again\n"
 "^BGif you think you will succeed."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:546
+#: qcsrc/common/notifications.qh:558
 msgid ""
 "^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."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:547
+#: qcsrc/common/notifications.qh:559
 msgid "^BGYou captured the ^TC^TT^BG flag!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:548
+#: qcsrc/common/notifications.qh:560
 #, c-format
 msgid "^BGToo many flag throws! Throwing disabled for %s."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:549
+#: qcsrc/common/notifications.qh:561
 #, c-format
 msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:550
+#: qcsrc/common/notifications.qh:562
 #, c-format
 msgid "^BGYou received the ^TC^TT^BG flag from %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:551
+#: qcsrc/common/notifications.qh:563
 #, c-format
 msgid "^BG%s^BG requests you to pass the flag%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:552
+#: qcsrc/common/notifications.qh:564
 #, c-format
 msgid "^BGRequesting %s^BG to pass you the flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:553
+#: qcsrc/common/notifications.qh:565
 #, c-format
 msgid "^BGYou passed the ^TC^TT^BG flag to %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:554
+#: qcsrc/common/notifications.qh:566
 msgid "^BGYou got the ^TC^TT^BG flag!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:555
+#: qcsrc/common/notifications.qh:567
 #, c-format
 msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:556
+#: qcsrc/common/notifications.qh:568
 #, c-format
 msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:557
+#: qcsrc/common/notifications.qh:569
 #, c-format
 msgid "^BGYour %steam mate^BG got the flag! Protect them!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:558
+#: qcsrc/common/notifications.qh:570
 #, c-format
 msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:559
+#: qcsrc/common/notifications.qh:571
 msgid "^BGYou returned the ^TC^TT^BG flag!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:560
+#: qcsrc/common/notifications.qh:572
 msgid "^BGStalemate! Enemies can now see you on radar!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:561
+#: qcsrc/common/notifications.qh:573
 msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou fragged ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou scored against ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou fragged ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou scored against ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:570
+#: qcsrc/common/notifications.qh:582
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:571
+#: qcsrc/common/notifications.qh:583
 #, c-format
 msgid ""
 "^BGYou have been moved into a different team\n"
 "You are now on: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't go against your team mates!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't shoot your team mates!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Die camper!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Reconsider your tactics, camper!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:574
+#: qcsrc/common/notifications.qh:586
 msgid "^K1You unfairly eliminated yourself!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:575
+#: qcsrc/common/notifications.qh:587
 #, c-format
 msgid "^K1You were %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:576
+#: qcsrc/common/notifications.qh:588
 msgid "^K1You couldn't catch your breath!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:577
+#: qcsrc/common/notifications.qh:589
 msgid "^K1You hit the ground with a crunch!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You felt a little too hot!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You got a little bit too crispy!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You killed your own dumb self!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You need to be more careful!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:580
+#: qcsrc/common/notifications.qh:592
 msgid "^K1You couldn't stand the heat!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
 msgid "^K1Tastes like chicken!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:594
 msgid "^K1You forgot to put the pin back in!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You are respawning for running out of ammo..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You were killed for running out of ammo..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You grew too old without taking your medicine"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You need to preserve your health"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:584
+#: qcsrc/common/notifications.qh:597
 msgid "^K1You became a shooting star!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:585
+#: qcsrc/common/notifications.qh:598
 msgid "^K1You melted away in slime!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You committed suicide!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You ended it all!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:587
+#: qcsrc/common/notifications.qh:600
 msgid "^K1You got stuck in a swamp!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:588
+#: qcsrc/common/notifications.qh:601
 #, c-format
 msgid "^BGYou are now on: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:589
+#: qcsrc/common/notifications.qh:602
 msgid "^K1You died in an accident!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You had an unfortunate run in with a turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You were fragged by a turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You had an unfortunate run in with an eWheel turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You were fragged by an eWheel turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You had an unfortunate run in with a Walker turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You were fragged by a Walker turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:593
+#: qcsrc/common/notifications.qh:606
 msgid "^K1You got caught in the blast of a Bumblebee explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:594
+#: qcsrc/common/notifications.qh:607
 msgid "^K1You were crushed by a vehicle!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:595
+#: qcsrc/common/notifications.qh:608
 msgid "^K1You were caught in a Raptor cluster bomb!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:596
+#: qcsrc/common/notifications.qh:609
 msgid "^K1You got caught in the blast of a Raptor explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:597
+#: qcsrc/common/notifications.qh:610
 msgid "^K1You got caught in the blast of a Spiderbot explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:598
+#: qcsrc/common/notifications.qh:611
 msgid "^K1You were blasted to bits by a Spiderbot rocket!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:599
+#: qcsrc/common/notifications.qh:612
 msgid "^K1You got caught in the blast of a Racer explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:600
+#: qcsrc/common/notifications.qh:613
 msgid "^K1You couldn't find shelter from a Racer rocket!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:601
+#: qcsrc/common/notifications.qh:614
 msgid "^K1Watch your step!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were fragged by ^BG%s^K1, a team mate"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were scored against by ^BG%s^K1, a team mate"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:604
+#: qcsrc/common/notifications.qh:617
 msgid ""
 "^K1Stop idling!\n"
 "^BGDisconnecting in ^COUNT..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:605
+#: qcsrc/common/notifications.qh:618
 msgid "^F2You picked up some extra lives"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:606
+#: qcsrc/common/notifications.qh:619
 #, c-format
 msgid "^K3You froze ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:607
+#: qcsrc/common/notifications.qh:620
 #, c-format
 msgid "^K1You were frozen by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:608
+#: qcsrc/common/notifications.qh:621
 #, c-format
 msgid "^K3You revived ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:609
+#: qcsrc/common/notifications.qh:622
 msgid "^K3You revived yourself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:610
+#: qcsrc/common/notifications.qh:623
 #, c-format
 msgid "^K3You were revived by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:611
+#: qcsrc/common/notifications.qh:624
 #, c-format
 msgid "^K3You were automatically revived after %s second(s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:614
+#: qcsrc/common/notifications.qh:627
 msgid "^K1You froze yourself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:615
+#: qcsrc/common/notifications.qh:628
 msgid "^K1Round already started, you spawn as frozen"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:622
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:636
 msgid ""
 "^K1No spawnpoints available!\n"
 "Hope your team can fix it..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:623
+#: qcsrc/common/notifications.qh:637
 msgid ""
 "^K1You may not join the game at this time.\n"
 "The player limit reached maximum capacity."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:626
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
 msgid "^BGKilling people while you don't have the ball gives no points!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:642
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Help the key carriers to meet!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:628
+#: qcsrc/common/notifications.qh:643
 msgid ""
 "^BGAll keys are in ^TC^TT team^BG's hands!\n"
 "Interfere ^F4NOW^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:629
+#: qcsrc/common/notifications.qh:644
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Meet the other key carriers ^F4NOW^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:630
+#: qcsrc/common/notifications.qh:645
 msgid "^F4Round will start in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:646
 msgid "^BGScanning frequency range..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:647
 msgid "^BGYou are starting with the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
 #, c-format
 msgid ""
 "^BGWaiting for players to join...\n"
 "Need active players for: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:650
 #, c-format
 msgid "^BGWaiting for %s player(s) to join..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:651
 msgid "^F4^COUNT^BG left to find some ammo!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:653
 #, c-format
 msgid "^F2Extra lives remaining: ^K1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:654
 msgid "^BGSecondary fire inflicts no damage!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:655
 #, c-format
 msgid "^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:656
 #, c-format
 msgid ""
 "^F2^COUNT^BG until weapon change...\n"
 "Next weapon: ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:657
 #, c-format
 msgid "^F2Active weapon: ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:658
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep fragging until we have a winner!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep scoring until we have a winner!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:660
 #, c-format
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "^BGAdded ^F4%s^BG to the game!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:646
+#: qcsrc/common/notifications.qh:661
 msgid "^F2Invisibility has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:662
 msgid "^F2Shield has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:663
 msgid "^F2Speed has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:664
 msgid "^F2Strength has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:665
 msgid "^F2You are invisible"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:666
 msgid "^F2Shield surrounds you"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:667
 msgid "^F2You are on speed"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:668
 msgid "^F2Strength infuses your weapons with devastating power"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:669
 msgid "^F2The race is over, finish your lap!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:670
 msgid "^F2Superweapons have broken down"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:671
 msgid "^F2Superweapons have been lost"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:672
 msgid "^F2You now have a superweapon"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:673
 msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:674
 msgid "^K1Changing team in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:675
 msgid "^K1Spectating in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:676
 msgid "^K1Suicide in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:677
 msgid "^F4Timeout begins in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:678
 msgid "^F4Timeout ends in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
 #, c-format
 msgid " (near %s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "primary"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "secondary"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:980
 #, c-format
 msgid " ^F1(Press %s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:989
 #, c-format
 msgid " with %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 msgid "TRIPLE FRAG! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 unlocked RAGE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 msgid "RAGE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 started a MASSACRE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 msgid "MASSACRE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 executed MAYHEM! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 msgid "MAYHEM! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 is a BERSERKER! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 msgid "BERSERKER! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 inflicts CARNAGE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 msgid "CARNAGE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 msgid "ARMAGEDDON! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1010
 #, c-format
 msgid "%s(^F1Bot^BG)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1012
 #, c-format
 msgid "%s(Ping ^F1%d^BG)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1018
 #, c-format
 msgid ""
 "\n"
 "(Health ^1%d^BG / Armor ^2%d^BG)%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1020
 #, c-format
 msgid ""
 "\n"
 "(^F4Dead^BG)%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
 #, c-format
 msgid "%d score spree! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1069
 #, c-format
 msgid "%d frag spree! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First blood! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First score! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First casualty! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First victim! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1127
 #, c-format
 msgid "%s^K1 has %d frags in a row! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1128
 #, c-format
 msgid "%s^K1 made %d scores in a row! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1146
 #, c-format
 msgid "%s^K1 drew first blood! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1147
 #, c-format
 msgid "%s^K1 got the first score! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1163
 #, c-format
 msgid ", ending their %d frag spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1164
 #, c-format
 msgid ", ending their %d score spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1178
 #, c-format
 msgid ", losing their %d frag spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1179
 #, c-format
 msgid ", losing their %d score spree"
 msgstr ""
@@ -3112,11 +3206,11 @@ msgstr ""
 msgid "  directmenu ITEM - select a menu item as main item\n"
 msgstr ""
 
-#: qcsrc/menu/command/menu_cmd.qc:62
+#: qcsrc/menu/command/menu_cmd.qc:68
 msgid "Available options:\n"
 msgstr ""
 
-#: qcsrc/menu/command/menu_cmd.qc:113
+#: qcsrc/menu/command/menu_cmd.qc:119
 msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
 msgstr ""
 
@@ -3125,7 +3219,7 @@ msgstr ""
 msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
 msgstr ""
 
-#: qcsrc/menu/item/listbox.c:302
+#: qcsrc/menu/item/listbox.c:382
 #, c-format
 msgid "Item %d"
 msgstr "Αντικείμενο %d"
@@ -3154,23 +3248,27 @@ msgstr ";;;"
 msgid "Level %d: %s"
 msgstr "Επίπεδο %d:%s"
 
-#: qcsrc/menu/xonotic/cvarlist.c:85
-msgid "will be saved to config.cfg"
-msgstr "θα αποθηκευτεί στο config.cfg"
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr ""
 
-#: qcsrc/menu/xonotic/cvarlist.c:87
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
 msgid "will not be saved"
 msgstr "δεν θα αποθηκευτεί"
 
-#: qcsrc/menu/xonotic/cvarlist.c:89
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr "θα αποθηκευτεί στο config.cfg"
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
 msgid "private"
 msgstr "προσωπικές"
 
-#: qcsrc/menu/xonotic/cvarlist.c:91
+#: qcsrc/menu/xonotic/cvarlist.c:95
 msgid "engine setting"
 msgstr "ρύθμιση μηχανής"
 
-#: qcsrc/menu/xonotic/cvarlist.c:93
+#: qcsrc/menu/xonotic/cvarlist.c:97
 msgid "read only"
 msgstr "μόνο για ανάγνωση"
 
@@ -3179,6 +3277,7 @@ msgid "Credits"
 msgstr "Μνεία"
 
 #: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
@@ -3187,7 +3286,7 @@ msgstr "Μνεία"
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:77
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
 #: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
 msgid "OK"
 msgstr "Εντάξει"
@@ -3196,7 +3295,7 @@ msgstr "Εντάξει"
 msgid "Welcome"
 msgstr "Καλωσορίσατε"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:40
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
 msgid ""
 "Welcome to Xonotic, please select your language preference and enter your "
 "player name to get started.  You can change these options later through the "
@@ -3206,36 +3305,36 @@ msgstr ""
 "εισάγετε το όνομά σας. Μπορείτε να αλλάξετε αυτές τις επιλογές αργότερα μέσω "
 "του μενού."
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
 msgid "Name:"
 msgstr "Όνομα:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:68
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
 #: qcsrc/menu/xonotic/dialog_settings_user.c:65
 msgid "Text language:"
 msgstr "Γλώσσα κειμένου:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
 msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
 msgstr ""
 "Θέλετε τα στατιστικά παιχτών να χρησιμοποιούν το όνομά σας στο stats.xonotic."
 "org;"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
 msgid "ALWU2N^Yes"
 msgstr "ALWU2N^Ναι"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
 msgid "ALWU2N^No"
 msgstr "ALWU2N^Όχι"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
 msgid "ALWU2N^Undecided"
 msgstr "Αναποφάσιστος/η"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
 msgid "Save settings"
 msgstr "Αποθήκευση ρυθμίσεων"
 
@@ -3553,7 +3652,7 @@ msgstr "Ραντάρ:"
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
-#: qcsrc/menu/xonotic/util.qc:708
+#: qcsrc/menu/xonotic/util.qc:758
 msgid "Alpha:"
 msgstr ""
 
@@ -3735,24 +3834,24 @@ msgstr ""
 msgid "Panel background defaults:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:683
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
 msgid "Background:"
 msgstr "Φόντο:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:686
-#: qcsrc/menu/xonotic/util.qc:702 qcsrc/menu/xonotic/util.qc:719
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
 msgid "Disable"
 msgstr "Απενεργοποίηση"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:691
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
 msgid "Color:"
 msgstr "Χρώμα:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:699
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
 msgid "Border size:"
 msgstr "Μέγεθος περιθωρίου:"
 
@@ -3761,11 +3860,11 @@ msgstr "Μέγεθος περιθωρίου:"
 msgid "Team color:"
 msgstr "Χρώμα ομάδας:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:725
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
 msgid "Test team color in configure mode"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:728
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
 msgid "Padding:"
 msgstr ""
 
@@ -3813,6 +3912,53 @@ msgstr "Ψ:"
 msgid "Exit setup"
 msgstr "Έξοδος ρύθμισης"
 
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr "Αφαίρεση"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr "Ορισμός σχεδίου μενού:"
+
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:4
 msgid "Multiplayer"
 msgstr "Πολλαπλοί παίκτες"
@@ -3854,6 +4000,7 @@ msgstr ""
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
 msgid "Point limit:"
 msgstr "Όριο βαθμολογίας:"
 
@@ -3918,7 +4065,7 @@ msgid "Mutators..."
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
 msgid "Advanced settings..."
 msgstr "Προχωρημένες ρυθμίσεις..."
 
@@ -3954,7 +4101,7 @@ msgstr "Γύροι:"
 msgid "Goals:"
 msgstr "Στόχοι:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
 msgid "Frag limit:"
 msgstr ""
 
@@ -4254,27 +4401,31 @@ msgid "Join"
 msgstr "Σύνδεση"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
 msgid "SRVS^Empty"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:37
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
 msgid "SRVS^Full"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:41
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
 msgid "Pause"
 msgstr "Παύση"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:53
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
 msgid "Address:"
 msgstr "Διεύθυνση"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:64
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
 msgid "Info..."
 msgstr "Πληροφορίες..."
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:69
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
 msgid "Join!"
 msgstr "Σύνδεση!"
@@ -4289,9 +4440,9 @@ msgid "%d/%d"
 msgstr "%d/%d"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
-#: qcsrc/menu/xonotic/util.qc:685 qcsrc/menu/xonotic/util.qc:701
-#: qcsrc/menu/xonotic/util.qc:710 qcsrc/menu/xonotic/util.qc:718
-#: qcsrc/menu/xonotic/util.qc:730
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
 msgid "Default"
 msgstr "Προεπιλογή"
 
@@ -4769,10 +4920,6 @@ msgstr "Όχι"
 msgid "Sandbox Tools"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
-msgid "Spawn"
-msgstr ""
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
 msgid "Remove *"
 msgstr "Αφαίρεση *"
@@ -4805,10 +4952,6 @@ msgstr "Αποσύναψη απο *"
 msgid "Visual object properties for *:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
-msgid "Set skin:"
-msgstr "Ορισμός σχεδίου μενού:"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
 msgid "Set alpha:"
 msgstr ""
@@ -5440,175 +5583,179 @@ msgid "Client UDP port:"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:56
-msgid "Show netgraph"
+msgid "Use encryption (AES) when available"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+msgid "Show netgraph"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
 msgid "Client-side movement prediction"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:63
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
 msgid "Movement error compensation"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
 msgid "Downloads:"
 msgstr "Λήψεις:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:70
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:82
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
 msgid "Maximum:"
 msgstr "Μέγιστο:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
 msgid "Speed (kB/s):"
 msgstr "Ταχύτητα (kB/s):"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:79
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
 msgid "Framerate:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:84
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
 msgid "MAXFPS^5 fps"
 msgstr "MAXFPS^5 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:85
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
 msgid "MAXFPS^10 fps"
 msgstr "MAXFPS^10 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
 msgid "MAXFPS^20 fps"
 msgstr "MAXFPS^20 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:87
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
 msgid "MAXFPS^30 fps"
 msgstr "MAXFPS^30 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
 msgid "MAXFPS^40 fps"
 msgstr "MAXFPS^40 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
 msgid "MAXFPS^50 fps"
 msgstr "MAXFPS^50 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
 msgid "MAXFPS^60 fps"
 msgstr "MAXFPS^60 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
 msgid "MAXFPS^70 fps"
 msgstr "MAXFPS^70 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
 msgid "MAXFPS^100 fps"
 msgstr "MAXFPS^100 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
 msgid "MAXFPS^125 fps"
 msgstr "MAXFPS^125 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
 msgid "MAXFPS^200 fps"
 msgstr "MAXFPS^200 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
 msgid "MAXFPS^Unlimited"
 msgstr "MAXFPS^Απεριόριστος"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
 msgid "Target:"
 msgstr "Στόχος:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:101
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
 msgid "TRGT^Disabled"
 msgstr "AA^Απενεργοποιημένη"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:102
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
 msgid "TRGT^30 fps"
 msgstr "TRGT^30 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
 msgid "TRGT^40 fps"
 msgstr "TRGT^40 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:104
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
 msgid "TRGT^50 fps"
 msgstr "TRGT^50 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
 msgid "TRGT^60 fps"
 msgstr "TRGT^60 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
 msgid "TRGT^100 fps"
 msgstr "TRGT^100 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
 msgid "TRGT^125 fps"
 msgstr "TRGT^125 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
 msgid "TRGT^200 fps"
 msgstr "TRGT^200 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
 msgid "Idle limit:"
 msgstr "Χρονικό όριο:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:114
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
 msgid "IDLFPS^10 fps"
 msgstr "IDLFPS^10 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:115
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
 msgid "IDLFPS^20 fps"
 msgstr "IDLFPS^20 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
 msgid "IDLFPS^30 fps"
 msgstr "IDLFPS^30 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:117
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
 msgid "IDLFPS^60 fps"
 msgstr "IDLFPS^60 καρέ ανά δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
 msgid "IDLFPS^Unlimited"
 msgstr "IDLFPS^Απεριόριστα"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:123
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
 msgid "Show frames per second"
 msgstr "Εμφάνιση καρέ ανα δευτερόλεπτο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:126
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
 msgid "Save processing time for other apps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
 msgid "Menu tooltips:"
 msgstr "Σχέδια μενού:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:132
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
 msgid "TLTIP^Disabled"
 msgstr "TLTIP^Απενεργοποιημένο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:133
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
 msgid "TLTIP^Standard"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
 msgid "TLTIP^Advanced"
 msgstr "TLTIP^Προχωρημένο"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
 msgid "Show current time"
 msgstr "Εμφάνιση τρέχων ώρας"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:140
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
 msgid "Show current date"
 msgstr "Εμφάνιση τρέχων ημερομηνίας"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
 msgid "Enable developer mode"
 msgstr "Ενεργοποίηση λειτουργία προγραμματιστή"
 
@@ -5632,7 +5779,7 @@ msgstr "Τύπος:"
 msgid "Value:"
 msgstr "Τιμή:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:72
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
 msgid "Description:"
 msgstr "Περιγραφή:"
 
@@ -5660,6 +5807,26 @@ msgstr ""
 msgid "Allow player statistics to use your nickname"
 msgstr ""
 
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
 #: qcsrc/menu/xonotic/dialog_settings_video.c:26
 msgid "Resolution:"
 msgstr "Ανάλυση:"
@@ -5784,7 +5951,7 @@ msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:86
 msgid "VBO^Off"
-msgstr ""
+msgstr "Ανενεργό"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:87
 msgid "Vertices, some Tris (compatible)"
@@ -5910,7 +6077,7 @@ msgstr "ροζ"
 msgid "spectate"
 msgstr "θέαση"
 
-#: qcsrc/menu/xonotic/mainwindow.c:39 qcsrc/menu/xonotic/mainwindow.c:42
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
 msgid "Do not press this button again!"
 msgstr "Μην ξαναπατήσεις αυτό το κουμπί!"
 
@@ -5938,31 +6105,63 @@ msgstr "θεατής"
 msgid "<no model found>"
 msgstr "<μοντέλο δεν βρέθηκε>"
 
-#: qcsrc/menu/xonotic/serverlist.c:190
-msgid "Remove"
-msgstr "Αφαίρεση"
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:192
-msgid "Bookmark"
-msgstr "Προσθήκη στους σελιδοδείκτες"
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:553
+#: qcsrc/menu/xonotic/serverlist.c:923
 msgid "Ping"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:554
+#: qcsrc/menu/xonotic/serverlist.c:924
 msgid "Host name"
 msgstr "Όνομα διακομιστή"
 
-#: qcsrc/menu/xonotic/serverlist.c:555
+#: qcsrc/menu/xonotic/serverlist.c:925
 msgid "Map"
 msgstr "Χάρτης"
 
-#: qcsrc/menu/xonotic/serverlist.c:556
+#: qcsrc/menu/xonotic/serverlist.c:926
 msgid "Type"
 msgstr "Τύπος"
 
-#: qcsrc/menu/xonotic/serverlist.c:557
+#: qcsrc/menu/xonotic/serverlist.c:927
 msgid "Players"
 msgstr "Παίκτες"
 
@@ -6002,30 +6201,30 @@ msgstr ""
 msgid "%s dB"
 msgstr "%s dB"
 
-#: qcsrc/menu/xonotic/slider_resolution.c:103
+#: qcsrc/menu/xonotic/slider_resolution.c:116
 #, c-format
 msgid "%dx%d (%d:%d)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/slider_resolution.c:106
+#: qcsrc/menu/xonotic/slider_resolution.c:119
 #, c-format
 msgid "%dx%d"
 msgstr "%dx%d"
 
-#: qcsrc/menu/xonotic/util.qc:298
+#: qcsrc/menu/xonotic/util.qc:308
 #, c-format
 msgid "error receiving update notification: status is %d\n"
 msgstr "σφάλμα κατά λήψη είδοποίηση ενημέρωσης: κατάσταση είναι %d\n"
 
-#: qcsrc/menu/xonotic/util.qc:303
+#: qcsrc/menu/xonotic/util.qc:313
 msgid "error: received HTML instead of an update notification\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:308
+#: qcsrc/menu/xonotic/util.qc:318
 msgid "error: received carriage returns from update notification server\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:329
+#: qcsrc/menu/xonotic/util.qc:397
 #, c-format
 msgid ""
 "Update can be downloaded at:\n"
@@ -6034,31 +6233,31 @@ msgstr ""
 "Μπορεί να γίνει λήψη της αναβάθμισης στις:\n"
 "%s\n"
 
-#: qcsrc/menu/xonotic/util.qc:447
+#: qcsrc/menu/xonotic/util.qc:497
 msgid "Autogenerating mapinfo for newly added maps..."
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:476
+#: qcsrc/menu/xonotic/util.qc:526
 #, c-format
 msgid "^1%s TEST BUILD"
 msgstr "^1%s ΔΟΚΙΜΑΣΤΙΚΗ ΕΚΔΟΣΗ"
 
-#: qcsrc/menu/xonotic/util.qc:491
+#: qcsrc/menu/xonotic/util.qc:541
 #, c-format
 msgid "Update to %s now!"
 msgstr "Αναβαθμίστε στην έκδοση %s τώρα!"
 
-#: qcsrc/menu/xonotic/util.qc:576
+#: qcsrc/menu/xonotic/util.qc:626
 msgid ""
 "^1ERROR: Texture compression is required but not supported.\n"
 "^1Expect visual problems.\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:696
+#: qcsrc/menu/xonotic/util.qc:746
 msgid "Use default"
 msgstr "Χρήση προεπιλογής"
 
-#: qcsrc/menu/xonotic/util.qc:716
+#: qcsrc/menu/xonotic/util.qc:766
 msgid "Team Color:"
 msgstr "Χρώμα Ομαδάς:"
 
index e528feac5c679065705e3e524ec2391338877e48..a3953b4a718a349cfb0d7b934a3224bb8b16cae1 100644 (file)
@@ -3,13 +3,17 @@
 # This file is distributed under the same license as the PACKAGE package.
 #
 # Translators:
+# Ari_tent <xonotic@outlook.com>, 2014
+# kammy <kammysmb@gmail.com>, 2013
+# kammy <kammysmb@gmail.com>, 2013
 # Rodrigo Mouton Laudin <ratogenesis@gmail.com>, 2011
+# Ari_tent <xonotic@outlook.com>, 2014
 msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-03 11:55+0200\n"
-"PO-Revision-Date: 2013-10-03 10:08+0000\n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
 "Last-Translator: divVerent <divVerent@xonotic.org>\n"
 "Language-Team: Spanish (http://www.transifex.com/projects/p/xonotic/language/"
 "es/)\n"
@@ -34,12 +38,7 @@ msgstr ""
 msgid "^4CSQC Build information: ^1%s\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
-#, c-format
-msgid "trying to switch to unsupported team %d\n"
-msgstr ""
-
-#: qcsrc/client/Main.qc:835
+#: qcsrc/client/Main.qc:836
 #, c-format
 msgid ""
 "Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
@@ -57,245 +56,243 @@ msgstr ""
 msgid "%s (%s)"
 msgstr "%s (%s)"
 
-#: qcsrc/client/View.qc:1096
+#: qcsrc/client/View.qc:1165
 msgid "Revival progress"
 msgstr ""
 
 #: qcsrc/client/hud.qc:186
 #, c-format
 msgid " (-%dL)"
-msgstr ""
+msgstr "(-%dL)"
 
 #: qcsrc/client/hud.qc:191
 #, c-format
 msgid " (+%dL)"
-msgstr ""
+msgstr "(+%dL)"
 
 #: qcsrc/client/hud.qc:210
 msgid "Start line"
-msgstr ""
+msgstr "Comienzo"
 
 #: qcsrc/client/hud.qc:212 qcsrc/client/hud.qc:216
 msgid "Finish line"
-msgstr ""
+msgstr "Meta"
 
 #: qcsrc/client/hud.qc:214
 #, c-format
 msgid "Intermediate %d"
-msgstr ""
+msgstr "Intermedio %d"
 
 #: qcsrc/client/hud.qc:223
 #, c-format
 msgid "%s (%s %s)"
-msgstr ""
+msgstr "%s (%s %s)"
 
-#: qcsrc/client/hud.qc:829
+#: qcsrc/client/hud.qc:832
 msgid "Out of ammo"
-msgstr ""
+msgstr "Sin municiones"
 
-#: qcsrc/client/hud.qc:833
+#: qcsrc/client/hud.qc:836
 msgid "Don't have"
-msgstr ""
+msgstr "No tienes"
 
-#: qcsrc/client/hud.qc:837
+#: qcsrc/client/hud.qc:840
 msgid "Unavailable"
-msgstr ""
+msgstr "No disponible"
 
-#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
 #, c-format
 msgid "Player %d"
-msgstr ""
+msgstr "Jugador %d"
 
-#: qcsrc/client/hud.qc:2384
+#: qcsrc/client/hud.qc:2369
 msgid "^1Intermediate 1 (+15.42)"
-msgstr ""
+msgstr "^1Intermedio 1 (+15.42)"
 
-#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
 #, c-format
 msgid "^1PENALTY: %.1f (%s)"
-msgstr ""
+msgstr "^1SANCION: %.1f (%s)"
 
-#: qcsrc/client/hud.qc:2471
+#: qcsrc/client/hud.qc:2456
 #, c-format
 msgid "^2PENALTY: %.1f (%s)"
-msgstr ""
+msgstr "^2SANCION: %.1f(%s)"
 
-#: qcsrc/client/hud.qc:2501
+#: qcsrc/client/hud.qc:2486
 msgid "^1You must answer before entering hud configure mode\n"
 msgstr ""
+"^1Debes de responder antes de entrar al modo de configuracion de interface\n"
 
-#: qcsrc/client/hud.qc:2506
+#: qcsrc/client/hud.qc:2491
 msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
-msgstr ""
+msgstr "^2Nombre ^7en lugar de \"^1Anonymous player^7\" en xonstat"
 
-#: qcsrc/client/hud.qc:2586
+#: qcsrc/client/hud.qc:2570
 msgid "A vote has been called for:"
-msgstr ""
+msgstr "Una votacion ha sido iniciada para:"
 
-#: qcsrc/client/hud.qc:2588
+#: qcsrc/client/hud.qc:2572
 msgid "Allow servers to store and display your name?"
-msgstr ""
+msgstr "Permitir a los servidores guardar y desplegar tu nombre?"
 
-#: qcsrc/client/hud.qc:2592
+#: qcsrc/client/hud.qc:2576
 msgid "^1Configure the HUD"
-msgstr ""
+msgstr "^1Configurar la Interface"
 
-#: qcsrc/client/hud.qc:2596
+#: qcsrc/client/hud.qc:2580
 #, c-format
 msgid "Yes (%s): %d"
-msgstr ""
+msgstr "SI (%s): %d"
 
-#: qcsrc/client/hud.qc:2598
+#: qcsrc/client/hud.qc:2582
 #, c-format
 msgid "No (%s): %d"
-msgstr ""
+msgstr "No (%s): %d"
 
-#: qcsrc/client/hud.qc:3169 qcsrc/client/hud.qc:3172 qcsrc/client/hud.qc:3174
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
 msgid "Personal best"
-msgstr ""
+msgstr "Record personal"
 
-#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
 msgid "Server best"
-msgstr ""
+msgstr "Record del servidor"
 
-#: qcsrc/client/hud.qc:3552
+#: qcsrc/client/hud.qc:3528
 msgid "^3Player^7: This is the chat area."
-msgstr ""
+msgstr "^3Jugador^7: Esta es la alrea de chat."
 
-#: qcsrc/client/hud.qc:3618
+#: qcsrc/client/hud.qc:3593
 #, c-format
 msgid "FPS: %.*f"
-msgstr ""
+msgstr "FPS: %.*f"
 
-#: qcsrc/client/hud.qc:3683
+#: qcsrc/client/hud.qc:3657
 msgid "^1Observing"
-msgstr ""
+msgstr "^1Observando"
 
-#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
 #, c-format
 msgid "^1Spectating: ^7%s"
-msgstr ""
+msgstr "^1Espectando: ^7%s"
 
-#: qcsrc/client/hud.qc:3693
+#: qcsrc/client/hud.qc:3667
 #, c-format
 msgid "^1Press ^3%s^1 to spectate"
-msgstr ""
+msgstr "^1Presiona ^3%s^1 para espectar"
 
-#: qcsrc/client/hud.qc:3695
+#: qcsrc/client/hud.qc:3669
 #, c-format
 msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3699
+#: qcsrc/client/hud.qc:3673
 #, c-format
 msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3701
+#: qcsrc/client/hud.qc:3675
 #, c-format
 msgid "^1Press ^3%s^1 to observe"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3704
+#: qcsrc/client/hud.qc:3678
 #, c-format
 msgid "^1Press ^3%s^1 for gamemode info"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3708
-msgid "^1Wait for your turn to join"
-msgstr ""
-
-#: qcsrc/client/hud.qc:3714
+#: qcsrc/client/hud.qc:3686
 msgid "^1Match has already begun"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3688
 msgid "^1You have no more lives left"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
 #, c-format
 msgid "^1Press ^3%s^1 to join"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3701
 #, c-format
 msgid "^1Game starts in ^3%d^1 seconds"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3708
 msgid "^2Currently in ^1warmup^2 stage!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3723
 #, c-format
 msgid "%sPress ^3%s%s to end warmup"
-msgstr ""
+msgstr "%sPulsa  ^3%s%s para terminar el calentamiento"
 
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3725
 #, c-format
 msgid "%sPress ^3%s%s once you are ready"
-msgstr ""
+msgstr "%sPulsa ^3%s%s cuando estes listo"
 
-#: qcsrc/client/hud.qc:3758
+#: qcsrc/client/hud.qc:3730
 msgid "^2Waiting for others to ready up to end warmup..."
 msgstr ""
+"^2Esperando a que los demas esten listos para terminar el calentamiento"
 
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3732
 msgid "^2Waiting for others to ready up..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3738
 #, c-format
 msgid "^2Press ^3%s^2 to end warmup"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3759
 msgid "Teamnumbers are unbalanced!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3764
 #, c-format
 msgid " Press ^3%s%s to adjust"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3772
 msgid "^7Press ^3ESC ^7to show HUD options."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3774
 msgid "^3Doubleclick ^7a panel for panel-specific options."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3776
 msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3778
 msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3825
 msgid " qu/s"
-msgstr ""
+msgstr "qu/s"
 
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3829
 msgid " m/s"
-msgstr ""
+msgstr "m/s"
 
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3833
 msgid " km/h"
-msgstr ""
+msgstr "km/h"
 
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3837
 msgid " mph"
-msgstr ""
+msgstr "mph"
 
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3841
 msgid " knots"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4497
 msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
 msgstr ""
 
@@ -320,16 +317,16 @@ msgstr ""
 
 #: qcsrc/client/mapvoting.qc:118
 msgid "Don't care"
-msgstr ""
+msgstr "No importa"
 
 #: qcsrc/client/mapvoting.qc:203
 msgid "Vote for a map"
-msgstr ""
+msgstr "Vota por un mapa"
 
 #: qcsrc/client/mapvoting.qc:209
 #, c-format
 msgid "%d seconds left"
-msgstr ""
+msgstr "%d segundos restantes"
 
 #: qcsrc/client/mapvoting.qc:273
 msgid ""
@@ -344,16 +341,16 @@ msgstr ""
 msgid "Requesting preview...\n"
 msgstr ""
 
-#: qcsrc/client/miscfunctions.qc:98
+#: qcsrc/client/miscfunctions.qc:101
 msgid "Trying to remove a team which is not in the teamlist!"
 msgstr ""
 
-#: qcsrc/client/movetypes.qc:163
+#: qcsrc/client/movetypes.qc:227
 #, c-format
 msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
 
-#: qcsrc/client/movetypes.qc:166
+#: qcsrc/client/movetypes.qc:230
 #, c-format
 msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
@@ -456,7 +453,7 @@ msgstr ""
 
 #: qcsrc/client/scoreboard.qc:43
 msgid "SCO^ping"
-msgstr ""
+msgstr "Ping"
 
 #: qcsrc/client/scoreboard.qc:44
 msgid "SCO^pl"
@@ -494,164 +491,164 @@ msgstr ""
 msgid "SCO^ticks"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:251
+#: qcsrc/client/scoreboard.qc:237
 msgid ""
 "You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:252
+#: qcsrc/client/scoreboard.qc:238
 msgid "^3|---------------------------------------------------------------|\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:253
+#: qcsrc/client/scoreboard.qc:239
 msgid "Usage:\n"
-msgstr ""
+msgstr "Uso:\n"
 
-#: qcsrc/client/scoreboard.qc:254
+#: qcsrc/client/scoreboard.qc:240
 msgid "^2scoreboard_columns_set default\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:255
+#: qcsrc/client/scoreboard.qc:241
 msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:256
+#: qcsrc/client/scoreboard.qc:242
 msgid "The following field names are recognized (case insensitive):\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:257
+#: qcsrc/client/scoreboard.qc:243
 msgid ""
 "You can use a ^3|^7 to start the right-aligned fields.\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:259
+#: qcsrc/client/scoreboard.qc:245
 msgid "^3name^7 or ^3nick^7             Name of a player\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:260
+#: qcsrc/client/scoreboard.qc:246
 msgid "^3ping^7                     Ping time\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:261
+#: qcsrc/client/scoreboard.qc:247
 msgid "^3pl^7                       Packet loss\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:262
+#: qcsrc/client/scoreboard.qc:248
 msgid "^3kills^7                    Number of kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:263
+#: qcsrc/client/scoreboard.qc:249
 msgid "^3deaths^7                   Number of deaths\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:264
+#: qcsrc/client/scoreboard.qc:250
 msgid "^3suicides^7                 Number of suicides\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:265
+#: qcsrc/client/scoreboard.qc:251
 msgid "^3frags^7                    kills - suicides\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:266
+#: qcsrc/client/scoreboard.qc:252
 msgid "^3kd^7                       The kill-death ratio\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:267
+#: qcsrc/client/scoreboard.qc:253
 msgid "^3sum^7                      frags - deaths\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:268
+#: qcsrc/client/scoreboard.qc:254
 msgid ""
 "^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
 "captured\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:269
+#: qcsrc/client/scoreboard.qc:255
 msgid ""
 "^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
 "ball (Keepaway) was picked up\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:270
+#: qcsrc/client/scoreboard.qc:256
 msgid "^3captime^7                  Time of fastest cap (CTF)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:271
+#: qcsrc/client/scoreboard.qc:257
 msgid "^3fckills^7                  Number of flag carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:272
+#: qcsrc/client/scoreboard.qc:258
 msgid "^3returns^7                  Number of flag returns\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:273
+#: qcsrc/client/scoreboard.qc:259
 msgid "^3drops^7                    Number of flag drops\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:274
+#: qcsrc/client/scoreboard.qc:260
 msgid "^3lives^7                    Number of lives (LMS)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:275
+#: qcsrc/client/scoreboard.qc:261
 msgid "^3rank^7                     Player rank\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:276
+#: qcsrc/client/scoreboard.qc:262
 msgid "^3pushes^7                   Number of players pushed into void\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:277
+#: qcsrc/client/scoreboard.qc:263
 msgid ""
 "^3destroyed^7                Number of keys destroyed by pushing them into "
 "void\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:278
+#: qcsrc/client/scoreboard.qc:264
 msgid "^3kckills^7                  Number of keys carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:279
+#: qcsrc/client/scoreboard.qc:265
 msgid "^3losses^7                   Number of times a key was lost\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:280
+#: qcsrc/client/scoreboard.qc:266
 msgid "^3laps^7                     Number of laps finished (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:281
+#: qcsrc/client/scoreboard.qc:267
 msgid "^3time^7                     Total time raced (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:282
+#: qcsrc/client/scoreboard.qc:268
 msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:283
+#: qcsrc/client/scoreboard.qc:269
 msgid "^3ticks^7                    Number of ticks (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:284
+#: qcsrc/client/scoreboard.qc:270
 msgid "^3takes^7                    Number of domination points taken (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:285
+#: qcsrc/client/scoreboard.qc:271
 msgid "^3bckills^7                  Number of ball carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:286
+#: qcsrc/client/scoreboard.qc:272
 msgid ""
 "^3bctime^7                   Total amount of time holding the ball in "
 "Keepaway\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:287
+#: qcsrc/client/scoreboard.qc:273
 msgid ""
 "^3score^7                    Total score\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:289
+#: qcsrc/client/scoreboard.qc:275
 msgid ""
 "Before a field you can put a + or - sign, then a comma separated list\n"
 "of game types, then a slash, to make the field show up only in these\n"
@@ -660,30 +657,30 @@ msgid ""
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:294
+#: qcsrc/client/scoreboard.qc:280
 msgid ""
 "The special game type names 'teams' and 'noteams' can be used to\n"
 "include/exclude ALL teams/noteams game modes.\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:297
+#: qcsrc/client/scoreboard.qc:283
 msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:298
+#: qcsrc/client/scoreboard.qc:284
 msgid ""
 "will display name, ping and pl aligned to the left, and the fields\n"
 "right of the vertical bar aligned to the right.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:300
+#: qcsrc/client/scoreboard.qc:286
 msgid ""
 "'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
 "other gamemodes except DM.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:534 qcsrc/client/scoreboard.qc:541
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
@@ -691,91 +688,95 @@ msgstr ""
 msgid "N/A"
 msgstr "N/A"
 
-#: qcsrc/client/scoreboard.qc:984
+#: qcsrc/client/scoreboard.qc:970
 #, c-format
 msgid "Accuracy stats (average %d%%)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1047
+#: qcsrc/client/scoreboard.qc:1033
 #, c-format
 msgid "%d%%"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1099
 msgid "Map stats:"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1124
 msgid "Secrets found:"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1152
 msgid "Rankings"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1248
 msgid "Scoreboard"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1307
 #, c-format
 msgid "Speed award: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1311
 #, c-format
 msgid "All-time fastest: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1345
 msgid "Spectators"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1352
 #, c-format
-msgid "playing on ^2%s^7"
+msgid "playing ^3%s^7 on ^2%s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
 #, c-format
 msgid " for up to ^1%1.0f minutes^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1364 qcsrc/client/scoreboard.qc:1383
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
 msgid " or"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
 #, c-format
 msgid " until ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1375
-#: qcsrc/client/scoreboard.qc:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
 msgid "SCO^points"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1369 qcsrc/client/scoreboard.qc:1376
-#: qcsrc/client/scoreboard.qc:1388 qcsrc/client/scoreboard.qc:1395
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
 msgid "SCO^is beaten"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
 #, c-format
 msgid " until a lead of ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1419
 #, c-format
 msgid "^1Respawning in ^3%s^1..."
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1429
 #, c-format
 msgid "You are dead, wait ^3%s^7 before respawning"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1438
 #, c-format
 msgid "You are dead, press ^2%s^7 to respawn"
 msgstr ""
@@ -785,7 +786,7 @@ msgstr ""
 msgid "Cannot initialize sound %s\n"
 msgstr ""
 
-#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:591
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
 msgid "Spam"
 msgstr ""
 
@@ -802,209 +803,213 @@ msgstr ""
 msgid "No left gunner!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:254
+#: qcsrc/client/waypointsprites.qc:246
 msgid "Push"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:255
+#: qcsrc/client/waypointsprites.qc:247
 msgid "Destroy"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:256
+#: qcsrc/client/waypointsprites.qc:248
 msgid "Defend"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:257
+#: qcsrc/client/waypointsprites.qc:249
 msgid "Blue base"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:258
+#: qcsrc/client/waypointsprites.qc:250
 msgid "DANGER"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:251
 msgid "Enemy carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:260
+#: qcsrc/client/waypointsprites.qc:252
 msgid "Flag carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:253
 msgid "Dropped flag"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:262
+#: qcsrc/client/waypointsprites.qc:254
 msgid "Help me!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:263
+#: qcsrc/client/waypointsprites.qc:255
 msgid "Here"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:264
+#: qcsrc/client/waypointsprites.qc:256
 msgid "Dropped key"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:267
-#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
-#: qcsrc/client/waypointsprites.qc:270
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
 msgid "Key carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:258
 msgid "Run here"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:263
 msgid "Red base"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:272
+#: qcsrc/client/waypointsprites.qc:264
 msgid "Waypoint"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
-#: qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
 msgid "Generator"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:276 qcsrc/client/waypointsprites.qc:277
-#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
-#: qcsrc/client/waypointsprites.qc:280 qcsrc/client/waypointsprites.qc:281
-#: qcsrc/client/waypointsprites.qc:282 qcsrc/client/waypointsprites.qc:283
-#: qcsrc/client/waypointsprites.qc:307 qcsrc/client/waypointsprites.qc:308
-#: qcsrc/client/waypointsprites.qc:309 qcsrc/client/waypointsprites.qc:310
-#: qcsrc/client/waypointsprites.qc:311
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
 msgid "Control point"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:284
+#: qcsrc/client/waypointsprites.qc:276
 msgid "Checkpoint"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
 msgid "Finish"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
 msgid "Start"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
 msgid "Ball"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:290
+#: qcsrc/client/waypointsprites.qc:283
 msgid "Ball carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
 msgid "Laser"
 msgstr "Laser"
 
-#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
 msgid "Shotgun"
 msgstr "Escopeta"
 
-#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
 msgid "Machine Gun"
 msgstr "Machine Gun"
 
-#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
 msgid "Mortar"
 msgstr "Mortero"
 
-#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
 msgid "Electro"
 msgstr "Electro"
 
-#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
 msgid "Crylink"
 msgstr "Crylink"
 
-#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
 msgid "Nex"
 msgstr "Nex"
 
-#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
 msgid "Hagar"
 msgstr "Hagar"
 
-#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
 msgid "Rocket Launcher"
 msgstr "Rocket Launcher"
 
-#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
 msgid "Port-O-Launch"
 msgstr "Port-O-Launch"
 
-#: qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:294
 msgid "Minstanex"
-msgstr ""
+msgstr "MinstaNex"
 
-#: qcsrc/client/waypointsprites.qc:302
+#: qcsrc/client/waypointsprites.qc:295
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
 msgid "Hook"
 msgstr "Gancho"
 
-#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
 msgid "Fireball"
 msgstr "Fireball"
 
-#: qcsrc/client/waypointsprites.qc:304
+#: qcsrc/client/waypointsprites.qc:297
 msgid "HLAC"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
 msgid "Rifle"
 msgstr "Rifle"
 
-#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
 msgid "Mine Layer"
 msgstr "Mine Layer"
 
-#: qcsrc/client/waypointsprites.qc:312
+#: qcsrc/client/waypointsprites.qc:305
 msgid "Invisibility"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:313
+#: qcsrc/client/waypointsprites.qc:306
 msgid "Extra life"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:314
+#: qcsrc/client/waypointsprites.qc:307
 msgid "Speed"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:315
+#: qcsrc/client/waypointsprites.qc:308
 msgid "Strength"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:316
+#: qcsrc/client/waypointsprites.qc:309
 msgid "Shield"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:317
+#: qcsrc/client/waypointsprites.qc:310
 msgid "Fuel regen"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:318
+#: qcsrc/client/waypointsprites.qc:311
 msgid "Jet Pack"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:319
+#: qcsrc/client/waypointsprites.qc:312
 msgid "Frozen!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:320
+#: qcsrc/client/waypointsprites.qc:313
 msgid "Tagged"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:321
+#: qcsrc/client/waypointsprites.qc:314
 msgid "Vehicle"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:595
+#: qcsrc/client/waypointsprites.qc:588
 #, c-format
 msgid "%s needing help!"
 msgstr ""
@@ -1227,12 +1232,12 @@ msgstr "%drd"
 msgid "%dth"
 msgstr "%dth"
 
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:717
 #, no-c-format
 msgid "@!#%'n Tuba Throwing"
 msgstr "@!#%'n Tuba Throwing"
 
-#: qcsrc/common/mapinfo.qc:1109 qcsrc/menu/xonotic/skinlist.c:166
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
@@ -1246,57 +1251,82 @@ msgid "Last Man Standing"
 msgstr "Ultimo Sobreviviente"
 
 #: qcsrc/common/mapinfo.qh:42
-msgid "Arena"
-msgstr "Arena"
-
-#: qcsrc/common/mapinfo.qh:45
 msgid "Race"
 msgstr "Carrera"
 
-#: qcsrc/common/mapinfo.qh:48
+#: qcsrc/common/mapinfo.qh:45
 msgid "Race CTS"
 msgstr "Carrera CTS"
 
-#: qcsrc/common/mapinfo.qh:51
+#: qcsrc/common/mapinfo.qh:48
 msgid "Team Deathmatch"
 msgstr "Combate a muerte por equipos"
 
-#: qcsrc/common/mapinfo.qh:54
+#: qcsrc/common/mapinfo.qh:51
 msgid "Capture the Flag"
 msgstr "Capture the Flag"
 
-#: qcsrc/common/mapinfo.qh:57
+#: qcsrc/common/mapinfo.qh:54
 msgid "Clan Arena"
 msgstr "Clan arena"
 
-#: qcsrc/common/mapinfo.qh:60
+#: qcsrc/common/mapinfo.qh:57
 msgid "Domination"
 msgstr "Dominación"
 
-#: qcsrc/common/mapinfo.qh:63
+#: qcsrc/common/mapinfo.qh:60
 msgid "Key Hunt"
 msgstr "Caza de llave"
 
-#: qcsrc/common/mapinfo.qh:66
+#: qcsrc/common/mapinfo.qh:63
 msgid "Assault"
 msgstr "Asalto"
 
-#: qcsrc/common/mapinfo.qh:69
+#: qcsrc/common/mapinfo.qh:66
 msgid "Onslaught"
 msgstr "Embestida"
 
-#: qcsrc/common/mapinfo.qh:72
+#: qcsrc/common/mapinfo.qh:69
 msgid "Nexball"
 msgstr "Nexball"
 
-#: qcsrc/common/mapinfo.qh:75
+#: qcsrc/common/mapinfo.qh:72
 msgid "Freeze Tag"
 msgstr "Freeze Tag"
 
-#: qcsrc/common/mapinfo.qh:78
+#: qcsrc/common/mapinfo.qh:75
 msgid "Keepaway"
 msgstr "Keepaway"
 
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr ""
+
 #: qcsrc/common/net_notice.qc:89
 msgid "^1Server notices:"
 msgstr "^1Avisos del servidor:"
@@ -1307,967 +1337,1020 @@ msgid "^7%s (^3%d sec left)"
 msgstr "^7%s(^3%d segundos restantes)"
 
 #: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:343
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:343
+#: qcsrc/common/notifications.qh:344
 #, c-format
 msgid ""
 "^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"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:344
+#: qcsrc/common/notifications.qh:345
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:345
+#: qcsrc/common/notifications.qh:346
 #, c-format
 msgid ""
 "^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"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:346
+#: qcsrc/common/notifications.qh:347
 msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:347
+#: qcsrc/common/notifications.qh:348
 msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:348
+#: qcsrc/common/notifications.qh:349
 msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:349
+#: qcsrc/common/notifications.qh:350
 msgid ""
 "^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
 "base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:350
+#: qcsrc/common/notifications.qh:351
 #, c-format
 msgid ""
 "^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
 "itself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:351
+#: qcsrc/common/notifications.qh:352
 msgid "^BGThe ^TC^TT^BG flag has returned to the base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:352
+#: qcsrc/common/notifications.qh:353
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:353
+#: qcsrc/common/notifications.qh:354
 #, c-format
 msgid "^BG%s^BG got the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:354
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
 #, c-format
 msgid "^BG%s^BG returned the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:355
+#: qcsrc/common/notifications.qh:357
 #, c-format
 msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:356
+#: qcsrc/common/notifications.qh:358
 #, c-format
 msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:357
+#: qcsrc/common/notifications.qh:359
 #, c-format
 msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:359
+#: qcsrc/common/notifications.qh:361
 #, c-format
 msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:360
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:363
 #, c-format
 msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:361
+#: qcsrc/common/notifications.qh:364
 #, c-format
 msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:362
+#: qcsrc/common/notifications.qh:365
 #, c-format
 msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:363
+#: qcsrc/common/notifications.qh:366
 #, c-format
 msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:365
+#: qcsrc/common/notifications.qh:368
 #, c-format
 msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:366
+#: qcsrc/common/notifications.qh:369
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:367
+#: qcsrc/common/notifications.qh:370
 #, c-format
 msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:368
+#: qcsrc/common/notifications.qh:371
 #, c-format
 msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:369
+#: qcsrc/common/notifications.qh:372
 #, c-format
 msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:370
+#: qcsrc/common/notifications.qh:373
 #, c-format
 msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:371
+#: qcsrc/common/notifications.qh:374
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:372
+#: qcsrc/common/notifications.qh:375
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:373
+#: qcsrc/common/notifications.qh:376
 #, c-format
 msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:374
+#: qcsrc/common/notifications.qh:377
 #, c-format
 msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:375
+#: qcsrc/common/notifications.qh:378
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:376
+#: qcsrc/common/notifications.qh:379
 #, c-format
 msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:377
+#: qcsrc/common/notifications.qh:380
 #, c-format
 msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:378
+#: qcsrc/common/notifications.qh:381
 #, c-format
 msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:379
+#: qcsrc/common/notifications.qh:382
 #, c-format
 msgid "^BG%s^K1 was moved into the %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:380
+#: qcsrc/common/notifications.qh:383
 #, c-format
 msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:381
+#: qcsrc/common/notifications.qh:384
 #, c-format
 msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:382
+#: qcsrc/common/notifications.qh:385
 #, c-format
 msgid "^BG%s^K1 unfairly eliminated themself%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:383
+#: qcsrc/common/notifications.qh:386
 #, c-format
 msgid "^BG%s^K1 %s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 couldn't catch their breath%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 was in the water for too long%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a crunch%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 became a bit too crispy%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 felt a little hot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:387
+#: qcsrc/common/notifications.qh:390
 #, c-format
 msgid "^BG%s^K1 died%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 found a hot place%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 turned into hot slag%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:389
+#: qcsrc/common/notifications.qh:392
 #, c-format
 msgid "^BG%s^K1 mastered the art of self-nading%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:393
+#, c-format
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:394
+#, c-format
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:395
+#, c-format
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:396
+#, c-format
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:397
+#, c-format
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:398
+#, c-format
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
 #, c-format
 msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:401
 #, c-format
 msgid "^BG%s^K1 ran out of ammo%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:391
+#: qcsrc/common/notifications.qh:402
 #, c-format
 msgid "^BG%s^K1 rotted away%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:392
+#: qcsrc/common/notifications.qh:403
 #, c-format
 msgid "^BG%s^K1 became a shooting star%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:393
+#: qcsrc/common/notifications.qh:404
 #, c-format
 msgid "^BG%s^K1 was slimed%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:394
+#: qcsrc/common/notifications.qh:405
 #, c-format
 msgid "^BG%s^K1 couldn't take it anymore%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:395
+#: qcsrc/common/notifications.qh:406
 #, c-format
 msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:396
+#: qcsrc/common/notifications.qh:407
 #, c-format
 msgid "^BG%s^K1 switched to the %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:397
+#: qcsrc/common/notifications.qh:408
 #, c-format
 msgid "^BG%s^K1 died in an accident%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:398
+#: qcsrc/common/notifications.qh:409
 #, c-format
 msgid "^BG%s^K1 ran into a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:399
+#: qcsrc/common/notifications.qh:410
 #, c-format
 msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:400
+#: qcsrc/common/notifications.qh:411
 #, c-format
 msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:401
+#: qcsrc/common/notifications.qh:412
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:402
+#: qcsrc/common/notifications.qh:413
 #, c-format
 msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:403
+#: qcsrc/common/notifications.qh:414
 #, c-format
 msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:404
+#: qcsrc/common/notifications.qh:415
 #, c-format
 msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:405
+#: qcsrc/common/notifications.qh:416
 #, c-format
 msgid "^BG%s^K1 was phased out by a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:406
+#: qcsrc/common/notifications.qh:417
 #, c-format
 msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:407
+#: qcsrc/common/notifications.qh:418
 #, c-format
 msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:408
+#: qcsrc/common/notifications.qh:419
 #, c-format
 msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:409
+#: qcsrc/common/notifications.qh:420
 #, c-format
 msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:410
+#: qcsrc/common/notifications.qh:421
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:411
+#: qcsrc/common/notifications.qh:422
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:412
+#: qcsrc/common/notifications.qh:423
 #, c-format
 msgid "^BG%s^K1 was crushed by a vehicle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:413
+#: qcsrc/common/notifications.qh:424
 #, c-format
 msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:414
+#: qcsrc/common/notifications.qh:425
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:415
+#: qcsrc/common/notifications.qh:426
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:416
+#: qcsrc/common/notifications.qh:427
 #, c-format
 msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:417
+#: qcsrc/common/notifications.qh:428
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:418
+#: qcsrc/common/notifications.qh:429
 #, c-format
 msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:419
+#: qcsrc/common/notifications.qh:430
 #, c-format
 msgid "^BG%s^K1 was in the wrong place%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:420
+#: qcsrc/common/notifications.qh:431
 #, c-format
 msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:421
+#: qcsrc/common/notifications.qh:432
 #, c-format
 msgid "^BG%s^K1 was frozen by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:422
+#: qcsrc/common/notifications.qh:433
 #, c-format
 msgid "^BG%s^K3 was revived by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:423
+#: qcsrc/common/notifications.qh:434
 #, c-format
 msgid "^BG%s^K3 was revived by falling"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:424
+#: qcsrc/common/notifications.qh:435
 #, c-format
 msgid "^BG%s^K3 was automatically revived after %s second(s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:425 qcsrc/common/notifications.qh:612
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
 msgid "^TC^TT^BG team wins the round"
 msgstr "El equipo ^TC^TT^BG ha ganado la ronda"
 
-#: qcsrc/common/notifications.qh:426 qcsrc/common/notifications.qh:613
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
 #, c-format
 msgid "^BG%s^BG wins the round"
 msgstr "^BG%s^BG ha ganado la ronda"
 
-#: qcsrc/common/notifications.qh:427 qcsrc/common/notifications.qh:542
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
 msgid "^BGRound tied"
 msgstr "^BGRondo empatada"
 
-#: qcsrc/common/notifications.qh:428 qcsrc/common/notifications.qh:543
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
 msgid "^BGRound over, there's no winner"
 msgstr "^BGLa ronda se ha acabado sin un ganador"
 
-#: qcsrc/common/notifications.qh:429
+#: qcsrc/common/notifications.qh:440
 #, c-format
 msgid "^BG%s^K1 froze themself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:430
+#: qcsrc/common/notifications.qh:441
 #, c-format
 msgid "^BGGodmode saved you %s units of damage, cheater!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:431 qcsrc/common/notifications.qh:616
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
 #, c-format
 msgid "^BGYou do not have the ^F1%s"
 msgstr "^BG no tienes la ^F1%s"
 
-#: qcsrc/common/notifications.qh:432 qcsrc/common/notifications.qh:617
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
 #, c-format
 msgid "^BGYou dropped the ^F1%s^BG%s"
 msgstr "^BGHas tirado la ^F1%s^BG%s"
 
-#: qcsrc/common/notifications.qh:433 qcsrc/common/notifications.qh:618
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
 #, c-format
 msgid "^BGYou got the ^F1%s"
 msgstr "^BGObtuviste la ^F1%s"
 
-#: qcsrc/common/notifications.qh:434 qcsrc/common/notifications.qh:619
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
 #, c-format
 msgid "^BGYou don't have enough ammo for the ^F1%s"
 msgstr "^BGNo tienes suficientes municiones para ^F1%s"
 
-#: qcsrc/common/notifications.qh:435 qcsrc/common/notifications.qh:620
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
 #, c-format
 msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
 msgstr "^F1%s %s^BG no puede disparar, pero su ^F1%s^BG aun puede"
 
-#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:621
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
 #, c-format
 msgid "^F1%s^BG is ^F4not available^BG on this map"
 msgstr "^F1%s^BG ^F4 no esta disponible ^BG en este mapa"
 
-#: qcsrc/common/notifications.qh:437
+#: qcsrc/common/notifications.qh:448
 #, c-format
 msgid "^BG%s^F3 connected%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:438
+#: qcsrc/common/notifications.qh:449
 #, c-format
 msgid "^BG%s^F3 connected and joined the ^TC^TT team"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:439
+#: qcsrc/common/notifications.qh:450
 #, c-format
 msgid "^BG%s^F3 is now playing"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:440 qcsrc/common/notifications.qh:624
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
 #, c-format
 msgid "^BG%s^BG has dropped the ball!"
 msgstr "^BG%s^BG ha tirado la pelota!"
 
-#: qcsrc/common/notifications.qh:441 qcsrc/common/notifications.qh:625
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
 #, c-format
 msgid "^BG%s^BG has picked up the ball!"
 msgstr "^BG%s ^BG ha recogido la pelota!"
 
-#: qcsrc/common/notifications.qh:442
+#: qcsrc/common/notifications.qh:453
 #, c-format
 msgid "^BG%s^BG captured the keys for the ^TC^TT team"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:443
+#: qcsrc/common/notifications.qh:454
 #, c-format
 msgid "^BG%s^BG dropped the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:444
+#: qcsrc/common/notifications.qh:455
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:445
+#: qcsrc/common/notifications.qh:456
 #, c-format
 msgid "^BG%s^BG picked up the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:446
+#: qcsrc/common/notifications.qh:457
 #, c-format
 msgid "^BG%s^F3 forfeited"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:447
+#: qcsrc/common/notifications.qh:458
 #, c-format
 msgid "^BG%s^F3 has no more lives left"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:448
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:460
 #, c-format
 msgid "^BG%s^K1 picked up Invisibility"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:449
+#: qcsrc/common/notifications.qh:461
 #, c-format
 msgid "^BG%s^K1 picked up Shield"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:450
+#: qcsrc/common/notifications.qh:462
 #, c-format
 msgid "^BG%s^K1 picked up Speed"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:451
+#: qcsrc/common/notifications.qh:463
 #, c-format
 msgid "^BG%s^K1 picked up Strength"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:452
+#: qcsrc/common/notifications.qh:464
 #, c-format
 msgid "^BG%s^F3 disconnected"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:453
+#: qcsrc/common/notifications.qh:465
 #, c-format
 msgid "^BG%s^F3 was kicked for idling"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:454
+#: qcsrc/common/notifications.qh:466
 msgid ""
 "^F2You were kicked from the server because you are a spectator and "
 "spectators aren't allowed at the moment."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:455
+#: qcsrc/common/notifications.qh:467
 #, c-format
 msgid "^BG%s^F3 is now spectating"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:456
+#: qcsrc/common/notifications.qh:468
 #, c-format
 msgid "^BG%s^BG has abandoned the race"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:457
+#: qcsrc/common/notifications.qh:469
 #, c-format
 msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:458
+#: qcsrc/common/notifications.qh:470
 #, c-format
 msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:459
+#: qcsrc/common/notifications.qh:471
 #, c-format
 msgid "^BG%s^BG has finished the race"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:460
+#: qcsrc/common/notifications.qh:472
 #, c-format
 msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:461
+#: qcsrc/common/notifications.qh:473
 #, c-format
 msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:462
+#: qcsrc/common/notifications.qh:474
 #, c-format
 msgid ""
 "^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
 "and will be lost."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:463
+#: qcsrc/common/notifications.qh:475
 #, c-format
 msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:464
+#: qcsrc/common/notifications.qh:476
 msgid "^TC^TT ^BGteam scores!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:465
+#: qcsrc/common/notifications.qh:477
 #, c-format
 msgid ""
 "^F2You have to become a player within the next %s, otherwise you will be "
 "kicked, because spectating isn't allowed at this time!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:466
+#: qcsrc/common/notifications.qh:478
 #, c-format
 msgid "^BG%s^K1 picked up a Superweapon"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:467
+#: qcsrc/common/notifications.qh:479
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
 "^F2Xonotic %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:468
+#: qcsrc/common/notifications.qh:480
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:469
+#: qcsrc/common/notifications.qh:481
 #, c-format
 msgid ""
 "^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
 "the update from ^F3http://www.xonotic.org/^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:470
+#: qcsrc/common/notifications.qh:482
 #, c-format
 msgid "^F3SVQC Build information: ^F4%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:471
+#: qcsrc/common/notifications.qh:483
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:472
+#: qcsrc/common/notifications.qh:484
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:473
+#: qcsrc/common/notifications.qh:485
 #, c-format
 msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:474
+#: qcsrc/common/notifications.qh:486
 #, c-format
 msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:475
+#: qcsrc/common/notifications.qh:487
 #, c-format
 msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:476
+#: qcsrc/common/notifications.qh:488
 #, c-format
 msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:477
+#: qcsrc/common/notifications.qh:489
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:478
+#: qcsrc/common/notifications.qh:490
 #, c-format
 msgid "^BG%s^K1 played with Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:479
+#: qcsrc/common/notifications.qh:491
 #, c-format
 msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:480
+#: qcsrc/common/notifications.qh:492
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:481
+#: qcsrc/common/notifications.qh:493
 #, c-format
 msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:482
+#: qcsrc/common/notifications.qh:494
 #, c-format
 msgid "^BG%s^K1 should have used a smaller gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:483
+#: qcsrc/common/notifications.qh:495
 #, c-format
 msgid "^BG%s^K1 forgot about their firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:484
+#: qcsrc/common/notifications.qh:496
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:485
+#: qcsrc/common/notifications.qh:497
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:486
+#: qcsrc/common/notifications.qh:498
 #, c-format
 msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:487
+#: qcsrc/common/notifications.qh:499
 #, c-format
 msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:488
+#: qcsrc/common/notifications.qh:500
 #, c-format
 msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:489
+#: qcsrc/common/notifications.qh:501
 #, c-format
 msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:490
+#: qcsrc/common/notifications.qh:502
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:491
+#: qcsrc/common/notifications.qh:503
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:492
+#: qcsrc/common/notifications.qh:504
 #, c-format
 msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:493
+#: qcsrc/common/notifications.qh:505
 #, c-format
 msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:494
+#: qcsrc/common/notifications.qh:506
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:495
+#: qcsrc/common/notifications.qh:507
 #, c-format
 msgid "^BG%s^K1 forgot about their mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:496
+#: qcsrc/common/notifications.qh:508
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:497
+#: qcsrc/common/notifications.qh:509
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:498
+#: qcsrc/common/notifications.qh:510
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:499
+#: qcsrc/common/notifications.qh:511
 #, c-format
 msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:500
+#: qcsrc/common/notifications.qh:512
 #, c-format
 msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:501
+#: qcsrc/common/notifications.qh:513
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:502
+#: qcsrc/common/notifications.qh:514
 #, c-format
 msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:503
+#: qcsrc/common/notifications.qh:515
 #, c-format
 msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:504
+#: qcsrc/common/notifications.qh:516
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:505
+#: qcsrc/common/notifications.qh:517
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:506
+#: qcsrc/common/notifications.qh:518
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:507
+#: qcsrc/common/notifications.qh:519
 #, c-format
 msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:508
+#: qcsrc/common/notifications.qh:520
 #, c-format
 msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:509
+#: qcsrc/common/notifications.qh:521
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:510
+#: qcsrc/common/notifications.qh:522
 #, c-format
 msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:511
+#: qcsrc/common/notifications.qh:523
 #, c-format
 msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:512
+#: qcsrc/common/notifications.qh:524
 #, c-format
 msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:513
+#: qcsrc/common/notifications.qh:525
 #, c-format
 msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:514
+#: qcsrc/common/notifications.qh:526
 #, c-format
 msgid "^BG%s^K1 is now thinking with portals%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:515
+#: qcsrc/common/notifications.qh:527
 #, c-format
 msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:516
+#: qcsrc/common/notifications.qh:528
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:517
+#: qcsrc/common/notifications.qh:529
 #, c-format
 msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:518
+#: qcsrc/common/notifications.qh:530
 #, c-format
 msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:536
+#: qcsrc/common/notifications.qh:548
 msgid "^BGYou are attacking!"
 msgstr "^BGEstas atacando!"
 
-#: qcsrc/common/notifications.qh:537
+#: qcsrc/common/notifications.qh:549
 msgid "^BGYou are defending!"
 msgstr "^BGEstas defendiendo!"
 
-#: qcsrc/common/notifications.qh:538
+#: qcsrc/common/notifications.qh:550
 msgid "^F4Begin!"
 msgstr "^F4Inicia!"
 
-#: qcsrc/common/notifications.qh:539
+#: qcsrc/common/notifications.qh:551
 msgid "^F4Game starts in ^COUNT"
 msgstr "^F4El juego inicia en ^COUNT"
 
-#: qcsrc/common/notifications.qh:540
+#: qcsrc/common/notifications.qh:552
 msgid "^F4Round starts in ^COUNT"
 msgstr "^F4Ronda empieza en ^COUNT"
 
-#: qcsrc/common/notifications.qh:541
+#: qcsrc/common/notifications.qh:553
 msgid "^F4Round cannot start"
 msgstr "^F4Ronda no puede empezar"
 
-#: qcsrc/common/notifications.qh:544
+#: qcsrc/common/notifications.qh:556
 msgid "^F2Don't camp!"
 msgstr "^F2No acampes!"
 
-#: qcsrc/common/notifications.qh:545
+#: qcsrc/common/notifications.qh:557
 msgid ""
 "^BGYou are now free.\n"
 "^BGFeel free to ^F2try to capture^BG the flag again\n"
@@ -2277,7 +2360,7 @@ msgstr ""
 "^BGSientete en confianza de ^F2intentar capturar^BG la bandera denuevo\n"
 "^BGsi piensas que lo lograras."
 
-#: qcsrc/common/notifications.qh:546
+#: qcsrc/common/notifications.qh:558
 msgid ""
 "^BGYou are now ^F1shielded^BG from the flag\n"
 "^BGfor ^F2too many unsuccessful attempts^BG to capture.\n"
@@ -2287,163 +2370,163 @@ msgstr ""
 "^BGpor ^F2demasiados intentos fallidos ^BGde captura\n"
 "^BGHaz unos puntos defensivos antes de intentar denuevo."
 
-#: qcsrc/common/notifications.qh:547
+#: qcsrc/common/notifications.qh:559
 msgid "^BGYou captured the ^TC^TT^BG flag!"
 msgstr "^BGHas capturado la bandera ^TC^TT^BG!"
 
-#: qcsrc/common/notifications.qh:548
+#: qcsrc/common/notifications.qh:560
 #, c-format
 msgid "^BGToo many flag throws! Throwing disabled for %s."
 msgstr "^BGDemaciados tiros de bandera! No puedes arrojarla por %s"
 
-#: qcsrc/common/notifications.qh:549
+#: qcsrc/common/notifications.qh:561
 #, c-format
 msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
 msgstr "^BG%s^BG ha pasado la bandera ^TC^TT^BG a %s"
 
-#: qcsrc/common/notifications.qh:550
+#: qcsrc/common/notifications.qh:562
 #, c-format
 msgid "^BGYou received the ^TC^TT^BG flag from %s"
 msgstr "^BGHas recivido la bandera ^TC^TT^BG por parte de %s"
 
-#: qcsrc/common/notifications.qh:551
+#: qcsrc/common/notifications.qh:563
 #, c-format
 msgid "^BG%s^BG requests you to pass the flag%s"
 msgstr "^BG%s^BG te pide que pases la bandera%s"
 
-#: qcsrc/common/notifications.qh:552
+#: qcsrc/common/notifications.qh:564
 #, c-format
 msgid "^BGRequesting %s^BG to pass you the flag"
 msgstr "^BGSugiriendo a %s^BG que te pase la bandera"
 
-#: qcsrc/common/notifications.qh:553
+#: qcsrc/common/notifications.qh:565
 #, c-format
 msgid "^BGYou passed the ^TC^TT^BG flag to %s"
 msgstr "^BGHaz pasado la bandera ^TC^TT^BG a %s"
 
-#: qcsrc/common/notifications.qh:554
+#: qcsrc/common/notifications.qh:566
 msgid "^BGYou got the ^TC^TT^BG flag!"
 msgstr "^BGHaz obtenido la bandera ^TC^TT^BG!"
 
-#: qcsrc/common/notifications.qh:555
+#: qcsrc/common/notifications.qh:567
 #, c-format
 msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
 msgstr "^BGEL %senemigo^BG tiene tu bandera! Recuperala!"
 
-#: qcsrc/common/notifications.qh:556
+#: qcsrc/common/notifications.qh:568
 #, c-format
 msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
 msgstr "^BGEl %senemigo (^BG%s%s)^BG tiene tu bandera! Recuperala!"
 
-#: qcsrc/common/notifications.qh:557
+#: qcsrc/common/notifications.qh:569
 #, c-format
 msgid "^BGYour %steam mate^BG got the flag! Protect them!"
 msgstr "^BGTu %scompañero ^BG tiene la bandera! Protegelo!"
 
-#: qcsrc/common/notifications.qh:558
+#: qcsrc/common/notifications.qh:570
 #, c-format
 msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
 msgstr "^BGTu %scompañero (^BG%s%s)^BG tiene la bandera! Protegelo!"
 
-#: qcsrc/common/notifications.qh:559
+#: qcsrc/common/notifications.qh:571
 msgid "^BGYou returned the ^TC^TT^BG flag!"
 msgstr "^BGHas regresado la bandera ^TC^TT^BG!"
 
-#: qcsrc/common/notifications.qh:560
+#: qcsrc/common/notifications.qh:572
 msgid "^BGStalemate! Enemies can now see you on radar!"
 msgstr "^BGEstancamiento! Los enemigos ahora te pueden ven en su radar!"
 
-#: qcsrc/common/notifications.qh:561
+#: qcsrc/common/notifications.qh:573
 msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
 msgstr ""
 "^BGEstancamiento! Ahora puedes ver los portadores de bandera enemigos en tu "
 "radar!"
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou fragged ^BG%s"
 msgstr "^K3%sEliminaste a ^BG%s"
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou scored against ^BG%s"
 msgstr "^K3%sHas anotado en contra de ^BG%s"
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s"
 msgstr "^K1%sHas sido eliminado por ^BG%s"
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s"
 msgstr "^K1%ssFuiste anotado en contra por ^BG%s"
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s^BG%s"
 msgstr "^K1%sFuiste eliminado por ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^BG%s"
 msgstr "^K1%sFuiste eliminado por ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou fragged ^BG%s^BG%s"
 msgstr "^K3%sHas eliminado a ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou scored against ^BG%s^BG%s"
 msgstr "^K3%sHas eliminado a ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
 msgstr "^K1%sEliminaste a ^BG%s^K1 mientras estaban tecleando"
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s"
 msgstr "^K1%sEliminaste a ^BG%s mientras escribia"
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
 msgstr "^K1%sFuiste eliminado mientras escribias por ^BG%s^K1"
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s"
 msgstr "^K1%sFuiste eliminado mientras escribias por ^BG%s"
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
 msgstr "^K1%sFuiste eliminado por ^BG%s^K1 minentras escribias^BG%s"
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
 msgstr "^K1%sFuiste eliminado mientras escribias por ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
 msgstr "^K1%sEliminate a ^BG%s^K1 mientras escribia^BG%s"
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s^BG%s"
 msgstr "^K1%sEliminate a ^BG%s^BG mientras escribia%s"
 
-#: qcsrc/common/notifications.qh:570
+#: qcsrc/common/notifications.qh:582
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:571
+#: qcsrc/common/notifications.qh:583
 #, c-format
 msgid ""
 "^BGYou have been moved into a different team\n"
@@ -2452,193 +2535,201 @@ msgstr ""
 "^BGHas sido movido a un equipo diferente\n"
 "Ahora estas en el equipo: %s"
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't go against your team mates!"
 msgstr "^K1No te vayas contra tus compañeros!"
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't shoot your team mates!"
 msgstr "^K1No dispares a tus compañeros!"
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Die camper!"
 msgstr "^K1Muere campero!"
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Reconsider your tactics, camper!"
 msgstr "^K1Reconsidera tus tacticas, campero!"
 
-#: qcsrc/common/notifications.qh:574
+#: qcsrc/common/notifications.qh:586
 msgid "^K1You unfairly eliminated yourself!"
 msgstr "^K1Te has eliminado injustamente a ti mismo!"
 
-#: qcsrc/common/notifications.qh:575
+#: qcsrc/common/notifications.qh:587
 #, c-format
 msgid "^K1You were %s"
 msgstr "^K1Fuiste %s"
 
-#: qcsrc/common/notifications.qh:576
+#: qcsrc/common/notifications.qh:588
 msgid "^K1You couldn't catch your breath!"
 msgstr "^K1No pudiste recuperar tu aliento!"
 
-#: qcsrc/common/notifications.qh:577
+#: qcsrc/common/notifications.qh:589
 msgid "^K1You hit the ground with a crunch!"
 msgstr "^K1Golpeaste la tierra con un crujido!"
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You felt a little too hot!"
 msgstr "^K1Te sentiste un poco muy caliente!"
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You got a little bit too crispy!"
 msgstr "^K1 te volviste un poco muy crujiente!"
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You killed your own dumb self!"
 msgstr "^K1Te mataste a ti mismso!"
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You need to be more careful!"
 msgstr "^K1Debes ser mas cuidadoso!"
 
-#: qcsrc/common/notifications.qh:580
+#: qcsrc/common/notifications.qh:592
 msgid "^K1You couldn't stand the heat!"
 msgstr "^K1No pudiste soportar el calor!"
 
-#: qcsrc/common/notifications.qh:581
-msgid "^K1Tastes like chicken!"
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
+msgid "^K1Tastes like chicken!"
+msgstr "^K1Sabe a pollo!"
+
+#: qcsrc/common/notifications.qh:594
 msgid "^K1You forgot to put the pin back in!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You are respawning for running out of ammo..."
 msgstr "^K1Esta reapareciendo por haberte acabado tus municiones..."
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You were killed for running out of ammo..."
 msgstr "^K1Fuiste eliminado por acabarte tus municiones..."
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You grew too old without taking your medicine"
 msgstr "^K1Te volviste muy viejo sin tomar tu medicamento"
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You need to preserve your health"
 msgstr "^K1Necesitas conservar tu vida"
 
-#: qcsrc/common/notifications.qh:584
+#: qcsrc/common/notifications.qh:597
 msgid "^K1You became a shooting star!"
 msgstr "^K1Te volviste una estrella fugaz!"
 
-#: qcsrc/common/notifications.qh:585
+#: qcsrc/common/notifications.qh:598
 msgid "^K1You melted away in slime!"
 msgstr "^K1Te derretiste entre la baba!"
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You committed suicide!"
 msgstr "^K1Te has suicidado!"
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You ended it all!"
 msgstr "^K1Lo acabaste todo!"
 
-#: qcsrc/common/notifications.qh:587
+#: qcsrc/common/notifications.qh:600
 msgid "^K1You got stuck in a swamp!"
 msgstr "^K1Te atoraste en un pantano!"
 
-#: qcsrc/common/notifications.qh:588
+#: qcsrc/common/notifications.qh:601
 #, c-format
 msgid "^BGYou are now on: %s"
 msgstr "^BGEstas bajo: %s"
 
-#: qcsrc/common/notifications.qh:589
+#: qcsrc/common/notifications.qh:602
 msgid "^K1You died in an accident!"
 msgstr "^K1Moriste en una accidente!"
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You had an unfortunate run in with a turret!"
 msgstr "^K1Tuviste un encuentro desafortunadon con una torreta!"
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You were fragged by a turret!"
 msgstr "^K1Fuiste eliminado por una torreta!"
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You had an unfortunate run in with an eWheel turret!"
 msgstr "^K1Tuviste un encuentro desafortunadon con una torreta eWheel!"
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You were fragged by an eWheel turret!"
 msgstr "^K1Fuiste eliminado por una torreta eWheel!"
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You had an unfortunate run in with a Walker turret!"
 msgstr "^K1Tuviste un encuentro desafortunadon con una torreta Walker!"
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You were fragged by a Walker turret!"
 msgstr "^K1Fuiste eliminado por una torreta Walker!"
 
-#: qcsrc/common/notifications.qh:593
+#: qcsrc/common/notifications.qh:606
 msgid "^K1You got caught in the blast of a Bumblebee explosion!"
 msgstr "^K1Fuiste atrapado en el estallido de una explosion de un Bumblebee!"
 
-#: qcsrc/common/notifications.qh:594
+#: qcsrc/common/notifications.qh:607
 msgid "^K1You were crushed by a vehicle!"
 msgstr "^K1Fuiste aplastado por un vehiculo!"
 
-#: qcsrc/common/notifications.qh:595
+#: qcsrc/common/notifications.qh:608
 msgid "^K1You were caught in a Raptor cluster bomb!"
 msgstr "^K1Fuiste atrapado en la bomba de un Raptor!"
 
-#: qcsrc/common/notifications.qh:596
+#: qcsrc/common/notifications.qh:609
 msgid "^K1You got caught in the blast of a Raptor explosion!"
 msgstr "^K1Fuiste atrapado en el estallido de una explosion de Raptor!"
 
-#: qcsrc/common/notifications.qh:597
+#: qcsrc/common/notifications.qh:610
 msgid "^K1You got caught in the blast of a Spiderbot explosion!"
 msgstr "^K1Fuiste atrapado en el estallido de una explosion de Spiderbot!"
 
-#: qcsrc/common/notifications.qh:598
+#: qcsrc/common/notifications.qh:611
 msgid "^K1You were blasted to bits by a Spiderbot rocket!"
 msgstr "^K1Fuiste despedazado por un misil de Spiderbot!"
 
-#: qcsrc/common/notifications.qh:599
+#: qcsrc/common/notifications.qh:612
 msgid "^K1You got caught in the blast of a Racer explosion!"
 msgstr "^K1Fuiste atrapado en el estallido de una explosion de un Racer!"
 
-#: qcsrc/common/notifications.qh:600
+#: qcsrc/common/notifications.qh:613
 msgid "^K1You couldn't find shelter from a Racer rocket!"
 msgstr "^K1No pudiste resguardarte de el misil del Racer!"
 
-#: qcsrc/common/notifications.qh:601
+#: qcsrc/common/notifications.qh:614
 msgid "^K1Watch your step!"
 msgstr "^K1Ciudado donde pisas!"
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
 msgstr "^K1Idiota! Has eliminado a ^BG%s^K1, un compañero!"
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
 msgstr "^K1Idiota! te fuiste en contra de ^BG%s^K1, un compañero!"
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were fragged by ^BG%s^K1, a team mate"
 msgstr "^K1Has sido eliminado por ^BG%s^K1, un compañero"
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were scored against by ^BG%s^K1, a team mate"
 msgstr "^K1Tu compañero ^BG%s^K1, te ha eliminado"
 
-#: qcsrc/common/notifications.qh:604
+#: qcsrc/common/notifications.qh:617
 msgid ""
 "^K1Stop idling!\n"
 "^BGDisconnecting in ^COUNT..."
@@ -2646,48 +2737,53 @@ msgstr ""
 "^K1Deja de estar inactivo!\n"
 "^BGDesconectando en ^COUNT"
 
-#: qcsrc/common/notifications.qh:605
+#: qcsrc/common/notifications.qh:618
 msgid "^F2You picked up some extra lives"
 msgstr "^F2Has recogido unas vidas extras"
 
-#: qcsrc/common/notifications.qh:606
+#: qcsrc/common/notifications.qh:619
 #, c-format
 msgid "^K3You froze ^BG%s"
 msgstr "^F2Congelaste a ^BG%s"
 
-#: qcsrc/common/notifications.qh:607
+#: qcsrc/common/notifications.qh:620
 #, c-format
 msgid "^K1You were frozen by ^BG%s"
 msgstr "^K1Fuiste congelado por ^BG%s"
 
-#: qcsrc/common/notifications.qh:608
+#: qcsrc/common/notifications.qh:621
 #, c-format
 msgid "^K3You revived ^BG%s"
 msgstr "^K3Reviviste a ^BG%s"
 
-#: qcsrc/common/notifications.qh:609
+#: qcsrc/common/notifications.qh:622
 msgid "^K3You revived yourself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:610
+#: qcsrc/common/notifications.qh:623
 #, c-format
 msgid "^K3You were revived by ^BG%s"
 msgstr "^K3Fuiste revivido por ^BG%s"
 
-#: qcsrc/common/notifications.qh:611
+#: qcsrc/common/notifications.qh:624
 #, c-format
 msgid "^K3You were automatically revived after %s second(s)"
 msgstr "^K3Fuiste revivido automaticamente despues de %s segundo(s)"
 
-#: qcsrc/common/notifications.qh:614
+#: qcsrc/common/notifications.qh:627
 msgid "^K1You froze yourself"
 msgstr "^K1Te congelaste solo"
 
-#: qcsrc/common/notifications.qh:615
+#: qcsrc/common/notifications.qh:628
 msgid "^K1Round already started, you spawn as frozen"
 msgstr "^K1Ronda inicio previamente, apareceras congelado"
 
-#: qcsrc/common/notifications.qh:622
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:636
 msgid ""
 "^K1No spawnpoints available!\n"
 "Hope your team can fix it..."
@@ -2695,7 +2791,7 @@ msgstr ""
 "^K1No hay espacio disponible para aparecer\n"
 "Confia en que tu equipo lo pueda arreglar..."
 
-#: qcsrc/common/notifications.qh:623
+#: qcsrc/common/notifications.qh:637
 msgid ""
 "^K1You may not join the game at this time.\n"
 "The player limit reached maximum capacity."
@@ -2703,12 +2799,16 @@ msgstr ""
 "^K1No puedes unirte al juego en este momento.\n"
 "La capacidad maxima de jugadores ha sido alacanzada."
 
-#: qcsrc/common/notifications.qh:626
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
 msgid "^BGKilling people while you don't have the ball gives no points!"
 msgstr ""
 "^BGEliminar a otros mientras no tienes la pelota no te consigue puntos!"
 
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:642
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Help the key carriers to meet!"
@@ -2716,7 +2816,7 @@ msgstr ""
 "^BGTodas las llaves estan en possesion de to equipo!\n"
 "Ayuda a que los portadores de las llaves se puedan unir!"
 
-#: qcsrc/common/notifications.qh:628
+#: qcsrc/common/notifications.qh:643
 msgid ""
 "^BGAll keys are in ^TC^TT team^BG's hands!\n"
 "Interfere ^F4NOW^BG!"
@@ -2724,7 +2824,7 @@ msgstr ""
 "^BGtTodas las llaves estan en manos del equipo ^TC^TT^BG!\n"
 "Interfiere ^F4AHORA^BG!"
 
-#: qcsrc/common/notifications.qh:629
+#: qcsrc/common/notifications.qh:644
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Meet the other key carriers ^F4NOW^BG!"
@@ -2732,19 +2832,19 @@ msgstr ""
 "^BGTodas las llaves en manos de tu equipo!\n"
 "Encuentra a los otros portadores de llaves ^F4AHORA^BG!"
 
-#: qcsrc/common/notifications.qh:630
+#: qcsrc/common/notifications.qh:645
 msgid "^F4Round will start in ^COUNT"
 msgstr "^F4La ronda iniciara en ^COUNT"
 
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:646
 msgid "^BGScanning frequency range..."
 msgstr "^BGEscaneando rango de frequencia..."
 
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:647
 msgid "^BGYou are starting with the ^TC^TT Key"
 msgstr "^BGEstas empezando con la llave ^TC^TT"
 
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
 #, c-format
 msgid ""
 "^BGWaiting for players to join...\n"
@@ -2753,54 +2853,54 @@ msgstr ""
 "^BGEsperando a que se unan jugadores...\n"
 "Se necesitan jugadores activos para: %s"
 
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:650
 #, c-format
 msgid "^BGWaiting for %s player(s) to join..."
 msgstr "^BGEsperando a que %s jugador(es) se unan..."
 
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:651
 msgid "^F4^COUNT^BG left to find some ammo!"
 msgstr "^F4^COUNT^BG restante para encontrar municiones!"
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
 msgstr "^BGConsigue municiones or moriras en ^F4^COUNT^BG!"
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
 msgstr "^BGConsigue municiones! Te queda ^F4^COUNT^BG!"
 
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:653
 #, c-format
 msgid "^F2Extra lives remaining: ^K1%s"
 msgstr "^F2Vidas sobrantes: ^K1%s"
 
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:654
 msgid "^BGSecondary fire inflicts no damage!"
 msgstr "^BGModo de fuego secundary no hace daño!"
 
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:655
 #, c-format
 msgid "^BG%s"
 msgstr "^BG%s"
 
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:656
 #, c-format
 msgid ""
 "^F2^COUNT^BG until weapon change...\n"
 "Next weapon: ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:657
 #, c-format
 msgid "^F2Active weapon: ^F1%s"
 msgstr "^F2Arma activa: ^F1%s"
 
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:658
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep fragging until we have a winner!"
@@ -2808,7 +2908,7 @@ msgstr ""
 "^F2Ahora jugando en ^F4TIEMPO EXTRA^F2!\n"
 "Sigue eliminando hasta que tengamos un ganador!"
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep scoring until we have a winner!"
@@ -2816,7 +2916,7 @@ msgstr ""
 "^F2Ahora jugando en ^F4TIEMPO EXTRA^F2!\n"
 "Sigue acertando hasta que tengamos un ganador!"
 
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:660
 #, c-format
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
@@ -2825,210 +2925,210 @@ msgstr ""
 "^F2Ahora jugando en ^F4TIEMPO EXTRA^F2!\n"
 "^BGSe ha añadido ^F4%s^BG al juego!"
 
-#: qcsrc/common/notifications.qh:646
+#: qcsrc/common/notifications.qh:661
 msgid "^F2Invisibility has worn off"
 msgstr "^F2Invisibility se ha agotado"
 
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:662
 msgid "^F2Shield has worn off"
 msgstr "^F2Shield se ha agotado"
 
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:663
 msgid "^F2Speed has worn off"
 msgstr "^F2Speed se ha agotado"
 
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:664
 msgid "^F2Strength has worn off"
 msgstr "^F2Strength se ha agotado"
 
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:665
 msgid "^F2You are invisible"
 msgstr "^F2Eres invisible"
 
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:666
 msgid "^F2Shield surrounds you"
 msgstr "^F2Un escudo te rodea"
 
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:667
 msgid "^F2You are on speed"
 msgstr "^F2Tienes la velocidad"
 
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:668
 msgid "^F2Strength infuses your weapons with devastating power"
 msgstr "^F2Strength infunde tus armas con poder devastador"
 
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:669
 msgid "^F2The race is over, finish your lap!"
 msgstr "^F2La carrera se ha terminado, completa tu vuelta!"
 
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:670
 msgid "^F2Superweapons have broken down"
 msgstr "^F2Superarmas se han descompuesto"
 
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:671
 msgid "^F2Superweapons have been lost"
 msgstr "^F2Se han perdido las superarmas"
 
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:672
 msgid "^F2You now have a superweapon"
 msgstr "^F2Ahora tienes una superarma"
 
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:673
 msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
 msgstr "^K1Cambiando a ^TC^TT^K1 en ^COUNT"
 
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:674
 msgid "^K1Changing team in ^COUNT"
 msgstr "^K1Cambiando equipo en ^COUNT"
 
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:675
 msgid "^K1Spectating in ^COUNT"
 msgstr "^K1Cambiando a espectador en ^COUNT"
 
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:676
 msgid "^K1Suicide in ^COUNT"
 msgstr "^K1Suicidio en ^COUNT"
 
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:677
 msgid "^F4Timeout begins in ^COUNT"
 msgstr "^F4Tiempo fuera comienza en ^COUNT"
 
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:678
 msgid "^F4Timeout ends in ^COUNT"
 msgstr "^F4Tiempo fuera se acaba en ^COUNT"
 
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
 #, c-format
 msgid " (near %s)"
 msgstr " (cerca de %s)"
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "primary"
 msgstr "primario"
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "secondary"
 msgstr " secundario"
 
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:980
 #, c-format
 msgid " ^F1(Press %s)"
 msgstr " ^F1(Presiona %s)"
 
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:989
 #, c-format
 msgid " with %s"
 msgstr " con %s"
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
 msgstr "%s^K1 ha hecho una ELIMINACION TRIPLE! %s^BG"
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
 msgstr "%s^K1 ha hecho una ELIMINACION TRIPLE! %s^BG"
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 msgid "TRIPLE FRAG! "
 msgstr "ELIMINACION TRIPLE!"
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 hizo QUINCE ANOTACIONES SEGUIDAS! %s^BG"
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 unlocked RAGE! %s^BG"
 msgstr "%s^K1 desbloqueo FURIA! %s^BG"
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 msgid "RAGE! "
 msgstr "FURIA!"
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 elimino a DIEZ JUGADORES SEGUIDOS! %s^BG"
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 started a MASSACRE! %s^BG"
 msgstr "%s^K1 ha empezado una MASSACRE! %s^BG"
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 msgid "MASSACRE! "
 msgstr "MASSACRE!"
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 executed MAYHEM! %s^BG"
 msgstr "%s^K1 ha ejecutado un ALBOROTO! %s^BG"
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 ha hecho QUINCE ELIMINACIONES SEGUIDAS! %s^BG"
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 msgid "MAYHEM! "
 msgstr "ALBOROTO!"
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 is a BERSERKER! %s^BG"
 msgstr "%s^K1 es un BERSERKER! %s^BG"
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 ha hecho VIENTE ELIMINACIONES SEGUIDAS! %s^BG"
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 msgid "BERSERKER! "
 msgstr "BERSERKER!"
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 inflicts CARNAGE! %s^BG"
 msgstr "%s^K1 ha hecho una MATANZA! %s^BG"
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 ha hecho VEINTE Y CINCO ELIMINACIONES SEGUIDAS! %s^BG"
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 msgid "CARNAGE! "
 msgstr "MATANZA!"
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 ha hecho TREINTA ELIMINACIONES SEGUIDAS! %s^BG"
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
 msgstr "%s^K1 destata el ARMAGEDDON! %s^BG"
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 msgid "ARMAGEDDON! "
 msgstr "ARMAGEDDON!"
 
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1010
 #, c-format
 msgid "%s(^F1Bot^BG)"
 msgstr "%s(^F1Bot^BG)"
 
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1012
 #, c-format
 msgid "%s(Ping ^F1%d^BG)"
 msgstr "%s(Latencia ^F1%d^BG)"
 
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1018
 #, c-format
 msgid ""
 "\n"
@@ -3037,7 +3137,7 @@ msgstr ""
 "\n"
 "(Vida ^1%d^BG / Armadura ^2%d^BG)%s"
 
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1020
 #, c-format
 msgid ""
 "\n"
@@ -3046,68 +3146,68 @@ msgstr ""
 "\n"
 "(^F4Muerto^BG)%s"
 
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
 #, c-format
 msgid "%d score spree! "
 msgstr "%d anotaciones seguidas!"
 
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1069
 #, c-format
 msgid "%d frag spree! "
 msgstr "%d eliminaciones seguidas!"
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First blood! "
 msgstr "Primera eliminacion!"
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First score! "
 msgstr "Primera anotacion!"
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First casualty! "
 msgstr "Primera victima!"
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First victim! "
 msgstr "Primera victima!"
 
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1127
 #, c-format
 msgid "%s^K1 has %d frags in a row! %s^BG"
 msgstr "%s^K1 tiene %d eliminaciones seguidas! %s^BG"
 
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1128
 #, c-format
 msgid "%s^K1 made %d scores in a row! %s^BG"
 msgstr "%s^K1 tiene %d eliminaciones seguidas! %s^BG"
 
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1146
 #, c-format
 msgid "%s^K1 drew first blood! %s^BG"
 msgstr "%s^K1 ha sido el primero en eliminar a alguien! %s^BG"
 
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1147
 #, c-format
 msgid "%s^K1 got the first score! %s^BG"
 msgstr "%s^K1 fue el primero en eliminar a alguien! %s^BG"
 
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1163
 #, c-format
 msgid ", ending their %d frag spree"
 msgstr ", finalizando su cadena de %d eliminaciones"
 
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1164
 #, c-format
 msgid ", ending their %d score spree"
 msgstr ", finalizando su cadena de %d eliminaciones"
 
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1178
 #, c-format
 msgid ", losing their %d frag spree"
 msgstr ", perdiendo su cadena de %d eliminaciones"
 
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1179
 #, c-format
 msgid ", losing their %d score spree"
 msgstr ", perdiendo su cadena de %d eliminaciones"
@@ -3149,11 +3249,11 @@ msgid "  directmenu ITEM - select a menu item as main item\n"
 msgstr ""
 "  directmenu ITEM - selecciona un objeto del menú como objeto principal\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:62
+#: qcsrc/menu/command/menu_cmd.qc:68
 msgid "Available options:\n"
 msgstr "Opciones disponibles:\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:113
+#: qcsrc/menu/command/menu_cmd.qc:119
 msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
 msgstr ""
 "Orden no válida. Para obtener una lista de órdenes válidas, escribe menu_cmd "
@@ -3166,7 +3266,7 @@ msgstr ""
 "NOTA: El texto %s es demasiado largo para la etiqueta, resumido por factor "
 "%f\n"
 
-#: qcsrc/menu/item/listbox.c:302
+#: qcsrc/menu/item/listbox.c:382
 #, c-format
 msgid "Item %d"
 msgstr "Item %d"
@@ -3195,23 +3295,27 @@ msgstr "???"
 msgid "Level %d: %s"
 msgstr "Nivel %d: %s"
 
-#: qcsrc/menu/xonotic/cvarlist.c:85
-msgid "will be saved to config.cfg"
-msgstr "se guardará en config.cfg"
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr ""
 
-#: qcsrc/menu/xonotic/cvarlist.c:87
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
 msgid "will not be saved"
 msgstr "no será guardado"
 
-#: qcsrc/menu/xonotic/cvarlist.c:89
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr "se guardará en config.cfg"
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
 msgid "private"
 msgstr "privado"
 
-#: qcsrc/menu/xonotic/cvarlist.c:91
+#: qcsrc/menu/xonotic/cvarlist.c:95
 msgid "engine setting"
 msgstr "configuración del motor"
 
-#: qcsrc/menu/xonotic/cvarlist.c:93
+#: qcsrc/menu/xonotic/cvarlist.c:97
 msgid "read only"
 msgstr "sólo lectura"
 
@@ -3220,6 +3324,7 @@ msgid "Credits"
 msgstr "Créditos"
 
 #: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
@@ -3228,7 +3333,7 @@ msgstr "Créditos"
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:77
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
 #: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
 msgid "OK"
 msgstr "Aceptar"
@@ -3237,7 +3342,7 @@ msgstr "Aceptar"
 msgid "Welcome"
 msgstr "Bienvenido/a"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:40
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
 msgid ""
 "Welcome to Xonotic, please select your language preference and enter your "
 "player name to get started.  You can change these options later through the "
@@ -3246,36 +3351,36 @@ msgstr ""
 "Bienvenido/a a Xonotic, selecciona tu idioma e introduce tu apodo.  Puedes "
 "modificar estas opciones más tarde a través del menú de configuración."
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
 msgid "Name:"
 msgstr "Nombre:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:68
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
 #: qcsrc/menu/xonotic/dialog_settings_user.c:65
 msgid "Text language:"
 msgstr "Idioma:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
 msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
 msgstr ""
 "Permitir que las estadísticas de jugador utilicen tu apodo en stats.xonotic."
 "org?"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
 msgid "ALWU2N^Yes"
 msgstr "Sí"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
 msgid "ALWU2N^No"
 msgstr "No"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
 msgid "ALWU2N^Undecided"
 msgstr "Sin determinar"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
 msgid "Save settings"
 msgstr "Guardar la configuración"
 
@@ -3593,7 +3698,7 @@ msgstr "Radar:"
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
-#: qcsrc/menu/xonotic/util.qc:708
+#: qcsrc/menu/xonotic/util.qc:758
 msgid "Alpha:"
 msgstr "Transparencia:"
 
@@ -3775,24 +3880,24 @@ msgstr "Configuración del panel HUD"
 msgid "Panel background defaults:"
 msgstr "Fondo por defecto del panel:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:683
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
 msgid "Background:"
 msgstr "Fondo:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:686
-#: qcsrc/menu/xonotic/util.qc:702 qcsrc/menu/xonotic/util.qc:719
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
 msgid "Disable"
 msgstr "Desactivar"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:691
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
 msgid "Color:"
 msgstr "Color:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:699
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
 msgid "Border size:"
 msgstr "Grosor del borde:"
 
@@ -3801,11 +3906,11 @@ msgstr "Grosor del borde:"
 msgid "Team color:"
 msgstr "Color del equipo:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:725
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
 msgid "Test team color in configure mode"
 msgstr "Probar el color del equipo en modo configuración"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:728
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
 msgid "Padding:"
 msgstr "Tamaño de letra:"
 
@@ -3853,6 +3958,53 @@ msgstr "Y:"
 msgid "Exit setup"
 msgstr "Salir de la configuración"
 
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr "Aparecer"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr "Remover"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr "Definir apariencia:"
+
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:4
 msgid "Multiplayer"
 msgstr "Multijugador"
@@ -3894,6 +4046,7 @@ msgstr "Usar el límite de tiempo por defecto del mapa"
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
 msgid "Point limit:"
 msgstr "Límite de puntos:"
 
@@ -3958,7 +4111,7 @@ msgid "Mutators..."
 msgstr "Mutadores..."
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
 msgid "Advanced settings..."
 msgstr "Configuración avanzada..."
 
@@ -3994,7 +4147,7 @@ msgstr "Vueltas:"
 msgid "Goals:"
 msgstr "Puntos:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
 msgid "Frag limit:"
 msgstr "Límite de muertes:"
 
@@ -4138,7 +4291,7 @@ msgstr "Arena con la mayoría de las armas"
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:56
 #, c-format
 msgid "%s Arena"
-msgstr ""
+msgstr "%s Arena"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:68
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:162
@@ -4294,27 +4447,31 @@ msgid "Join"
 msgstr "Unirse a la partida"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
 msgid "SRVS^Empty"
 msgstr "Vacíos"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:37
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
 msgid "SRVS^Full"
 msgstr "Llenos"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:41
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
 msgid "Pause"
 msgstr "Pausar"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:53
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
 msgid "Address:"
 msgstr "Dirección:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:64
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
 msgid "Info..."
 msgstr "Información..."
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:69
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
 msgid "Join!"
 msgstr "¡Unirse!"
@@ -4329,9 +4486,9 @@ msgid "%d/%d"
 msgstr "%d/%d"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
-#: qcsrc/menu/xonotic/util.qc:685 qcsrc/menu/xonotic/util.qc:701
-#: qcsrc/menu/xonotic/util.qc:710 qcsrc/menu/xonotic/util.qc:718
-#: qcsrc/menu/xonotic/util.qc:730
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
 msgid "Default"
 msgstr "Por defecto"
 
@@ -4598,7 +4755,7 @@ msgstr "Duración del sangrado:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:60
 msgid "Waypoints"
-msgstr ""
+msgstr "Puntos de paso"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:75
 msgid "Edge offset:"
@@ -4809,10 +4966,6 @@ msgstr "No"
 msgid "Sandbox Tools"
 msgstr "Herramientas de modo libre"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
-msgid "Spawn"
-msgstr "Aparecer"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
 msgid "Remove *"
 msgstr "Remover *"
@@ -4845,10 +4998,6 @@ msgstr "Desadjuntar de *"
 msgid "Visual object properties for *:"
 msgstr "Propiedades visuales del objeto *:"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
-msgid "Set skin:"
-msgstr "Definir apariencia:"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
 msgid "Set alpha:"
 msgstr "Definir transparencia:"
@@ -5481,175 +5630,179 @@ msgid "Client UDP port:"
 msgstr "Puerto UDP del Cliente:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "Use encryption (AES) when available"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
 msgid "Show netgraph"
 msgstr "Mostrar gráfico de red"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
 msgid "Client-side movement prediction"
 msgstr "Predicción de movimento de lado del cliente"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:63
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
 msgid "Movement error compensation"
 msgstr "Compensacion de errores de movimento"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
 msgid "Downloads:"
 msgstr "Descargas:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:70
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:82
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
 msgid "Maximum:"
 msgstr "Máximo:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
 msgid "Speed (kB/s):"
 msgstr "Velocidad (kB/s):"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:79
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
 msgid "Framerate:"
 msgstr "Cuadrops por segundo:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:84
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
 msgid "MAXFPS^5 fps"
 msgstr "5 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:85
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
 msgid "MAXFPS^10 fps"
 msgstr "10 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
 msgid "MAXFPS^20 fps"
 msgstr "30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:87
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
 msgid "MAXFPS^30 fps"
 msgstr "40 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
 msgid "MAXFPS^40 fps"
 msgstr "50 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
 msgid "MAXFPS^50 fps"
 msgstr "50 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
 msgid "MAXFPS^60 fps"
 msgstr "60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
 msgid "MAXFPS^70 fps"
 msgstr "70 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
 msgid "MAXFPS^100 fps"
 msgstr "100 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
 msgid "MAXFPS^125 fps"
 msgstr "125fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
 msgid "MAXFPS^200 fps"
 msgstr "200fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
 msgid "MAXFPS^Unlimited"
 msgstr "Ilimitado"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
 msgid "Target:"
 msgstr "Objetivo:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:101
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
 msgid "TRGT^Disabled"
 msgstr "Deshabilitado"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:102
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
 msgid "TRGT^30 fps"
 msgstr "30fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
 msgid "TRGT^40 fps"
 msgstr "50fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:104
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
 msgid "TRGT^50 fps"
 msgstr "Ilimitado"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
 msgid "TRGT^60 fps"
 msgstr "60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
 msgid "TRGT^100 fps"
 msgstr "100 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
 msgid "TRGT^125 fps"
 msgstr "125 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
 msgid "TRGT^200 fps"
 msgstr "200 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
 msgid "Idle limit:"
 msgstr "Limite de inactividad:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:114
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
 msgid "IDLFPS^10 fps"
 msgstr "10 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:115
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
 msgid "IDLFPS^20 fps"
 msgstr "20 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
 msgid "IDLFPS^30 fps"
 msgstr "30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:117
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
 msgid "IDLFPS^60 fps"
 msgstr "60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
 msgid "IDLFPS^Unlimited"
 msgstr "Ilimitado"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:123
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
 msgid "Show frames per second"
 msgstr "Mostrar cuadros por segundo"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:126
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
 msgid "Save processing time for other apps"
 msgstr "Ahorrar tiempo de procesamiento para otras aplicaciones"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
 msgid "Menu tooltips:"
 msgstr "Mostrar consejos en menu:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:132
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
 msgid "TLTIP^Disabled"
 msgstr "Deshabilitado"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:133
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
 msgid "TLTIP^Standard"
 msgstr "Estandar"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
 msgid "TLTIP^Advanced"
 msgstr "Avanzado"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
 msgid "Show current time"
 msgstr "Mostrar el tiempo actual"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:140
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
 msgid "Show current date"
 msgstr "Mostrar la fecha actual"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
 msgid "Enable developer mode"
 msgstr "Habilitar modo de desarollador"
 
@@ -5673,7 +5826,7 @@ msgstr "Tipo:"
 msgid "Value:"
 msgstr "Valor:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:72
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
 msgid "Description:"
 msgstr "Descripción:"
 
@@ -5701,6 +5854,26 @@ msgstr "Permitir estadistica de jugadores rastrear a su cliente"
 msgid "Allow player statistics to use your nickname"
 msgstr "Permitir estadistica de jugadores usar su sobrenombre"
 
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
 #: qcsrc/menu/xonotic/dialog_settings_video.c:26
 msgid "Resolution:"
 msgstr "Resolución:"
@@ -5951,7 +6124,7 @@ msgstr "rosa"
 msgid "spectate"
 msgstr "espectador"
 
-#: qcsrc/menu/xonotic/mainwindow.c:39 qcsrc/menu/xonotic/mainwindow.c:42
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
 msgid "Do not press this button again!"
 msgstr "¡No vuelva a presionar este boton!"
 
@@ -5983,31 +6156,63 @@ msgstr "espectador"
 msgid "<no model found>"
 msgstr "<ningún modelo encontrado>"
 
-#: qcsrc/menu/xonotic/serverlist.c:190
-msgid "Remove"
-msgstr "Remover"
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:192
-msgid "Bookmark"
-msgstr "Marcador"
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:553
+#: qcsrc/menu/xonotic/serverlist.c:923
 msgid "Ping"
 msgstr "Ping"
 
-#: qcsrc/menu/xonotic/serverlist.c:554
+#: qcsrc/menu/xonotic/serverlist.c:924
 msgid "Host name"
 msgstr "Nombre del Host"
 
-#: qcsrc/menu/xonotic/serverlist.c:555
+#: qcsrc/menu/xonotic/serverlist.c:925
 msgid "Map"
 msgstr "Mapa"
 
-#: qcsrc/menu/xonotic/serverlist.c:556
+#: qcsrc/menu/xonotic/serverlist.c:926
 msgid "Type"
 msgstr "Tipo"
 
-#: qcsrc/menu/xonotic/serverlist.c:557
+#: qcsrc/menu/xonotic/serverlist.c:927
 msgid "Players"
 msgstr "Jugadores"
 
@@ -6030,50 +6235,50 @@ msgstr "DESACTIVADO"
 #: qcsrc/menu/xonotic/slider_decibels.c:81
 #, c-format
 msgid "%d %%"
-msgstr ""
+msgstr "%d %%"
 
 #: qcsrc/menu/xonotic/slider_decibels.c:83
 #, c-format
 msgid "%.1f"
-msgstr ""
+msgstr "%.1f"
 
 #: qcsrc/menu/xonotic/slider_decibels.c:85
 #, c-format
 msgid "%.2f %%"
-msgstr ""
+msgstr "%.2f %%"
 
 #: qcsrc/menu/xonotic/slider_decibels.c:87
 #, c-format
 msgid "%s dB"
 msgstr "%s dB"
 
-#: qcsrc/menu/xonotic/slider_resolution.c:103
+#: qcsrc/menu/xonotic/slider_resolution.c:116
 #, c-format
 msgid "%dx%d (%d:%d)"
-msgstr ""
+msgstr "%dx%d (%d:%d)"
 
-#: qcsrc/menu/xonotic/slider_resolution.c:106
+#: qcsrc/menu/xonotic/slider_resolution.c:119
 #, c-format
 msgid "%dx%d"
 msgstr "%dx%d"
 
-#: qcsrc/menu/xonotic/util.qc:298
+#: qcsrc/menu/xonotic/util.qc:308
 #, c-format
 msgid "error receiving update notification: status is %d\n"
 msgstr "error recibiendo notificación de actualización: el estado es %d\n"
 
-#: qcsrc/menu/xonotic/util.qc:303
+#: qcsrc/menu/xonotic/util.qc:313
 msgid "error: received HTML instead of an update notification\n"
 msgstr ""
 "error: se ha recibido HTML en vez de una notificación de actualización\n"
 
-#: qcsrc/menu/xonotic/util.qc:308
+#: qcsrc/menu/xonotic/util.qc:318
 msgid "error: received carriage returns from update notification server\n"
 msgstr ""
 "error: se recibieron retornos de carro desde el servidor que notifica las "
 "actualizaciones\n"
 
-#: qcsrc/menu/xonotic/util.qc:329
+#: qcsrc/menu/xonotic/util.qc:397
 #, c-format
 msgid ""
 "Update can be downloaded at:\n"
@@ -6082,21 +6287,21 @@ msgstr ""
 "Actualización puede ser descargada en:\n"
 "%s\n"
 
-#: qcsrc/menu/xonotic/util.qc:447
+#: qcsrc/menu/xonotic/util.qc:497
 msgid "Autogenerating mapinfo for newly added maps..."
 msgstr "Generación automática de información para mapas nuevos..."
 
-#: qcsrc/menu/xonotic/util.qc:476
+#: qcsrc/menu/xonotic/util.qc:526
 #, c-format
 msgid "^1%s TEST BUILD"
 msgstr "^1%s TEST BUILD"
 
-#: qcsrc/menu/xonotic/util.qc:491
+#: qcsrc/menu/xonotic/util.qc:541
 #, c-format
 msgid "Update to %s now!"
 msgstr "¡Actualizar para %s ahora!"
 
-#: qcsrc/menu/xonotic/util.qc:576
+#: qcsrc/menu/xonotic/util.qc:626
 msgid ""
 "^1ERROR: Texture compression is required but not supported.\n"
 "^1Expect visual problems.\n"
@@ -6104,11 +6309,11 @@ msgstr ""
 "^1ERROR: Se requiere la compresion de texturas, pero no es soportada.\n"
 "^1Pueden ocurrir posibles problemas visuales.\n"
 
-#: qcsrc/menu/xonotic/util.qc:696
+#: qcsrc/menu/xonotic/util.qc:746
 msgid "Use default"
 msgstr "Usar por defecto"
 
-#: qcsrc/menu/xonotic/util.qc:716
+#: qcsrc/menu/xonotic/util.qc:766
 msgid "Team Color:"
 msgstr "Color del equipo:"
 
index 1aeb97a5d7e0b77c81dd9901e122ecf3fce29ae8..17fb34727deceeeb931a487c704b1dc28d00273b 100644 (file)
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-03 11:55+0200\n"
-"PO-Revision-Date: 2013-10-03 10:08+0000\n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
 "Last-Translator: divVerent <divVerent@xonotic.org>\n"
 "Language-Team: Finnish (http://www.transifex.com/projects/p/xonotic/language/"
 "fi/)\n"
@@ -34,12 +34,7 @@ msgstr ""
 msgid "^4CSQC Build information: ^1%s\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
-#, c-format
-msgid "trying to switch to unsupported team %d\n"
-msgstr ""
-
-#: qcsrc/client/Main.qc:835
+#: qcsrc/client/Main.qc:836
 #, c-format
 msgid ""
 "Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
@@ -57,7 +52,7 @@ msgstr ""
 msgid "%s (%s)"
 msgstr ""
 
-#: qcsrc/client/View.qc:1096
+#: qcsrc/client/View.qc:1165
 msgid "Revival progress"
 msgstr ""
 
@@ -89,213 +84,209 @@ msgstr ""
 msgid "%s (%s %s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:829
+#: qcsrc/client/hud.qc:832
 msgid "Out of ammo"
 msgstr ""
 
-#: qcsrc/client/hud.qc:833
+#: qcsrc/client/hud.qc:836
 msgid "Don't have"
 msgstr ""
 
-#: qcsrc/client/hud.qc:837
+#: qcsrc/client/hud.qc:840
 msgid "Unavailable"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
 #, c-format
 msgid "Player %d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2384
+#: qcsrc/client/hud.qc:2369
 msgid "^1Intermediate 1 (+15.42)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
 #, c-format
 msgid "^1PENALTY: %.1f (%s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2471
+#: qcsrc/client/hud.qc:2456
 #, c-format
 msgid "^2PENALTY: %.1f (%s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2501
+#: qcsrc/client/hud.qc:2486
 msgid "^1You must answer before entering hud configure mode\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2506
+#: qcsrc/client/hud.qc:2491
 msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2586
+#: qcsrc/client/hud.qc:2570
 msgid "A vote has been called for:"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2588
+#: qcsrc/client/hud.qc:2572
 msgid "Allow servers to store and display your name?"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2592
+#: qcsrc/client/hud.qc:2576
 msgid "^1Configure the HUD"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2596
+#: qcsrc/client/hud.qc:2580
 #, c-format
 msgid "Yes (%s): %d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2598
+#: qcsrc/client/hud.qc:2582
 #, c-format
 msgid "No (%s): %d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3169 qcsrc/client/hud.qc:3172 qcsrc/client/hud.qc:3174
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
 msgid "Personal best"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
 msgid "Server best"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3552
+#: qcsrc/client/hud.qc:3528
 msgid "^3Player^7: This is the chat area."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3618
+#: qcsrc/client/hud.qc:3593
 #, c-format
 msgid "FPS: %.*f"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3683
+#: qcsrc/client/hud.qc:3657
 msgid "^1Observing"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
 #, c-format
 msgid "^1Spectating: ^7%s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3693
+#: qcsrc/client/hud.qc:3667
 #, c-format
 msgid "^1Press ^3%s^1 to spectate"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3695
+#: qcsrc/client/hud.qc:3669
 #, c-format
 msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3699
+#: qcsrc/client/hud.qc:3673
 #, c-format
 msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3701
+#: qcsrc/client/hud.qc:3675
 #, c-format
 msgid "^1Press ^3%s^1 to observe"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3704
+#: qcsrc/client/hud.qc:3678
 #, c-format
 msgid "^1Press ^3%s^1 for gamemode info"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3708
-msgid "^1Wait for your turn to join"
-msgstr ""
-
-#: qcsrc/client/hud.qc:3714
+#: qcsrc/client/hud.qc:3686
 msgid "^1Match has already begun"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3688
 msgid "^1You have no more lives left"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
 #, c-format
 msgid "^1Press ^3%s^1 to join"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3701
 #, c-format
 msgid "^1Game starts in ^3%d^1 seconds"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3708
 msgid "^2Currently in ^1warmup^2 stage!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3723
 #, c-format
 msgid "%sPress ^3%s%s to end warmup"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3725
 #, c-format
 msgid "%sPress ^3%s%s once you are ready"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3758
+#: qcsrc/client/hud.qc:3730
 msgid "^2Waiting for others to ready up to end warmup..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3732
 msgid "^2Waiting for others to ready up..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3738
 #, c-format
 msgid "^2Press ^3%s^2 to end warmup"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3759
 msgid "Teamnumbers are unbalanced!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3764
 #, c-format
 msgid " Press ^3%s%s to adjust"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3772
 msgid "^7Press ^3ESC ^7to show HUD options."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3774
 msgid "^3Doubleclick ^7a panel for panel-specific options."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3776
 msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3778
 msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3825
 msgid " qu/s"
-msgstr ""
+msgstr "qu/s"
 
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3829
 msgid " m/s"
-msgstr ""
+msgstr "m/s"
 
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3833
 msgid " km/h"
-msgstr ""
+msgstr "km/h"
 
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3837
 msgid " mph"
-msgstr ""
+msgstr "mph"
 
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3841
 msgid " knots"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4497
 msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
 msgstr ""
 
@@ -344,16 +335,16 @@ msgstr ""
 msgid "Requesting preview...\n"
 msgstr ""
 
-#: qcsrc/client/miscfunctions.qc:98
+#: qcsrc/client/miscfunctions.qc:101
 msgid "Trying to remove a team which is not in the teamlist!"
 msgstr ""
 
-#: qcsrc/client/movetypes.qc:163
+#: qcsrc/client/movetypes.qc:227
 #, c-format
 msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
 
-#: qcsrc/client/movetypes.qc:166
+#: qcsrc/client/movetypes.qc:230
 #, c-format
 msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
@@ -456,7 +447,7 @@ msgstr ""
 
 #: qcsrc/client/scoreboard.qc:43
 msgid "SCO^ping"
-msgstr ""
+msgstr "Viive"
 
 #: qcsrc/client/scoreboard.qc:44
 msgid "SCO^pl"
@@ -494,164 +485,164 @@ msgstr ""
 msgid "SCO^ticks"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:251
+#: qcsrc/client/scoreboard.qc:237
 msgid ""
 "You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:252
+#: qcsrc/client/scoreboard.qc:238
 msgid "^3|---------------------------------------------------------------|\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:253
+#: qcsrc/client/scoreboard.qc:239
 msgid "Usage:\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:254
+#: qcsrc/client/scoreboard.qc:240
 msgid "^2scoreboard_columns_set default\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:255
+#: qcsrc/client/scoreboard.qc:241
 msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:256
+#: qcsrc/client/scoreboard.qc:242
 msgid "The following field names are recognized (case insensitive):\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:257
+#: qcsrc/client/scoreboard.qc:243
 msgid ""
 "You can use a ^3|^7 to start the right-aligned fields.\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:259
+#: qcsrc/client/scoreboard.qc:245
 msgid "^3name^7 or ^3nick^7             Name of a player\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:260
+#: qcsrc/client/scoreboard.qc:246
 msgid "^3ping^7                     Ping time\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:261
+#: qcsrc/client/scoreboard.qc:247
 msgid "^3pl^7                       Packet loss\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:262
+#: qcsrc/client/scoreboard.qc:248
 msgid "^3kills^7                    Number of kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:263
+#: qcsrc/client/scoreboard.qc:249
 msgid "^3deaths^7                   Number of deaths\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:264
+#: qcsrc/client/scoreboard.qc:250
 msgid "^3suicides^7                 Number of suicides\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:265
+#: qcsrc/client/scoreboard.qc:251
 msgid "^3frags^7                    kills - suicides\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:266
+#: qcsrc/client/scoreboard.qc:252
 msgid "^3kd^7                       The kill-death ratio\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:267
+#: qcsrc/client/scoreboard.qc:253
 msgid "^3sum^7                      frags - deaths\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:268
+#: qcsrc/client/scoreboard.qc:254
 msgid ""
 "^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
 "captured\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:269
+#: qcsrc/client/scoreboard.qc:255
 msgid ""
 "^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
 "ball (Keepaway) was picked up\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:270
+#: qcsrc/client/scoreboard.qc:256
 msgid "^3captime^7                  Time of fastest cap (CTF)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:271
+#: qcsrc/client/scoreboard.qc:257
 msgid "^3fckills^7                  Number of flag carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:272
+#: qcsrc/client/scoreboard.qc:258
 msgid "^3returns^7                  Number of flag returns\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:273
+#: qcsrc/client/scoreboard.qc:259
 msgid "^3drops^7                    Number of flag drops\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:274
+#: qcsrc/client/scoreboard.qc:260
 msgid "^3lives^7                    Number of lives (LMS)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:275
+#: qcsrc/client/scoreboard.qc:261
 msgid "^3rank^7                     Player rank\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:276
+#: qcsrc/client/scoreboard.qc:262
 msgid "^3pushes^7                   Number of players pushed into void\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:277
+#: qcsrc/client/scoreboard.qc:263
 msgid ""
 "^3destroyed^7                Number of keys destroyed by pushing them into "
 "void\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:278
+#: qcsrc/client/scoreboard.qc:264
 msgid "^3kckills^7                  Number of keys carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:279
+#: qcsrc/client/scoreboard.qc:265
 msgid "^3losses^7                   Number of times a key was lost\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:280
+#: qcsrc/client/scoreboard.qc:266
 msgid "^3laps^7                     Number of laps finished (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:281
+#: qcsrc/client/scoreboard.qc:267
 msgid "^3time^7                     Total time raced (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:282
+#: qcsrc/client/scoreboard.qc:268
 msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:283
+#: qcsrc/client/scoreboard.qc:269
 msgid "^3ticks^7                    Number of ticks (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:284
+#: qcsrc/client/scoreboard.qc:270
 msgid "^3takes^7                    Number of domination points taken (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:285
+#: qcsrc/client/scoreboard.qc:271
 msgid "^3bckills^7                  Number of ball carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:286
+#: qcsrc/client/scoreboard.qc:272
 msgid ""
 "^3bctime^7                   Total amount of time holding the ball in "
 "Keepaway\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:287
+#: qcsrc/client/scoreboard.qc:273
 msgid ""
 "^3score^7                    Total score\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:289
+#: qcsrc/client/scoreboard.qc:275
 msgid ""
 "Before a field you can put a + or - sign, then a comma separated list\n"
 "of game types, then a slash, to make the field show up only in these\n"
@@ -660,30 +651,30 @@ msgid ""
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:294
+#: qcsrc/client/scoreboard.qc:280
 msgid ""
 "The special game type names 'teams' and 'noteams' can be used to\n"
 "include/exclude ALL teams/noteams game modes.\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:297
+#: qcsrc/client/scoreboard.qc:283
 msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:298
+#: qcsrc/client/scoreboard.qc:284
 msgid ""
 "will display name, ping and pl aligned to the left, and the fields\n"
 "right of the vertical bar aligned to the right.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:300
+#: qcsrc/client/scoreboard.qc:286
 msgid ""
 "'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
 "other gamemodes except DM.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:534 qcsrc/client/scoreboard.qc:541
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
@@ -691,91 +682,95 @@ msgstr ""
 msgid "N/A"
 msgstr "N/A"
 
-#: qcsrc/client/scoreboard.qc:984
+#: qcsrc/client/scoreboard.qc:970
 #, c-format
 msgid "Accuracy stats (average %d%%)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1047
+#: qcsrc/client/scoreboard.qc:1033
 #, c-format
 msgid "%d%%"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1099
 msgid "Map stats:"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1124
 msgid "Secrets found:"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1152
 msgid "Rankings"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1248
 msgid "Scoreboard"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1307
 #, c-format
 msgid "Speed award: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1311
 #, c-format
 msgid "All-time fastest: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1345
 msgid "Spectators"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1352
 #, c-format
-msgid "playing on ^2%s^7"
+msgid "playing ^3%s^7 on ^2%s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
 #, c-format
 msgid " for up to ^1%1.0f minutes^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1364 qcsrc/client/scoreboard.qc:1383
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
 msgid " or"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
 #, c-format
 msgid " until ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1375
-#: qcsrc/client/scoreboard.qc:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
 msgid "SCO^points"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1369 qcsrc/client/scoreboard.qc:1376
-#: qcsrc/client/scoreboard.qc:1388 qcsrc/client/scoreboard.qc:1395
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
 msgid "SCO^is beaten"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
 #, c-format
 msgid " until a lead of ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1419
 #, c-format
 msgid "^1Respawning in ^3%s^1..."
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1429
 #, c-format
 msgid "You are dead, wait ^3%s^7 before respawning"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1438
 #, c-format
 msgid "You are dead, press ^2%s^7 to respawn"
 msgstr ""
@@ -785,7 +780,7 @@ msgstr ""
 msgid "Cannot initialize sound %s\n"
 msgstr ""
 
-#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:591
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
 msgid "Spam"
 msgstr ""
 
@@ -802,209 +797,213 @@ msgstr ""
 msgid "No left gunner!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:254
+#: qcsrc/client/waypointsprites.qc:246
 msgid "Push"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:255
+#: qcsrc/client/waypointsprites.qc:247
 msgid "Destroy"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:256
+#: qcsrc/client/waypointsprites.qc:248
 msgid "Defend"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:257
+#: qcsrc/client/waypointsprites.qc:249
 msgid "Blue base"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:258
+#: qcsrc/client/waypointsprites.qc:250
 msgid "DANGER"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:251
 msgid "Enemy carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:260
+#: qcsrc/client/waypointsprites.qc:252
 msgid "Flag carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:253
 msgid "Dropped flag"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:262
+#: qcsrc/client/waypointsprites.qc:254
 msgid "Help me!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:263
+#: qcsrc/client/waypointsprites.qc:255
 msgid "Here"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:264
+#: qcsrc/client/waypointsprites.qc:256
 msgid "Dropped key"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:267
-#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
-#: qcsrc/client/waypointsprites.qc:270
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
 msgid "Key carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:258
 msgid "Run here"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:263
 msgid "Red base"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:272
+#: qcsrc/client/waypointsprites.qc:264
 msgid "Waypoint"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
-#: qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
 msgid "Generator"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:276 qcsrc/client/waypointsprites.qc:277
-#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
-#: qcsrc/client/waypointsprites.qc:280 qcsrc/client/waypointsprites.qc:281
-#: qcsrc/client/waypointsprites.qc:282 qcsrc/client/waypointsprites.qc:283
-#: qcsrc/client/waypointsprites.qc:307 qcsrc/client/waypointsprites.qc:308
-#: qcsrc/client/waypointsprites.qc:309 qcsrc/client/waypointsprites.qc:310
-#: qcsrc/client/waypointsprites.qc:311
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
 msgid "Control point"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:284
+#: qcsrc/client/waypointsprites.qc:276
 msgid "Checkpoint"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
 msgid "Finish"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
 msgid "Start"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
 msgid "Ball"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:290
+#: qcsrc/client/waypointsprites.qc:283
 msgid "Ball carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
 msgid "Laser"
 msgstr "Laser"
 
-#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
 msgid "Shotgun"
 msgstr "Shotgun"
 
-#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
 msgid "Machine Gun"
 msgstr "Machine Gun"
 
-#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
 msgid "Mortar"
 msgstr "Mortar"
 
-#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
 msgid "Electro"
 msgstr "Electro"
 
-#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
 msgid "Crylink"
 msgstr "Crylink"
 
-#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
 msgid "Nex"
 msgstr "Nex"
 
-#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
 msgid "Hagar"
 msgstr "Hagar"
 
-#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
 msgid "Rocket Launcher"
 msgstr "Rocket Launcher"
 
-#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
 msgid "Port-O-Launch"
 msgstr "Port-O-Launch"
 
-#: qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:294
 msgid "Minstanex"
-msgstr ""
+msgstr "MinstaNex"
 
-#: qcsrc/client/waypointsprites.qc:302
+#: qcsrc/client/waypointsprites.qc:295
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
 msgid "Hook"
 msgstr "Köysi"
 
-#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
 msgid "Fireball"
 msgstr "Fireball"
 
-#: qcsrc/client/waypointsprites.qc:304
+#: qcsrc/client/waypointsprites.qc:297
 msgid "HLAC"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
 msgid "Rifle"
 msgstr "Rifle"
 
-#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
 msgid "Mine Layer"
 msgstr "Mine Layer"
 
-#: qcsrc/client/waypointsprites.qc:312
+#: qcsrc/client/waypointsprites.qc:305
 msgid "Invisibility"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:313
+#: qcsrc/client/waypointsprites.qc:306
 msgid "Extra life"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:314
+#: qcsrc/client/waypointsprites.qc:307
 msgid "Speed"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:315
+#: qcsrc/client/waypointsprites.qc:308
 msgid "Strength"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:316
+#: qcsrc/client/waypointsprites.qc:309
 msgid "Shield"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:317
+#: qcsrc/client/waypointsprites.qc:310
 msgid "Fuel regen"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:318
+#: qcsrc/client/waypointsprites.qc:311
 msgid "Jet Pack"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:319
+#: qcsrc/client/waypointsprites.qc:312
 msgid "Frozen!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:320
+#: qcsrc/client/waypointsprites.qc:313
 msgid "Tagged"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:321
+#: qcsrc/client/waypointsprites.qc:314
 msgid "Vehicle"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:595
+#: qcsrc/client/waypointsprites.qc:588
 #, c-format
 msgid "%s needing help!"
 msgstr ""
@@ -1226,12 +1225,12 @@ msgstr "%drd"
 msgid "%dth"
 msgstr "%dth"
 
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:717
 #, no-c-format
 msgid "@!#%'n Tuba Throwing"
 msgstr "@!#%'n tuubanheitto!"
 
-#: qcsrc/common/mapinfo.qc:1109 qcsrc/menu/xonotic/skinlist.c:166
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
@@ -1245,57 +1244,82 @@ msgid "Last Man Standing"
 msgstr "Viimeiseen mieheen (Last Man Standing)"
 
 #: qcsrc/common/mapinfo.qh:42
-msgid "Arena"
-msgstr "Areena (Arena)"
-
-#: qcsrc/common/mapinfo.qh:45
 msgid "Race"
 msgstr "Kilpailu (RACE)"
 
-#: qcsrc/common/mapinfo.qh:48
+#: qcsrc/common/mapinfo.qh:45
 msgid "Race CTS"
 msgstr "Kilpailu CTS (RACE CTS)"
 
-#: qcsrc/common/mapinfo.qh:51
+#: qcsrc/common/mapinfo.qh:48
 msgid "Team Deathmatch"
 msgstr "Joukkuemättö (Team Deatchmatch)"
 
-#: qcsrc/common/mapinfo.qh:54
+#: qcsrc/common/mapinfo.qh:51
 msgid "Capture the Flag"
 msgstr "Lipunryöstö (CTF)"
 
-#: qcsrc/common/mapinfo.qh:57
+#: qcsrc/common/mapinfo.qh:54
 msgid "Clan Arena"
 msgstr "Klaaniareena (Clan Arena)"
 
-#: qcsrc/common/mapinfo.qh:60
+#: qcsrc/common/mapinfo.qh:57
 msgid "Domination"
 msgstr "Hallinta (Domination)"
 
-#: qcsrc/common/mapinfo.qh:63
+#: qcsrc/common/mapinfo.qh:60
 msgid "Key Hunt"
 msgstr "Avaimenetsintä (Key Hunt)"
 
-#: qcsrc/common/mapinfo.qh:66
+#: qcsrc/common/mapinfo.qh:63
 msgid "Assault"
 msgstr "Rynnäkkö (Assault)"
 
-#: qcsrc/common/mapinfo.qh:69
+#: qcsrc/common/mapinfo.qh:66
 msgid "Onslaught"
 msgstr "Suurtaistelu (Onslaught)"
 
-#: qcsrc/common/mapinfo.qh:72
+#: qcsrc/common/mapinfo.qh:69
 msgid "Nexball"
 msgstr "Nexpallo (Nexball)"
 
-#: qcsrc/common/mapinfo.qh:75
+#: qcsrc/common/mapinfo.qh:72
 msgid "Freeze Tag"
 msgstr "Pakkashippa (Freeze Tag)"
 
-#: qcsrc/common/mapinfo.qh:78
+#: qcsrc/common/mapinfo.qh:75
 msgid "Keepaway"
 msgstr "Pakomatka (Keepaway)"
 
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr ""
+
 #: qcsrc/common/net_notice.qc:89
 msgid "^1Server notices:"
 msgstr "^1Palvelimen ilmoitukset:"
@@ -1306,1772 +1330,1842 @@ msgid "^7%s (^3%d sec left)"
 msgstr "^7%s (^3%d sek jäljellä)"
 
 #: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:343
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:343
+#: qcsrc/common/notifications.qh:344
 #, c-format
 msgid ""
 "^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"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:344
+#: qcsrc/common/notifications.qh:345
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:345
+#: qcsrc/common/notifications.qh:346
 #, c-format
 msgid ""
 "^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"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:346
+#: qcsrc/common/notifications.qh:347
 msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:347
+#: qcsrc/common/notifications.qh:348
 msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:348
+#: qcsrc/common/notifications.qh:349
 msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:349
+#: qcsrc/common/notifications.qh:350
 msgid ""
 "^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
 "base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:350
+#: qcsrc/common/notifications.qh:351
 #, c-format
 msgid ""
 "^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
 "itself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:351
+#: qcsrc/common/notifications.qh:352
 msgid "^BGThe ^TC^TT^BG flag has returned to the base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:352
+#: qcsrc/common/notifications.qh:353
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:353
+#: qcsrc/common/notifications.qh:354
 #, c-format
 msgid "^BG%s^BG got the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:354
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
 #, c-format
 msgid "^BG%s^BG returned the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:355
+#: qcsrc/common/notifications.qh:357
 #, c-format
 msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:356
+#: qcsrc/common/notifications.qh:358
 #, c-format
 msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:357
+#: qcsrc/common/notifications.qh:359
 #, c-format
 msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:359
+#: qcsrc/common/notifications.qh:361
 #, c-format
 msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:360
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:363
 #, c-format
 msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:361
+#: qcsrc/common/notifications.qh:364
 #, c-format
 msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:362
+#: qcsrc/common/notifications.qh:365
 #, c-format
 msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:363
+#: qcsrc/common/notifications.qh:366
 #, c-format
 msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:365
+#: qcsrc/common/notifications.qh:368
 #, c-format
 msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:366
+#: qcsrc/common/notifications.qh:369
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:367
+#: qcsrc/common/notifications.qh:370
 #, c-format
 msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:368
+#: qcsrc/common/notifications.qh:371
 #, c-format
 msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:369
+#: qcsrc/common/notifications.qh:372
 #, c-format
 msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:370
+#: qcsrc/common/notifications.qh:373
 #, c-format
 msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:371
+#: qcsrc/common/notifications.qh:374
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:372
+#: qcsrc/common/notifications.qh:375
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:373
+#: qcsrc/common/notifications.qh:376
 #, c-format
 msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:374
+#: qcsrc/common/notifications.qh:377
 #, c-format
 msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:375
+#: qcsrc/common/notifications.qh:378
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:376
+#: qcsrc/common/notifications.qh:379
 #, c-format
 msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:377
+#: qcsrc/common/notifications.qh:380
 #, c-format
 msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:378
+#: qcsrc/common/notifications.qh:381
 #, c-format
 msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:379
+#: qcsrc/common/notifications.qh:382
 #, c-format
 msgid "^BG%s^K1 was moved into the %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:380
+#: qcsrc/common/notifications.qh:383
 #, c-format
 msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:381
+#: qcsrc/common/notifications.qh:384
 #, c-format
 msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:382
+#: qcsrc/common/notifications.qh:385
 #, c-format
 msgid "^BG%s^K1 unfairly eliminated themself%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:383
+#: qcsrc/common/notifications.qh:386
 #, c-format
 msgid "^BG%s^K1 %s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 couldn't catch their breath%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 was in the water for too long%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a crunch%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 became a bit too crispy%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 felt a little hot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:387
+#: qcsrc/common/notifications.qh:390
 #, c-format
 msgid "^BG%s^K1 died%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 found a hot place%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 turned into hot slag%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:389
+#: qcsrc/common/notifications.qh:392
 #, c-format
 msgid "^BG%s^K1 mastered the art of self-nading%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:393
+#, c-format
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:394
+#, c-format
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:395
+#, c-format
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:396
+#, c-format
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:397
+#, c-format
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:398
+#, c-format
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
 #, c-format
 msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:401
 #, c-format
 msgid "^BG%s^K1 ran out of ammo%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:391
+#: qcsrc/common/notifications.qh:402
 #, c-format
 msgid "^BG%s^K1 rotted away%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:392
+#: qcsrc/common/notifications.qh:403
 #, c-format
 msgid "^BG%s^K1 became a shooting star%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:393
+#: qcsrc/common/notifications.qh:404
 #, c-format
 msgid "^BG%s^K1 was slimed%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:394
+#: qcsrc/common/notifications.qh:405
 #, c-format
 msgid "^BG%s^K1 couldn't take it anymore%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:395
+#: qcsrc/common/notifications.qh:406
 #, c-format
 msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:396
+#: qcsrc/common/notifications.qh:407
 #, c-format
 msgid "^BG%s^K1 switched to the %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:397
+#: qcsrc/common/notifications.qh:408
 #, c-format
 msgid "^BG%s^K1 died in an accident%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:398
+#: qcsrc/common/notifications.qh:409
 #, c-format
 msgid "^BG%s^K1 ran into a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:399
+#: qcsrc/common/notifications.qh:410
 #, c-format
 msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:400
+#: qcsrc/common/notifications.qh:411
 #, c-format
 msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:401
+#: qcsrc/common/notifications.qh:412
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:402
+#: qcsrc/common/notifications.qh:413
 #, c-format
 msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:403
+#: qcsrc/common/notifications.qh:414
 #, c-format
 msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:404
+#: qcsrc/common/notifications.qh:415
 #, c-format
 msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:405
+#: qcsrc/common/notifications.qh:416
 #, c-format
 msgid "^BG%s^K1 was phased out by a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:406
+#: qcsrc/common/notifications.qh:417
 #, c-format
 msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:407
+#: qcsrc/common/notifications.qh:418
 #, c-format
 msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:408
+#: qcsrc/common/notifications.qh:419
 #, c-format
 msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:409
+#: qcsrc/common/notifications.qh:420
 #, c-format
 msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:410
+#: qcsrc/common/notifications.qh:421
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:411
+#: qcsrc/common/notifications.qh:422
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:412
+#: qcsrc/common/notifications.qh:423
 #, c-format
 msgid "^BG%s^K1 was crushed by a vehicle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:413
+#: qcsrc/common/notifications.qh:424
 #, c-format
 msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:414
+#: qcsrc/common/notifications.qh:425
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:415
+#: qcsrc/common/notifications.qh:426
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:416
+#: qcsrc/common/notifications.qh:427
 #, c-format
 msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:417
+#: qcsrc/common/notifications.qh:428
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:418
+#: qcsrc/common/notifications.qh:429
 #, c-format
 msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:419
+#: qcsrc/common/notifications.qh:430
 #, c-format
 msgid "^BG%s^K1 was in the wrong place%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:420
+#: qcsrc/common/notifications.qh:431
 #, c-format
 msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:421
+#: qcsrc/common/notifications.qh:432
 #, c-format
 msgid "^BG%s^K1 was frozen by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:422
+#: qcsrc/common/notifications.qh:433
 #, c-format
 msgid "^BG%s^K3 was revived by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:423
+#: qcsrc/common/notifications.qh:434
 #, c-format
 msgid "^BG%s^K3 was revived by falling"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:424
+#: qcsrc/common/notifications.qh:435
 #, c-format
 msgid "^BG%s^K3 was automatically revived after %s second(s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:425 qcsrc/common/notifications.qh:612
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
 msgid "^TC^TT^BG team wins the round"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:426 qcsrc/common/notifications.qh:613
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
 #, c-format
 msgid "^BG%s^BG wins the round"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:427 qcsrc/common/notifications.qh:542
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
 msgid "^BGRound tied"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:428 qcsrc/common/notifications.qh:543
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
 msgid "^BGRound over, there's no winner"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:429
+#: qcsrc/common/notifications.qh:440
 #, c-format
 msgid "^BG%s^K1 froze themself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:430
+#: qcsrc/common/notifications.qh:441
 #, c-format
 msgid "^BGGodmode saved you %s units of damage, cheater!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:431 qcsrc/common/notifications.qh:616
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
 #, c-format
 msgid "^BGYou do not have the ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:432 qcsrc/common/notifications.qh:617
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
 #, c-format
 msgid "^BGYou dropped the ^F1%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:433 qcsrc/common/notifications.qh:618
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
 #, c-format
 msgid "^BGYou got the ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:434 qcsrc/common/notifications.qh:619
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
 #, c-format
 msgid "^BGYou don't have enough ammo for the ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:435 qcsrc/common/notifications.qh:620
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
 #, c-format
 msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:621
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
 #, c-format
 msgid "^F1%s^BG is ^F4not available^BG on this map"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:437
+#: qcsrc/common/notifications.qh:448
 #, c-format
 msgid "^BG%s^F3 connected%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:438
+#: qcsrc/common/notifications.qh:449
 #, c-format
 msgid "^BG%s^F3 connected and joined the ^TC^TT team"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:439
+#: qcsrc/common/notifications.qh:450
 #, c-format
 msgid "^BG%s^F3 is now playing"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:440 qcsrc/common/notifications.qh:624
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
 #, c-format
 msgid "^BG%s^BG has dropped the ball!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:441 qcsrc/common/notifications.qh:625
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
 #, c-format
 msgid "^BG%s^BG has picked up the ball!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:442
+#: qcsrc/common/notifications.qh:453
 #, c-format
 msgid "^BG%s^BG captured the keys for the ^TC^TT team"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:443
+#: qcsrc/common/notifications.qh:454
 #, c-format
 msgid "^BG%s^BG dropped the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:444
+#: qcsrc/common/notifications.qh:455
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:445
+#: qcsrc/common/notifications.qh:456
 #, c-format
 msgid "^BG%s^BG picked up the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:446
+#: qcsrc/common/notifications.qh:457
 #, c-format
 msgid "^BG%s^F3 forfeited"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:447
+#: qcsrc/common/notifications.qh:458
 #, c-format
 msgid "^BG%s^F3 has no more lives left"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:448
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:460
 #, c-format
 msgid "^BG%s^K1 picked up Invisibility"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:449
+#: qcsrc/common/notifications.qh:461
 #, c-format
 msgid "^BG%s^K1 picked up Shield"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:450
+#: qcsrc/common/notifications.qh:462
 #, c-format
 msgid "^BG%s^K1 picked up Speed"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:451
+#: qcsrc/common/notifications.qh:463
 #, c-format
 msgid "^BG%s^K1 picked up Strength"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:452
+#: qcsrc/common/notifications.qh:464
 #, c-format
 msgid "^BG%s^F3 disconnected"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:453
+#: qcsrc/common/notifications.qh:465
 #, c-format
 msgid "^BG%s^F3 was kicked for idling"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:454
+#: qcsrc/common/notifications.qh:466
 msgid ""
 "^F2You were kicked from the server because you are a spectator and "
 "spectators aren't allowed at the moment."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:455
+#: qcsrc/common/notifications.qh:467
 #, c-format
 msgid "^BG%s^F3 is now spectating"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:456
+#: qcsrc/common/notifications.qh:468
 #, c-format
 msgid "^BG%s^BG has abandoned the race"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:457
+#: qcsrc/common/notifications.qh:469
 #, c-format
 msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:458
+#: qcsrc/common/notifications.qh:470
 #, c-format
 msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:459
+#: qcsrc/common/notifications.qh:471
 #, c-format
 msgid "^BG%s^BG has finished the race"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:460
+#: qcsrc/common/notifications.qh:472
 #, c-format
 msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:461
+#: qcsrc/common/notifications.qh:473
 #, c-format
 msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:462
+#: qcsrc/common/notifications.qh:474
 #, c-format
 msgid ""
 "^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
 "and will be lost."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:463
+#: qcsrc/common/notifications.qh:475
 #, c-format
 msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:464
+#: qcsrc/common/notifications.qh:476
 msgid "^TC^TT ^BGteam scores!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:465
+#: qcsrc/common/notifications.qh:477
 #, c-format
 msgid ""
 "^F2You have to become a player within the next %s, otherwise you will be "
 "kicked, because spectating isn't allowed at this time!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:466
+#: qcsrc/common/notifications.qh:478
 #, c-format
 msgid "^BG%s^K1 picked up a Superweapon"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:467
+#: qcsrc/common/notifications.qh:479
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
 "^F2Xonotic %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:468
+#: qcsrc/common/notifications.qh:480
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:469
+#: qcsrc/common/notifications.qh:481
 #, c-format
 msgid ""
 "^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
 "the update from ^F3http://www.xonotic.org/^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:470
+#: qcsrc/common/notifications.qh:482
 #, c-format
 msgid "^F3SVQC Build information: ^F4%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:471
+#: qcsrc/common/notifications.qh:483
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:472
+#: qcsrc/common/notifications.qh:484
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:473
+#: qcsrc/common/notifications.qh:485
 #, c-format
 msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:474
+#: qcsrc/common/notifications.qh:486
 #, c-format
 msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:475
+#: qcsrc/common/notifications.qh:487
 #, c-format
 msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:476
+#: qcsrc/common/notifications.qh:488
 #, c-format
 msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:477
+#: qcsrc/common/notifications.qh:489
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:478
+#: qcsrc/common/notifications.qh:490
 #, c-format
 msgid "^BG%s^K1 played with Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:479
+#: qcsrc/common/notifications.qh:491
 #, c-format
 msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:480
+#: qcsrc/common/notifications.qh:492
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:481
+#: qcsrc/common/notifications.qh:493
 #, c-format
 msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:482
+#: qcsrc/common/notifications.qh:494
 #, c-format
 msgid "^BG%s^K1 should have used a smaller gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:483
+#: qcsrc/common/notifications.qh:495
 #, c-format
 msgid "^BG%s^K1 forgot about their firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:484
+#: qcsrc/common/notifications.qh:496
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:485
+#: qcsrc/common/notifications.qh:497
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:486
+#: qcsrc/common/notifications.qh:498
 #, c-format
 msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:487
+#: qcsrc/common/notifications.qh:499
 #, c-format
 msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:488
+#: qcsrc/common/notifications.qh:500
 #, c-format
 msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:489
+#: qcsrc/common/notifications.qh:501
 #, c-format
 msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:490
+#: qcsrc/common/notifications.qh:502
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:491
+#: qcsrc/common/notifications.qh:503
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:492
+#: qcsrc/common/notifications.qh:504
 #, c-format
 msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:493
+#: qcsrc/common/notifications.qh:505
 #, c-format
 msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:494
+#: qcsrc/common/notifications.qh:506
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:495
+#: qcsrc/common/notifications.qh:507
 #, c-format
 msgid "^BG%s^K1 forgot about their mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:496
+#: qcsrc/common/notifications.qh:508
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:497
+#: qcsrc/common/notifications.qh:509
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:498
+#: qcsrc/common/notifications.qh:510
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:499
+#: qcsrc/common/notifications.qh:511
 #, c-format
 msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:500
+#: qcsrc/common/notifications.qh:512
 #, c-format
 msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:501
+#: qcsrc/common/notifications.qh:513
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:502
+#: qcsrc/common/notifications.qh:514
 #, c-format
 msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:503
+#: qcsrc/common/notifications.qh:515
 #, c-format
 msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:504
+#: qcsrc/common/notifications.qh:516
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:505
+#: qcsrc/common/notifications.qh:517
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:506
+#: qcsrc/common/notifications.qh:518
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:507
+#: qcsrc/common/notifications.qh:519
 #, c-format
 msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:508
+#: qcsrc/common/notifications.qh:520
 #, c-format
 msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:509
+#: qcsrc/common/notifications.qh:521
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:510
+#: qcsrc/common/notifications.qh:522
 #, c-format
 msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:511
+#: qcsrc/common/notifications.qh:523
 #, c-format
 msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:512
+#: qcsrc/common/notifications.qh:524
 #, c-format
 msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:513
+#: qcsrc/common/notifications.qh:525
 #, c-format
 msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:514
+#: qcsrc/common/notifications.qh:526
 #, c-format
 msgid "^BG%s^K1 is now thinking with portals%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:515
+#: qcsrc/common/notifications.qh:527
 #, c-format
 msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:516
+#: qcsrc/common/notifications.qh:528
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:517
+#: qcsrc/common/notifications.qh:529
 #, c-format
 msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:518
+#: qcsrc/common/notifications.qh:530
 #, c-format
 msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:536
+#: qcsrc/common/notifications.qh:548
 msgid "^BGYou are attacking!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:537
+#: qcsrc/common/notifications.qh:549
 msgid "^BGYou are defending!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:538
+#: qcsrc/common/notifications.qh:550
 msgid "^F4Begin!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:539
+#: qcsrc/common/notifications.qh:551
 msgid "^F4Game starts in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:540
+#: qcsrc/common/notifications.qh:552
 msgid "^F4Round starts in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:541
+#: qcsrc/common/notifications.qh:553
 msgid "^F4Round cannot start"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:544
+#: qcsrc/common/notifications.qh:556
 msgid "^F2Don't camp!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:545
+#: qcsrc/common/notifications.qh:557
 msgid ""
 "^BGYou are now free.\n"
 "^BGFeel free to ^F2try to capture^BG the flag again\n"
 "^BGif you think you will succeed."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:546
+#: qcsrc/common/notifications.qh:558
 msgid ""
 "^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."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:547
+#: qcsrc/common/notifications.qh:559
 msgid "^BGYou captured the ^TC^TT^BG flag!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:548
+#: qcsrc/common/notifications.qh:560
 #, c-format
 msgid "^BGToo many flag throws! Throwing disabled for %s."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:549
+#: qcsrc/common/notifications.qh:561
 #, c-format
 msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:550
+#: qcsrc/common/notifications.qh:562
 #, c-format
 msgid "^BGYou received the ^TC^TT^BG flag from %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:551
+#: qcsrc/common/notifications.qh:563
 #, c-format
 msgid "^BG%s^BG requests you to pass the flag%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:552
+#: qcsrc/common/notifications.qh:564
 #, c-format
 msgid "^BGRequesting %s^BG to pass you the flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:553
+#: qcsrc/common/notifications.qh:565
 #, c-format
 msgid "^BGYou passed the ^TC^TT^BG flag to %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:554
+#: qcsrc/common/notifications.qh:566
 msgid "^BGYou got the ^TC^TT^BG flag!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:555
+#: qcsrc/common/notifications.qh:567
 #, c-format
 msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:556
+#: qcsrc/common/notifications.qh:568
 #, c-format
 msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:557
+#: qcsrc/common/notifications.qh:569
 #, c-format
 msgid "^BGYour %steam mate^BG got the flag! Protect them!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:558
+#: qcsrc/common/notifications.qh:570
 #, c-format
 msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:559
+#: qcsrc/common/notifications.qh:571
 msgid "^BGYou returned the ^TC^TT^BG flag!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:560
+#: qcsrc/common/notifications.qh:572
 msgid "^BGStalemate! Enemies can now see you on radar!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:561
+#: qcsrc/common/notifications.qh:573
 msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou fragged ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou scored against ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou fragged ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou scored against ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:570
+#: qcsrc/common/notifications.qh:582
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:571
+#: qcsrc/common/notifications.qh:583
 #, c-format
 msgid ""
 "^BGYou have been moved into a different team\n"
 "You are now on: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't go against your team mates!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't shoot your team mates!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Die camper!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Reconsider your tactics, camper!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:574
+#: qcsrc/common/notifications.qh:586
 msgid "^K1You unfairly eliminated yourself!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:575
+#: qcsrc/common/notifications.qh:587
 #, c-format
 msgid "^K1You were %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:576
+#: qcsrc/common/notifications.qh:588
 msgid "^K1You couldn't catch your breath!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:577
+#: qcsrc/common/notifications.qh:589
 msgid "^K1You hit the ground with a crunch!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You felt a little too hot!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You got a little bit too crispy!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You killed your own dumb self!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You need to be more careful!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:580
+#: qcsrc/common/notifications.qh:592
 msgid "^K1You couldn't stand the heat!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
 msgid "^K1Tastes like chicken!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:594
 msgid "^K1You forgot to put the pin back in!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You are respawning for running out of ammo..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You were killed for running out of ammo..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You grew too old without taking your medicine"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You need to preserve your health"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:584
+#: qcsrc/common/notifications.qh:597
 msgid "^K1You became a shooting star!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:585
+#: qcsrc/common/notifications.qh:598
 msgid "^K1You melted away in slime!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You committed suicide!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You ended it all!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:587
+#: qcsrc/common/notifications.qh:600
 msgid "^K1You got stuck in a swamp!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:588
+#: qcsrc/common/notifications.qh:601
 #, c-format
 msgid "^BGYou are now on: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:589
+#: qcsrc/common/notifications.qh:602
 msgid "^K1You died in an accident!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You had an unfortunate run in with a turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You were fragged by a turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You had an unfortunate run in with an eWheel turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You were fragged by an eWheel turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You had an unfortunate run in with a Walker turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You were fragged by a Walker turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:593
+#: qcsrc/common/notifications.qh:606
 msgid "^K1You got caught in the blast of a Bumblebee explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:594
+#: qcsrc/common/notifications.qh:607
 msgid "^K1You were crushed by a vehicle!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:595
+#: qcsrc/common/notifications.qh:608
 msgid "^K1You were caught in a Raptor cluster bomb!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:596
+#: qcsrc/common/notifications.qh:609
 msgid "^K1You got caught in the blast of a Raptor explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:597
+#: qcsrc/common/notifications.qh:610
 msgid "^K1You got caught in the blast of a Spiderbot explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:598
+#: qcsrc/common/notifications.qh:611
 msgid "^K1You were blasted to bits by a Spiderbot rocket!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:599
+#: qcsrc/common/notifications.qh:612
 msgid "^K1You got caught in the blast of a Racer explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:600
+#: qcsrc/common/notifications.qh:613
 msgid "^K1You couldn't find shelter from a Racer rocket!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:601
+#: qcsrc/common/notifications.qh:614
 msgid "^K1Watch your step!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were fragged by ^BG%s^K1, a team mate"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were scored against by ^BG%s^K1, a team mate"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:604
+#: qcsrc/common/notifications.qh:617
 msgid ""
 "^K1Stop idling!\n"
 "^BGDisconnecting in ^COUNT..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:605
+#: qcsrc/common/notifications.qh:618
 msgid "^F2You picked up some extra lives"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:606
+#: qcsrc/common/notifications.qh:619
 #, c-format
 msgid "^K3You froze ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:607
+#: qcsrc/common/notifications.qh:620
 #, c-format
 msgid "^K1You were frozen by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:608
+#: qcsrc/common/notifications.qh:621
 #, c-format
 msgid "^K3You revived ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:609
+#: qcsrc/common/notifications.qh:622
 msgid "^K3You revived yourself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:610
+#: qcsrc/common/notifications.qh:623
 #, c-format
 msgid "^K3You were revived by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:611
+#: qcsrc/common/notifications.qh:624
 #, c-format
 msgid "^K3You were automatically revived after %s second(s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:614
+#: qcsrc/common/notifications.qh:627
 msgid "^K1You froze yourself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:615
+#: qcsrc/common/notifications.qh:628
 msgid "^K1Round already started, you spawn as frozen"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:622
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:636
 msgid ""
 "^K1No spawnpoints available!\n"
 "Hope your team can fix it..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:623
+#: qcsrc/common/notifications.qh:637
 msgid ""
 "^K1You may not join the game at this time.\n"
 "The player limit reached maximum capacity."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:626
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
 msgid "^BGKilling people while you don't have the ball gives no points!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:642
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Help the key carriers to meet!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:628
+#: qcsrc/common/notifications.qh:643
 msgid ""
 "^BGAll keys are in ^TC^TT team^BG's hands!\n"
 "Interfere ^F4NOW^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:629
+#: qcsrc/common/notifications.qh:644
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Meet the other key carriers ^F4NOW^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:630
+#: qcsrc/common/notifications.qh:645
 msgid "^F4Round will start in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:646
 msgid "^BGScanning frequency range..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:647
 msgid "^BGYou are starting with the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
 #, c-format
 msgid ""
 "^BGWaiting for players to join...\n"
 "Need active players for: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:650
 #, c-format
 msgid "^BGWaiting for %s player(s) to join..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:651
 msgid "^F4^COUNT^BG left to find some ammo!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:653
 #, c-format
 msgid "^F2Extra lives remaining: ^K1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:654
 msgid "^BGSecondary fire inflicts no damage!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:655
 #, c-format
 msgid "^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:656
 #, c-format
 msgid ""
 "^F2^COUNT^BG until weapon change...\n"
 "Next weapon: ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:657
 #, c-format
 msgid "^F2Active weapon: ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:658
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep fragging until we have a winner!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep scoring until we have a winner!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:660
 #, c-format
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "^BGAdded ^F4%s^BG to the game!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:646
+#: qcsrc/common/notifications.qh:661
 msgid "^F2Invisibility has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:662
 msgid "^F2Shield has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:663
 msgid "^F2Speed has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:664
 msgid "^F2Strength has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:665
 msgid "^F2You are invisible"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:666
 msgid "^F2Shield surrounds you"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:667
 msgid "^F2You are on speed"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:668
 msgid "^F2Strength infuses your weapons with devastating power"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:669
 msgid "^F2The race is over, finish your lap!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:670
 msgid "^F2Superweapons have broken down"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:671
 msgid "^F2Superweapons have been lost"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:672
 msgid "^F2You now have a superweapon"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:673
 msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:674
 msgid "^K1Changing team in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:675
 msgid "^K1Spectating in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:676
 msgid "^K1Suicide in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:677
 msgid "^F4Timeout begins in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:678
 msgid "^F4Timeout ends in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
 #, c-format
 msgid " (near %s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "primary"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "secondary"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:980
 #, c-format
 msgid " ^F1(Press %s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:989
 #, c-format
 msgid " with %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 msgid "TRIPLE FRAG! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 unlocked RAGE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 msgid "RAGE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 started a MASSACRE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 msgid "MASSACRE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 executed MAYHEM! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 msgid "MAYHEM! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 is a BERSERKER! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 msgid "BERSERKER! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 inflicts CARNAGE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 msgid "CARNAGE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 msgid "ARMAGEDDON! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1010
 #, c-format
 msgid "%s(^F1Bot^BG)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1012
 #, c-format
 msgid "%s(Ping ^F1%d^BG)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1018
 #, c-format
 msgid ""
 "\n"
 "(Health ^1%d^BG / Armor ^2%d^BG)%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1020
 #, c-format
 msgid ""
 "\n"
 "(^F4Dead^BG)%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
 #, c-format
 msgid "%d score spree! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1069
 #, c-format
 msgid "%d frag spree! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First blood! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First score! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First casualty! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First victim! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1127
 #, c-format
 msgid "%s^K1 has %d frags in a row! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1128
 #, c-format
 msgid "%s^K1 made %d scores in a row! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1146
 #, c-format
 msgid "%s^K1 drew first blood! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1147
 #, c-format
 msgid "%s^K1 got the first score! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1163
 #, c-format
 msgid ", ending their %d frag spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1164
 #, c-format
 msgid ", ending their %d score spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1178
 #, c-format
 msgid ", losing their %d frag spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1179
 #, c-format
 msgid ", losing their %d score spree"
 msgstr ""
@@ -3112,11 +3206,11 @@ msgstr "  sync - uudelleenlataa kaikki cvar-muuttujat nykyiseen valikkoon\n"
 msgid "  directmenu ITEM - select a menu item as main item\n"
 msgstr "  directmenu ITEM - valitse valikon kohta pääkohdaksi\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:62
+#: qcsrc/menu/command/menu_cmd.qc:68
 msgid "Available options:\n"
 msgstr "Mahdolliset vaihtoehdot:\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:113
+#: qcsrc/menu/command/menu_cmd.qc:119
 msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
 msgstr ""
 "Komentoa ei löydy. Saadaksesi listan kaikista tuetuista komennoista, kokeile "
@@ -3127,7 +3221,7 @@ msgstr ""
 msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
 msgstr "HUOM: tekstikentän teksti %s on liian pitkä, joten se lyhennetään %f\n"
 
-#: qcsrc/menu/item/listbox.c:302
+#: qcsrc/menu/item/listbox.c:382
 #, c-format
 msgid "Item %d"
 msgstr "Esine %d"
@@ -3156,23 +3250,27 @@ msgstr "???"
 msgid "Level %d: %s"
 msgstr "Taso %d: %s"
 
-#: qcsrc/menu/xonotic/cvarlist.c:85
-msgid "will be saved to config.cfg"
-msgstr "tallennetaan config.cfg-tiedostoon"
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr ""
 
-#: qcsrc/menu/xonotic/cvarlist.c:87
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
 msgid "will not be saved"
 msgstr "ei tallenneta"
 
-#: qcsrc/menu/xonotic/cvarlist.c:89
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr "tallennetaan config.cfg-tiedostoon"
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
 msgid "private"
 msgstr "yksityinen"
 
-#: qcsrc/menu/xonotic/cvarlist.c:91
+#: qcsrc/menu/xonotic/cvarlist.c:95
 msgid "engine setting"
 msgstr "pelimoottorin asetus"
 
-#: qcsrc/menu/xonotic/cvarlist.c:93
+#: qcsrc/menu/xonotic/cvarlist.c:97
 msgid "read only"
 msgstr "vain luku"
 
@@ -3181,6 +3279,7 @@ msgid "Credits"
 msgstr "Tekijät"
 
 #: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
@@ -3189,7 +3288,7 @@ msgstr "Tekijät"
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:77
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
 #: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
 msgid "OK"
 msgstr "OK"
@@ -3198,7 +3297,7 @@ msgstr "OK"
 msgid "Welcome"
 msgstr "Tervetuloa"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:40
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
 msgid ""
 "Welcome to Xonotic, please select your language preference and enter your "
 "player name to get started.  You can change these options later through the "
@@ -3208,34 +3307,34 @@ msgstr ""
 "aloittaaksesi. Voit vaihtaa näitä asetuksia jälkikäteen pelin "
 "asetusvalikosta."
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
 msgid "Name:"
 msgstr "Nimi:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:68
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
 #: qcsrc/menu/xonotic/dialog_settings_user.c:65
 msgid "Text language:"
 msgstr "Tekstin kieli:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
 msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
 msgstr "Salli pelinimesi käyttö pelaajatilastosivulla stats.xonotic.org?"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
 msgid "ALWU2N^Yes"
 msgstr "ALWU2N^Kyllä"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
 msgid "ALWU2N^No"
 msgstr "ALWU2N^Ei"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
 msgid "ALWU2N^Undecided"
 msgstr "ALWU2N^En osaa päättää"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
 msgid "Save settings"
 msgstr "Tallenna asetukset"
 
@@ -3553,7 +3652,7 @@ msgstr "Tutka:"
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
-#: qcsrc/menu/xonotic/util.qc:708
+#: qcsrc/menu/xonotic/util.qc:758
 msgid "Alpha:"
 msgstr "Alpha:"
 
@@ -3735,24 +3834,24 @@ msgstr "Paneelin näkymän asetukset"
 msgid "Panel background defaults:"
 msgstr "Paneelin taustan perusasetukset:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:683
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
 msgid "Background:"
 msgstr "Tausta:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:686
-#: qcsrc/menu/xonotic/util.qc:702 qcsrc/menu/xonotic/util.qc:719
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
 msgid "Disable"
 msgstr "Pois päältä"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:691
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
 msgid "Color:"
 msgstr "Väri:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:699
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
 msgid "Border size:"
 msgstr "Reunan koko:"
 
@@ -3761,11 +3860,11 @@ msgstr "Reunan koko:"
 msgid "Team color:"
 msgstr "Joukkueen väri:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:725
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
 msgid "Test team color in configure mode"
 msgstr "Kokeile joukkueen väriä muokkaustilassa"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:728
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
 msgid "Padding:"
 msgstr "Pehmustus:"
 
@@ -3813,6 +3912,53 @@ msgstr "Y:"
 msgid "Exit setup"
 msgstr "Poistu asetuksista"
 
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr "Luo"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr "Poista"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr "Aseta iho:"
+
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:4
 msgid "Multiplayer"
 msgstr "Moninpeli"
@@ -3854,6 +4000,7 @@ msgstr "Käytä kartan omaa oletusarvoa"
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
 msgid "Point limit:"
 msgstr "Pisteraja:"
 
@@ -3918,7 +4065,7 @@ msgid "Mutators..."
 msgstr "Muokkaukset..."
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
 msgid "Advanced settings..."
 msgstr "Edistyneet asetukset..."
 
@@ -3954,7 +4101,7 @@ msgstr "Kierrokset:"
 msgid "Goals:"
 msgstr "Maalit:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
 msgid "Frag limit:"
 msgstr "Tapporaja:"
 
@@ -4254,27 +4401,31 @@ msgid "Join"
 msgstr "Liity"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
 msgid "SRVS^Empty"
 msgstr "SRVS^Tyhjä"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:37
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
 msgid "SRVS^Full"
 msgstr "SRVS^Täynnä"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:41
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
 msgid "Pause"
 msgstr "Keskeytä"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:53
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
 msgid "Address:"
 msgstr "Osoite:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:64
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
 msgid "Info..."
 msgstr "Tietoa..."
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:69
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
 msgid "Join!"
 msgstr "Liity!"
@@ -4289,9 +4440,9 @@ msgid "%d/%d"
 msgstr "%d/%d"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
-#: qcsrc/menu/xonotic/util.qc:685 qcsrc/menu/xonotic/util.qc:701
-#: qcsrc/menu/xonotic/util.qc:710 qcsrc/menu/xonotic/util.qc:718
-#: qcsrc/menu/xonotic/util.qc:730
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
 msgid "Default"
 msgstr "Perusasetus"
 
@@ -4770,10 +4921,6 @@ msgstr "Ei"
 msgid "Sandbox Tools"
 msgstr "Hiekkalaatikon työkalut"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
-msgid "Spawn"
-msgstr "Luo"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
 msgid "Remove *"
 msgstr "Poista *"
@@ -4806,10 +4953,6 @@ msgstr "Irrota *:stä"
 msgid "Visual object properties for *:"
 msgstr "Esineen *:n visuaaliset ominaisuudet:"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
-msgid "Set skin:"
-msgstr "Aseta iho:"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
 msgid "Set alpha:"
 msgstr "Aseta läpinäkyvyys:"
@@ -5441,175 +5584,179 @@ msgid "Client UDP port:"
 msgstr "Asiakkaan UDP portti"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "Use encryption (AES) when available"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
 msgid "Show netgraph"
 msgstr "Näytä verkkograafi"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
 msgid "Client-side movement prediction"
 msgstr "Asiakasohjelman liikkeen ennustus"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:63
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
 msgid "Movement error compensation"
 msgstr "Liikkeen virhekompensaatio"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
 msgid "Downloads:"
 msgstr "Lataukset:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:70
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:82
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
 msgid "Maximum:"
 msgstr "Maksimi:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
 msgid "Speed (kB/s):"
 msgstr "Nopeus (kb/s)"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:79
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
 msgid "Framerate:"
 msgstr "Ruudunpäivitysnopeus:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:84
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
 msgid "MAXFPS^5 fps"
 msgstr "MAXFPS^5 fps "
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:85
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
 msgid "MAXFPS^10 fps"
 msgstr "MAXFPS^10 fps "
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
 msgid "MAXFPS^20 fps"
 msgstr "MAXFPS^20 fps "
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:87
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
 msgid "MAXFPS^30 fps"
 msgstr "MAXFPS^30 fps "
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
 msgid "MAXFPS^40 fps"
 msgstr "MAXFPS^40 fps "
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
 msgid "MAXFPS^50 fps"
 msgstr "MAXFPS^50 fps "
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
 msgid "MAXFPS^60 fps"
 msgstr "MAXFPS^60 fps "
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
 msgid "MAXFPS^70 fps"
 msgstr "MAXFPS^70 fps "
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
 msgid "MAXFPS^100 fps"
 msgstr "MAXFPS^100 fps "
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
 msgid "MAXFPS^125 fps"
 msgstr "MAXFPS^125 fps "
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
 msgid "MAXFPS^200 fps"
 msgstr "MAXFPS^200 fps "
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
 msgid "MAXFPS^Unlimited"
 msgstr "MAXFPS^Rajaton "
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
 msgid "Target:"
 msgstr "Kohde:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:101
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
 msgid "TRGT^Disabled"
 msgstr "TRGT^Pois päältä"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:102
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
 msgid "TRGT^30 fps"
 msgstr "TRGT^30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
 msgid "TRGT^40 fps"
 msgstr "TRGT^40 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:104
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
 msgid "TRGT^50 fps"
 msgstr "TRGT^50 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
 msgid "TRGT^60 fps"
 msgstr "TRGT^60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
 msgid "TRGT^100 fps"
 msgstr "TRGT^100 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
 msgid "TRGT^125 fps"
 msgstr "TRGT^125 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
 msgid "TRGT^200 fps"
 msgstr "TRGT^200 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
 msgid "Idle limit:"
 msgstr "Aikaraja"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:114
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
 msgid "IDLFPS^10 fps"
 msgstr "IDLFPS^10 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:115
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
 msgid "IDLFPS^20 fps"
 msgstr "IDLFPS^20 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
 msgid "IDLFPS^30 fps"
 msgstr "IDLFPS^30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:117
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
 msgid "IDLFPS^60 fps"
 msgstr "IDLFPS^60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
 msgid "IDLFPS^Unlimited"
 msgstr "IDLFPS^Rajaton"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:123
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
 msgid "Show frames per second"
 msgstr "Näytä ruudunpäivitysnopeus (FPS)"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:126
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
 msgid "Save processing time for other apps"
 msgstr "Jätä laskenta-aikaa muille sovelluksille"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
 msgid "Menu tooltips:"
 msgstr "Päävalikon työkaluvihjeet:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:132
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
 msgid "TLTIP^Disabled"
 msgstr "TLTIP^Pois päältä"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:133
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
 msgid "TLTIP^Standard"
 msgstr "TLTIP^Vakio"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
 msgid "TLTIP^Advanced"
 msgstr "TLTIP^Kehittynyt"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
 msgid "Show current time"
 msgstr "Näytä nykyinen kellonaika"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:140
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
 msgid "Show current date"
 msgstr "Näytä nykyinen päivämäärä"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
 msgid "Enable developer mode"
 msgstr "Ota kehittäjätila käyttöön"
 
@@ -5633,7 +5780,7 @@ msgstr "Tyyppi:"
 msgid "Value:"
 msgstr "Arvo:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:72
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
 msgid "Description:"
 msgstr "Kuvaus:"
 
@@ -5661,6 +5808,26 @@ msgstr "Salli pelaajatilastojen seuraavan peliasennustasi"
 msgid "Allow player statistics to use your nickname"
 msgstr "Salli pelaajatilastojen käyttävän pelinimeäsi"
 
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
 #: qcsrc/menu/xonotic/dialog_settings_video.c:26
 msgid "Resolution:"
 msgstr "Näytön tarkkuus:"
@@ -5911,7 +6078,7 @@ msgstr "pinkki"
 msgid "spectate"
 msgstr "seuraa sivusta"
 
-#: qcsrc/menu/xonotic/mainwindow.c:39 qcsrc/menu/xonotic/mainwindow.c:42
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
 msgid "Do not press this button again!"
 msgstr "Älä paina enää näppäintä!"
 
@@ -5943,31 +6110,63 @@ msgstr "katsoja"
 msgid "<no model found>"
 msgstr "<mallia ei löytynyt>"
 
-#: qcsrc/menu/xonotic/serverlist.c:190
-msgid "Remove"
-msgstr "Poista"
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:192
-msgid "Bookmark"
-msgstr "Kirjanmerkki"
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:553
+#: qcsrc/menu/xonotic/serverlist.c:923
 msgid "Ping"
 msgstr "Viive"
 
-#: qcsrc/menu/xonotic/serverlist.c:554
+#: qcsrc/menu/xonotic/serverlist.c:924
 msgid "Host name"
 msgstr "Palvelimen nimi"
 
-#: qcsrc/menu/xonotic/serverlist.c:555
+#: qcsrc/menu/xonotic/serverlist.c:925
 msgid "Map"
 msgstr "Kartta"
 
-#: qcsrc/menu/xonotic/serverlist.c:556
+#: qcsrc/menu/xonotic/serverlist.c:926
 msgid "Type"
 msgstr "Tyyppi"
 
-#: qcsrc/menu/xonotic/serverlist.c:557
+#: qcsrc/menu/xonotic/serverlist.c:927
 msgid "Players"
 msgstr "Pelaajat"
 
@@ -6007,30 +6206,30 @@ msgstr ""
 msgid "%s dB"
 msgstr "%s dB"
 
-#: qcsrc/menu/xonotic/slider_resolution.c:103
+#: qcsrc/menu/xonotic/slider_resolution.c:116
 #, c-format
 msgid "%dx%d (%d:%d)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/slider_resolution.c:106
+#: qcsrc/menu/xonotic/slider_resolution.c:119
 #, c-format
 msgid "%dx%d"
 msgstr "%dx%d"
 
-#: qcsrc/menu/xonotic/util.qc:298
+#: qcsrc/menu/xonotic/util.qc:308
 #, c-format
 msgid "error receiving update notification: status is %d\n"
 msgstr "virhe vastaanottaessa päivitystiedotetta: tilanne %d\n"
 
-#: qcsrc/menu/xonotic/util.qc:303
+#: qcsrc/menu/xonotic/util.qc:313
 msgid "error: received HTML instead of an update notification\n"
 msgstr "virhe: vastaanotettiin HTML päivitystiedotteen asemesta\n"
 
-#: qcsrc/menu/xonotic/util.qc:308
+#: qcsrc/menu/xonotic/util.qc:318
 msgid "error: received carriage returns from update notification server\n"
 msgstr "virhe: vastaanotettiin tyhjää dataa päivitystiedotepalvelimelta\n"
 
-#: qcsrc/menu/xonotic/util.qc:329
+#: qcsrc/menu/xonotic/util.qc:397
 #, c-format
 msgid ""
 "Update can be downloaded at:\n"
@@ -6039,22 +6238,22 @@ msgstr ""
 "Päivitys on ladattavissa:\n"
 "%s\n"
 
-#: qcsrc/menu/xonotic/util.qc:447
+#: qcsrc/menu/xonotic/util.qc:497
 msgid "Autogenerating mapinfo for newly added maps..."
 msgstr ""
 "Luodaan automaattisesti karttatietoja vastikään lisätyille kartoille..."
 
-#: qcsrc/menu/xonotic/util.qc:476
+#: qcsrc/menu/xonotic/util.qc:526
 #, c-format
 msgid "^1%s TEST BUILD"
 msgstr "^1%s TESTIVERSIO"
 
-#: qcsrc/menu/xonotic/util.qc:491
+#: qcsrc/menu/xonotic/util.qc:541
 #, c-format
 msgid "Update to %s now!"
 msgstr "Päivitä versioon %s nyt!"
 
-#: qcsrc/menu/xonotic/util.qc:576
+#: qcsrc/menu/xonotic/util.qc:626
 msgid ""
 "^1ERROR: Texture compression is required but not supported.\n"
 "^1Expect visual problems.\n"
@@ -6062,11 +6261,11 @@ msgstr ""
 "^1VIRHE: Tekstuurien pakkaus vaaditaan mutta ei ole tuettuna.\n"
 "^1Grafiikkavirheitä odotettavissa.\n"
 
-#: qcsrc/menu/xonotic/util.qc:696
+#: qcsrc/menu/xonotic/util.qc:746
 msgid "Use default"
 msgstr "Käytä perusasetusta"
 
-#: qcsrc/menu/xonotic/util.qc:716
+#: qcsrc/menu/xonotic/util.qc:766
 msgid "Team Color:"
 msgstr "Joukkueen väri"
 
index 308fb25d085dd8a0a157675e3363964d343d66db..a8909ffab136879ba8fb58c29ce38e2efd0dbe3a 100644 (file)
@@ -3,16 +3,21 @@
 # This file is distributed under the same license as the PACKAGE package.
 #
 # Translators:
+# Calinou, 2013-2014
 # Calinou <calinou9999@gmail.com>, 2012
+# Calinou, 2014
 # Maxime Paradis <taximus.micro@gmail.com>, 2011
+# RedGuff <domsau2@yahoo.fr>, 2014
 # SpiKe <leguen.yannick@gmail.com>, 2013
+# Calinou, 2013
+# SpiKe <leguen.yannick@gmail.com>, 2013-2014
 msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-03 11:55+0200\n"
-"PO-Revision-Date: 2013-10-04 10:11+0000\n"
-"Last-Translator: SpiKe <leguen.yannick@gmail.com>\n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
+"Last-Translator: divVerent <divVerent@xonotic.org>\n"
 "Language-Team: French (http://www.transifex.com/projects/p/xonotic/language/"
 "fr/)\n"
 "Language: fr\n"
@@ -23,35 +28,30 @@ msgstr ""
 
 #: qcsrc/client/Main.qc:21
 msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!"
-msgstr "ERREUR - LE MENU EST VISIBLE MAIS NON DÉFIINI !"
+msgstr "ERREUR - LE MENU EST VISIBLE MAIS AUCUN MENU N'A ÉTÉ DÉFINI !"
 
 #: qcsrc/client/Main.qc:46
 msgid ""
 "^3Your engine build is outdated\n"
 "^3This Server uses a newer QC VM. Please update!\n"
 msgstr ""
-"^3Votre version n'est pas à jour\n"
-"^3Ce Serveur utilise une nouvelle version du QC VM. Veuillez mettre à "
+"^3Votre version du moteur est obsolète\n"
+"^3Ce Serveur utilise une nouvelle version de QC VM. Veuillez vous mettre à "
 "jour !\n"
 
 #: qcsrc/client/Main.qc:56
 #, c-format
 msgid "^4CSQC Build information: ^1%s\n"
-msgstr "^4Information sur la version de CSQC: ^1%s\n"
+msgstr "^4Informations de version pour CSQC : ^1%s\n"
 
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
-#, c-format
-msgid "trying to switch to unsupported team %d\n"
-msgstr "tentative de changement vers une équipe non supportée : %d\n"
-
-#: qcsrc/client/Main.qc:835
+#: qcsrc/client/Main.qc:836
 #, c-format
 msgid ""
 "Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
 "%s)\n"
 msgstr ""
-"Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
-"%s)\n"
+"Type d'entité inconnu dans CSQC_Ent_Update (enttype: %d, edict: %d, "
+"classname: %s)\n"
 
 #: qcsrc/client/Main.qc:1295
 #, c-format
@@ -64,9 +64,9 @@ msgstr "%s (non assigné)"
 msgid "%s (%s)"
 msgstr "%s (%s)"
 
-#: qcsrc/client/View.qc:1096
+#: qcsrc/client/View.qc:1165
 msgid "Revival progress"
-msgstr "Regénération en cours"
+msgstr "Dégel en cours"
 
 #: qcsrc/client/hud.qc:186
 #, c-format
@@ -96,242 +96,236 @@ msgstr "Intermédiaire %d"
 msgid "%s (%s %s)"
 msgstr "%s (%s %s)"
 
-#: qcsrc/client/hud.qc:829
+#: qcsrc/client/hud.qc:832
 msgid "Out of ammo"
-msgstr "Plus de munitions"
+msgstr "À court de munition"
 
-#: qcsrc/client/hud.qc:833
+#: qcsrc/client/hud.qc:836
 msgid "Don't have"
-msgstr "Ne possède pas"
+msgstr "Pas en votre possession"
 
-#: qcsrc/client/hud.qc:837
+#: qcsrc/client/hud.qc:840
 msgid "Unavailable"
-msgstr "Non disponible"
+msgstr "Indisponible"
 
-#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
 #, c-format
 msgid "Player %d"
 msgstr "Joueur %d"
 
-#: qcsrc/client/hud.qc:2384
+#: qcsrc/client/hud.qc:2369
 msgid "^1Intermediate 1 (+15.42)"
 msgstr "^1Intermédiaire 1 (+15.42)"
 
-#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
 #, c-format
 msgid "^1PENALTY: %.1f (%s)"
 msgstr "^1PÉNALITÉ : %.1f (%s)"
 
-#: qcsrc/client/hud.qc:2471
+#: qcsrc/client/hud.qc:2456
 #, c-format
 msgid "^2PENALTY: %.1f (%s)"
 msgstr "^2PÉNALITÉ : %.1f (%s)"
 
-#: qcsrc/client/hud.qc:2501
+#: qcsrc/client/hud.qc:2486
 msgid "^1You must answer before entering hud configure mode\n"
-msgstr ""
-"^1Vous devez répondre avant d'entrer le mode de configuration de "
-"l'interface\n"
+msgstr "^1Vous devez répondre avant d'entrer dans la configuration de l'ath\n"
 
-#: qcsrc/client/hud.qc:2506
+#: qcsrc/client/hud.qc:2491
 msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
 msgstr ""
-"^2Votre pseudonyme ^7à la place de \"^1Unregistered player^7\" dans les "
-"statistiques"
+"^2Pseudonyme ^7à la place de \"^1Anonymous player^7\" dans les statistiques"
 
-#: qcsrc/client/hud.qc:2586
+#: qcsrc/client/hud.qc:2570
 msgid "A vote has been called for:"
 msgstr "Un vote a été lancé pour :"
 
-#: qcsrc/client/hud.qc:2588
+#: qcsrc/client/hud.qc:2572
 msgid "Allow servers to store and display your name?"
-msgstr "Autoriser les serveurs à stocker et afficher votre pseudonyme ?"
+msgstr "Autoriser les serveurs à enregistrer et afficher votre pseudonyme ?"
 
-#: qcsrc/client/hud.qc:2592
+#: qcsrc/client/hud.qc:2576
 msgid "^1Configure the HUD"
-msgstr "^1Configurer l'interface"
+msgstr "^1Configurer l'ATH"
 
-#: qcsrc/client/hud.qc:2596
+#: qcsrc/client/hud.qc:2580
 #, c-format
 msgid "Yes (%s): %d"
 msgstr "Oui (%s) : %d"
 
-#: qcsrc/client/hud.qc:2598
+#: qcsrc/client/hud.qc:2582
 #, c-format
 msgid "No (%s): %d"
 msgstr "Non (%s) : %d"
 
-#: qcsrc/client/hud.qc:3169 qcsrc/client/hud.qc:3172 qcsrc/client/hud.qc:3174
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
 msgid "Personal best"
 msgstr "Record personnel"
 
-#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
 msgid "Server best"
 msgstr "Record du serveur"
 
-#: qcsrc/client/hud.qc:3552
+#: qcsrc/client/hud.qc:3528
 msgid "^3Player^7: This is the chat area."
-msgstr "^3Joueur^7: Ceci est la zone du chat."
+msgstr "^3Joueur^7 : Ceci est la zone de tchat."
 
-#: qcsrc/client/hud.qc:3618
+#: qcsrc/client/hud.qc:3593
 #, c-format
 msgid "FPS: %.*f"
-msgstr "FPS : %.*f"
+msgstr "IPS : %.*f"
 
-#: qcsrc/client/hud.qc:3683
+#: qcsrc/client/hud.qc:3657
 msgid "^1Observing"
-msgstr "^1Observation"
+msgstr "^1En observateur"
 
-#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
 #, c-format
 msgid "^1Spectating: ^7%s"
 msgstr "^1En spectateur sur : ^7%s"
 
-#: qcsrc/client/hud.qc:3693
+#: qcsrc/client/hud.qc:3667
 #, c-format
 msgid "^1Press ^3%s^1 to spectate"
-msgstr "^1Appuyez sur ^3%s^1 pour être en spectateur sur un joueur"
+msgstr "^1Appuyez sur ^3%s^1 pour devenir spectateur"
 
-#: qcsrc/client/hud.qc:3695
+#: qcsrc/client/hud.qc:3669
 #, c-format
 msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
 msgstr ""
-"^1Appuyez sur ^3%s^1 ou ^3%s^1 pour être en spectateur sur le joueur "
-"précédent ou suivant"
+"^1Appuyez sur ^3%s^1 ou ^3%s^1 pour basculer sur le joueur suivant ou "
+"précédent"
 
-#: qcsrc/client/hud.qc:3699
+#: qcsrc/client/hud.qc:3673
 #, c-format
 msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
 msgstr "^1Utilisez ^3%s^1 ou ^3%s^1 pour changer la vitesse"
 
-#: qcsrc/client/hud.qc:3701
+#: qcsrc/client/hud.qc:3675
 #, c-format
 msgid "^1Press ^3%s^1 to observe"
-msgstr "^1Utiliez ^3%s^1 pour observer"
+msgstr "^1Appuyez sur ^3%s^1 pour passer observateur"
 
-#: qcsrc/client/hud.qc:3704
+#: qcsrc/client/hud.qc:3678
 #, c-format
 msgid "^1Press ^3%s^1 for gamemode info"
-msgstr "^1Appuyez sur ^3%s^1 pour de l'information"
-
-#: qcsrc/client/hud.qc:3708
-msgid "^1Wait for your turn to join"
-msgstr "^1Attendez votre tour pour jouer"
+msgstr "^1Appuyez sur ^3%s^1 pour des infos sur le mode de jeu"
 
-#: qcsrc/client/hud.qc:3714
+#: qcsrc/client/hud.qc:3686
 msgid "^1Match has already begun"
 msgstr "^1La partie a déjà commencé"
 
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3688
 msgid "^1You have no more lives left"
-msgstr "^1Vous n'avez plus de vies"
+msgstr "^1Vous n'avez plus aucune vie"
 
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
 #, c-format
 msgid "^1Press ^3%s^1 to join"
-msgstr "^1Appuyez sur ^3%s^1 pour jouer"
+msgstr "^1Appuyez sur ^3%s^1 pour rejoindre la partie"
 
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3701
 #, c-format
 msgid "^1Game starts in ^3%d^1 seconds"
-msgstr "^1La partie commence dans ^3%d^1 secondes"
+msgstr "^1La partie démarre dans ^3%d^1 secondes"
 
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3708
 msgid "^2Currently in ^1warmup^2 stage!"
-msgstr "^2Actuellement en ^1mode échauffement^2 !"
+msgstr "^2Actuellement en mode ^1échauffement^2 !"
 
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3723
 #, c-format
 msgid "%sPress ^3%s%s to end warmup"
-msgstr "%sAppuyez sur ^3%s%s pour finir l'échauffement"
+msgstr "%sAppuyez sur ^3%s%s pour terminer l'échauffement"
 
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3725
 #, c-format
 msgid "%sPress ^3%s%s once you are ready"
-msgstr "%sAppuyez sur ^3%s%s quand vous êtes prêt"
+msgstr "%sAppuyez sur ^3%s%s lorsque vous êtes prêt"
 
-#: qcsrc/client/hud.qc:3758
+#: qcsrc/client/hud.qc:3730
 msgid "^2Waiting for others to ready up to end warmup..."
-msgstr "^2En attente des autres joueurs pour finir l'échauffement..."
+msgstr "^2En attente des autres joueurs pour terminer l'échauffement..."
 
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3732
 msgid "^2Waiting for others to ready up..."
-msgstr "^2En attente des autres joueurs pour être prêt..."
+msgstr "^2En attente des autres joueurs pour commencer..."
 
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3738
 #, c-format
 msgid "^2Press ^3%s^2 to end warmup"
-msgstr "^2Appuyez sur ^3%s^2 pour finir l'échauffement"
+msgstr "^2Appuyez sur ^3%s^2 pour terminer l'échauffement"
 
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3759
 msgid "Teamnumbers are unbalanced!"
 msgstr "Les équipes ne sont pas équilibrées !"
 
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3764
 #, c-format
 msgid " Press ^3%s%s to adjust"
-msgstr " Appuyez sur ^3%s%s pour ajuster"
+msgstr " Appuyez sur ^3%s%s pour équilibrer"
 
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3772
 msgid "^7Press ^3ESC ^7to show HUD options."
-msgstr "^7Appuyez sur ^3ESC ^7pour afficher les options de l'interface."
+msgstr "^7Appuyez sur ^3ÉCHAP ^7pour afficher les options de l'ATH"
 
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3774
 msgid "^3Doubleclick ^7a panel for panel-specific options."
-msgstr "^3Double-cliquez ^7un panneau pour des options."
+msgstr "^3Double-cliquez ^7sur un panneau pour les options spécifiques."
 
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3776
 msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
-msgstr "^3Contrôle ^7pour désactiver le test de collision, ^3Majuscule ^7 et"
+msgstr "^3CTRL ^7pour désactiver les essais de collision, ^3MAJ ^7 et"
 
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3778
 msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
-msgstr "^3Alt ^7+ ^3Flèches ^7 pour des ajustements précis."
+msgstr "^3ALT ^7+ ^3TOUCHES FLÉCHÉES ^7 pour des ajustements précis."
 
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3825
 msgid " qu/s"
 msgstr " qu/s"
 
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3829
 msgid " m/s"
 msgstr " m/s"
 
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3833
 msgid " km/h"
 msgstr " km/h"
 
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3837
 msgid " mph"
 msgstr " mph"
 
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3841
 msgid " knots"
 msgstr " nœuds"
 
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4497
 msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
-msgstr "Nombres des panneaux faux/manquants fixés dans _hud_panelorder\n"
+msgstr ""
+"Numéro incorrects/manquants des panneaux auto-corrigés dans _hud_panelorder\n"
 
 #: qcsrc/client/hud_config.qc:196
 #, c-format
 msgid "^2Successfully exported to %s! (Note: It's saved in data/data/)\n"
 msgstr ""
-"^2Exporté avec succès en tant que %s ! (Note: C'est sauvegardé dans data/"
+"^2Exporté avec succès dans %s ! (note : la sauvegarde est présente dans data/"
 "data/)\n"
 
 #: qcsrc/client/hud_config.qc:200
 #, c-format
 msgid "^1Couldn't write to %s\n"
-msgstr "^1Ne peut pas écrire vers %s\n"
+msgstr "^1N'a pas pu écrire dans %s\n"
 
 #: qcsrc/client/mapvoting.qc:28
 msgid " (1 vote)"
-msgstr " (1 vote)"
+msgstr "(1 vote)"
 
 #: qcsrc/client/mapvoting.qc:30
 #, c-format
 msgid " (%d votes)"
-msgstr " (%d votes)"
+msgstr "(%d votes)"
 
 #: qcsrc/client/mapvoting.qc:118
 msgid "Don't care"
@@ -349,28 +343,29 @@ msgstr "%d secondes restantes"
 #: qcsrc/client/mapvoting.qc:273
 msgid ""
 "mv_mapdownload: ^3You're not supposed to use this command on your own!\n"
-msgstr "mv_mapdownload: ^3Vous ne devez pas utiliser cette commande seule !\n"
+msgstr ""
+"mv_mapdownload : ^3Vous n'êtes pas censé utiliser cette commande vous-"
+"même !\n"
 
 #: qcsrc/client/mapvoting.qc:283
 msgid "^1Error:^7 Couldn't find pak index.\n"
-msgstr "^1Erreur:^7 Ne peut pas trouver l'index du pak.\n"
+msgstr "^1Erreur :^7 Impossible de trouver l'index du pak.\n"
 
 #: qcsrc/client/mapvoting.qc:292
 msgid "Requesting preview...\n"
 msgstr "Demande d'aperçu...\n"
 
-#: qcsrc/client/miscfunctions.qc:98
+#: qcsrc/client/miscfunctions.qc:101
 msgid "Trying to remove a team which is not in the teamlist!"
-msgstr ""
-"Tentative de suppression d'une équipe qui n'est pas dans la liste d'équipes !"
+msgstr "Vous essayez de supprimer une équipe qui n'est pas dans la liste !"
 
-#: qcsrc/client/movetypes.qc:163
+#: qcsrc/client/movetypes.qc:227
 #, c-format
 msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
-"Ne peut pas décoller une entité (edict: %d, classname: %s, origin: %s)\n"
+"Impossible de décoller une entité (edict: %d, classname: %s, origin: %s)\n"
 
-#: qcsrc/client/movetypes.qc:166
+#: qcsrc/client/movetypes.qc:230
 #, c-format
 msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr "Entité décollée avec succès (edict: %d, classname: %s, origin: %s)\n"
@@ -389,7 +384,7 @@ msgstr "drapeaux"
 
 #: qcsrc/client/scoreboard.qc:22
 msgid "SCO^captime"
-msgstr "temps de capture"
+msgstr "temps capture"
 
 #: qcsrc/client/scoreboard.qc:23
 msgid "SCO^deaths"
@@ -401,7 +396,7 @@ msgstr "détruits"
 
 #: qcsrc/client/scoreboard.qc:25
 msgid "SCO^drops"
-msgstr "lâchers"
+msgstr "lâchés"
 
 #: qcsrc/client/scoreboard.qc:26
 msgid "SCO^faults"
@@ -417,129 +412,129 @@ msgstr "buts"
 
 #: qcsrc/client/scoreboard.qc:29
 msgid "SCO^kckills"
-msgstr "clés tués"
+msgstr "clefs tués"
 
 #: qcsrc/client/scoreboard.qc:30
 msgid "SCO^kdratio"
-msgstr "SCO^kdratio"
+msgstr "ratio tm"
 
 #: qcsrc/client/scoreboard.qc:31
 msgid "SCO^k/d"
-msgstr "SCO^tué/mort"
+msgstr "t/m"
 
 #: qcsrc/client/scoreboard.qc:32
 msgid "SCO^kd"
-msgstr "SCO^kd"
+msgstr "tm"
 
 #: qcsrc/client/scoreboard.qc:33
 msgid "SCO^kdr"
-msgstr "SCO^kdr"
+msgstr "tmr"
 
 #: qcsrc/client/scoreboard.qc:34
 msgid "SCO^kills"
-msgstr "SCO^tués"
+msgstr "tués"
 
 #: qcsrc/client/scoreboard.qc:35
 msgid "SCO^laps"
-msgstr "SCO^tours"
+msgstr "tours"
 
 #: qcsrc/client/scoreboard.qc:36
 msgid "SCO^lives"
-msgstr "SCO^vies"
+msgstr "vies"
 
 #: qcsrc/client/scoreboard.qc:37
 msgid "SCO^losses"
-msgstr "SCO^défaites"
+msgstr "pertes"
 
 #: qcsrc/client/scoreboard.qc:38
 msgid "SCO^name"
-msgstr "SCO^nom"
+msgstr "nom"
 
 #: qcsrc/client/scoreboard.qc:39
 msgid "SCO^sum"
-msgstr ""
+msgstr "somme"
 
 #: qcsrc/client/scoreboard.qc:40
 msgid "SCO^nick"
-msgstr "SCO^pseudonyme"
+msgstr "pseudo"
 
 #: qcsrc/client/scoreboard.qc:41
 msgid "SCO^objectives"
-msgstr "SCO^objectifs"
+msgstr "objectifs"
 
 #: qcsrc/client/scoreboard.qc:42
 msgid "SCO^pickups"
-msgstr "SCO^collectés"
+msgstr "collectés"
 
 #: qcsrc/client/scoreboard.qc:43
 msgid "SCO^ping"
-msgstr "SCO^latence"
+msgstr "ping"
 
 #: qcsrc/client/scoreboard.qc:44
 msgid "SCO^pl"
-msgstr "SCO^pl"
+msgstr "pl"
 
 #: qcsrc/client/scoreboard.qc:45
 msgid "SCO^pushes"
-msgstr "SCO^poussés"
+msgstr "poussés"
 
 #: qcsrc/client/scoreboard.qc:46
 msgid "SCO^rank"
-msgstr "SCO^rang"
+msgstr "rang"
 
 #: qcsrc/client/scoreboard.qc:47
 msgid "SCO^returns"
-msgstr "SCO^retournés"
+msgstr "retournés"
 
 #: qcsrc/client/scoreboard.qc:48
 msgid "SCO^revivals"
-msgstr "SCO^soignés"
+msgstr "dégels"
 
 #: qcsrc/client/scoreboard.qc:49
 msgid "SCO^score"
-msgstr "SCO^score"
+msgstr "score"
 
 #: qcsrc/client/scoreboard.qc:50
 msgid "SCO^suicides"
-msgstr "SCO^suicides"
+msgstr "suicides"
 
 #: qcsrc/client/scoreboard.qc:51
 msgid "SCO^takes"
-msgstr "SCO^prises"
+msgstr "prises"
 
 #: qcsrc/client/scoreboard.qc:52
 msgid "SCO^ticks"
-msgstr "SCO^ticks"
+msgstr "marques"
 
-#: qcsrc/client/scoreboard.qc:251
+#: qcsrc/client/scoreboard.qc:237
 msgid ""
 "You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
 msgstr ""
-"Vous pouvez modifier le tableau des scores en utilisant "
+"Vous pouvez modifier le tableau des scores en utilisant la commande "
 "^2scoreboard_columns_set.\n"
 
-#: qcsrc/client/scoreboard.qc:252
+#: qcsrc/client/scoreboard.qc:238
 msgid "^3|---------------------------------------------------------------|\n"
 msgstr "^3|---------------------------------------------------------------|\n"
 
-#: qcsrc/client/scoreboard.qc:253
+#: qcsrc/client/scoreboard.qc:239
 msgid "Usage:\n"
 msgstr "Utilisation :\n"
 
-#: qcsrc/client/scoreboard.qc:254
+#: qcsrc/client/scoreboard.qc:240
 msgid "^2scoreboard_columns_set default\n"
-msgstr "^2scoreboard_columns_set par défaut\n"
+msgstr "^2scoreboard_columns_set default\n"
 
-#: qcsrc/client/scoreboard.qc:255
+#: qcsrc/client/scoreboard.qc:241
 msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
-msgstr "^2scoreboard_columns_set ^7champ1 champ2 ...\n"
+msgstr "^2scoreboard_columns_set ^7field1 field2 ...\n"
 
-#: qcsrc/client/scoreboard.qc:256
+#: qcsrc/client/scoreboard.qc:242
 msgid "The following field names are recognized (case insensitive):\n"
 msgstr ""
-"Les noms de champs suivants sont reconnus (non-sensible à la casse) :\n"
+"Les noms de champs suivants sont reconnus (non sensibles à la casse) :\n"
 
-#: qcsrc/client/scoreboard.qc:257
+#: qcsrc/client/scoreboard.qc:243
 msgid ""
 "You can use a ^3|^7 to start the right-aligned fields.\n"
 "\n"
@@ -547,138 +542,138 @@ msgstr ""
 "Vous pouvez insérer un ^3|^7 pour créer des champs alignés à droite.\n"
 "\n"
 
-#: qcsrc/client/scoreboard.qc:259
+#: qcsrc/client/scoreboard.qc:245
 msgid "^3name^7 or ^3nick^7             Name of a player\n"
-msgstr "^3nom^7 ou ^3pseudonyme^7            Nom d'un joueur\n"
+msgstr "^3nom^7 ou ^3pseudo^7             Nom d'un joueur\n"
 
-#: qcsrc/client/scoreboard.qc:260
+#: qcsrc/client/scoreboard.qc:246
 msgid "^3ping^7                     Ping time\n"
-msgstr "^3latence^7                     Temps de latence\n"
+msgstr "^3ping^7                     Valeur de la latence\n"
 
-#: qcsrc/client/scoreboard.qc:261
+#: qcsrc/client/scoreboard.qc:247
 msgid "^3pl^7                       Packet loss\n"
-msgstr "^3pl^7                       Pertes de paquet\n"
+msgstr "^3pl^7                       Paquets perdus\n"
 
-#: qcsrc/client/scoreboard.qc:262
+#: qcsrc/client/scoreboard.qc:248
 msgid "^3kills^7                    Number of kills\n"
 msgstr "^3tués^7                    Nombre de tués\n"
 
-#: qcsrc/client/scoreboard.qc:263
+#: qcsrc/client/scoreboard.qc:249
 msgid "^3deaths^7                   Number of deaths\n"
 msgstr "^3morts^7                   Nombre de morts\n"
 
-#: qcsrc/client/scoreboard.qc:264
+#: qcsrc/client/scoreboard.qc:250
 msgid "^3suicides^7                 Number of suicides\n"
 msgstr "^3suicides^7                 Nombre de suicides\n"
 
-#: qcsrc/client/scoreboard.qc:265
+#: qcsrc/client/scoreboard.qc:251
 msgid "^3frags^7                    kills - suicides\n"
-msgstr "^3tués^7                    tués - suicides\n"
+msgstr "^3frags^7                    tués - suicides\n"
 
-#: qcsrc/client/scoreboard.qc:266
+#: qcsrc/client/scoreboard.qc:252
 msgid "^3kd^7                       The kill-death ratio\n"
-msgstr "^3kd^7                       Ratio tué-mort\n"
+msgstr "^3kd^7                       Ratio tués-morts\n"
 
-#: qcsrc/client/scoreboard.qc:267
+#: qcsrc/client/scoreboard.qc:253
 msgid "^3sum^7                      frags - deaths\n"
-msgstr ""
+msgstr "^3somme^7                      frags - morts\n"
 
-#: qcsrc/client/scoreboard.qc:268
+#: qcsrc/client/scoreboard.qc:254
 msgid ""
 "^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
 "captured\n"
 msgstr ""
-"^3drapeaux^7                     Combien de fois un drapeau (capture du "
-"drapeau) ou une clé (chasse aux clés) a été capturé\n"
+"^3drapeaux^7                     Combien de fois un drapeau (CTF) ou une "
+"clef (Chasse aux Clefs) a été capturé\n"
 
-#: qcsrc/client/scoreboard.qc:269
+#: qcsrc/client/scoreboard.qc:255
 msgid ""
 "^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
 "ball (Keepaway) was picked up\n"
 msgstr ""
-"^3collectés^7                  Nombre de fois qu'un drapeau (capture du "
-"drapeau), clé (chasse aux clés) ou balle (Keepaway) a été pris\n"
+"^3collectés^7                  Nombre de fois qu'un drapeau (CTF), une clef "
+"(Chasse aux Clefs) ou une balle (Gardez-la-balle) a été ramassé\n"
 
-#: qcsrc/client/scoreboard.qc:270
+#: qcsrc/client/scoreboard.qc:256
 msgid "^3captime^7                  Time of fastest cap (CTF)\n"
 msgstr ""
-"^3temps de capture                  ^7 Temps de la meilleure capture (CTF)\n"
+"^3temps capture^7                  Temps de la meilleure capture (CTF)\n"
 
-#: qcsrc/client/scoreboard.qc:271
+#: qcsrc/client/scoreboard.qc:257
 msgid "^3fckills^7                  Number of flag carrier kills\n"
-msgstr "^3fckills^7                  Nombre de porteurs de drapeaux tués\n"
+msgstr "^3drap. tués^7                  Nombre de porteurs de drapeaux tués\n"
 
-#: qcsrc/client/scoreboard.qc:272
+#: qcsrc/client/scoreboard.qc:258
 msgid "^3returns^7                  Number of flag returns\n"
-msgstr "^3returns^7                  Nombre de drapeaux retournés\n"
+msgstr "^3retournés^7                  Nombre de drapeaux récupérés\n"
 
-#: qcsrc/client/scoreboard.qc:273
+#: qcsrc/client/scoreboard.qc:259
 msgid "^3drops^7                    Number of flag drops\n"
-msgstr "^3drops^7                    Nombre de drapeaux lâchés\n"
+msgstr "^3lâchés^7                    Nombre de drapeaux lâchés\n"
 
-#: qcsrc/client/scoreboard.qc:274
+#: qcsrc/client/scoreboard.qc:260
 msgid "^3lives^7                    Number of lives (LMS)\n"
-msgstr "^3lives^7                    Nombre de vies (LMS)\n"
+msgstr "^3vies^7                    Nombre de vies (LMS)\n"
 
-#: qcsrc/client/scoreboard.qc:275
+#: qcsrc/client/scoreboard.qc:261
 msgid "^3rank^7                     Player rank\n"
-msgstr "^3rank^7                     Rang du joueur\n"
+msgstr "^3rang^7                     Rang du joueur\n"
 
-#: qcsrc/client/scoreboard.qc:276
+#: qcsrc/client/scoreboard.qc:262
 msgid "^3pushes^7                   Number of players pushed into void\n"
-msgstr "^3pushes^7                   Nombre de joueurs poussés dans le vide\n"
+msgstr "^3poussés^7                   Nombre de joueurs poussés dans le vide\n"
 
-#: qcsrc/client/scoreboard.qc:277
+#: qcsrc/client/scoreboard.qc:263
 msgid ""
 "^3destroyed^7                Number of keys destroyed by pushing them into "
 "void\n"
 msgstr ""
-"^3détruits^7                Nombre de clés détruites en les poussant dans le "
-"vide\n"
+"^3détruits^7                Nombre de clefs détruites en les poussant dans "
+"le vide\n"
 
-#: qcsrc/client/scoreboard.qc:278
+#: qcsrc/client/scoreboard.qc:264
 msgid "^3kckills^7                  Number of keys carrier kills\n"
-msgstr "^3kckills^7                  Nombre de porteurs de clés tués\n"
+msgstr "^3clefs tués^7                  Nombre de porteurs de clefs tués\n"
 
-#: qcsrc/client/scoreboard.qc:279
+#: qcsrc/client/scoreboard.qc:265
 msgid "^3losses^7                   Number of times a key was lost\n"
 msgstr "^3pertes^7                   Nombre de fois qu'une clef a été perdue\n"
 
-#: qcsrc/client/scoreboard.qc:280
+#: qcsrc/client/scoreboard.qc:266
 msgid "^3laps^7                     Number of laps finished (race/cts)\n"
-msgstr "^3tours^7                     Nombre de tours finis (course/cts)\n"
+msgstr "^3tours^7                     Nombre de tours complétés (course/cts)\n"
 
-#: qcsrc/client/scoreboard.qc:281
+#: qcsrc/client/scoreboard.qc:267
 msgid "^3time^7                     Total time raced (race/cts)\n"
 msgstr "^3temps^7                     Temps total en course (course/cts)\n"
 
-#: qcsrc/client/scoreboard.qc:282
+#: qcsrc/client/scoreboard.qc:268
 msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
 msgstr ""
-"^3fastest^7                  Temps du tour le plus rapide (course/cts)\n"
+"^3plus rapide^7                  Temps du tour le plus rapide (course/cts)\n"
 
-#: qcsrc/client/scoreboard.qc:283
+#: qcsrc/client/scoreboard.qc:269
 msgid "^3ticks^7                    Number of ticks (DOM)\n"
-msgstr "^3tics^7                    Nombre de tics (DOM)\n"
+msgstr "^3marques^7                    Nombre de marques (DOM)\n"
 
-#: qcsrc/client/scoreboard.qc:284
+#: qcsrc/client/scoreboard.qc:270
 msgid "^3takes^7                    Number of domination points taken (DOM)\n"
 msgstr ""
-"^3^7                    Nombre de points de domination capturés (DOM)\n"
+"^3prises^7                    Nombre de points de domination capturés (DOM)\n"
 
-#: qcsrc/client/scoreboard.qc:285
+#: qcsrc/client/scoreboard.qc:271
 msgid "^3bckills^7                  Number of ball carrier kills\n"
-msgstr "^3bckills^7                  Nombre de porteurs de balles tués\n"
+msgstr "^3balles tués^7                  Nombre de porteurs de balles tués\n"
 
-#: qcsrc/client/scoreboard.qc:286
+#: qcsrc/client/scoreboard.qc:272
 msgid ""
 "^3bctime^7                   Total amount of time holding the ball in "
 "Keepaway\n"
 msgstr ""
-"^3bctime^7                   Temps total en possession de la balle en "
-"Keepaway\n"
+"^3temps balle^7                   Temps total de possession de la balle en "
+"mode Gardez-la-balle\n"
 
-#: qcsrc/client/scoreboard.qc:287
+#: qcsrc/client/scoreboard.qc:273
 msgid ""
 "^3score^7                    Total score\n"
 "\n"
@@ -686,7 +681,7 @@ msgstr ""
 "^3score^7                    Score total\n"
 "\n"
 
-#: qcsrc/client/scoreboard.qc:289
+#: qcsrc/client/scoreboard.qc:275
 msgid ""
 "Before a field you can put a + or - sign, then a comma separated list\n"
 "of game types, then a slash, to make the field show up only in these\n"
@@ -694,47 +689,47 @@ msgid ""
 "field to show all fields available for the current game mode.\n"
 "\n"
 msgstr ""
-"Avant un champ vous pouvez mettre un signe + ou -, puis une liste séparée "
-"avec des virgules\n"
-"de modes de jeux, puis un slash, pour faire apparaître un champ seulement "
-"dans certains modes.\n"
-"Vous pouvez aussi spécifier 'all' comme champ pour montrer tous les champs "
-"disponibles\n"
-"pour le mode de jeu en cours.\n"
+"Avant un champ vous pouvez mettre un signe + ou -, puis une liste des modes "
+"de jeux\n"
+"séparée par des virgules, puis un slash, pour faire apparaître le champ "
+"seulement dans ces modes\n"
+"ou dans tous les modes sauf ceux-là. Vous pouvez aussi spécifier 'all' comme "
+"champ\n"
+"pour montrer tous les champs disponibles pour le mode de jeu en cours.\n"
 "\n"
 
-#: qcsrc/client/scoreboard.qc:294
+#: qcsrc/client/scoreboard.qc:280
 msgid ""
 "The special game type names 'teams' and 'noteams' can be used to\n"
 "include/exclude ALL teams/noteams game modes.\n"
 "\n"
 msgstr ""
-"Le type de jeu 'special' peut être utilisé pour\n"
-"inclure ou exclure TOUT les modes de jeux avec ou sans équipes.\n"
+"Les types de jeu 'teams' et 'noteams' peuvent être utilisés pour\n"
+"inclure ou exclure TOUS les modes de jeu avec ou sans équipes.\n"
 "\n"
 
-#: qcsrc/client/scoreboard.qc:297
+#: qcsrc/client/scoreboard.qc:283
 msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
 msgstr ""
-"Exemple: scoreboard_columns_set name ping pl | +cfg/field3 -dm/field4\n"
+"Exemple : scoreboard_columns_set name ping pl | +cfg/field3 -dm/field4\n"
 
-#: qcsrc/client/scoreboard.qc:298
+#: qcsrc/client/scoreboard.qc:284
 msgid ""
 "will display name, ping and pl aligned to the left, and the fields\n"
 "right of the vertical bar aligned to the right.\n"
 msgstr ""
-"va afficher le nom, latence et pl alignés à gauche, et les champs\n"
+"affichera le nom, le ping et le pl alignés à gauche, et les champs\n"
 "à droite de la barre verticale alignée à droite.\n"
 
-#: qcsrc/client/scoreboard.qc:300
+#: qcsrc/client/scoreboard.qc:286
 msgid ""
 "'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
 "other gamemodes except DM.\n"
 msgstr ""
-"'field3' ne sera montré qu'en mode CTF, et 'field4'\n"
-"sera montré dans tous les modes sauf DM.\n"
+"'field3' ne sera affiché qu'en mode CTF, et 'field4'\n"
+"sera affiché dans tous les modes sauf DM.\n"
 
-#: qcsrc/client/scoreboard.qc:534 qcsrc/client/scoreboard.qc:541
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
@@ -742,91 +737,95 @@ msgstr ""
 msgid "N/A"
 msgstr "N/A"
 
-#: qcsrc/client/scoreboard.qc:984
+#: qcsrc/client/scoreboard.qc:970
 #, c-format
 msgid "Accuracy stats (average %d%%)"
 msgstr "Stats de précision (moyenne %d%%)"
 
-#: qcsrc/client/scoreboard.qc:1047
+#: qcsrc/client/scoreboard.qc:1033
 #, c-format
 msgid "%d%%"
 msgstr "%d%%"
 
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1099
 msgid "Map stats:"
-msgstr "Stats. de la carte :"
+msgstr "Stat. de la carte :"
 
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr "Monstres tués :"
+
+#: qcsrc/client/scoreboard.qc:1124
 msgid "Secrets found:"
 msgstr "Secrets trouvés :"
 
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1152
 msgid "Rankings"
 msgstr "Classements"
 
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1248
 msgid "Scoreboard"
 msgstr "Tableau des scores"
 
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1307
 #, c-format
 msgid "Speed award: %d ^7(%s^7)"
-msgstr "Le plus rapide: %d ^7(%s^7)"
+msgstr "Le plus rapide : %d ^7(%s^7)"
 
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1311
 #, c-format
 msgid "All-time fastest: %d ^7(%s^7)"
-msgstr "Record de vitesse: %d ^7(%s^7)"
+msgstr "Record absolu de vitesse : %d ^7(%s^7)"
 
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1345
 msgid "Spectators"
 msgstr "Spectateurs"
 
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1352
 #, c-format
-msgid "playing on ^2%s^7"
-msgstr "en train de jouer sur ^2%s^7"
+msgid "playing ^3%s^7 on ^2%s^7"
+msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
 #, c-format
 msgid " for up to ^1%1.0f minutes^7"
-msgstr " pour jusqu'à ^1%1.0f minutes^7"
+msgstr "jusqu'à ^1%1.0f minutes^7"
 
-#: qcsrc/client/scoreboard.qc:1364 qcsrc/client/scoreboard.qc:1383
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
 msgid " or"
 msgstr " ou"
 
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
 #, c-format
 msgid " until ^3%s %s^7"
 msgstr " jusqu'à ^3%s %s^7"
 
-#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1375
-#: qcsrc/client/scoreboard.qc:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
 msgid "SCO^points"
-msgstr "SCO^points"
+msgstr "points"
 
-#: qcsrc/client/scoreboard.qc:1369 qcsrc/client/scoreboard.qc:1376
-#: qcsrc/client/scoreboard.qc:1388 qcsrc/client/scoreboard.qc:1395
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
 msgid "SCO^is beaten"
-msgstr "SCO^est battu"
+msgstr "est battu"
 
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
 #, c-format
 msgid " until a lead of ^3%s %s^7"
-msgstr " jusqu'à qu'il y ait un écart de ^3%s %s^7 points"
+msgstr " jusqu'à un écart de ^3%s %s^7"
 
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1419
 #, c-format
 msgid "^1Respawning in ^3%s^1..."
 msgstr "^1Réapparition dans ^3%s^1..."
 
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1429
 #, c-format
 msgid "You are dead, wait ^3%s^7 before respawning"
 msgstr "Vous êtes mort, attendez ^3%s^7 avant de réapparaître"
 
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1438
 #, c-format
 msgid "You are dead, press ^2%s^7 to respawn"
 msgstr "Vous êtes mort, appuyez sur ^2%s^7 pour réapparaître"
@@ -834,16 +833,16 @@ msgstr "Vous êtes mort, appuyez sur ^2%s^7 pour réapparaître"
 #: qcsrc/client/target_music.qc:94 qcsrc/client/target_music.qc:183
 #, c-format
 msgid "Cannot initialize sound %s\n"
-msgstr "Ne peut initialiser le son %s\n"
+msgstr "Impossible d'initialiser le son %s\n"
 
-#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:591
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
 msgid "Spam"
 msgstr "Spam"
 
 #: qcsrc/client/tturrets.qc:308
 #, c-format
 msgid "%s under attack!"
-msgstr "%s attaqué !"
+msgstr "%s sous attaque !"
 
 #: qcsrc/client/vehicles/vehicles.qc:331 qcsrc/client/vehicles/vehicles.qc:333
 msgid "No right gunner!"
@@ -853,209 +852,213 @@ msgstr "Aucun tireur à droite !"
 msgid "No left gunner!"
 msgstr "Aucun tireur à gauche !"
 
-#: qcsrc/client/waypointsprites.qc:254
+#: qcsrc/client/waypointsprites.qc:246
 msgid "Push"
 msgstr "Pousser"
 
-#: qcsrc/client/waypointsprites.qc:255
+#: qcsrc/client/waypointsprites.qc:247
 msgid "Destroy"
 msgstr "Détruire"
 
-#: qcsrc/client/waypointsprites.qc:256
+#: qcsrc/client/waypointsprites.qc:248
 msgid "Defend"
 msgstr "Défendre"
 
-#: qcsrc/client/waypointsprites.qc:257
+#: qcsrc/client/waypointsprites.qc:249
 msgid "Blue base"
 msgstr "Base bleue"
 
-#: qcsrc/client/waypointsprites.qc:258
+#: qcsrc/client/waypointsprites.qc:250
 msgid "DANGER"
 msgstr "DANGER"
 
-#: qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:251
 msgid "Enemy carrier"
 msgstr "Porteur ennemi"
 
-#: qcsrc/client/waypointsprites.qc:260
+#: qcsrc/client/waypointsprites.qc:252
 msgid "Flag carrier"
 msgstr "Porteur du drapeau"
 
-#: qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:253
 msgid "Dropped flag"
 msgstr "Drapeau lâché"
 
-#: qcsrc/client/waypointsprites.qc:262
+#: qcsrc/client/waypointsprites.qc:254
 msgid "Help me!"
-msgstr "Aidez-moi !"
+msgstr "À l'aide !"
 
-#: qcsrc/client/waypointsprites.qc:263
+#: qcsrc/client/waypointsprites.qc:255
 msgid "Here"
 msgstr "Ici"
 
-#: qcsrc/client/waypointsprites.qc:264
+#: qcsrc/client/waypointsprites.qc:256
 msgid "Dropped key"
-msgstr "Clé lâchée"
+msgstr "Clef lâchée"
 
-#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:267
-#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
-#: qcsrc/client/waypointsprites.qc:270
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
 msgid "Key carrier"
-msgstr "Porteur de clé"
+msgstr "Porteur de clef"
 
-#: qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:258
 msgid "Run here"
 msgstr "Courez ici"
 
-#: qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:263
 msgid "Red base"
 msgstr "Base rouge"
 
-#: qcsrc/client/waypointsprites.qc:272
+#: qcsrc/client/waypointsprites.qc:264
 msgid "Waypoint"
-msgstr "Destination"
+msgstr "Waypoint"
 
-#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
-#: qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
 msgid "Generator"
 msgstr "Générateur"
 
-#: qcsrc/client/waypointsprites.qc:276 qcsrc/client/waypointsprites.qc:277
-#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
-#: qcsrc/client/waypointsprites.qc:280 qcsrc/client/waypointsprites.qc:281
-#: qcsrc/client/waypointsprites.qc:282 qcsrc/client/waypointsprites.qc:283
-#: qcsrc/client/waypointsprites.qc:307 qcsrc/client/waypointsprites.qc:308
-#: qcsrc/client/waypointsprites.qc:309 qcsrc/client/waypointsprites.qc:310
-#: qcsrc/client/waypointsprites.qc:311
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
 msgid "Control point"
 msgstr "Point de contrôle"
 
-#: qcsrc/client/waypointsprites.qc:284
+#: qcsrc/client/waypointsprites.qc:276
 msgid "Checkpoint"
-msgstr "Point de contrôle"
+msgstr "Checkpoint"
 
-#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
 msgid "Finish"
 msgstr "Arrivée"
 
-#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
 msgid "Start"
 msgstr "Départ"
 
-#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
 msgid "Ball"
 msgstr "Balle"
 
-#: qcsrc/client/waypointsprites.qc:290
+#: qcsrc/client/waypointsprites.qc:283
 msgid "Ball carrier"
 msgstr "Porteur de balle"
 
-#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
 msgid "Laser"
 msgstr "Laser"
 
-#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
 msgid "Shotgun"
-msgstr ""
+msgstr "Fusil"
 
-#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
 msgid "Machine Gun"
-msgstr ""
+msgstr "Mitrailleuse"
 
-#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
 msgid "Mortar"
-msgstr "Mortar"
+msgstr "Mortier"
 
-#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
 msgid "Electro"
-msgstr ""
+msgstr "Electro"
 
-#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
 msgid "Crylink"
 msgstr "Crylink"
 
-#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
 msgid "Nex"
 msgstr "Nex"
 
-#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
 msgid "Hagar"
 msgstr "Hagar"
 
-#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
 msgid "Rocket Launcher"
-msgstr "Rocket Launcher"
+msgstr "Lance-Roquettes"
 
-#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
 msgid "Port-O-Launch"
 msgstr "Port-O-Launch"
 
-#: qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:294
 msgid "Minstanex"
 msgstr "Minstanex"
 
-#: qcsrc/client/waypointsprites.qc:302
+#: qcsrc/client/waypointsprites.qc:295
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
 msgid "Hook"
-msgstr ""
+msgstr "Grappin"
 
-#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
 msgid "Fireball"
 msgstr "Fireball"
 
-#: qcsrc/client/waypointsprites.qc:304
+#: qcsrc/client/waypointsprites.qc:297
 msgid "HLAC"
 msgstr "HLAC"
 
-#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
 msgid "Rifle"
-msgstr ""
+msgstr "Fusil de précision"
 
-#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
 msgid "Mine Layer"
-msgstr ""
+msgstr "Poseur de Mines"
 
-#: qcsrc/client/waypointsprites.qc:312
+#: qcsrc/client/waypointsprites.qc:305
 msgid "Invisibility"
 msgstr "Invisibilité"
 
-#: qcsrc/client/waypointsprites.qc:313
+#: qcsrc/client/waypointsprites.qc:306
 msgid "Extra life"
 msgstr "Vie supplémentaire"
 
-#: qcsrc/client/waypointsprites.qc:314
+#: qcsrc/client/waypointsprites.qc:307
 msgid "Speed"
 msgstr "Vitesse"
 
-#: qcsrc/client/waypointsprites.qc:315
+#: qcsrc/client/waypointsprites.qc:308
 msgid "Strength"
 msgstr "Force"
 
-#: qcsrc/client/waypointsprites.qc:316
+#: qcsrc/client/waypointsprites.qc:309
 msgid "Shield"
 msgstr "Bouclier"
 
-#: qcsrc/client/waypointsprites.qc:317
+#: qcsrc/client/waypointsprites.qc:310
 msgid "Fuel regen"
 msgstr "Régén. essence"
 
-#: qcsrc/client/waypointsprites.qc:318
+#: qcsrc/client/waypointsprites.qc:311
 msgid "Jet Pack"
 msgstr "Jet Pack"
 
-#: qcsrc/client/waypointsprites.qc:319
+#: qcsrc/client/waypointsprites.qc:312
 msgid "Frozen!"
 msgstr "Gelé !"
 
-#: qcsrc/client/waypointsprites.qc:320
+#: qcsrc/client/waypointsprites.qc:313
 msgid "Tagged"
-msgstr "Verrouillé"
+msgstr "Verrouillé pour cible"
 
-#: qcsrc/client/waypointsprites.qc:321
+#: qcsrc/client/waypointsprites.qc:314
 msgid "Vehicle"
 msgstr "Véhicule"
 
-#: qcsrc/client/waypointsprites.qc:595
+#: qcsrc/client/waypointsprites.qc:588
 #, c-format
 msgid "%s needing help!"
 msgstr "%s a besoin d'aide !"
@@ -1063,19 +1066,23 @@ msgstr "%s a besoin d'aide !"
 #: qcsrc/common/command/generic.qc:31
 #, c-format
 msgid "error: status is %d\n"
-msgstr ""
+msgstr "erreur : le statut est %d\n"
 
 #: qcsrc/common/command/generic.qc:159
 msgid "error creating curl handle\n"
-msgstr ""
+msgstr "erreur à la création du curl handle\n"
 
 #: qcsrc/common/command/generic.qc:263
 msgid "Notification dump command only works with cl_cmd and sv_cmd.\n"
 msgstr ""
+"La commande de vidange des notifications fonctionne uniquement avec cl_cmd "
+"et sv_cmd.\n"
 
 #: qcsrc/common/command/generic.qc:457
 msgid "Notification restart command only works with cl_cmd and sv_cmd.\n"
 msgstr ""
+"La commande de redémarrage des notifications fonctionne uniquement avec "
+"cl_cmd et sv_cmd.\n"
 
 #: qcsrc/common/counting.qh:5
 #, c-format
@@ -1260,92 +1267,117 @@ msgstr "%d secondes"
 #: qcsrc/common/counting.qh:68
 #, c-format
 msgid "%dst"
-msgstr "%dst"
+msgstr "%der"
 
 #: qcsrc/common/counting.qh:69
 #, c-format
 msgid "%dnd"
-msgstr "%dnd"
+msgstr "%dè"
 
 #: qcsrc/common/counting.qh:70
 #, c-format
 msgid "%drd"
-msgstr "%drd"
+msgstr "%dè"
 
 #: qcsrc/common/counting.qh:71 qcsrc/common/counting.qh:74
 #, c-format
 msgid "%dth"
-msgstr ""
+msgstr "%dè"
 
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:717
 #, no-c-format
 msgid "@!#%'n Tuba Throwing"
-msgstr ""
+msgstr "Lancer du @!#% Tuba"
 
-#: qcsrc/common/mapinfo.qc:1109 qcsrc/menu/xonotic/skinlist.c:166
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
 #, c-format
 msgid "%s: %s"
-msgstr ""
+msgstr "%s : %s"
 
 #: qcsrc/common/mapinfo.qh:36
 msgid "Deathmatch"
-msgstr "Match à mort"
+msgstr "Match à Mort"
 
 #: qcsrc/common/mapinfo.qh:39
 msgid "Last Man Standing"
-msgstr "Dernier homme en vie"
+msgstr "Dernier Homme en Vie"
 
 #: qcsrc/common/mapinfo.qh:42
-msgid "Arena"
-msgstr "Arène"
-
-#: qcsrc/common/mapinfo.qh:45
 msgid "Race"
 msgstr "Course"
 
-#: qcsrc/common/mapinfo.qh:48
+#: qcsrc/common/mapinfo.qh:45
 msgid "Race CTS"
 msgstr "Course CTS"
 
-#: qcsrc/common/mapinfo.qh:51
+#: qcsrc/common/mapinfo.qh:48
 msgid "Team Deathmatch"
-msgstr "Match à mort en Équipe"
+msgstr "Match à Mort en Équipe"
 
-#: qcsrc/common/mapinfo.qh:54
+#: qcsrc/common/mapinfo.qh:51
 msgid "Capture the Flag"
-msgstr "Capture de drapeau"
+msgstr "Capture de Drapeau"
 
-#: qcsrc/common/mapinfo.qh:57
+#: qcsrc/common/mapinfo.qh:54
 msgid "Clan Arena"
 msgstr "Clan Arena"
 
-#: qcsrc/common/mapinfo.qh:60
+#: qcsrc/common/mapinfo.qh:57
 msgid "Domination"
 msgstr "Domination"
 
-#: qcsrc/common/mapinfo.qh:63
+#: qcsrc/common/mapinfo.qh:60
 msgid "Key Hunt"
-msgstr "Chasse aux clés"
+msgstr "Chasse aux Clefs"
 
-#: qcsrc/common/mapinfo.qh:66
+#: qcsrc/common/mapinfo.qh:63
 msgid "Assault"
 msgstr "Assaut"
 
-#: qcsrc/common/mapinfo.qh:69
+#: qcsrc/common/mapinfo.qh:66
 msgid "Onslaught"
 msgstr "Attaque"
 
-#: qcsrc/common/mapinfo.qh:72
+#: qcsrc/common/mapinfo.qh:69
 msgid "Nexball"
 msgstr "Nexball"
 
-#: qcsrc/common/mapinfo.qh:75
+#: qcsrc/common/mapinfo.qh:72
 msgid "Freeze Tag"
 msgstr "Loup Glacé"
 
-#: qcsrc/common/mapinfo.qh:78
+#: qcsrc/common/mapinfo.qh:75
 msgid "Keepaway"
-msgstr "Gardez-la-balle"
+msgstr "Gardez-la-Balle"
+
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr "Invasion"
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr "Mage"
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr "Shambler"
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr "Araignée"
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr "Vouivre"
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr "Zombie"
 
 #: qcsrc/common/net_notice.qc:89
 msgid "^1Server notices:"
@@ -1357,11 +1389,16 @@ msgid "^7%s (^3%d sec left)"
 msgstr "^7%s (^3%d sec restantes)"
 
 #: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr ""
+"^F4NOTE: ^BGLes joueurs ne voient pas le tchat spectateur pendant le match"
+
+#: qcsrc/common/notifications.qh:343
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag"
 msgstr "^BG%s^BG a capturé le drapeau ^TC^TT^BG"
 
-#: qcsrc/common/notifications.qh:343
+#: qcsrc/common/notifications.qh:344
 #, c-format
 msgid ""
 "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds, breaking ^BG"
@@ -1370,12 +1407,12 @@ msgstr ""
 "^BG%s^BG a capturé le drapeau ^TC^TT^BG en ^F1%s^BG secondes, battant le "
 "précédent record de ^BG%s^BG en ^F2%s^BG secondes"
 
-#: qcsrc/common/notifications.qh:344
+#: qcsrc/common/notifications.qh:345
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
 msgstr "^BG%s^BG a capturé le drapeau ^TC^TT^BG en ^F1%s^BG secondes"
 
-#: qcsrc/common/notifications.qh:345
+#: qcsrc/common/notifications.qh:346
 #, c-format
 msgid ""
 "^BG%s^BG captured the ^TC^TT^BG flag in ^F2%s^BG seconds, failing to break "
@@ -1384,20 +1421,20 @@ msgstr ""
 "^BG%s^BG a capturé le drapeau ^TC^TT^BG en ^F2%s^BG secondes, échouant à "
 "battre le précédent record de ^BG%s^BG en ^F1%s^BG secondes"
 
-#: qcsrc/common/notifications.qh:346
+#: qcsrc/common/notifications.qh:347
 msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
 msgstr "^BGLe drapeau ^TC^TT^BG a été renvoyé à la base par son propriétaire"
 
-#: qcsrc/common/notifications.qh:347
+#: qcsrc/common/notifications.qh:348
 msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
 msgstr "^BGLe drapeau ^TC^TT^BG a été détruit et est revenu à la base"
 
-#: qcsrc/common/notifications.qh:348
+#: qcsrc/common/notifications.qh:349
 msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
 msgstr ""
 "^BGLe drapeau ^TC^TT^BG a été lâché dans la base et est revenu tout seul"
 
-#: qcsrc/common/notifications.qh:349
+#: qcsrc/common/notifications.qh:350
 msgid ""
 "^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
 "base"
@@ -1405,564 +1442,624 @@ msgstr ""
 "^BGLe drapeau ^TC^TT^BG est tombé dans un endroit inaccessible est est "
 "revenu à la base"
 
-#: qcsrc/common/notifications.qh:350
+#: qcsrc/common/notifications.qh:351
 #, c-format
 msgid ""
 "^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
 "itself"
 msgstr ""
-"^BGLe drapeau ^TC^TT^BG est devenu impatient après ^F1%.2f^BG secondes et "
-"est revenu tout seul"
+"^BGLe drapeau ^TC^TT^BG s'est impatienté après ^F1%.2f^BG secondes et est "
+"revenu tout seul"
 
-#: qcsrc/common/notifications.qh:351
+#: qcsrc/common/notifications.qh:352
 msgid "^BGThe ^TC^TT^BG flag has returned to the base"
 msgstr "^BGLe drapeau ^TC^TT^BG est revenu à la base"
 
-#: qcsrc/common/notifications.qh:352
+#: qcsrc/common/notifications.qh:353
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT^BG flag"
 msgstr "^BG%s^BG a perdu le drapeau ^TC^TT^BG"
 
-#: qcsrc/common/notifications.qh:353
+#: qcsrc/common/notifications.qh:354
 #, c-format
 msgid "^BG%s^BG got the ^TC^TT^BG flag"
 msgstr "^BG%s^BG a le drapeau ^TC^TT^BG"
 
-#: qcsrc/common/notifications.qh:354
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
 #, c-format
 msgid "^BG%s^BG returned the ^TC^TT^BG flag"
 msgstr "^BG%s^BG a retourné le drapeau ^TC^TT^BG"
 
-#: qcsrc/common/notifications.qh:355
+#: qcsrc/common/notifications.qh:357
 #, c-format
 msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
 msgstr "^BG%s%s^K1 a été injustement éliminé par ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:356
+#: qcsrc/common/notifications.qh:358
 #, c-format
 msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
 msgstr "^BG%s%s^K1 a été noyé par ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:357
+#: qcsrc/common/notifications.qh:359
 #, c-format
 msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
-msgstr "^BG%s%s^K1 a été puni par ^BG%s^K1%s%s"
+msgstr "^BG%s%s^K1 est tombé au sol à cause de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été brûlé par le tir de ^BG%s^K1^K1%s%s"
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été cuit comme du pop-corn par ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:359
+#: qcsrc/common/notifications.qh:361
 #, c-format
 msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
 msgstr "^BG%s%s^K1 a été cuisiné par ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:360
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr "^BG%s%s^K1 a été poussé face à un monstre par ^BG%s^K1%s%s"
+
+#: qcsrc/common/notifications.qh:363
 #, c-format
 msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
 msgstr "^BG%s%s^K1 a explosé avec la Grenade de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:361
+#: qcsrc/common/notifications.qh:364
 #, c-format
 msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
-msgstr "^BG%s%s^K1 a été projeté dans l'espace par ^BG%s^K1%s%s"
+msgstr "^BG%s%s^K1 a été expédié dans l'espace par ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:362
+#: qcsrc/common/notifications.qh:365
 #, c-format
 msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été englué par ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:363
+#: qcsrc/common/notifications.qh:366
 #, c-format
 msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été englouti par ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a voulu occuper l'espace de téléportation de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été télé-tué par ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:365
+#: qcsrc/common/notifications.qh:368
 #, c-format
 msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 est mort dans un accident avec ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:366
+#: qcsrc/common/notifications.qh:369
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
 msgstr ""
+"^BG%s%s^K1 a été pris dans le souffle quand le Bumblebee de ^BG%s^K1 a "
+"explosé%s%s"
 
-#: qcsrc/common/notifications.qh:367
+#: qcsrc/common/notifications.qh:370
 #, c-format
 msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
 msgstr ""
+"^BG%s%s^K1 en a vu de toutes les couleurs avec le canon du Bumblebee de ^BG"
+"%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:368
+#: qcsrc/common/notifications.qh:371
 #, c-format
 msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été écrasé par ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:369
+#: qcsrc/common/notifications.qh:372
 #, c-format
 msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été bombardé par le Raptor de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:370
+#: qcsrc/common/notifications.qh:373
 #, c-format
 msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 n'a pas pu résister aux bulles violettes de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:371
+#: qcsrc/common/notifications.qh:374
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
 msgstr ""
+"^BG%s%s^K1 a été pris dans le souffle quand le Raptor de ^BG%s^K1 a explosé%s"
+"%s"
 
-#: qcsrc/common/notifications.qh:372
+#: qcsrc/common/notifications.qh:375
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
 msgstr ""
+"^BG%s%s^K1 a été pris dans le souffle quand le Spiderbot de ^BG%s^K1 a "
+"explosé%s%s"
 
-#: qcsrc/common/notifications.qh:373
+#: qcsrc/common/notifications.qh:376
 #, c-format
 msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été déchiqueté par le Spiderbot de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:374
+#: qcsrc/common/notifications.qh:377
 #, c-format
 msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été réduit en miettes par le Spiderbot de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:375
+#: qcsrc/common/notifications.qh:378
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
 msgstr ""
+"^BG%s%s^K1 a été pris dans le souffle quand le Racer de ^BG%s^K1 a explosé%s"
+"%s"
 
-#: qcsrc/common/notifications.qh:376
+#: qcsrc/common/notifications.qh:379
 #, c-format
 msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été cloué au sol par le Racer de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:377
+#: qcsrc/common/notifications.qh:380
 #, c-format
 msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 n'a pas pu se mettre à l'abri du Racer de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:378
+#: qcsrc/common/notifications.qh:381
 #, c-format
 msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été expédié dans un monde de souffrance par ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:379
+#: qcsrc/common/notifications.qh:382
 #, c-format
 msgid "^BG%s^K1 was moved into the %s%s"
-msgstr ""
+msgstr "^BG%s^K1 a été déplacé dans l'%s%s"
 
-#: qcsrc/common/notifications.qh:380
+#: qcsrc/common/notifications.qh:383
 #, c-format
 msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
-msgstr ""
+msgstr "^BG%s^K1 est devenu ennemi avec le Maître du Jeu en Équipe%s%s"
 
-#: qcsrc/common/notifications.qh:381
+#: qcsrc/common/notifications.qh:384
 #, c-format
 msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
-msgstr ""
+msgstr "^BG%s^K1 pensait avoir trouvé un bon endroit pour camper%s%s"
 
-#: qcsrc/common/notifications.qh:382
+#: qcsrc/common/notifications.qh:385
 #, c-format
 msgid "^BG%s^K1 unfairly eliminated themself%s%s"
-msgstr ""
+msgstr "^BG%s^K1 s'est injustement éliminé tout seul%s%s"
 
-#: qcsrc/common/notifications.qh:383
+#: qcsrc/common/notifications.qh:386
 #, c-format
 msgid "^BG%s^K1 %s^K1%s%s"
-msgstr ""
+msgstr "^BG%s^K1 %s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 couldn't catch their breath%s%s"
-msgstr ""
+msgstr "^BG%s^K1 n'a pas pu reprendre son souffle%s%s"
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 was in the water for too long%s%s"
-msgstr ""
+msgstr "^BG%s^K1 est resté trop longtemps sous l'eau%s%s"
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a heurté le sol un peu trop violemment%s%s"
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a crunch%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a heurté le sol dans un craquement sinistre%s%s"
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 became a bit too crispy%s%s"
-msgstr ""
+msgstr "^BG%s^K1 est devenu un peu trop croustillant%s%s"
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 felt a little hot%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a eu un coup de chaud%s%s"
 
-#: qcsrc/common/notifications.qh:387
+#: qcsrc/common/notifications.qh:390
 #, c-format
 msgid "^BG%s^K1 died%s%s"
 msgstr "^BG%s^K1 est mort%s%s"
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 found a hot place%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a trouvé un endroit au chaud%s%s"
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 turned into hot slag%s%s"
-msgstr ""
+msgstr "^BG%s^K1 s'est transformé en merguez%s%s"
 
-#: qcsrc/common/notifications.qh:389
+#: qcsrc/common/notifications.qh:392
 #, c-format
 msgid "^BG%s^K1 mastered the art of self-nading%s%s"
 msgstr ""
+"^BG%s^K1 est passé maître dans l'art d'exploser avec sa propre grenade%s%s"
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:393
+#, c-format
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
+msgstr "^BG%s^K1 a été explosé par un Mage%s%s"
+
+#: qcsrc/common/notifications.qh:394
+#, c-format
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
+msgstr "^BG%s^K1 s'est retrouvé les tripes à l'air à cause d'un Shambler%s%s"
+
+#: qcsrc/common/notifications.qh:395
+#, c-format
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr "^BG%s^K1 a été démoli par un Shambler%s%s"
+
+#: qcsrc/common/notifications.qh:396
+#, c-format
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
+msgstr "^BG%s^K1 a été supprimé par un Shambler%s%s"
+
+#: qcsrc/common/notifications.qh:397
+#, c-format
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr "^BG%s^K1 a été mordu par une Araignée%s%s"
+
+#: qcsrc/common/notifications.qh:398
+#, c-format
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr "^BG%s^K1 a été carbonisé par un Vouivre%s%s"
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr "^BG%s^K1 rejoint les Zombies%s%s"
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr "^BG%s^K1 a reçu des leçons de kung fu de la part d'un Zombie%s%s"
+
+#: qcsrc/common/notifications.qh:401
 #, c-format
 msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
-msgstr ""
+msgstr "^BG%s^K1 est mort%s%s. À quoi bon vivre sans munition ?"
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:401
 #, c-format
 msgid "^BG%s^K1 ran out of ammo%s%s"
-msgstr "^BG%s^K1 s'est retrouvé à court de munitions%s%s"
+msgstr "^BG%s^K1 s'est retrouvé à court de munition%s%s"
 
-#: qcsrc/common/notifications.qh:391
+#: qcsrc/common/notifications.qh:402
 #, c-format
 msgid "^BG%s^K1 rotted away%s%s"
 msgstr "^BG%s^K1 s'est décomposé%s%s"
 
-#: qcsrc/common/notifications.qh:392
+#: qcsrc/common/notifications.qh:403
 #, c-format
 msgid "^BG%s^K1 became a shooting star%s%s"
 msgstr "^BG%s^K1 s'est transformé en étoile filante%s%s"
 
-#: qcsrc/common/notifications.qh:393
+#: qcsrc/common/notifications.qh:404
 #, c-format
 msgid "^BG%s^K1 was slimed%s%s"
-msgstr "^BG%s^K1 a maigri%s%s"
+msgstr "^BG%s^K1 a été englué%s%s"
 
-#: qcsrc/common/notifications.qh:394
+#: qcsrc/common/notifications.qh:405
 #, c-format
 msgid "^BG%s^K1 couldn't take it anymore%s%s"
 msgstr "^BG%s^K1 n'en pouvait plus%s%s"
 
-#: qcsrc/common/notifications.qh:395
+#: qcsrc/common/notifications.qh:406
 #, c-format
 msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
 msgstr "^BG%s^K1 est maintenant conservé pour les siècles à venir%s%s"
 
-#: qcsrc/common/notifications.qh:396
+#: qcsrc/common/notifications.qh:407
 #, c-format
 msgid "^BG%s^K1 switched to the %s%s"
-msgstr ""
+msgstr "^BG%s^K1 a basculé dans l'%s%s"
 
-#: qcsrc/common/notifications.qh:397
+#: qcsrc/common/notifications.qh:408
 #, c-format
 msgid "^BG%s^K1 died in an accident%s%s"
 msgstr "^BG%s^K1 est mort dans un accident%s%s"
 
-#: qcsrc/common/notifications.qh:398
+#: qcsrc/common/notifications.qh:409
 #, c-format
 msgid "^BG%s^K1 ran into a turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a foncé dans une tourelle%s%s"
 
-#: qcsrc/common/notifications.qh:399
+#: qcsrc/common/notifications.qh:410
 #, c-format
 msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a été mis en miettes par une tourelle eWheel%s%s"
 
-#: qcsrc/common/notifications.qh:400
+#: qcsrc/common/notifications.qh:411
 #, c-format
 msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a été pris sous le feu de la tourelle FLAC%s%s"
 
-#: qcsrc/common/notifications.qh:401
+#: qcsrc/common/notifications.qh:412
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a été mis en miettes par une tourelle Hellion%s%s"
 
-#: qcsrc/common/notifications.qh:402
+#: qcsrc/common/notifications.qh:413
 #, c-format
 msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 n'a pas pu éviter la tourelle Hunter%s%s"
 
-#: qcsrc/common/notifications.qh:403
+#: qcsrc/common/notifications.qh:414
 #, c-format
 msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a été criblé de balles par une tourelle Machinegun%s%s"
 
-#: qcsrc/common/notifications.qh:404
+#: qcsrc/common/notifications.qh:415
 #, c-format
 msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a été transformé en gigot fumant par une tourelle MLRS%s%s"
 
-#: qcsrc/common/notifications.qh:405
+#: qcsrc/common/notifications.qh:416
 #, c-format
 msgid "^BG%s^K1 was phased out by a turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a été éliminé par une tourelle%s%s"
 
-#: qcsrc/common/notifications.qh:406
+#: qcsrc/common/notifications.qh:417
 #, c-format
 msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a goûté au plasma brûlant d'une tourelle%s%s"
 
-#: qcsrc/common/notifications.qh:407
+#: qcsrc/common/notifications.qh:418
 #, c-format
 msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a été électrocuté par une tourelle Tesla%s%s"
 
-#: qcsrc/common/notifications.qh:408
+#: qcsrc/common/notifications.qh:419
 #, c-format
 msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a été enrichi en plomb par une tourelle Walker%s%s"
 
-#: qcsrc/common/notifications.qh:409
+#: qcsrc/common/notifications.qh:420
 #, c-format
 msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a été empalé par une tourelle Walker%s%s"
 
-#: qcsrc/common/notifications.qh:410
+#: qcsrc/common/notifications.qh:421
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a été soufflé par une tourelle Walker%s%s"
 
-#: qcsrc/common/notifications.qh:411
+#: qcsrc/common/notifications.qh:422
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a été pris dans l'explosion d'un Bumblebee%s%s"
 
-#: qcsrc/common/notifications.qh:412
+#: qcsrc/common/notifications.qh:423
 #, c-format
 msgid "^BG%s^K1 was crushed by a vehicle%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a été écrasé par un véhicule%s%s"
 
-#: qcsrc/common/notifications.qh:413
+#: qcsrc/common/notifications.qh:424
 #, c-format
 msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a été pris dans le bombardement d'un Raptor%s%s"
 
-#: qcsrc/common/notifications.qh:414
+#: qcsrc/common/notifications.qh:425
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a été pris dans l'explosion d'un Raptor%s%s"
 
-#: qcsrc/common/notifications.qh:415
+#: qcsrc/common/notifications.qh:426
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a été pris dans l'explosion d'un Spiderbot%s%s"
 
-#: qcsrc/common/notifications.qh:416
+#: qcsrc/common/notifications.qh:427
 #, c-format
 msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a été réduit en miettes par une roquette de Spiderbot%s%s"
 
-#: qcsrc/common/notifications.qh:417
+#: qcsrc/common/notifications.qh:428
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a été pris dans l'explosion d'un Racer%s%s"
 
-#: qcsrc/common/notifications.qh:418
+#: qcsrc/common/notifications.qh:429
 #, c-format
 msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
-msgstr ""
+msgstr "^BG%s^K1 n'a pas pu se mettre à l'abri d'une roquette de Racer%s%s"
 
-#: qcsrc/common/notifications.qh:419
+#: qcsrc/common/notifications.qh:430
 #, c-format
 msgid "^BG%s^K1 was in the wrong place%s%s"
-msgstr ""
+msgstr "^BG%s^K1 était au mauvais endroit%s%s"
 
-#: qcsrc/common/notifications.qh:420
+#: qcsrc/common/notifications.qh:431
 #, c-format
 msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a été trahi par ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:421
+#: qcsrc/common/notifications.qh:432
 #, c-format
 msgid "^BG%s^K1 was frozen by ^BG%s"
-msgstr ""
+msgstr "^BG%s^K1 a été gelé par ^BG%s"
 
-#: qcsrc/common/notifications.qh:422
+#: qcsrc/common/notifications.qh:433
 #, c-format
 msgid "^BG%s^K3 was revived by ^BG%s"
-msgstr ""
+msgstr "^BG%s^K3 a été dégelé par ^BG%s"
 
-#: qcsrc/common/notifications.qh:423
+#: qcsrc/common/notifications.qh:434
 #, c-format
 msgid "^BG%s^K3 was revived by falling"
-msgstr ""
+msgstr "^BG%s^K3 a dégelé après être tombé"
 
-#: qcsrc/common/notifications.qh:424
+#: qcsrc/common/notifications.qh:435
 #, c-format
 msgid "^BG%s^K3 was automatically revived after %s second(s)"
-msgstr ""
+msgstr "^BG%s^K3 a été automatiquement dégelé après %s seconde(s)"
 
-#: qcsrc/common/notifications.qh:425 qcsrc/common/notifications.qh:612
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
 msgid "^TC^TT^BG team wins the round"
-msgstr ""
+msgstr "L'équipe ^TC^TT^BG remporte la manche"
 
-#: qcsrc/common/notifications.qh:426 qcsrc/common/notifications.qh:613
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
 #, c-format
 msgid "^BG%s^BG wins the round"
 msgstr "^BG%s^BG remporte la manche"
 
-#: qcsrc/common/notifications.qh:427 qcsrc/common/notifications.qh:542
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
 msgid "^BGRound tied"
-msgstr ""
+msgstr "^BGManche nulle"
 
-#: qcsrc/common/notifications.qh:428 qcsrc/common/notifications.qh:543
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
 msgid "^BGRound over, there's no winner"
-msgstr ""
+msgstr "^BGManche terminée, il n'y a pas de gagnant"
 
-#: qcsrc/common/notifications.qh:429
+#: qcsrc/common/notifications.qh:440
 #, c-format
 msgid "^BG%s^K1 froze themself"
-msgstr ""
+msgstr "^BG%s^K1 s'est gelé tout seul"
 
-#: qcsrc/common/notifications.qh:430
+#: qcsrc/common/notifications.qh:441
 #, c-format
 msgid "^BGGodmode saved you %s units of damage, cheater!"
-msgstr ""
+msgstr "^BGLe mode Dieu vous a épargné %s points de dégâts, tricheur !"
 
-#: qcsrc/common/notifications.qh:431 qcsrc/common/notifications.qh:616
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
 #, c-format
 msgid "^BGYou do not have the ^F1%s"
-msgstr ""
+msgstr "^BGVous n'avez pas le ^F1%s"
 
-#: qcsrc/common/notifications.qh:432 qcsrc/common/notifications.qh:617
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
 #, c-format
 msgid "^BGYou dropped the ^F1%s^BG%s"
 msgstr "^BGVous avez lâché le ^F1%s^BG%s"
 
-#: qcsrc/common/notifications.qh:433 qcsrc/common/notifications.qh:618
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
 #, c-format
 msgid "^BGYou got the ^F1%s"
 msgstr "^BGVous avez le ^F1%s"
 
-#: qcsrc/common/notifications.qh:434 qcsrc/common/notifications.qh:619
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
 #, c-format
 msgid "^BGYou don't have enough ammo for the ^F1%s"
-msgstr ""
+msgstr "^BGVous n'avez pas assez de munitions pour le ^F1%s"
 
-#: qcsrc/common/notifications.qh:435 qcsrc/common/notifications.qh:620
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
 #, c-format
 msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
-msgstr ""
+msgstr "^F1%s %s^BG ne peut pas tirer, mais son ^F1%s^BG le peut"
 
-#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:621
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
 #, c-format
 msgid "^F1%s^BG is ^F4not available^BG on this map"
-msgstr ""
+msgstr "Le ^F1%s^BG n'est ^F4pas disponible^BG dans cette carte"
 
-#: qcsrc/common/notifications.qh:437
+#: qcsrc/common/notifications.qh:448
 #, c-format
 msgid "^BG%s^F3 connected%s"
 msgstr "^BG%s^F3 s'est connecté%s"
 
-#: qcsrc/common/notifications.qh:438
+#: qcsrc/common/notifications.qh:449
 #, c-format
 msgid "^BG%s^F3 connected and joined the ^TC^TT team"
 msgstr "^BG%s^F3 s'est connecté et a rejoint l'équipe ^TC^TT"
 
-#: qcsrc/common/notifications.qh:439
+#: qcsrc/common/notifications.qh:450
 #, c-format
 msgid "^BG%s^F3 is now playing"
-msgstr "^BG%s^F3 est désormais en train de jouer"
+msgstr "^BG%s^F3 a rejoint la partie"
 
-#: qcsrc/common/notifications.qh:440 qcsrc/common/notifications.qh:624
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
 #, c-format
 msgid "^BG%s^BG has dropped the ball!"
 msgstr "^BG%s^BG a lâché la balle !"
 
-#: qcsrc/common/notifications.qh:441 qcsrc/common/notifications.qh:625
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
 #, c-format
 msgid "^BG%s^BG has picked up the ball!"
 msgstr "^BG%s^BG a pris la balle !"
 
-#: qcsrc/common/notifications.qh:442
+#: qcsrc/common/notifications.qh:453
 #, c-format
 msgid "^BG%s^BG captured the keys for the ^TC^TT team"
 msgstr "^BG%s^BG a capturé les clefs pour l'équipe ^TC^TT"
 
-#: qcsrc/common/notifications.qh:443
+#: qcsrc/common/notifications.qh:454
 #, c-format
 msgid "^BG%s^BG dropped the ^TC^TT Key"
-msgstr "^BG%s^BG a lâché la clef ^TC^TT"
+msgstr "^BG%s^BG a lâché la Clef ^TC^TT"
 
-#: qcsrc/common/notifications.qh:444
+#: qcsrc/common/notifications.qh:455
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT Key"
-msgstr "^BG%s^BG a perdu la clef ^TC^TT"
+msgstr "^BG%s^BG a perdu la Clef ^TC^TT"
 
-#: qcsrc/common/notifications.qh:445
+#: qcsrc/common/notifications.qh:456
 #, c-format
 msgid "^BG%s^BG picked up the ^TC^TT Key"
-msgstr "^BG%s^BG a pris la clef ^TC^TT"
+msgstr "^BG%s^BG a pris la Clef ^TC^TT"
 
-#: qcsrc/common/notifications.qh:446
+#: qcsrc/common/notifications.qh:457
 #, c-format
 msgid "^BG%s^F3 forfeited"
 msgstr "^BG%s^F3 a déclaré forfait"
 
-#: qcsrc/common/notifications.qh:447
+#: qcsrc/common/notifications.qh:458
 #, c-format
 msgid "^BG%s^F3 has no more lives left"
 msgstr "^BG%s^F3 n'a plus aucune vie"
 
-#: qcsrc/common/notifications.qh:448
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr "^BGLes monstres sont actuellement désactivés"
+
+#: qcsrc/common/notifications.qh:460
 #, c-format
 msgid "^BG%s^K1 picked up Invisibility"
-msgstr ""
+msgstr "^BG%s^K1 a pris le bonus d'Invisibilité"
 
-#: qcsrc/common/notifications.qh:449
+#: qcsrc/common/notifications.qh:461
 #, c-format
 msgid "^BG%s^K1 picked up Shield"
-msgstr ""
+msgstr "^BG%s^K1 a pris le bonus de Bouclier"
 
-#: qcsrc/common/notifications.qh:450
+#: qcsrc/common/notifications.qh:462
 #, c-format
 msgid "^BG%s^K1 picked up Speed"
-msgstr ""
+msgstr "^BG%s^K1 a pris le bonus de Vitesse"
 
-#: qcsrc/common/notifications.qh:451
+#: qcsrc/common/notifications.qh:463
 #, c-format
 msgid "^BG%s^K1 picked up Strength"
-msgstr ""
+msgstr "^BG%s^K1 a pris le bonus de Force"
 
-#: qcsrc/common/notifications.qh:452
+#: qcsrc/common/notifications.qh:464
 #, c-format
 msgid "^BG%s^F3 disconnected"
 msgstr "^BG%s^F3 s'est déconnecté"
 
-#: qcsrc/common/notifications.qh:453
+#: qcsrc/common/notifications.qh:465
 #, c-format
 msgid "^BG%s^F3 was kicked for idling"
 msgstr "^BG%s^F3 a été expulsé pour cause d'inactivité"
 
-#: qcsrc/common/notifications.qh:454
+#: qcsrc/common/notifications.qh:466
 msgid ""
 "^F2You were kicked from the server because you are a spectator and "
 "spectators aren't allowed at the moment."
@@ -1970,540 +2067,575 @@ msgstr ""
 "^F2Vous avez été expulsé du serveur parce que vous êtes un spectateur et les "
 "spectateurs ne sont pas autorisés pour le moment."
 
-#: qcsrc/common/notifications.qh:455
+#: qcsrc/common/notifications.qh:467
 #, c-format
 msgid "^BG%s^F3 is now spectating"
-msgstr "^BG%s^F3 est désormais spectateur"
+msgstr "^BG%s^F3 est devenu spectateur"
 
-#: qcsrc/common/notifications.qh:456
+#: qcsrc/common/notifications.qh:468
 #, c-format
 msgid "^BG%s^BG has abandoned the race"
 msgstr "^BG%s^BG a abandonné la course"
 
-#: qcsrc/common/notifications.qh:457
+#: qcsrc/common/notifications.qh:469
 #, c-format
 msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
 msgstr ""
+"^BG%s^BG n'a pas réussi à améliorer son record au classement de %s%s^BG de %s"
+"%s %s"
 
-#: qcsrc/common/notifications.qh:458
+#: qcsrc/common/notifications.qh:470
 #, c-format
 msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
 msgstr ""
+"^BG%s^BG n'a pas réussi à battre le record au classement de %s%s^BG de %s%s "
+"%s"
 
-#: qcsrc/common/notifications.qh:459
+#: qcsrc/common/notifications.qh:471
 #, c-format
 msgid "^BG%s^BG has finished the race"
 msgstr "^BG%s^BG a terminé la course"
 
-#: qcsrc/common/notifications.qh:460
+#: qcsrc/common/notifications.qh:472
 #, c-format
 msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
 msgstr ""
+"^BG%s^BG a battu le record au classement de %s^BG's %s%s^BG avec %s%s %s"
 
-#: qcsrc/common/notifications.qh:461
+#: qcsrc/common/notifications.qh:473
 #, c-format
 msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
-msgstr ""
+msgstr "^BG%s^BG a amélioré son record au classement de  %s%s^BG avec %s%s %s"
 
-#: qcsrc/common/notifications.qh:462
+#: qcsrc/common/notifications.qh:474
 #, c-format
 msgid ""
 "^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
 "and will be lost."
 msgstr ""
+"^BG%s^BG a inscrit un nouveau record avec ^F2%s^BG, mais il n'a "
+"malheureusement aucun UID et le record va être perdu."
 
-#: qcsrc/common/notifications.qh:463
+#: qcsrc/common/notifications.qh:475
 #, c-format
 msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
-msgstr ""
+msgstr "^BG%s^BG a défini le record de classement de %s%s^BG à %s%s"
 
-#: qcsrc/common/notifications.qh:464
+#: qcsrc/common/notifications.qh:476
 msgid "^TC^TT ^BGteam scores!"
 msgstr "L'équipe ^TC^TT ^BG marque !"
 
-#: qcsrc/common/notifications.qh:465
+#: qcsrc/common/notifications.qh:477
 #, c-format
 msgid ""
 "^F2You have to become a player within the next %s, otherwise you will be "
 "kicked, because spectating isn't allowed at this time!"
 msgstr ""
+"^F2Vous devez rejoindre la partie avant les prochaines %s, sinon vous serez "
+"expulsé, car les spectateurs ne sont pas autorisés pour le moment !"
 
-#: qcsrc/common/notifications.qh:466
+#: qcsrc/common/notifications.qh:478
 #, c-format
 msgid "^BG%s^K1 picked up a Superweapon"
-msgstr ""
+msgstr "^BG%s^K1 a pris une Super-Arme"
 
-#: qcsrc/common/notifications.qh:467
+#: qcsrc/common/notifications.qh:479
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
 "^F2Xonotic %s"
 msgstr ""
+"^F4NOTE : ^BGLe serveur fonctionne avec ^F1Xonotic %s (beta)^BG, vous avez "
+"^F2Xonotic %s"
 
-#: qcsrc/common/notifications.qh:468
+#: qcsrc/common/notifications.qh:480
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
 msgstr ""
+"^F4NOTE : ^BGLe serveur fonctionne avec ^F1Xonotic %s^BG, vous avez "
+"^F2Xonotic %s"
 
-#: qcsrc/common/notifications.qh:469
+#: qcsrc/common/notifications.qh:481
 #, c-format
 msgid ""
 "^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
 "the update from ^F3http://www.xonotic.org/^BG!"
 msgstr ""
+"^F4NOTE : ^F1Xonotic %s^BG est disponible, or vous avez toujours ^F2Xonotic "
+"%s^BG - obtenez la mise à jour depuis ^F3http://www.xonotic.org/^BG !"
 
-#: qcsrc/common/notifications.qh:470
+#: qcsrc/common/notifications.qh:482
 #, c-format
 msgid "^F3SVQC Build information: ^F4%s"
-msgstr "^F3SVQC Informations de version : ^F4%s"
+msgstr "^F3Informations de version SVQC : ^F4%s"
 
-#: qcsrc/common/notifications.qh:471
+#: qcsrc/common/notifications.qh:483
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a succombé à la musique du @!#%% Accordéon de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:472
+#: qcsrc/common/notifications.qh:484
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
-msgstr ""
+msgstr "^BG%s^K1 s'est cassé les oreilles avec son propre @!#%% Accordéon%s%s"
 
-#: qcsrc/common/notifications.qh:473
+#: qcsrc/common/notifications.qh:485
 #, c-format
 msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a mesuré la puissance du Crylink de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:474
+#: qcsrc/common/notifications.qh:486
 #, c-format
 msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a mesuré la puissance de son propre Crylink%s%s"
 
-#: qcsrc/common/notifications.qh:475
+#: qcsrc/common/notifications.qh:487
 #, c-format
 msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été mis en miettes par le rayon Electro de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:476
+#: qcsrc/common/notifications.qh:488
 #, c-format
 msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été électrocuté par le combo Electro de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:477
+#: qcsrc/common/notifications.qh:489
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
 msgstr ""
+"^BG%s%s^K1 s'est approché trop près de l'Electro-plasma de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:478
+#: qcsrc/common/notifications.qh:490
 #, c-format
 msgid "^BG%s^K1 played with Electro plasma%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a joué avec son Electro-plasma%s%s"
 
-#: qcsrc/common/notifications.qh:479
+#: qcsrc/common/notifications.qh:491
 #, c-format
 msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
 msgstr ""
+"^BG%s^K1 ne se rappelait plus où il avait laissé traîner son Electro-plasma%s"
+"%s"
 
-#: qcsrc/common/notifications.qh:480
+#: qcsrc/common/notifications.qh:492
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 s'est approché trop près de la boule de feu de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:481
+#: qcsrc/common/notifications.qh:493
 #, c-format
 msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été brûlé par la mine de feu de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:482
+#: qcsrc/common/notifications.qh:494
 #, c-format
 msgid "^BG%s^K1 should have used a smaller gun%s%s"
-msgstr ""
+msgstr "^BG%s^K1 aurait mieux fait d'utiliser une arme moins lourde%s%s"
 
-#: qcsrc/common/notifications.qh:483
+#: qcsrc/common/notifications.qh:495
 #, c-format
 msgid "^BG%s^K1 forgot about their firemine%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a oublié sa propre mine de feu%s%s"
 
-#: qcsrc/common/notifications.qh:484
+#: qcsrc/common/notifications.qh:496
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
+"^BG%s%s^K1 a été assommé par une rafale de roquettes du Hagar à ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:485
+#: qcsrc/common/notifications.qh:497
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été assommé par les roquettes du Hagar de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:486
+#: qcsrc/common/notifications.qh:498
 #, c-format
 msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a joué avec ses minuscules roquettes de Hagar%s%s"
 
-#: qcsrc/common/notifications.qh:487
+#: qcsrc/common/notifications.qh:499
 #, c-format
 msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été découpé par le HLAC de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:488
+#: qcsrc/common/notifications.qh:500
 #, c-format
 msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a un peu trop fait confiance à son HLAC%s%s"
 
-#: qcsrc/common/notifications.qh:489
+#: qcsrc/common/notifications.qh:501
 #, c-format
 msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
 msgstr ""
+"^BG%s%s^K1 a été pris au piège par la bombe gravitationnelle du Grappin de "
+"^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:490
+#: qcsrc/common/notifications.qh:502
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
 msgstr ""
+"^BG%s%s^K1 a succombé à la musique du @!#%% Klein Bottle de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:491
+#: qcsrc/common/notifications.qh:503
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
 msgstr ""
+"^BG%s^K1 s'est cassé les oreilles avec son propre @!#%% Klein Bottle%s%s"
 
-#: qcsrc/common/notifications.qh:492
+#: qcsrc/common/notifications.qh:504
 #, c-format
 msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été abattu par le Laser de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:493
+#: qcsrc/common/notifications.qh:505
 #, c-format
 msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
-msgstr ""
+msgstr "^BG%s^K1 s'est expédié en enfer avec son propre Laser%s%s"
 
-#: qcsrc/common/notifications.qh:494
+#: qcsrc/common/notifications.qh:506
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 s'est approché trop près de la mine de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:495
+#: qcsrc/common/notifications.qh:507
 #, c-format
 msgid "^BG%s^K1 forgot about their mine%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a oublié sa propre mine%s%s"
 
-#: qcsrc/common/notifications.qh:496
+#: qcsrc/common/notifications.qh:508
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été vaporisé par le Minstanex de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:497
+#: qcsrc/common/notifications.qh:509
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
+"^BG%s%s^K1 s'est approché trop près de la grenade du Mortier de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:498
+#: qcsrc/common/notifications.qh:510
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a goûté à la grenade du Mortier de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:499
+#: qcsrc/common/notifications.qh:511
 #, c-format
 msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
-msgstr ""
+msgstr "^BG%s^K1 n'a pas vu sa propre grenade de Mortier%s%s"
 
-#: qcsrc/common/notifications.qh:500
+#: qcsrc/common/notifications.qh:512
 #, c-format
 msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
-msgstr ""
+msgstr "^BG%s^K1 s'est fait sauter avec son propre Mortier%s%s"
 
-#: qcsrc/common/notifications.qh:501
+#: qcsrc/common/notifications.qh:513
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été vaporisé par le Nex de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:502
+#: qcsrc/common/notifications.qh:514
 #, c-format
 msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été abattu par le Fusil de précision de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:503
+#: qcsrc/common/notifications.qh:515
 #, c-format
 msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
+"^BG%s%s^K1 est mort dans la grêle de balles du Fusil de précision de ^BG"
+"%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:504
+#: qcsrc/common/notifications.qh:516
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
+"^BG%s%s^K1 n'a pas pu éviter la grêle de balles du Fusil de précision de ^BG"
+"%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:505
+#: qcsrc/common/notifications.qh:517
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 n'a pas pu éviter le Fusil de précision de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:506
+#: qcsrc/common/notifications.qh:518
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a goûté à la roquette de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:507
+#: qcsrc/common/notifications.qh:519
 #, c-format
 msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 s'est approché trop près de la roquette de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:508
+#: qcsrc/common/notifications.qh:520
 #, c-format
 msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
-msgstr ""
+msgstr "^BG%s^K1 s'est fait sauter avec son propre Lance-Roquettes%s%s"
 
-#: qcsrc/common/notifications.qh:509
+#: qcsrc/common/notifications.qh:521
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été assommé par les roquettes du Seeker de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:510
+#: qcsrc/common/notifications.qh:522
 #, c-format
 msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été marqué pour cible par le Seeker de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:511
+#: qcsrc/common/notifications.qh:523
 #, c-format
 msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a joué avec ses minuscules roquettes de Seeker%s%s"
 
-#: qcsrc/common/notifications.qh:512
+#: qcsrc/common/notifications.qh:524
 #, c-format
 msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été abattu par le Fusil de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:513
+#: qcsrc/common/notifications.qh:525
 #, c-format
 msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a frappé ^BG%s^K1 avec un gros Fusil%s%s"
 
-#: qcsrc/common/notifications.qh:514
+#: qcsrc/common/notifications.qh:526
 #, c-format
 msgid "^BG%s^K1 is now thinking with portals%s%s"
-msgstr ""
+msgstr "^BG%s^K1 a cru qu'il jouait à Portal%s%s"
 
-#: qcsrc/common/notifications.qh:515
+#: qcsrc/common/notifications.qh:527
 #, c-format
 msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a succombé à la musique du @!#%% Tuba de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:516
+#: qcsrc/common/notifications.qh:528
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
-msgstr ""
+msgstr "^BG%s^K1 s'est cassé les oreilles avec son propre @!#%% Tuba%s%s"
 
-#: qcsrc/common/notifications.qh:517
+#: qcsrc/common/notifications.qh:529
 #, c-format
 msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été abattu par la Mitrailleuse de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:518
+#: qcsrc/common/notifications.qh:530
 #, c-format
 msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 a été criblé de balles par la Mitrailleuse de ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:536
+#: qcsrc/common/notifications.qh:548
 msgid "^BGYou are attacking!"
 msgstr "^BGVous êtes en attaque !"
 
-#: qcsrc/common/notifications.qh:537
+#: qcsrc/common/notifications.qh:549
 msgid "^BGYou are defending!"
 msgstr "^BGVous êtes en défense !"
 
-#: qcsrc/common/notifications.qh:538
+#: qcsrc/common/notifications.qh:550
 msgid "^F4Begin!"
-msgstr ""
+msgstr "^F4C'est parti !"
 
-#: qcsrc/common/notifications.qh:539
+#: qcsrc/common/notifications.qh:551
 msgid "^F4Game starts in ^COUNT"
-msgstr ""
+msgstr "^F4La partie commence dans ^COUNT"
 
-#: qcsrc/common/notifications.qh:540
+#: qcsrc/common/notifications.qh:552
 msgid "^F4Round starts in ^COUNT"
 msgstr "^F4La manche démarre dans ^COUNT"
 
-#: qcsrc/common/notifications.qh:541
+#: qcsrc/common/notifications.qh:553
 msgid "^F4Round cannot start"
 msgstr "^F4La manche ne peut pas démarrer"
 
-#: qcsrc/common/notifications.qh:544
+#: qcsrc/common/notifications.qh:556
 msgid "^F2Don't camp!"
 msgstr "^F2Ne campez pas !"
 
-#: qcsrc/common/notifications.qh:545
+#: qcsrc/common/notifications.qh:557
 msgid ""
 "^BGYou are now free.\n"
 "^BGFeel free to ^F2try to capture^BG the flag again\n"
 "^BGif you think you will succeed."
 msgstr ""
+"^BGVous êtes désormais libre.\n"
+"^BGVous pouvez à nouveau ^F2essayer de capturer^BG le drapeau\n"
+"^BGsi vous pensez y arriver."
 
-#: qcsrc/common/notifications.qh:546
+#: qcsrc/common/notifications.qh:558
 msgid ""
 "^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."
 msgstr ""
+"^BGVous ne pouvez ^F1plus prendre^BG le drapeau ennemi\n"
+"^BGcar vous avez ^F2échoué à de multiples reprises^BG à le capturer.\n"
+"^BGDéfendez votre propre drapeau avant de pouvoir réessayer."
 
-#: qcsrc/common/notifications.qh:547
+#: qcsrc/common/notifications.qh:559
 msgid "^BGYou captured the ^TC^TT^BG flag!"
 msgstr "^BGVous avez capturé le drapeau ^TC^TT^BG !"
 
-#: qcsrc/common/notifications.qh:548
+#: qcsrc/common/notifications.qh:560
 #, c-format
 msgid "^BGToo many flag throws! Throwing disabled for %s."
 msgstr "^BGTrop de lancers de drapeaux ! Lancers désactivés pendant %s."
 
-#: qcsrc/common/notifications.qh:549
+#: qcsrc/common/notifications.qh:561
 #, c-format
 msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
 msgstr "^BG%s^BG a passé le drapeau ^TC^TT^BG à %s"
 
-#: qcsrc/common/notifications.qh:550
+#: qcsrc/common/notifications.qh:562
 #, c-format
 msgid "^BGYou received the ^TC^TT^BG flag from %s"
-msgstr "^BGVous avez reçu le drapeau ^TC^TT^BG de %s"
+msgstr "^BGVous avez reçu le drapeau ^TC^TT^BG de la part de %s"
 
-#: qcsrc/common/notifications.qh:551
+#: qcsrc/common/notifications.qh:563
 #, c-format
 msgid "^BG%s^BG requests you to pass the flag%s"
-msgstr "^BG%s^BG vous demande de passer le drapeau%s"
+msgstr "^BG%s^BG vous demande de lui passer le drapeau%s"
 
-#: qcsrc/common/notifications.qh:552
+#: qcsrc/common/notifications.qh:564
 #, c-format
 msgid "^BGRequesting %s^BG to pass you the flag"
 msgstr "^BGDemande à %s^BG de vous passer le drapeau"
 
-#: qcsrc/common/notifications.qh:553
+#: qcsrc/common/notifications.qh:565
 #, c-format
 msgid "^BGYou passed the ^TC^TT^BG flag to %s"
 msgstr "^BGVous avez passé le drapeau ^TC^TT^BG à %s"
 
-#: qcsrc/common/notifications.qh:554
+#: qcsrc/common/notifications.qh:566
 msgid "^BGYou got the ^TC^TT^BG flag!"
 msgstr "^BGVous avez le drapeau ^TC^TT^BG !"
 
-#: qcsrc/common/notifications.qh:555
+#: qcsrc/common/notifications.qh:567
 #, c-format
 msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
 msgstr "^BGL'ennemi %s^BG a votre drapeau ! Récupérez-le !"
 
-#: qcsrc/common/notifications.qh:556
+#: qcsrc/common/notifications.qh:568
 #, c-format
 msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
-msgstr "^BGL'ennemi %s (^BG%s%s)^BG a votre drapeau ! Récupérez-le !"
+msgstr "^BGL'ennemi %s(^BG%s%s)^BG a votre drapeau ! Récupérez-le !"
 
-#: qcsrc/common/notifications.qh:557
+#: qcsrc/common/notifications.qh:569
 #, c-format
 msgid "^BGYour %steam mate^BG got the flag! Protect them!"
-msgstr "^BGVotre équipier %s^BG a la drapeau ! Protégez-le !"
+msgstr "^BGVotre équipier %s^BG a le drapeau ! Protégez-le !"
 
-#: qcsrc/common/notifications.qh:558
+#: qcsrc/common/notifications.qh:570
 #, c-format
 msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
-msgstr "^BGVotre %séquipier (^BG%s%s)^BG a le drapeau ! Protégez-le !"
+msgstr "^BGVotre équipier %s(^BG%s%s)^BG a le drapeau ! Protégez-le !"
 
-#: qcsrc/common/notifications.qh:559
+#: qcsrc/common/notifications.qh:571
 msgid "^BGYou returned the ^TC^TT^BG flag!"
-msgstr "^BGVous avez retourné le drapeau ^TC^TT^BG !"
+msgstr "^BGVous avez récupéré le drapeau ^TC^TT^BG !"
 
-#: qcsrc/common/notifications.qh:560
+#: qcsrc/common/notifications.qh:572
 msgid "^BGStalemate! Enemies can now see you on radar!"
-msgstr "^BGImpasse ! Les ennemis peuvent maintenant vous voir sur le radar !"
+msgstr ""
+"^BGChasse à l'homme ! Les ennemis peuvent maintenant vous voir sur le radar !"
 
-#: qcsrc/common/notifications.qh:561
+#: qcsrc/common/notifications.qh:573
 msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
 msgstr ""
-"^BGImpasse ! Les porteurs de drapeau sont maintenant visibles sur le radar !"
+"^BGChasse à l'homme ! Les porteurs de drapeau sont maintenant visibles sur "
+"le radar !"
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou fragged ^BG%s"
 msgstr "^K3%sVous avez tué ^BG%s"
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou scored against ^BG%s"
-msgstr "^K3%sVous avez marqué contre ^BG%s"
+msgstr "^K3%sVous avez pris pour cible ^BG%s"
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s"
 msgstr "^K1%sVous avez été tué par ^BG%s"
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s"
-msgstr "^K1%sVous avez offert un point à ^BG%s"
+msgstr "^K1%sVous avez servi de cible à ^BG%s"
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s^BG%s"
 msgstr "^K1%sVous avez été tué par ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^BG%s"
-msgstr "^K1%sVous avez offert un point à ^BG%s^BG%s"
+msgstr "^K1%sVous avez servi de cible à ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou fragged ^BG%s^BG%s"
 msgstr "^K3%sVous avez tué ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou scored against ^BG%s^BG%s"
-msgstr "^K3%sVous avez marqué contre ^BG%s^BG%s"
+msgstr "^K3%sVous avez pris pour cible ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
 msgstr ""
-"^K1%sVous avez volé un point à ^BG%s^K1 pendant qu'il tapait au clavier"
+"^K1%sVous avez pris pour cible ^BG%s^K1 pendant qu'il tapait au clavier"
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s"
-msgstr "^K1%sVous avez type-tué ^BG%s"
+msgstr "^K1%sVous avez tué ^BG%s pendant qu'il écrivait"
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
 msgstr ""
-"^K1%sVous avez offert un point à ^BG%s^K1 pendant que vous tapiez au "
-"clavier !"
+"^K1%sVous avez servi de cible à ^BG%s^K1 pendant que vous tapiez au clavier !"
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s"
-msgstr "^K1%sVous avez été type-tué par ^BG%s"
+msgstr "^K1%sVous avez été tué par ^BG%s pendant que vous écriviez"
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
 msgstr ""
-"^K1%sVous avez offert un point à  ^BG%s^K1 pendant que vous tapiez au "
+"^K1%sVous avez servi de cible à ^BG%s^K1 pendant que vous tapiez au "
 "clavier^BG%s"
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
 msgstr "^K1%sVous avez été tué pendant que vous écriviez par ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
 msgstr ""
-"^K1%sVous avez volé un point à ^BG%s^K1 pendant qu'il tapait au clavier^BG%s"
+"^K1%sVous avez pris pour cible ^BG%s^K1 pendant qu'il tapait au clavier^BG%s"
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s^BG%s"
-msgstr "^K1%sVous avez type-tué ^BG%s^BG%s"
+msgstr "^K1%sVous avez tué ^BG%s^BG%s pendant qu'il écrivait"
 
-#: qcsrc/common/notifications.qh:570
+#: qcsrc/common/notifications.qh:582
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
 msgstr "^BGAppuyez sur ^F2LÂCHER L'ARME^BG à nouveau pour lancer la grenade !"
 
-#: qcsrc/common/notifications.qh:571
+#: qcsrc/common/notifications.qh:583
 #, c-format
 msgid ""
 "^BGYou have been moved into a different team\n"
@@ -2512,564 +2644,604 @@ msgstr ""
 "^BGVous avez été déplacé dans une autre équipe\n"
 "Vous êtes maintenant dans : %s"
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't go against your team mates!"
-msgstr "^K1N'agressez pas vos équipiers !"
+msgstr "^K1N'agressez pas vos coéquipiers !"
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't shoot your team mates!"
-msgstr "^K1Ne tirez pas sur vos équipiers !"
+msgstr "^K1Ne tirez pas sur vos coéquipiers !"
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Die camper!"
 msgstr "^K1Meurs, campeur !"
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Reconsider your tactics, camper!"
 msgstr "^K1Change de tactique, campeur !"
 
-#: qcsrc/common/notifications.qh:574
+#: qcsrc/common/notifications.qh:586
 msgid "^K1You unfairly eliminated yourself!"
-msgstr ""
+msgstr "^K1Vous vous êtes éliminé tout seul !"
 
-#: qcsrc/common/notifications.qh:575
+#: qcsrc/common/notifications.qh:587
 #, c-format
 msgid "^K1You were %s"
 msgstr "^K1Vous avez été %s"
 
-#: qcsrc/common/notifications.qh:576
+#: qcsrc/common/notifications.qh:588
 msgid "^K1You couldn't catch your breath!"
-msgstr ""
+msgstr "^K1Vous n'avez pas pu reprendre votre souffle !"
 
-#: qcsrc/common/notifications.qh:577
+#: qcsrc/common/notifications.qh:589
 msgid "^K1You hit the ground with a crunch!"
-msgstr ""
+msgstr "^K1Vous avez heurté le sol dans un craquement sourd !"
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You felt a little too hot!"
-msgstr ""
+msgstr "^K1Vous avez eu un coup de chaud !"
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You got a little bit too crispy!"
-msgstr ""
+msgstr "^K1Vous êtes devenu un peu trop croustillant !"
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You killed your own dumb self!"
-msgstr "^K1Vous vous êtes suicidé !"
+msgstr "^K1Vous vous êtes bêtement tué !"
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You need to be more careful!"
-msgstr ""
+msgstr "^K1Vous devez faire plus attention !"
 
-#: qcsrc/common/notifications.qh:580
+#: qcsrc/common/notifications.qh:592
 msgid "^K1You couldn't stand the heat!"
-msgstr ""
+msgstr "^K1Vous n'avez pas pu supporter la chaleur !"
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr "^K1Vous devez prêter garde aux monstres !"
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr "^K1Vous avez été tué par un monstre !"
+
+#: qcsrc/common/notifications.qh:594
 msgid "^K1Tastes like chicken!"
-msgstr ""
+msgstr "^K1Ça a comme un goût de poulet !"
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:594
 msgid "^K1You forgot to put the pin back in!"
 msgstr "^K1Vous avez oublié de remettre la goupille !"
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You are respawning for running out of ammo..."
-msgstr ""
+msgstr "^K1Vous réapparaissez car vous n'aviez plus de munitions..."
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You were killed for running out of ammo..."
-msgstr ""
+msgstr "^K1Vous avez été tué car vous n'aviez plus de munitions..."
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You grew too old without taking your medicine"
-msgstr ""
+msgstr "^K1Vous vous faites trop vieux et vous n'avez pas pris vos médicaments"
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You need to preserve your health"
-msgstr ""
+msgstr "^K1Vous devez prendre soin de votre santé"
 
-#: qcsrc/common/notifications.qh:584
+#: qcsrc/common/notifications.qh:597
 msgid "^K1You became a shooting star!"
-msgstr "^K1Vous êtes devenu une étoile filante !"
+msgstr "^K1Vous vous êtes transformé une étoile filante !"
 
-#: qcsrc/common/notifications.qh:585
+#: qcsrc/common/notifications.qh:598
 msgid "^K1You melted away in slime!"
 msgstr "^K1Vous avez fondu dans de l'acide !"
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You committed suicide!"
 msgstr "^K1Vous vous êtes suicidé !"
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You ended it all!"
-msgstr ""
+msgstr "^K1Vous avez mis fin à vos jours !"
 
-#: qcsrc/common/notifications.qh:587
+#: qcsrc/common/notifications.qh:600
 msgid "^K1You got stuck in a swamp!"
-msgstr ""
+msgstr "^K1Vous avez été englouti !"
 
-#: qcsrc/common/notifications.qh:588
+#: qcsrc/common/notifications.qh:601
 #, c-format
 msgid "^BGYou are now on: %s"
 msgstr "^BGVous êtes maintenant dans : %s"
 
-#: qcsrc/common/notifications.qh:589
+#: qcsrc/common/notifications.qh:602
 msgid "^K1You died in an accident!"
 msgstr "^K1Vous êtes mort dans un accident !"
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You had an unfortunate run in with a turret!"
-msgstr ""
+msgstr "^K1Vous avez terminé votre course infortunée dans une tourelle !"
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You were fragged by a turret!"
 msgstr "^K1Vous avez été tué par une tourelle !"
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You had an unfortunate run in with an eWheel turret!"
 msgstr ""
+"^K1Vous avez terminé votre course infortunée dans une tourelle eWheel !"
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You were fragged by an eWheel turret!"
 msgstr "^K1Vous avez été tué par une tourelle eWheel !"
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You had an unfortunate run in with a Walker turret!"
 msgstr ""
+"^K1Vous avez terminé votre course infortunée dans une tourelle Walker !"
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You were fragged by a Walker turret!"
-msgstr ""
+msgstr "^K1Vous avez été tué par une tourelle Walker !"
 
-#: qcsrc/common/notifications.qh:593
+#: qcsrc/common/notifications.qh:606
 msgid "^K1You got caught in the blast of a Bumblebee explosion!"
-msgstr ""
+msgstr "^K1Vous avez été pris dans l'explosion d'un Bumblebee !"
 
-#: qcsrc/common/notifications.qh:594
+#: qcsrc/common/notifications.qh:607
 msgid "^K1You were crushed by a vehicle!"
-msgstr ""
+msgstr "^K1Vous avez été écrasé par un véhicule !"
 
-#: qcsrc/common/notifications.qh:595
+#: qcsrc/common/notifications.qh:608
 msgid "^K1You were caught in a Raptor cluster bomb!"
 msgstr "^K1Vous avez été pris dans un bombardement de Raptor !"
 
-#: qcsrc/common/notifications.qh:596
+#: qcsrc/common/notifications.qh:609
 msgid "^K1You got caught in the blast of a Raptor explosion!"
 msgstr "^K1Vous avez été pris dans l'explosion d'un Raptor !"
 
-#: qcsrc/common/notifications.qh:597
+#: qcsrc/common/notifications.qh:610
 msgid "^K1You got caught in the blast of a Spiderbot explosion!"
-msgstr ""
+msgstr "^K1Vous avez été pris dans l'explosion d'un Spiderbot !"
 
-#: qcsrc/common/notifications.qh:598
+#: qcsrc/common/notifications.qh:611
 msgid "^K1You were blasted to bits by a Spiderbot rocket!"
-msgstr ""
+msgstr "^K1Vous avez été réduit en miettes par une roquette de Spiderbot !"
 
-#: qcsrc/common/notifications.qh:599
+#: qcsrc/common/notifications.qh:612
 msgid "^K1You got caught in the blast of a Racer explosion!"
 msgstr "^K1Vous avez été pris dans l'explosion d'un Racer !"
 
-#: qcsrc/common/notifications.qh:600
+#: qcsrc/common/notifications.qh:613
 msgid "^K1You couldn't find shelter from a Racer rocket!"
-msgstr ""
+msgstr "^K1Vous n'avez pas pu esquiver une roquette de Racer !"
 
-#: qcsrc/common/notifications.qh:601
+#: qcsrc/common/notifications.qh:614
 msgid "^K1Watch your step!"
 msgstr "^K1Attention à la marche !"
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
 msgstr "^K1Idiot ! Vous avez tué ^BG%s^K1, un équipier !"
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
-msgstr ""
+msgstr "^K1Idiot ! Vous avez agressé ^BG%s^K1, un équipier !"
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were fragged by ^BG%s^K1, a team mate"
 msgstr "^K1Vous avez été tué par ^BG%s^K1, un équipier"
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were scored against by ^BG%s^K1, a team mate"
-msgstr ""
+msgstr "^K1Vous avez servi de cible à ^BG%s^K1, un équipier"
 
-#: qcsrc/common/notifications.qh:604
+#: qcsrc/common/notifications.qh:617
 msgid ""
 "^K1Stop idling!\n"
 "^BGDisconnecting in ^COUNT..."
 msgstr ""
+"^K1Ne restez pas inactif !\n"
+"^BGDéconnexion dans ^COUNT..."
 
-#: qcsrc/common/notifications.qh:605
+#: qcsrc/common/notifications.qh:618
 msgid "^F2You picked up some extra lives"
-msgstr ""
+msgstr "^F2Vous avez ramassé quelques vies supplémentaires"
 
-#: qcsrc/common/notifications.qh:606
+#: qcsrc/common/notifications.qh:619
 #, c-format
 msgid "^K3You froze ^BG%s"
 msgstr "^K3Vous avez gelé ^BG%s"
 
-#: qcsrc/common/notifications.qh:607
+#: qcsrc/common/notifications.qh:620
 #, c-format
 msgid "^K1You were frozen by ^BG%s"
 msgstr "^K1Vous avez été gelé par ^BG%s"
 
-#: qcsrc/common/notifications.qh:608
+#: qcsrc/common/notifications.qh:621
 #, c-format
 msgid "^K3You revived ^BG%s"
-msgstr ""
+msgstr "^K3Vous avez dégelé ^BG%s"
 
-#: qcsrc/common/notifications.qh:609
+#: qcsrc/common/notifications.qh:622
 msgid "^K3You revived yourself"
-msgstr ""
+msgstr "^K3Vous vous êtes dégelé tout seul"
 
-#: qcsrc/common/notifications.qh:610
+#: qcsrc/common/notifications.qh:623
 #, c-format
 msgid "^K3You were revived by ^BG%s"
-msgstr "^K3Vous avez été ressuscité par ^BG%s"
+msgstr "^K3Vous avez été dégelé par ^BG%s"
 
-#: qcsrc/common/notifications.qh:611
+#: qcsrc/common/notifications.qh:624
 #, c-format
 msgid "^K3You were automatically revived after %s second(s)"
-msgstr ""
+msgstr "^K3Vous avez été automatiquement dégelé après %s seconde(s)"
 
-#: qcsrc/common/notifications.qh:614
+#: qcsrc/common/notifications.qh:627
 msgid "^K1You froze yourself"
-msgstr ""
+msgstr "^K1Vous vous êtes gelé tout seul"
 
-#: qcsrc/common/notifications.qh:615
+#: qcsrc/common/notifications.qh:628
 msgid "^K1Round already started, you spawn as frozen"
-msgstr ""
+msgstr "^K1La manche a déjà commencé, vous apparaissez comme gelé"
 
-#: qcsrc/common/notifications.qh:622
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr "^K1Un %s est arrivé !"
+
+#: qcsrc/common/notifications.qh:636
 msgid ""
 "^K1No spawnpoints available!\n"
 "Hope your team can fix it..."
 msgstr ""
+"^K1Aucun endroit où apparaître !\n"
+"En espérant que votre équipe puisse y remédier..."
 
-#: qcsrc/common/notifications.qh:623
+#: qcsrc/common/notifications.qh:637
 msgid ""
 "^K1You may not join the game at this time.\n"
 "The player limit reached maximum capacity."
 msgstr ""
-"^K1Vous ne pouvez pas rejoindre le serveur actuellement.\n"
+"^K1Vous ne pouvez pas rejoindre la partie actuellement.\n"
 "La limite de joueurs a atteint sa capacité maximale."
 
-#: qcsrc/common/notifications.qh:626
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
 msgid "^BGKilling people while you don't have the ball gives no points!"
 msgstr ""
+"^BGTuer des gens alors que vous n'avez pas la balle ne rapporte aucun point !"
 
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:642
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Help the key carriers to meet!"
 msgstr ""
+"^BGToutes les clefs sont entre les mains de votre équipe !\n"
+"Aidez les porteurs de clef à se réunir !"
 
-#: qcsrc/common/notifications.qh:628
+#: qcsrc/common/notifications.qh:643
 msgid ""
 "^BGAll keys are in ^TC^TT team^BG's hands!\n"
 "Interfere ^F4NOW^BG!"
 msgstr ""
+"^BGToutes les clefs sont entre les mains de l'équipe ^TC^TT ^BG !\n"
+"Intervenez ^F4MAINTENANT^BG !"
 
-#: qcsrc/common/notifications.qh:629
+#: qcsrc/common/notifications.qh:644
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Meet the other key carriers ^F4NOW^BG!"
 msgstr ""
+"^BGToutes les clefs sont entre vos mains !\n"
+"Rejoignez les autres porteurs de clef ^F4MAINTENANT^BG !"
 
-#: qcsrc/common/notifications.qh:630
+#: qcsrc/common/notifications.qh:645
 msgid "^F4Round will start in ^COUNT"
-msgstr ""
+msgstr "^F4La manche va commencer dans ^COUNT"
 
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:646
 msgid "^BGScanning frequency range..."
-msgstr ""
+msgstr "^BGBalayage de la gamme de fréquence..."
 
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:647
 msgid "^BGYou are starting with the ^TC^TT Key"
-msgstr ""
+msgstr "^BGVous commencez avec la Clef ^TC^TT"
 
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
 #, c-format
 msgid ""
 "^BGWaiting for players to join...\n"
 "Need active players for: %s"
 msgstr ""
+"^BGEn attente de joueurs...\n"
+"Joueurs requis pour : %s"
 
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:650
 #, c-format
 msgid "^BGWaiting for %s player(s) to join..."
 msgstr "^BGEn attente de %s joueur(s)..."
 
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:651
 msgid "^F4^COUNT^BG left to find some ammo!"
 msgstr "^F4^COUNT^BG restantes pour trouver des munitions !"
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
-msgstr ""
+msgstr "^BGTrouvez des munitions ou vous allez mourir dans ^F4^COUNT^BG !"
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
-msgstr ""
+msgstr "^BGTrouvez des munitions ! ^F4^COUNT^BG restantes !"
 
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:653
 #, c-format
 msgid "^F2Extra lives remaining: ^K1%s"
 msgstr "^F2Vies supplémentaires restantes : ^K1%s"
 
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:654
 msgid "^BGSecondary fire inflicts no damage!"
 msgstr "^BGLe tir secondaire n'inflige aucun dégât !"
 
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:655
 #, c-format
 msgid "^BG%s"
 msgstr "^BG%s"
 
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:656
 #, c-format
 msgid ""
 "^F2^COUNT^BG until weapon change...\n"
 "Next weapon: ^F1%s"
 msgstr ""
+"^F2^COUNT^BG avant le changement d'arme...\n"
+"Prochaine arme : ^F1%s"
 
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:657
 #, c-format
 msgid "^F2Active weapon: ^F1%s"
-msgstr "^F2Arme active : ^F1%s"
+msgstr "^F2Arme actuelle : ^F1%s"
 
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:658
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
-msgstr ""
+msgstr "^BGAppuyez sur ^F2DROPWEAPON^BG à nouveau pour lancer la grenade !"
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep fragging until we have a winner!"
 msgstr ""
+"^F4PROLONGATIONS^F2 ^F2commencées !\n"
+"Continuez de jouer jusqu'à ce qu'il y ait un gagnant !"
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep scoring until we have a winner!"
 msgstr ""
+"^F4PROLONGATIONS^F2 ^F2commencées !\n"
+"Continuez de marquer des points jusqu'à ce qu'il y ait un gagnant !"
 
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:660
 #, c-format
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "^BGAdded ^F4%s^BG to the game!"
 msgstr ""
+"^F4PROLONGATIONS^F2 ^F2commencées !\n"
+"^BG^F4%s^BG de jeu supplémentaires !"
 
-#: qcsrc/common/notifications.qh:646
+#: qcsrc/common/notifications.qh:661
 msgid "^F2Invisibility has worn off"
-msgstr ""
+msgstr "^F2Le bonus d'Invisibilité a expiré"
 
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:662
 msgid "^F2Shield has worn off"
-msgstr ""
+msgstr "^F2Le bonus de Bouclier a expiré"
 
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:663
 msgid "^F2Speed has worn off"
-msgstr ""
+msgstr "^F2Le bonus de Vitesse a expiré"
 
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:664
 msgid "^F2Strength has worn off"
-msgstr ""
+msgstr "^F2Le bonus de Force a expiré"
 
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:665
 msgid "^F2You are invisible"
-msgstr ""
+msgstr "^F2Vous êtes invisible"
 
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:666
 msgid "^F2Shield surrounds you"
-msgstr ""
+msgstr "^F2Le Bouclier vous entoure"
 
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:667
 msgid "^F2You are on speed"
-msgstr ""
+msgstr "^F2Vous êtes rapide comme l'éclair"
 
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:668
 msgid "^F2Strength infuses your weapons with devastating power"
-msgstr ""
+msgstr "^F2Le bonus de Force confère à vos armes une puissance dévastatrice"
 
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:669
 msgid "^F2The race is over, finish your lap!"
-msgstr ""
+msgstr "^F2La course est terminée, finissez votre tour !"
 
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:670
 msgid "^F2Superweapons have broken down"
-msgstr ""
+msgstr "^F2Les Super-armes sont tombées en panne"
 
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:671
 msgid "^F2Superweapons have been lost"
-msgstr ""
+msgstr "^F2Les Super-armes ont été égarées"
 
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:672
 msgid "^F2You now have a superweapon"
-msgstr ""
+msgstr "^F2Vous avez maintenant une super-arme"
 
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:673
 msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
-msgstr ""
+msgstr "^K1Changement vers ^TC^TT^K1 dans ^COUNT"
 
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:674
 msgid "^K1Changing team in ^COUNT"
-msgstr ""
+msgstr "^K1Changement d'équipe dans ^COUNT"
 
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:675
 msgid "^K1Spectating in ^COUNT"
-msgstr ""
+msgstr "^K1Spectateur dans ^COUNT"
 
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:676
 msgid "^K1Suicide in ^COUNT"
 msgstr "^K1Suicide dans ^COUNT"
 
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:677
 msgid "^F4Timeout begins in ^COUNT"
 msgstr "^F4Le temps mort commence dans ^COUNT"
 
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:678
 msgid "^F4Timeout ends in ^COUNT"
-msgstr ""
+msgstr "^F4Fin du temps mort dans ^COUNT"
 
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
 #, c-format
 msgid " (near %s)"
 msgstr " (près de %s)"
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "primary"
-msgstr ""
+msgstr "primaire"
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "secondary"
 msgstr "secondaire"
 
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:980
 #, c-format
 msgid " ^F1(Press %s)"
 msgstr " ^F1(Appuyez sur %s)"
 
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:989
 #, c-format
 msgid " with %s"
 msgstr " avec %s"
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
-msgstr ""
+msgstr "%s^K1 a fait un TRIPLE FRAG ! %s^BG"
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
-msgstr ""
+msgstr "%s^K1 a fait un TRIPLE SCORE ! %s^BG"
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 msgid "TRIPLE FRAG! "
-msgstr ""
+msgstr "TRIPLE FRAG !"
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
-msgstr ""
+msgstr "%s^K1 a marqué CINQ POINTS D'AFFILÉE ! %s^BG"
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 unlocked RAGE! %s^BG"
-msgstr ""
+msgstr "%s^K1 est ENRAGÉ ! %s^BG"
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 msgid "RAGE! "
-msgstr ""
+msgstr "RAGE !"
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
-msgstr ""
+msgstr "%s^K1 a marqué DIX POINTS D'AFFILÉE ! %s^BG"
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 started a MASSACRE! %s^BG"
-msgstr ""
+msgstr "%s^K1 a commencé un MASSACRE ! %s^BG"
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 msgid "MASSACRE! "
-msgstr ""
+msgstr "MASSACRE !"
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 executed MAYHEM! %s^BG"
-msgstr ""
+msgstr "%s^K1 fait du GRABUGE ! %s^BG"
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
-msgstr ""
+msgstr "%s^K1 a marqué QUINZE POINTS D'AFFILÉE ! %s^BG"
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 msgid "MAYHEM! "
-msgstr ""
+msgstr "GRABUGE !"
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 is a BERSERKER! %s^BG"
 msgstr "%s^K1 est un FOU FURIEUX ! %s^BG"
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
-msgstr ""
+msgstr "%s^K1 a marqué VINGT POINTS D'AFFILÉE ! %s^BG"
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 msgid "BERSERKER! "
-msgstr ""
+msgstr "FOU FURIEUX !"
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 inflicts CARNAGE! %s^BG"
-msgstr ""
+msgstr "%s^K1 fait un CARNAGE ! %s^BG"
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
-msgstr ""
+msgstr "%s^K1 a marqué VINGT-CINQ POINTS D'AFFILÉE ! %s^BG"
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 msgid "CARNAGE! "
-msgstr ""
+msgstr "CARNAGE !"
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
-msgstr ""
+msgstr "%s^K1 a marqué TRENTE POINTS D'AFFILÉE ! %s^BG"
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
-msgstr ""
+msgstr "%s^K1 est en mode ARMAGEDDON ! %s^BG"
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 msgid "ARMAGEDDON! "
-msgstr ""
+msgstr "ARMAGEDDON !"
 
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1010
 #, c-format
 msgid "%s(^F1Bot^BG)"
 msgstr "%s(^F1Bot^BG)"
 
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1012
 #, c-format
 msgid "%s(Ping ^F1%d^BG)"
-msgstr ""
+msgstr "%s(Ping ^F1%d^BG)"
 
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1018
 #, c-format
 msgid ""
 "\n"
@@ -3078,7 +3250,7 @@ msgstr ""
 "\n"
 "(Santé ^1%d^BG / Armure ^2%d^BG)%s"
 
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1020
 #, c-format
 msgid ""
 "\n"
@@ -3087,71 +3259,71 @@ msgstr ""
 "\n"
 "(^F4Mort^BG)%s"
 
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
 #, c-format
 msgid "%d score spree! "
-msgstr ""
+msgstr "%d points d'affilée ! "
 
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1069
 #, c-format
 msgid "%d frag spree! "
-msgstr ""
+msgstr "%d frags d'affilée !"
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First blood! "
-msgstr ""
+msgstr "Premier sang !"
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First score! "
-msgstr ""
+msgstr "Premier point !"
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First casualty! "
 msgstr "Première victime ! "
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First victim! "
-msgstr ""
+msgstr "Première victime !"
 
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1127
 #, c-format
 msgid "%s^K1 has %d frags in a row! %s^BG"
-msgstr ""
+msgstr "%s^K1 a marqué %d frags d'affilée ! %s^BG"
 
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1128
 #, c-format
 msgid "%s^K1 made %d scores in a row! %s^BG"
-msgstr ""
+msgstr "%s^K1 a marqué %d points d'affilée ! %s^BG"
 
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1146
 #, c-format
 msgid "%s^K1 drew first blood! %s^BG"
-msgstr ""
+msgstr "%s^K1 a versé le premier sang ! %s^BG"
 
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1147
 #, c-format
 msgid "%s^K1 got the first score! %s^BG"
-msgstr ""
+msgstr "%s^K1 a marqué le premier point ! %s^BG"
 
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1163
 #, c-format
 msgid ", ending their %d frag spree"
-msgstr ""
+msgstr ", mettant fin à sa série de %d frags"
 
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1164
 #, c-format
 msgid ", ending their %d score spree"
-msgstr ""
+msgstr ", mettant fin à sa série de %d points"
 
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1178
 #, c-format
 msgid ", losing their %d frag spree"
-msgstr ""
+msgstr ", perdant sa série de %d frags"
 
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1179
 #, c-format
 msgid ", losing their %d score spree"
-msgstr ""
+msgstr ", perdant sa série de %d points"
 
 #: qcsrc/common/teams.qh:26
 msgid "Red"
@@ -3179,7 +3351,8 @@ msgstr "Neutre"
 
 #: qcsrc/menu/command/menu_cmd.qc:35
 msgid "Usage: menu_cmd command..., where possible commands are:\n"
-msgstr "Usage: menu_cmd commande..., où les commandes possibles sont :\n"
+msgstr ""
+"Utilisation : menu_cmd commande..., où les commandes possibles sont :\n"
 
 #: qcsrc/menu/command/menu_cmd.qc:36
 msgid "  sync - reloads all cvars on the current menu page\n"
@@ -3191,11 +3364,11 @@ msgstr ""
 "  directmenu OBJET - sélectionne un objet du menu en tant qu'élément "
 "principal\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:62
+#: qcsrc/menu/command/menu_cmd.qc:68
 msgid "Available options:\n"
 msgstr "Options disponibles :\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:113
+#: qcsrc/menu/command/menu_cmd.qc:119
 msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
 msgstr ""
 "Commande invalide. Pour une liste des commandes prises en charge, essayez "
@@ -3206,7 +3379,7 @@ msgstr ""
 msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
 msgstr "NOTE : le texte %s est trop long, il a été condensé d'un facteur %f\n"
 
-#: qcsrc/menu/item/listbox.c:302
+#: qcsrc/menu/item/listbox.c:382
 #, c-format
 msgid "Item %d"
 msgstr "Objet %d"
@@ -3233,25 +3406,29 @@ msgstr "???"
 #: qcsrc/menu/xonotic/campaign.c:287
 #, c-format
 msgid "Level %d: %s"
-msgstr "Niveau %d: %s"
+msgstr "Niveau %d : %s"
 
-#: qcsrc/menu/xonotic/cvarlist.c:85
-msgid "will be saved to config.cfg"
-msgstr "sera sauvegardé vers config.cfg"
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr "enregistrement forcé vers config.cfg"
 
-#: qcsrc/menu/xonotic/cvarlist.c:87
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
 msgid "will not be saved"
 msgstr "ne sera pas sauvegardé"
 
-#: qcsrc/menu/xonotic/cvarlist.c:89
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr "sera sauvegardé vers config.cfg"
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
 msgid "private"
 msgstr "privé"
 
-#: qcsrc/menu/xonotic/cvarlist.c:91
+#: qcsrc/menu/xonotic/cvarlist.c:95
 msgid "engine setting"
 msgstr "paramètre du moteur"
 
-#: qcsrc/menu/xonotic/cvarlist.c:93
+#: qcsrc/menu/xonotic/cvarlist.c:97
 msgid "read only"
 msgstr "lecture seule"
 
@@ -3260,6 +3437,7 @@ msgid "Credits"
 msgstr "Crédits"
 
 #: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
@@ -3268,7 +3446,7 @@ msgstr "Crédits"
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:77
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
 #: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
 msgid "OK"
 msgstr "OK"
@@ -3277,46 +3455,46 @@ msgstr "OK"
 msgid "Welcome"
 msgstr "Bienvenue"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:40
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
 msgid ""
 "Welcome to Xonotic, please select your language preference and enter your "
 "player name to get started.  You can change these options later through the "
 "menu system."
 msgstr ""
-"Bienvenue dans Xonotic, veuillez choisir votre langue et rentrer votre "
+"Bienvenue dans Xonotic, veuillez choisir votre langage et rentrer votre "
 "pseudonyme avant de commencer.  Vous pourrez changer ces options plus tard "
 "dans le menu du jeu."
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
 msgid "Name:"
 msgstr "Nom :"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:68
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
 #: qcsrc/menu/xonotic/dialog_settings_user.c:65
 msgid "Text language:"
 msgstr "Langue du texte :"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
 msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
 msgstr ""
 "Autoriser les statistiques de joueurs à utiliser votre pseudonyme sur stats."
 "xonotic.org ?"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
 msgid "ALWU2N^Yes"
 msgstr "Oui"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
 msgid "ALWU2N^No"
 msgstr "Non"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
 msgid "ALWU2N^Undecided"
-msgstr "Non décidé"
+msgstr "Indécis"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
 msgid "Save settings"
 msgstr "Enregistrer les paramètres"
 
@@ -3330,7 +3508,7 @@ msgstr "Affichage des munitions :"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:26
 msgid "Show only current ammo type"
-msgstr "Montrer uniquement le type de munition actuel"
+msgstr "Afficher uniquement le type de munition actuel"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:29
 msgid "Align icon:"
@@ -3356,7 +3534,7 @@ msgstr "Droite"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:4
 msgid "Centerprint"
-msgstr "Écriture du centre"
+msgstr "Affichage central"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:24
 msgid "Message duration:"
@@ -3364,7 +3542,7 @@ msgstr "Durée du message :"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:28
 msgid "Fade time:"
-msgstr "Durée de fondu :"
+msgstr "Durée du fondu :"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:32
 msgid "Flip messages order"
@@ -3385,27 +3563,27 @@ msgstr "Échelle de la police :"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4
 msgid "Chat Panel"
-msgstr "Tableau de discussion"
+msgstr "Tchat"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:23
 msgid "Chat entries:"
-msgstr "Entrées discussion :"
+msgstr "Entrées du tchat :"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:26
 msgid "Chat size:"
-msgstr "Taille de la discussion :"
+msgstr "Taille du tchat :"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:30
 msgid "Chat lifetime:"
-msgstr "Durée discussion :"
+msgstr "Durée tchat :"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:34
 msgid "Chat beep sound"
-msgstr "Notification de discussion"
+msgstr "Notification de tchat"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:4
 msgid "Engine Info Panel"
-msgstr "Panneau d'information de version"
+msgstr "Information de version"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:23
 msgid "Engine info:"
@@ -3413,7 +3591,7 @@ msgstr "Information de version :"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:26
 msgid "Use an averaging algorithm for fps"
-msgstr "Utiliser un algorithme de moyenne pour les FPS"
+msgstr "Utiliser un algorithme de moyenne pour les fps"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:4
 msgid "Health/Armor Panel"
@@ -3454,7 +3632,7 @@ msgstr "Inverser les positions de la santé et de l'armure"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:4
 msgid "Info Messages Panel"
-msgstr "Panneau d'Informations"
+msgstr "Messages d'Information"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:23
 msgid "Info messages:"
@@ -3462,15 +3640,15 @@ msgstr "Messages d'information :"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:26
 msgid "Flip align"
-msgstr "Inverser l'ordre"
+msgstr "Inverser l'alignement"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_modicons.c:4
 msgid "Mod Icons Panel"
-msgstr "Panneau d'Icônes du Mode"
+msgstr "Icônes du Mode"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:4
 msgid "Notification Panel"
-msgstr "Tableau de notification"
+msgstr "Notification"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:23
 msgid "Notifications:"
@@ -3494,7 +3672,7 @@ msgstr "Délai d'effacement de l'entrée :"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:4
 msgid "Physics Panel"
-msgstr "Panneau d'effets Physiques"
+msgstr "Effets Physiques"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:23
 #: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:22
@@ -3512,7 +3690,7 @@ msgstr "Panneau activé en spectateur"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:26
 msgid "Panel enabled only in Race/CTS"
-msgstr "Panneau activé en Race/CTS"
+msgstr "Panneau activé en mode Couse/CTS"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:32
 msgid "Status bar"
@@ -3526,7 +3704,7 @@ msgstr "Aligner à gauche"
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:35
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:53
 msgid "Right align"
-msgstr "À droite"
+msgstr "Aligner à droite"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:36
 msgid "Inward align"
@@ -3591,7 +3769,7 @@ msgstr "Inclure l'accélération verticale"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4
 msgid "Powerups Panel"
-msgstr "Panneau des Pouvoirs"
+msgstr "Pouvoirs"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:46
 msgid "Flip strength and shield positions"
@@ -3599,7 +3777,7 @@ msgstr "Inverser la position de la force et du bouclier"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:4
 msgid "Pressed Keys Panel"
-msgstr "Panneau Touches Pressées"
+msgstr "Touches Appuyées"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:23
 msgid "Panel enabled when spectating"
@@ -3616,11 +3794,11 @@ msgstr "Aspect forcé :"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_racetimer.c:4
 msgid "Race Timer Panel"
-msgstr "Panneau de Chronomètre en mode Race"
+msgstr "Chronomètre de Course"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:4
 msgid "Radar Panel"
-msgstr "Panneau de Radar"
+msgstr "Radar"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:23
 msgid "Panel enabled in teamgames"
@@ -3634,9 +3812,9 @@ msgstr "Radar :"
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
-#: qcsrc/menu/xonotic/util.qc:708
+#: qcsrc/menu/xonotic/util.qc:758
 msgid "Alpha:"
-msgstr "Alpha :"
+msgstr "Transparence :"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:37
 msgid "Rotation:"
@@ -3689,7 +3867,7 @@ msgstr "Jamais zoomé"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:4
 msgid "Score Panel"
-msgstr "Tableau des Scores"
+msgstr "Scores"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:23
 msgid "Score:"
@@ -3713,7 +3891,7 @@ msgstr "Pur"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
 msgid "Timer Panel"
-msgstr "Panneau de Chronomètre"
+msgstr "Chronomètre"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:23
 msgid "Timer:"
@@ -3725,19 +3903,19 @@ msgstr "Afficher le temps écoulé"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:4
 msgid "Vote Panel"
-msgstr "Panneau de vote"
+msgstr "Vote"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:23
 msgid "Alpha after voting:"
-msgstr "Opacité après vote :"
+msgstr "Transparence après vote :"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:4
 msgid "Weapons Panel"
-msgstr "Panneau des armes"
+msgstr "Armes"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:25
 msgid "Fade out after:"
-msgstr "S'effacer après :"
+msgstr "Fondu après :"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:27
 msgid "Never"
@@ -3758,7 +3936,7 @@ msgstr "Aucun"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:37
 msgid "Alpha"
-msgstr "Opacité"
+msgstr "Transparence"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:38
 msgid "Slide"
@@ -3770,7 +3948,7 @@ msgstr "Les deux"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:43
 msgid "Weapon icons:"
-msgstr "Icônes d'armes :"
+msgstr "Icônes des armes :"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46
 msgid "Show only owned weapons"
@@ -3806,34 +3984,34 @@ msgstr "Couleur de la barre des munitions :"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:65
 msgid "Ammo bar alpha:"
-msgstr "Opacité de la barre des munitions :"
+msgstr "Transparence de la barre de munitions :"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:4
 msgid "Panel HUD Setup"
-msgstr "Configuration de l'Interface"
+msgstr "Configuration de l'ATH"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:22
 msgid "Panel background defaults:"
 msgstr "Fond du panneau par défaut :"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:683
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
 msgid "Background:"
 msgstr "Arrière-plan :"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:686
-#: qcsrc/menu/xonotic/util.qc:702 qcsrc/menu/xonotic/util.qc:719
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
 msgid "Disable"
 msgstr "Désactiver"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:691
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
 msgid "Color:"
 msgstr "Couleur :"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:699
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
 msgid "Border size:"
 msgstr "Taille de la bordure :"
 
@@ -3842,17 +4020,17 @@ msgstr "Taille de la bordure :"
 msgid "Team color:"
 msgstr "Couleur de l'équipe :"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:725
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
 msgid "Test team color in configure mode"
 msgstr "Afficher la couleur d'équipe en mode configuration"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:728
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
 msgid "Padding:"
 msgstr "Remplissage :"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:69
 msgid "HUD Dock:"
-msgstr "Contours interface :"
+msgstr "Contours de l'ATH :"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:71
 msgid "DOCK^Disabled"
@@ -3894,6 +4072,53 @@ msgstr "Y :"
 msgid "Exit setup"
 msgstr "Quitter la configuration"
 
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr "Outils Monstres"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr "Monstre :"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr "Créer"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr "Retirer"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr "Déplacer la cible :"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr "Suivre"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr "Vue libre"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr "Point d'apparition"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr "Aucun mouvement"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr "Couleurs :"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr "Texture :"
+
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:4
 msgid "Multiplayer"
 msgstr "Multijoueur"
@@ -3914,7 +4139,7 @@ msgstr "Démos"
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:21
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:5
 msgid "Player Setup"
-msgstr "Configuration du joueur"
+msgstr "Configuration du Joueur"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:34
 msgid "Game type:"
@@ -3935,6 +4160,7 @@ msgstr "Utiliser les paramètres par défaut de la carte"
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
 msgid "Point limit:"
 msgstr "Score limite :"
 
@@ -3999,7 +4225,7 @@ msgid "Mutators..."
 msgstr "Mutateurs..."
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
 msgid "Advanced settings..."
 msgstr "Paramètres avancés..."
 
@@ -4013,7 +4239,7 @@ msgstr "Tout sélectionner"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112
 msgid "Select none"
-msgstr "Sélectionner aucun"
+msgstr "Ne rien sélectionner"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118
 msgid "Start Multiplayer!"
@@ -4035,9 +4261,9 @@ msgstr "Nombre de tours :"
 msgid "Goals:"
 msgstr "Nombre de buts :"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
 msgid "Frag limit:"
-msgstr "Limite de tués :"
+msgstr "Limite de frags :"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:6
 msgid "Advanced server settings"
@@ -4045,7 +4271,7 @@ msgstr "Paramètres avancés du serveur"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:25
 msgid "Game settings:"
-msgstr "Paramètres du jeu :"
+msgstr "Réglages de jeu :"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:28
 msgid "Allow spectating"
@@ -4061,11 +4287,11 @@ msgstr "Vitesse du jeu :"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:40
 msgid "Teamplay settings:"
-msgstr "Paramètres de jeu en équipe :"
+msgstr "Réglages de jeu en équipe :"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:43
 msgid "Friendly fire scale:"
-msgstr "Facteur dégâts équipiers :"
+msgstr "Niveau dégâts équipiers :"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:47
 msgid "Virtual friendly fire (effect only)"
@@ -4129,7 +4355,7 @@ msgstr "La majorité simple remporte le vcall"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:5
 msgid "Map Information"
-msgstr "Informations sur la carte"
+msgstr "À propos de la carte"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
 msgid "Full item placement"
@@ -4174,7 +4400,7 @@ msgstr "Arène avec toutes les Armes"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:35
 msgid "Most Weapons Arena"
-msgstr "Arène avec beaucoup d'Armes"
+msgstr "Arène avec la plupart des Armes"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:56
 #, c-format
@@ -4214,7 +4440,7 @@ msgstr "Projectiles Invincibles"
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:82
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:266
 msgid "No start weapons"
-msgstr "Pas d'armes prééquipées"
+msgstr "Aucune arme au départ"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:189
@@ -4244,12 +4470,12 @@ msgstr "Piñata"
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:96
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:220
 msgid "Weapons stay"
-msgstr "Armes toujours disponibles"
+msgstr "Les armes ne disparaissent pas"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:179
 msgid "Blood loss"
-msgstr "Perte de sang"
+msgstr "Hémorragie"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:100
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201
@@ -4335,34 +4561,38 @@ msgid "Join"
 msgstr "Rejoindre"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr "Catégories"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
 msgid "SRVS^Empty"
 msgstr "Vide"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:37
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
 msgid "SRVS^Full"
 msgstr "Plein"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:41
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
 msgid "Pause"
 msgstr "Pause"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:53
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
 msgid "Address:"
 msgstr "Adresse :"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:64
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
 msgid "Info..."
 msgstr "Info..."
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:69
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
 msgid "Join!"
 msgstr "Rejoindre !"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:5
 msgid "Server Information"
-msgstr "Informations du Serveur"
+msgstr "Informations du serveur"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:174
 #, c-format
@@ -4370,16 +4600,16 @@ msgid "%d/%d"
 msgstr "%d/%d"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
-#: qcsrc/menu/xonotic/util.qc:685 qcsrc/menu/xonotic/util.qc:701
-#: qcsrc/menu/xonotic/util.qc:710 qcsrc/menu/xonotic/util.qc:718
-#: qcsrc/menu/xonotic/util.qc:730
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
 msgid "Default"
 msgstr "Par défaut"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
 #, c-format
 msgid "%d modified"
-msgstr "%d modifié"
+msgstr "%d modifiés"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
 msgid "Official"
@@ -4396,19 +4626,19 @@ msgstr "N/A (bibliothèque d'authentification manquante)"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:209
 msgid "Not supported (can't connect)"
-msgstr "Non supporté (impossible de se connecter)"
+msgstr "Non pris en charge (impossible de se connecter)"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211
 msgid "Not supported (won't encrypt)"
-msgstr "Non supporté (pas de chiffrement)"
+msgstr "Non pris en charge (pas de chiffrement)"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:215
 msgid "Supported (will encrypt)"
-msgstr "Supporté (chiffrement activé)"
+msgstr "Pris en charge (chiffrement activé)"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217
 msgid "Supported (won't encrypt)"
-msgstr "Supporté (pas de chiffrement)"
+msgstr "Pris en charge (pas de chiffrement)"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:221
 msgid "Requested (will encrypt)"
@@ -4473,7 +4703,7 @@ msgstr "ID :"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:316
 msgid "Key:"
-msgstr "Clef :"
+msgstr "Clé :"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:61
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:20
@@ -4482,7 +4712,7 @@ msgstr "Modèle :"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:73
 msgid "Glowing color:"
-msgstr "Couleur des néons :"
+msgstr "Couleur lumineuse :"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:82
 msgid "Detail color:"
@@ -4494,11 +4724,11 @@ msgstr "Pas de viseur"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:95
 msgid "Per weapon crosshair"
-msgstr "Viseur par arme"
+msgstr "Viseur selon l'arme"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:98
 msgid "Custom crosshair"
-msgstr "Viseur perso"
+msgstr "Viseur personnalisé"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117
 msgid "Crosshair size:"
@@ -4506,7 +4736,7 @@ msgstr "Taille du viseur :"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:122
 msgid "Crosshair alpha:"
-msgstr "Opacité du viseur :"
+msgstr "Transparence du viseur :"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:128
 msgid "Crosshair color:"
@@ -4514,11 +4744,11 @@ msgstr "Couleur du viseur :"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130
 msgid "Per weapon"
-msgstr "Pour chaque arme"
+msgstr "Selon l'arme"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:132
 msgid "By health"
-msgstr "Par santé"
+msgstr "Selon la santé"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:136
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:47
@@ -4547,7 +4777,7 @@ msgstr "Paramètres d'armes"
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:174
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6
 msgid "HUD settings"
-msgstr "Paramètres du HUD"
+msgstr "Paramètres de l'ATH"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:180
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:164
@@ -4572,7 +4802,7 @@ msgstr "Taille du point :"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36
 msgid "Dot alpha:"
-msgstr "Opacité du point :"
+msgstr "Transparence du point :"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41
 msgid "Dot color:"
@@ -4592,15 +4822,15 @@ msgstr "Adoucir les effets des viseurs"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61
 msgid "Use rings to indicate weapon status"
-msgstr "Utiliser des anneaux pour le statut des armes"
+msgstr "Utiliser des anneaux pour indiquer l'état des armes"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67
 msgid "Hit testing:"
-msgstr "Détection toucher :"
+msgstr "Détection de visée :"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69
 msgid "HTTST^Disabled"
-msgstr "Aucun"
+msgstr "Aucune"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70
 msgid "HTTST^TrueAim"
@@ -4624,7 +4854,7 @@ msgstr "Animer lorsqu'une arme est ramassée"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40
 msgid "Damage:"
-msgstr "Dégâts :"
+msgstr "Blessures (vision brouillée quand vous êtes blessé) :"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43
 msgid "Overlay:"
@@ -4636,15 +4866,15 @@ msgstr "Facteur :"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:53
 msgid "Fade rate:"
-msgstr "Temps d'effacement :"
+msgstr "Fondu :"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:60
 msgid "Waypoints"
-msgstr "Waypoints"
+msgstr "Repères"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:75
 msgid "Edge offset:"
-msgstr "Décalage des bords :"
+msgstr "Compensation des bords :"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83
 msgid "Show names above players"
@@ -4661,16 +4891,16 @@ msgstr "Afficher la santé et l'armure"
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:93
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:4
 msgid "Enter HUD editor"
-msgstr "Éditer l'interface"
+msgstr "Éditer l'ATH"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:28
 msgid "In order for the HUD editor to show, you must first be in game."
 msgstr ""
-"Pour que l'éditeur d'interface fonctionne, vous devez rejoindre une partie."
+"Pour que l'éditeur de l'ATH fonctionne, vous devez rejoindre une partie."
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30
 msgid "Do you wish to start a local game to set up the HUD?"
-msgstr "Voulez-vous démarrer une partie locale pour configurer l'interface ?"
+msgstr "Voulez-vous démarrer une partie locale pour configurer l'ATH ?"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33
 msgid "HDCNFRM^Yes"
@@ -4698,7 +4928,7 @@ msgstr "Léger"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35
 msgid "GIBS^Many"
-msgstr "Normal"
+msgstr "Moyen"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36
 msgid "GIBS^Lots"
@@ -4706,11 +4936,11 @@ msgstr "Gore"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:41
 msgid "Force player models to mine"
-msgstr "Forcer personnages de joueurs vers le mien"
+msgstr "Les joueurs ont tous la même apparence que vous"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:43
 msgid "Force player colors to mine"
-msgstr "Forcer couleurs de joueurs vers les miennes"
+msgstr "Les joueurs ont tous la même couleur que vous"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28
 msgid "Field of view:"
@@ -4770,15 +5000,15 @@ msgstr "Passer à travers les murs en mode spectateur"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75
 msgid "1st person perspective"
-msgstr "vue à la 1è personne"
+msgstr "Vue à la 1ère personne"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79
 msgid "Smooth the view when landing from a jump"
-msgstr "Adoucir la vue à l'atterrissage d'un saut"
+msgstr "Amortir la vue après un saut"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83
 msgid "Smooth the view while crouching"
-msgstr "Adoucir les transitions debout-accroupi"
+msgstr "Amortir les transitions debout-accroupi"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87
 msgid "View waving while idle"
@@ -4786,23 +5016,23 @@ msgstr "Faire tanguer la vue à l'arrêt"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91
 msgid "View bobbing while walking around"
-msgstr "Faire tanguer la vue en marchant"
+msgstr "Faire tanguer la vue en courant"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96
 msgid "3rd person perspective"
-msgstr "vue à la 3è personne"
+msgstr "Vue à la 3è personne"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100
 msgid "Back distance"
-msgstr "Distance à l'arrière"
+msgstr "Distance"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106
 msgid "Up distance"
-msgstr "Distance à l'avant"
+msgstr "Hauteur"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29
 msgid "Weapon priority list:"
-msgstr "Liste de la priorité des armes :"
+msgstr "Liste de priorité des armes :"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33
 msgid "Up"
@@ -4814,11 +5044,11 @@ msgstr "Bas"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41
 msgid "Use priority list for weapon cycling"
-msgstr "Utiliser la liste des priorités pour les changements d'armes"
+msgstr "Utiliser la liste de priorités pour changer d'arme"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43
 msgid "Auto switch weapons on pickup"
-msgstr "Changer automatiquement d'arme au ramassage"
+msgstr "Changer d'arme automatiquement"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:46
 msgid "Draw 1st person weapon model"
@@ -4850,11 +5080,7 @@ msgstr "Non"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:4
 msgid "Sandbox Tools"
-msgstr "Outils Sandbox"
-
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
-msgid "Spawn"
-msgstr "Spawn"
+msgstr "Outils du bac à sable"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
 msgid "Remove *"
@@ -4888,10 +5114,6 @@ msgstr "Détacher depuis *"
 msgid "Visual object properties for *:"
 msgstr "Propriétés visuelles de l'objet * :"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
-msgid "Set skin:"
-msgstr "Texture :"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
 msgid "Set alpha:"
 msgstr "Transparence :"
@@ -4902,7 +5124,7 @@ msgstr "Couleur principale :"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:51
 msgid "Set color glow:"
-msgstr "Couleur de néon :"
+msgstr "Couleur des éclats :"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:55
 msgid "Set frame:"
@@ -4938,7 +5160,7 @@ msgstr "Statique"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:72
 msgid "Movable"
-msgstr "Déplaçable"
+msgstr "Mobile"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:73
 msgid "Physical"
@@ -4958,15 +5180,15 @@ msgstr "Prendre *"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:83
 msgid "* object info"
-msgstr "information de l'objet *"
+msgstr "info de l'objet *"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:84
 msgid "* mesh info"
-msgstr "information du maillage *"
+msgstr "info du maillage *"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:85
 msgid "* attachment info"
-msgstr "paramètres de l'attaché *"
+msgstr "info de l'objet joint *"
 
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:86
 msgid "Show help"
@@ -5069,7 +5291,7 @@ msgstr "8 kHz"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:105
 msgid "11.025 kHz"
-msgstr "11.025 kHz"
+msgstr "11,025 kHz"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:106
 msgid "16 kHz"
@@ -5077,7 +5299,7 @@ msgstr "16 kHz"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:107
 msgid "22.05 kHz"
-msgstr "22.05 kHz"
+msgstr "22,05 kHz"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:108
 msgid "24 kHz"
@@ -5089,7 +5311,7 @@ msgstr "32 kHz"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:110
 msgid "44.1 kHz"
-msgstr "44.1 kHz"
+msgstr "44,1 kHz"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:111
 msgid "48 kHz"
@@ -5133,7 +5355,7 @@ msgstr "7.1"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:126
 msgid "Swap Stereo"
-msgstr "Échanger les canaux Stéréo"
+msgstr "Inverser stéréo"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:128
 msgid "Headphone friendly mode"
@@ -5141,11 +5363,11 @@ msgstr "Mode casque audio"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:132
 msgid "Hit indication sound"
-msgstr "Son de tir réussi"
+msgstr "Indication de tir réussi"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:134
 msgid "Chat message sound"
-msgstr "Son de discussion"
+msgstr "Sons du tchat"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:136
 msgid "Menu sounds"
@@ -5153,7 +5375,7 @@ msgstr "Sons du menu"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:139
 msgid "Time announcer:"
-msgstr "Avertissement de temps :"
+msgstr "Annonce du temps restant :"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:141
 msgid "WRN^Disabled"
@@ -5181,7 +5403,7 @@ msgstr "Infos de débogage à propos du son"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:38
 msgid "Quality preset:"
-msgstr "Qualité des effets :"
+msgstr "Qualité prédéfinie :"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:41
 msgid "PRE^OMG!"
@@ -5189,11 +5411,11 @@ msgstr "OMG !"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:42
 msgid "PRE^Low"
-msgstr "Bas"
+msgstr "Basse"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:43
 msgid "PRE^Medium"
-msgstr "Moyen"
+msgstr "Moyenne"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:44
 msgid "PRE^Normal"
@@ -5201,7 +5423,7 @@ msgstr "Normal"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:45
 msgid "PRE^High"
-msgstr "Haut"
+msgstr "Élevée"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:46
 msgid "PRE^Ultra"
@@ -5213,7 +5435,7 @@ msgstr "Ultime"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:52
 msgid "Geometry detail:"
-msgstr "Détail géométrie :"
+msgstr "Détails géométriques :"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:54
 msgid "DET^Lowest"
@@ -5241,39 +5463,39 @@ msgstr "Ahurissant"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:62
 msgid "Player detail:"
-msgstr "Détails joueur :"
+msgstr "Détail des joueurs :"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:65
 msgid "Texture resolution:"
-msgstr "Qualité textures :"
+msgstr "Définition des textures :"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:69
 msgid "RES^Leet"
-msgstr "Monstrueux"
+msgstr "Monstrueuse"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:70
 msgid "RES^Lowest"
-msgstr "Plus bas"
+msgstr "La plus basse"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:71
 msgid "RES^Very low"
-msgstr "Très bas"
+msgstr "Très basse"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:72
 msgid "RES^Low"
-msgstr "Bas"
+msgstr "Basse"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:73
 msgid "RES^Normal"
-msgstr "Normal"
+msgstr "Normale"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:74
 msgid "RES^Good"
-msgstr "Bon"
+msgstr "Bonne"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:75
 msgid "RES^Best"
-msgstr "Meilleur"
+msgstr "Meilleure"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:87
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:91
@@ -5291,23 +5513,23 @@ msgstr "Utiliser les lightmaps"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:109
 msgid "Deluxe mapping"
-msgstr "Maps deluxe"
+msgstr "Deluxe mapping"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:111
 msgid "Gloss"
-msgstr "Brillance textures"
+msgstr "Brillance des textures"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:114
 msgid "Offset mapping"
-msgstr "Textures relief"
+msgstr "Textures en relief"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:116
 msgid "Relief mapping"
-msgstr "Textures relief avancé"
+msgstr "Textures en relief avancé"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:119
 msgid "Reflections:"
-msgstr "Réflexions :"
+msgstr "Reflets :"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:122
 msgid "Blurred"
@@ -5323,11 +5545,11 @@ msgstr "Net"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:129
 msgid "Particles quality:"
-msgstr "Qualité particules :"
+msgstr "Qualité des particules :"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:132
 msgid "Particles distance:"
-msgstr "Distance particules :"
+msgstr "Distance max. des particules :"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:135
 msgid "Damage effects:"
@@ -5339,7 +5561,7 @@ msgstr "Désactivé"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:138
 msgid "DMGPRTCLS^Skeletal"
-msgstr "Squelette"
+msgstr "Squelettique"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:139
 msgid "DMGPRTCLS^All"
@@ -5347,7 +5569,7 @@ msgstr "Tout"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:142
 msgid "Particle effects for spawnpoints"
-msgstr "Effets de particules des points de spawn"
+msgstr "Effets de particules des points d'apparition"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:146
 msgid "No dynamic lighting"
@@ -5368,7 +5590,7 @@ msgstr "Ombres"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:156
 msgid "Realtime world lighting"
-msgstr "Lumières carte en temps réel"
+msgstr "Lumières de carte en temps réel"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:161
 msgid "Use normal maps"
@@ -5380,15 +5602,15 @@ msgstr "Ombres douces"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:167
 msgid "Fade corona according to visibility"
-msgstr "Utiliser l'occlusion du rendu"
+msgstr "Utiliser l'occultation du rendu"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:171
 msgid "Bloom"
-msgstr "Effets d'éblouissement"
+msgstr "Éblouissement"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:172
 msgid "Extra postprocessing effects"
-msgstr "Effets de postprocessing"
+msgstr "Effets de post-traitement"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:177
 msgid "Motion blur:"
@@ -5396,11 +5618,11 @@ msgstr "Flou de mouvement :"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:183
 msgid "Decals"
-msgstr "Marques d'impact"
+msgstr "Impacts"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:184
 msgid "Decals on models"
-msgstr "Marques sur les modèles"
+msgstr "Impacts sur les modèles"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:188
 msgid "Distance:"
@@ -5416,7 +5638,7 @@ msgstr "Raccourcis clavier :"
 
 #: qcsrc/menu/xonotic/dialog_settings_input.c:30
 msgid "Change key..."
-msgstr "Changer touche..."
+msgstr "Changer la touche..."
 
 #: qcsrc/menu/xonotic/dialog_settings_input.c:34
 msgid "Edit..."
@@ -5428,11 +5650,11 @@ msgstr "Effacer"
 
 #: qcsrc/menu/xonotic/dialog_settings_input.c:46
 msgid "Pressing \"enter console\" key also closes it"
-msgstr "Appuyer sur \"ouvrir la console\" permet aussi de la fermer"
+msgstr "Ouvrir et fermer la console avec les mêmes touches"
 
 #: qcsrc/menu/xonotic/dialog_settings_input.c:48
 msgid "Automatically repeat jumping if holding jump"
-msgstr "Automatiquement continuer de sauter si resté appuyé"
+msgstr "Continuer de sauter en cas d'appui continu"
 
 #: qcsrc/menu/xonotic/dialog_settings_input.c:52
 #: qcsrc/menu/xonotic/dialog_settings_input.c:54
@@ -5508,7 +5730,7 @@ msgstr "ADSL rapide"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:35
 msgid "Broadband"
-msgstr "Haut débit"
+msgstr "Très haut débit"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:39
 msgid "Input packets/s:"
@@ -5523,175 +5745,179 @@ msgid "Client UDP port:"
 msgstr "Port UDP client :"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "Use encryption (AES) when available"
+msgstr "Utiliser le chiffrement (AES) si disponible"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
 msgid "Show netgraph"
 msgstr "Afficher le netgraphe"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
 msgid "Client-side movement prediction"
 msgstr "Prédiction des mouvements joueur"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:63
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
 msgid "Movement error compensation"
 msgstr "Compensation des erreurs de mouvement"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
 msgid "Downloads:"
 msgstr "Téléchargements :"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:70
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:82
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
 msgid "Maximum:"
 msgstr "Maximum :"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
 msgid "Speed (kB/s):"
 msgstr "Vitesse (ko/s) :"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:79
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
 msgid "Framerate:"
 msgstr "Images/sec :"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:84
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
 msgid "MAXFPS^5 fps"
-msgstr "5 fps"
+msgstr "5 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:85
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
 msgid "MAXFPS^10 fps"
-msgstr "10 fps"
+msgstr "10 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
 msgid "MAXFPS^20 fps"
-msgstr "20 fps"
+msgstr "20 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:87
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
 msgid "MAXFPS^30 fps"
-msgstr "30 fps"
+msgstr "30 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
 msgid "MAXFPS^40 fps"
-msgstr "40 fps"
+msgstr "40 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
 msgid "MAXFPS^50 fps"
-msgstr "50 fps"
+msgstr "50 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
 msgid "MAXFPS^60 fps"
-msgstr "60 fps"
+msgstr "60 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
 msgid "MAXFPS^70 fps"
-msgstr "70 fps"
+msgstr "70 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
 msgid "MAXFPS^100 fps"
-msgstr "100 fps"
+msgstr "100 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
 msgid "MAXFPS^125 fps"
-msgstr "125 fps"
+msgstr "125 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
 msgid "MAXFPS^200 fps"
-msgstr "200 fps"
+msgstr "200 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
 msgid "MAXFPS^Unlimited"
 msgstr "Illimité"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
 msgid "Target:"
 msgstr "Cible :"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:101
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
 msgid "TRGT^Disabled"
 msgstr "Désactivé"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:102
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
 msgid "TRGT^30 fps"
-msgstr "30 fps"
+msgstr "30 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
 msgid "TRGT^40 fps"
-msgstr "40 fps"
+msgstr "40 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:104
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
 msgid "TRGT^50 fps"
-msgstr "50 fps"
+msgstr "50 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
 msgid "TRGT^60 fps"
-msgstr "60 fps"
+msgstr "60 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
 msgid "TRGT^100 fps"
-msgstr "100 fps"
+msgstr "100 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
 msgid "TRGT^125 fps"
-msgstr "125 fps"
+msgstr "125 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
 msgid "TRGT^200 fps"
-msgstr "200 fps"
+msgstr "200 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
 msgid "Idle limit:"
 msgstr "Cible quand inactif :"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:114
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
 msgid "IDLFPS^10 fps"
-msgstr "10 fps"
+msgstr "10 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:115
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
 msgid "IDLFPS^20 fps"
-msgstr "20 fps"
+msgstr "20 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
 msgid "IDLFPS^30 fps"
-msgstr "30 fps"
+msgstr "30 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:117
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
 msgid "IDLFPS^60 fps"
-msgstr "60 fps"
+msgstr "60 ips"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
 msgid "IDLFPS^Unlimited"
 msgstr "Illimité"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:123
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
 msgid "Show frames per second"
 msgstr "Afficher le nombre d'images par seconde"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:126
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
 msgid "Save processing time for other apps"
 msgstr "Économiser le processeur pour d'autres applications"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
 msgid "Menu tooltips:"
-msgstr "Info-bulles du menu :"
+msgstr "Infobulles du menu :"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:132
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
 msgid "TLTIP^Disabled"
 msgstr "Désactivé"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:133
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
 msgid "TLTIP^Standard"
 msgstr "Standard"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
 msgid "TLTIP^Advanced"
 msgstr "Avancé"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
 msgid "Show current time"
 msgstr "Afficher l'heure"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:140
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
 msgid "Show current date"
 msgstr "Afficher la date"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
 msgid "Enable developer mode"
 msgstr "Activer le mode développeur"
 
@@ -5705,7 +5931,7 @@ msgstr "Filtre de cvar :"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:45
 msgid "Setting:"
-msgstr "Propriétés :"
+msgstr "Propriété :"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:49
 msgid "Type:"
@@ -5715,7 +5941,7 @@ msgstr "Type :"
 msgid "Value:"
 msgstr "Valeur :"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:72
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
 msgid "Description:"
 msgstr "Description :"
 
@@ -5737,12 +5963,32 @@ msgstr "Désactiver les effets gore et le langage grossier"
 
 #: qcsrc/menu/xonotic/dialog_settings_user.c:82
 msgid "Allow player statistics to track your client"
-msgstr "Autoriser les statistiques à pister votre client"
+msgstr "Autoriser les statistiques à communiquer avec votre client"
 
 #: qcsrc/menu/xonotic/dialog_settings_user.c:84
 msgid "Allow player statistics to use your nickname"
 msgstr "Autoriser les statistiques à utiliser votre pseudonyme"
 
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
 #: qcsrc/menu/xonotic/dialog_settings_video.c:26
 msgid "Resolution:"
 msgstr "Résolution :"
@@ -5818,20 +6064,20 @@ msgstr "Désactivé"
 #: qcsrc/menu/xonotic/dialog_settings_video.c:56
 #: qcsrc/menu/xonotic/dialog_settings_video.c:66
 msgid "2x"
-msgstr "2x"
+msgstr "2×"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:57
 #: qcsrc/menu/xonotic/dialog_settings_video.c:67
 msgid "4x"
-msgstr "4x"
+msgstr "4×"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:58
 msgid "8x"
-msgstr "8x"
+msgstr "8×"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:59
 msgid "16x"
-msgstr "16x"
+msgstr "16×"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:62
 msgid "Antialiasing:"
@@ -5931,15 +6177,15 @@ msgstr "Points délirants (bonus)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:139
 msgid "Flip view horizontally"
-msgstr "Inverser la vue horizontale"
+msgstr "Retourner la vue horizontalement"
 
 #: qcsrc/menu/xonotic/dialog_singleplayer.c:4
 msgid "Singleplayer"
-msgstr "Partie solo"
+msgstr "Partie Solo"
 
 #: qcsrc/menu/xonotic/dialog_singleplayer.c:116
 msgid "Instant action! (random map with bots)"
-msgstr "Action instantanée ! (cartes aléatoires avec des bots)"
+msgstr "Action instantanée ! (carte aléatoire avec des bots)"
 
 #: qcsrc/menu/xonotic/dialog_singleplayer.c:137
 msgid "Campaign Difficulty:"
@@ -5993,21 +6239,21 @@ msgstr "rose"
 msgid "spectate"
 msgstr "mode spectateur"
 
-#: qcsrc/menu/xonotic/mainwindow.c:39 qcsrc/menu/xonotic/mainwindow.c:42
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
 msgid "Do not press this button again!"
-msgstr "N'appuyez pas à nouveau sur ce bouton !"
+msgstr "N'appuyez plus sur ce bouton !"
 
 #: qcsrc/menu/xonotic/maplist.c:280
 msgid ""
 "Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"
 msgstr ""
-"Gné ? Impossible de lancer cette partie (m est non défini). Rafraîchir la "
-"liste afin d'éviter ce problème.\n"
+"Gné ? Impossible de lancer cette partie (type de jeu non valide). Rafraichir "
+"la liste afin d'éviter ce problème.\n"
 
 #: qcsrc/menu/xonotic/maplist.c:288
 #, c-format
 msgid "%s's Xonotic Server"
-msgstr "%s Xonotic Serveur"
+msgstr "Serveur Xonotic %s"
 
 #: qcsrc/menu/xonotic/maplist.c:293
 msgid ""
@@ -6025,31 +6271,63 @@ msgstr "spectateur"
 msgid "<no model found>"
 msgstr "<aucun modèle trouvé>"
 
-#: qcsrc/menu/xonotic/serverlist.c:190
-msgid "Remove"
-msgstr "Retirer"
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr "Favoris"
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
+msgstr "Recommendés"
+
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
+msgstr "Serveurs Normaux"
+
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr "Serveurs"
+
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr "Mode Compétition"
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr "Serveurs Modifiés"
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr "Mode Overkill"
 
-#: qcsrc/menu/xonotic/serverlist.c:192
-msgid "Bookmark"
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr "Mode MinstaGib"
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr "Mode Defrag"
+
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
 msgstr "Favori"
 
-#: qcsrc/menu/xonotic/serverlist.c:553
+#: qcsrc/menu/xonotic/serverlist.c:923
 msgid "Ping"
 msgstr "Ping"
 
-#: qcsrc/menu/xonotic/serverlist.c:554
+#: qcsrc/menu/xonotic/serverlist.c:924
 msgid "Host name"
 msgstr "Nom de l'hôte"
 
-#: qcsrc/menu/xonotic/serverlist.c:555
+#: qcsrc/menu/xonotic/serverlist.c:925
 msgid "Map"
 msgstr "Carte"
 
-#: qcsrc/menu/xonotic/serverlist.c:556
+#: qcsrc/menu/xonotic/serverlist.c:926
 msgid "Type"
-msgstr "Mode"
+msgstr "Type"
 
-#: qcsrc/menu/xonotic/serverlist.c:557
+#: qcsrc/menu/xonotic/serverlist.c:927
 msgid "Players"
 msgstr "Joueurs"
 
@@ -6072,51 +6350,51 @@ msgstr "OFF"
 #: qcsrc/menu/xonotic/slider_decibels.c:81
 #, c-format
 msgid "%d %%"
-msgstr ""
+msgstr "%d %%"
 
 #: qcsrc/menu/xonotic/slider_decibels.c:83
 #, c-format
 msgid "%.1f"
-msgstr ""
+msgstr "%.1f"
 
 #: qcsrc/menu/xonotic/slider_decibels.c:85
 #, c-format
 msgid "%.2f %%"
-msgstr ""
+msgstr "%.2f %%"
 
 #: qcsrc/menu/xonotic/slider_decibels.c:87
 #, c-format
 msgid "%s dB"
 msgstr "%s dB"
 
-#: qcsrc/menu/xonotic/slider_resolution.c:103
+#: qcsrc/menu/xonotic/slider_resolution.c:116
 #, c-format
 msgid "%dx%d (%d:%d)"
-msgstr ""
+msgstr "%dx%d (%d:%d)"
 
-#: qcsrc/menu/xonotic/slider_resolution.c:106
+#: qcsrc/menu/xonotic/slider_resolution.c:119
 #, c-format
 msgid "%dx%d"
 msgstr "%dx%d"
 
-#: qcsrc/menu/xonotic/util.qc:298
+#: qcsrc/menu/xonotic/util.qc:308
 #, c-format
 msgid "error receiving update notification: status is %d\n"
 msgstr ""
 "erreur lors de la réception d'une notification de mise à jour : l'état est "
 "%d\n"
 
-#: qcsrc/menu/xonotic/util.qc:303
+#: qcsrc/menu/xonotic/util.qc:313
 msgid "error: received HTML instead of an update notification\n"
 msgstr "erreur : HTML reçu à la place d'une notification de mise à jour\n"
 
-#: qcsrc/menu/xonotic/util.qc:308
+#: qcsrc/menu/xonotic/util.qc:318
 msgid "error: received carriage returns from update notification server\n"
 msgstr ""
 "erreur : retour chariot reçu depuis le serveur de notification de mise à "
 "jour\n"
 
-#: qcsrc/menu/xonotic/util.qc:329
+#: qcsrc/menu/xonotic/util.qc:397
 #, c-format
 msgid ""
 "Update can be downloaded at:\n"
@@ -6125,23 +6403,23 @@ msgstr ""
 "Une mise à jour peut être téléchargée ici :\n"
 "%s\n"
 
-#: qcsrc/menu/xonotic/util.qc:447
+#: qcsrc/menu/xonotic/util.qc:497
 msgid "Autogenerating mapinfo for newly added maps..."
 msgstr ""
 "Auto-génération des informations de cartes pour les nouveaux ajouts de "
 "cartes..."
 
-#: qcsrc/menu/xonotic/util.qc:476
+#: qcsrc/menu/xonotic/util.qc:526
 #, c-format
 msgid "^1%s TEST BUILD"
 msgstr "^1%s VERSION DE TEST"
 
-#: qcsrc/menu/xonotic/util.qc:491
+#: qcsrc/menu/xonotic/util.qc:541
 #, c-format
 msgid "Update to %s now!"
 msgstr "Mettez à jour vers %s maintenant !"
 
-#: qcsrc/menu/xonotic/util.qc:576
+#: qcsrc/menu/xonotic/util.qc:626
 msgid ""
 "^1ERROR: Texture compression is required but not supported.\n"
 "^1Expect visual problems.\n"
@@ -6149,11 +6427,11 @@ msgstr ""
 "^1ERREUR : La compression des textures est requise mais non supportée.\n"
 "^1Attendez-vous à des problèmes d'affichage.\n"
 
-#: qcsrc/menu/xonotic/util.qc:696
+#: qcsrc/menu/xonotic/util.qc:746
 msgid "Use default"
-msgstr "Utiliser les réglages par défaut"
+msgstr "Par défaut"
 
-#: qcsrc/menu/xonotic/util.qc:716
+#: qcsrc/menu/xonotic/util.qc:766
 msgid "Team Color:"
 msgstr "Couleur de l'Équipe :"
 
@@ -6172,7 +6450,7 @@ msgstr "Heavy Laser Assault Cannon"
 
 #: qcsrc/server/w_hook.qc:11
 msgid "Grappling Hook"
-msgstr ""
+msgstr "Grappin"
 
 #: qcsrc/server/w_minstanex.qc:11
 msgid "MinstaNex"
@@ -6180,7 +6458,7 @@ msgstr "MinstaNex"
 
 #: qcsrc/server/w_seeker.qc:11
 msgid "T.A.G. Seeker"
-msgstr ""
+msgstr "T.A.G. Seeker"
 
 #: qcsrc/server/w_tuba.qc:12
 #, no-c-format
index d894c31a77250c903c225b939e7c8e351d455b96..14ab01f958711a028a4d3e14e1bc96c17b298219 100644 (file)
@@ -10,8 +10,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-03 11:55+0200\n"
-"PO-Revision-Date: 2013-10-03 10:08+0000\n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
 "Last-Translator: divVerent <divVerent@xonotic.org>\n"
 "Language-Team: Hungarian (http://www.transifex.com/projects/p/xonotic/"
 "language/hu/)\n"
@@ -39,12 +39,7 @@ msgstr ""
 msgid "^4CSQC Build information: ^1%s\n"
 msgstr "^4CSQC Build-Információ: ^1%s (magyar)\n"
 
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
-#, c-format
-msgid "trying to switch to unsupported team %d\n"
-msgstr "nem támogatott %d csapathoz próbálsz csatlakozni\n"
-
-#: qcsrc/client/Main.qc:835
+#: qcsrc/client/Main.qc:836
 #, c-format
 msgid ""
 "Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
@@ -64,7 +59,7 @@ msgstr "%s (nincs kiosztva)"
 msgid "%s (%s)"
 msgstr "%s (%s)"
 
-#: qcsrc/client/View.qc:1096
+#: qcsrc/client/View.qc:1165
 msgid "Revival progress"
 msgstr ""
 
@@ -96,214 +91,210 @@ msgstr "Közepes %d"
 msgid "%s (%s %s)"
 msgstr "%s (%s %s)"
 
-#: qcsrc/client/hud.qc:829
+#: qcsrc/client/hud.qc:832
 msgid "Out of ammo"
 msgstr "Nincs több lőszered."
 
-#: qcsrc/client/hud.qc:833
+#: qcsrc/client/hud.qc:836
 msgid "Don't have"
 msgstr "nincs nálad"
 
-#: qcsrc/client/hud.qc:837
+#: qcsrc/client/hud.qc:840
 msgid "Unavailable"
 msgstr "nem elérhető"
 
-#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
 #, c-format
 msgid "Player %d"
 msgstr "Játékos %d"
 
-#: qcsrc/client/hud.qc:2384
+#: qcsrc/client/hud.qc:2369
 msgid "^1Intermediate 1 (+15.42)"
 msgstr "^1Közepes 1 (+15.42)"
 
-#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
 #, c-format
 msgid "^1PENALTY: %.1f (%s)"
 msgstr "^1BÜNTETÉS: %.1f (%s)"
 
-#: qcsrc/client/hud.qc:2471
+#: qcsrc/client/hud.qc:2456
 #, c-format
 msgid "^2PENALTY: %.1f (%s)"
 msgstr "^2BÜNTETÉS: %.1f (%s)"
 
-#: qcsrc/client/hud.qc:2501
+#: qcsrc/client/hud.qc:2486
 msgid "^1You must answer before entering hud configure mode\n"
 msgstr "^1Választanod kell, mielőtt beléphetsz a HUD beállításokba\n"
 
-#: qcsrc/client/hud.qc:2506
+#: qcsrc/client/hud.qc:2491
 msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
 msgstr "^2Név^7 mutatása \"^1Anonymous player^7\" helyett a statisztikákban"
 
-#: qcsrc/client/hud.qc:2586
+#: qcsrc/client/hud.qc:2570
 msgid "A vote has been called for:"
 msgstr "Szavaznod kell az alábbi ügyben:"
 
-#: qcsrc/client/hud.qc:2588
+#: qcsrc/client/hud.qc:2572
 msgid "Allow servers to store and display your name?"
 msgstr "Megengeded, hogy a szerver eltárolja én megjelenítse a neved?"
 
-#: qcsrc/client/hud.qc:2592
+#: qcsrc/client/hud.qc:2576
 msgid "^1Configure the HUD"
 msgstr "^1A HUD beállításai"
 
-#: qcsrc/client/hud.qc:2596
+#: qcsrc/client/hud.qc:2580
 #, c-format
 msgid "Yes (%s): %d"
 msgstr "Igen (%s): %d"
 
-#: qcsrc/client/hud.qc:2598
+#: qcsrc/client/hud.qc:2582
 #, c-format
 msgid "No (%s): %d"
 msgstr "Nem (%s): %d"
 
-#: qcsrc/client/hud.qc:3169 qcsrc/client/hud.qc:3172 qcsrc/client/hud.qc:3174
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
 msgid "Personal best"
 msgstr "Saját legjobb idő"
 
-#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
 msgid "Server best"
 msgstr "Szerver legjobb idő"
 
-#: qcsrc/client/hud.qc:3552
+#: qcsrc/client/hud.qc:3528
 msgid "^3Player^7: This is the chat area."
 msgstr "^3Player^7: Ez a csevej terület"
 
-#: qcsrc/client/hud.qc:3618
+#: qcsrc/client/hud.qc:3593
 #, c-format
 msgid "FPS: %.*f"
 msgstr "FPS: %.*f"
 
-#: qcsrc/client/hud.qc:3683
+#: qcsrc/client/hud.qc:3657
 msgid "^1Observing"
 msgstr "^1Néző"
 
-#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
 #, c-format
 msgid "^1Spectating: ^7%s"
 msgstr "^7%s^1-t nézed és követed"
 
-#: qcsrc/client/hud.qc:3693
+#: qcsrc/client/hud.qc:3667
 #, c-format
 msgid "^1Press ^3%s^1 to spectate"
 msgstr "^1Nyomd meg a ^3%s^1 gombot, hogy nézőként lépj be!"
 
-#: qcsrc/client/hud.qc:3695
+#: qcsrc/client/hud.qc:3669
 #, c-format
 msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3699
+#: qcsrc/client/hud.qc:3673
 #, c-format
 msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
 msgstr "^1Használd a ^3%s^1 vagy ^3%s^1 gombokat a sebesség változtatásához!"
 
-#: qcsrc/client/hud.qc:3701
+#: qcsrc/client/hud.qc:3675
 #, c-format
 msgid "^1Press ^3%s^1 to observe"
 msgstr "^1Nyomd meg a ^3%s^1 gombot, hogy néző lehess!"
 
-#: qcsrc/client/hud.qc:3704
+#: qcsrc/client/hud.qc:3678
 #, c-format
 msgid "^1Press ^3%s^1 for gamemode info"
 msgstr "^1Nyomd meg a ^3%s^1 gombot a játékmód információkért!"
 
-#: qcsrc/client/hud.qc:3708
-msgid "^1Wait for your turn to join"
-msgstr "^1Várj kérlek a saját körödre!"
-
-#: qcsrc/client/hud.qc:3714
+#: qcsrc/client/hud.qc:3686
 msgid "^1Match has already begun"
 msgstr "^1A játék már elkezdődött"
 
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3688
 msgid "^1You have no more lives left"
 msgstr "^1Nincs több életed"
 
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
 #, c-format
 msgid "^1Press ^3%s^1 to join"
 msgstr "^1Nyomd meg a ^3%s^1 gombot a játékba való belépéshez!"
 
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3701
 #, c-format
 msgid "^1Game starts in ^3%d^1 seconds"
 msgstr "^1A játék ^3%d^1 másodpercen belül elkezdődik!"
 
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3708
 msgid "^2Currently in ^1warmup^2 stage!"
 msgstr "^2Jelenleg ^1BEMELEGÍTÉS^7 zajlik!"
 
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3723
 #, c-format
 msgid "%sPress ^3%s%s to end warmup"
 msgstr "%s, kérlek nyomd meg a ^3%s%s gombot a bemelegítés befejezéséhez!"
 
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3725
 #, c-format
 msgid "%sPress ^3%s%s once you are ready"
 msgstr "%s, kérlek nyomd meg a ^3%s%s gombot, amint készen állsz!"
 
-#: qcsrc/client/hud.qc:3758
+#: qcsrc/client/hud.qc:3730
 msgid "^2Waiting for others to ready up to end warmup..."
 msgstr "^2Várakozás a többiekre, hogy befejezzék a bemelegítést..."
 
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3732
 msgid "^2Waiting for others to ready up..."
 msgstr "^2Várj kérlek, amíg a többiek készen állnak..."
 
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3738
 #, c-format
 msgid "^2Press ^3%s^2 to end warmup"
 msgstr "^2Nyomd meg a ^3%s^2 gombot a bemelegítés befejezéséhez!"
 
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3759
 msgid "Teamnumbers are unbalanced!"
 msgstr "A csapatok egyenlőtlenül vannak elosztva!"
 
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3764
 #, c-format
 msgid " Press ^3%s%s to adjust"
 msgstr " Nyomd meg a ^3%s%s gombot a kiegyenlítéshez!"
 
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3772
 msgid "^7Press ^3ESC ^7to show HUD options."
 msgstr "^7Nyomd meg az ^3ESC^7 gombot a HUD beállításának lehetőségeihez!"
 
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3774
 msgid "^3Doubleclick ^7a panel for panel-specific options."
 msgstr "^3Kattints duplán^7 egy panelre a panel-specifikus beállításokhoz!"
 
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3776
 msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
 msgstr ""
 "A ^3CTRL^7 gomb segítségével kikapcsolhatod az illesztést, a ^3SHIFT^7 és"
 
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3778
 msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
 msgstr "az ^3ALT^7 + ^3NYÍLGOMBOK^7-kal finoman mozgathatsz!"
 
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3825
 msgid " qu/s"
 msgstr "qu/s"
 
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3829
 msgid " m/s"
 msgstr "m/s"
 
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3833
 msgid " km/h"
 msgstr "km/h"
 
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3837
 msgid " mph"
 msgstr "mph"
 
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3841
 msgid " knots"
 msgstr "Csomó"
 
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4497
 msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
 msgstr "A panel számok a _hud_panelorder -ben autonatikus javításra kerültek\n"
 
@@ -354,18 +345,18 @@ msgstr "^1Hiba:^7 nem találom a pak-Indexet\n"
 msgid "Requesting preview...\n"
 msgstr "Előnézet kérése...\n"
 
-#: qcsrc/client/miscfunctions.qc:98
+#: qcsrc/client/miscfunctions.qc:101
 msgid "Trying to remove a team which is not in the teamlist!"
 msgstr "Olyan csapatot próbálsz eltávolítani, ami nincs a csapatlistában!"
 
-#: qcsrc/client/movetypes.qc:163
+#: qcsrc/client/movetypes.qc:227
 #, c-format
 msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
 "Egy objektumot nem tudok felszabadítani (edict: %d, classname: %s, origin: "
 "%s)\n"
 
-#: qcsrc/client/movetypes.qc:166
+#: qcsrc/client/movetypes.qc:230
 #, c-format
 msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
@@ -507,77 +498,77 @@ msgstr "Átvétel"
 msgid "SCO^ticks"
 msgstr "Tikk"
 
-#: qcsrc/client/scoreboard.qc:251
+#: qcsrc/client/scoreboard.qc:237
 msgid ""
 "You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
 msgstr ""
 "A ponttábla méretét a ^2scoreboard_columns_set paranccsal tudod "
 "megváltoztatni.\n"
 
-#: qcsrc/client/scoreboard.qc:252
+#: qcsrc/client/scoreboard.qc:238
 msgid "^3|---------------------------------------------------------------|\n"
 msgstr "^3|---------------------------------------------------------------|\n"
 
-#: qcsrc/client/scoreboard.qc:253
+#: qcsrc/client/scoreboard.qc:239
 msgid "Usage:\n"
 msgstr "Használat:\n"
 
-#: qcsrc/client/scoreboard.qc:254
+#: qcsrc/client/scoreboard.qc:240
 msgid "^2scoreboard_columns_set default\n"
 msgstr "^2scoreboard_columns_set default\n"
 
-#: qcsrc/client/scoreboard.qc:255
+#: qcsrc/client/scoreboard.qc:241
 msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
 msgstr "^2scoreboard_columns_set ^7field1 field2 ...\n"
 
-#: qcsrc/client/scoreboard.qc:256
+#: qcsrc/client/scoreboard.qc:242
 msgid "The following field names are recognized (case insensitive):\n"
 msgstr ""
 "Az alábbi mező azonosítókat ismertem fel (nagybetű/kisbetű nem számít):\n"
 
-#: qcsrc/client/scoreboard.qc:257
+#: qcsrc/client/scoreboard.qc:243
 msgid ""
 "You can use a ^3|^7 to start the right-aligned fields.\n"
 "\n"
 msgstr "A ^3|^7 karakterrel jobbra rendezett mezőket tudsz létrehozni.\n"
 
-#: qcsrc/client/scoreboard.qc:259
+#: qcsrc/client/scoreboard.qc:245
 msgid "^3name^7 or ^3nick^7             Name of a player\n"
 msgstr "^3név ^7 vagy ^3nick^7           A játékos neve\n"
 
-#: qcsrc/client/scoreboard.qc:260
+#: qcsrc/client/scoreboard.qc:246
 msgid "^3ping^7                     Ping time\n"
 msgstr "^3ping^7                     Ping\n"
 
-#: qcsrc/client/scoreboard.qc:261
+#: qcsrc/client/scoreboard.qc:247
 msgid "^3pl^7                       Packet loss\n"
 msgstr "^3csv^7                       Csomagvesztés\n"
 
-#: qcsrc/client/scoreboard.qc:262
+#: qcsrc/client/scoreboard.qc:248
 msgid "^3kills^7                    Number of kills\n"
 msgstr "^3megölt^7                    Megöltek száma\n"
 
-#: qcsrc/client/scoreboard.qc:263
+#: qcsrc/client/scoreboard.qc:249
 msgid "^3deaths^7                   Number of deaths\n"
 msgstr "^3halálok^7                   Halálok száma\n"
 
-#: qcsrc/client/scoreboard.qc:264
+#: qcsrc/client/scoreboard.qc:250
 msgid "^3suicides^7                 Number of suicides\n"
 msgstr "^3öngyilkosságok^7                 Öngyilkosságok száma\n"
 
-#: qcsrc/client/scoreboard.qc:265
+#: qcsrc/client/scoreboard.qc:251
 msgid "^3frags^7                    kills - suicides\n"
 msgstr "^3gyilokok^7                    Ölések mínusz öngyilkosságok\n"
 
-#: qcsrc/client/scoreboard.qc:266
+#: qcsrc/client/scoreboard.qc:252
 msgid "^3kd^7                       The kill-death ratio\n"
 msgstr "^3GYH^7                       Das Kill/Death-Ratio\n"
 
-#: qcsrc/client/scoreboard.qc:267
+#: qcsrc/client/scoreboard.qc:253
 msgid "^3sum^7                      frags - deaths\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:268
+#: qcsrc/client/scoreboard.qc:254
 msgid ""
 "^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
 "captured\n"
@@ -585,93 +576,93 @@ msgstr ""
 "^3rablások^7                     Hányszor rabolta el a zászlót "
 "(Zászlórablás) vagy gyűjtötte össze a kulcsokat (Kulcsvadászat)\n"
 
-#: qcsrc/client/scoreboard.qc:269
+#: qcsrc/client/scoreboard.qc:255
 msgid ""
 "^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
 "ball (Keepaway) was picked up\n"
 msgstr ""
 "^3megszerzések^7                  Hányszor szerezte meg a Zászlót/Kulcsot\n"
 
-#: qcsrc/client/scoreboard.qc:270
+#: qcsrc/client/scoreboard.qc:256
 msgid "^3captime^7                  Time of fastest cap (CTF)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:271
+#: qcsrc/client/scoreboard.qc:257
 msgid "^3fckills^7                  Number of flag carrier kills\n"
 msgstr "^3ZHgyilokok^7                  Megölt zászlóhordozók száma\n"
 
-#: qcsrc/client/scoreboard.qc:272
+#: qcsrc/client/scoreboard.qc:258
 msgid "^3returns^7                  Number of flag returns\n"
 msgstr "^3visszaszerzések^7                  Zászló visszaszerzések száma\n"
 
-#: qcsrc/client/scoreboard.qc:273
+#: qcsrc/client/scoreboard.qc:259
 msgid "^3drops^7                    Number of flag drops\n"
 msgstr "^3elvesztések^7                    Hányszor dobta el a zászlót\n"
 
-#: qcsrc/client/scoreboard.qc:274
+#: qcsrc/client/scoreboard.qc:260
 msgid "^3lives^7                    Number of lives (LMS)\n"
 msgstr "^3életek^7                    Életek száma (Csak egy maradhat)\n"
 
-#: qcsrc/client/scoreboard.qc:275
+#: qcsrc/client/scoreboard.qc:261
 msgid "^3rank^7                     Player rank\n"
 msgstr "^3rank^7                     Játékos rangja\n"
 
-#: qcsrc/client/scoreboard.qc:276
+#: qcsrc/client/scoreboard.qc:262
 msgid "^3pushes^7                   Number of players pushed into void\n"
 msgstr "^3lökések^7                   A Nagy Semmibe lökött áldozatok száma\n"
 
-#: qcsrc/client/scoreboard.qc:277
+#: qcsrc/client/scoreboard.qc:263
 msgid ""
 "^3destroyed^7                Number of keys destroyed by pushing them into "
 "void\n"
 msgstr ""
 "^3elpusztítva^7                A Nagy Semmiben elpusztított kulcsok száma\n"
 
-#: qcsrc/client/scoreboard.qc:278
+#: qcsrc/client/scoreboard.qc:264
 msgid "^3kckills^7                  Number of keys carrier kills\n"
 msgstr "^3KHgyilokok^7                  Megölt kulcshordozók száma\n"
 
-#: qcsrc/client/scoreboard.qc:279
+#: qcsrc/client/scoreboard.qc:265
 msgid "^3losses^7                   Number of times a key was lost\n"
 msgstr "^3elvesztve^7                   Elvesztett kulcsok száma\n"
 
-#: qcsrc/client/scoreboard.qc:280
+#: qcsrc/client/scoreboard.qc:266
 msgid "^3laps^7                     Number of laps finished (race/cts)\n"
 msgstr ""
 "^3körök^7                     Befejezett körök száma (Verseny/Ügyességi v.)\n"
 
-#: qcsrc/client/scoreboard.qc:281
+#: qcsrc/client/scoreboard.qc:267
 msgid "^3time^7                     Total time raced (race/cts)\n"
 msgstr ""
 "^3idő^7                     Összes versenyzéssel töltött idő (Verseny/"
 "Ügyességi v.)\n"
 
-#: qcsrc/client/scoreboard.qc:282
+#: qcsrc/client/scoreboard.qc:268
 msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
 msgstr ""
 "^3leggyorsabb^7                  Leggyorsabb kör ideje (Verseny/Ügyességi "
 "v.)\n"
 
-#: qcsrc/client/scoreboard.qc:283
+#: qcsrc/client/scoreboard.qc:269
 msgid "^3ticks^7                    Number of ticks (DOM)\n"
 msgstr "^3ketyegés^7                    Ketyegések száma (Uralom)\n"
 
-#: qcsrc/client/scoreboard.qc:284
+#: qcsrc/client/scoreboard.qc:270
 msgid "^3takes^7                    Number of domination points taken (DOM)\n"
 msgstr "^3foglalás^7                    Elfoglalt Uralompontok (Uralom)\n"
 
-#: qcsrc/client/scoreboard.qc:285
+#: qcsrc/client/scoreboard.qc:271
 msgid "^3bckills^7                  Number of ball carrier kills\n"
 msgstr "^3LHgyilokok^7                  Megölt labdahordozók száma\n"
 
-#: qcsrc/client/scoreboard.qc:286
+#: qcsrc/client/scoreboard.qc:272
 msgid ""
 "^3bctime^7                   Total amount of time holding the ball in "
 "Keepaway\n"
 msgstr ""
 "^3LHidő^7                   Labda birtoklásának összesített ideje (Önzőség)\n"
 
-#: qcsrc/client/scoreboard.qc:287
+#: qcsrc/client/scoreboard.qc:273
 msgid ""
 "^3score^7                    Total score\n"
 "\n"
@@ -679,7 +670,7 @@ msgstr ""
 "^3pont^7                    Teljes pontszám\n"
 "\n"
 
-#: qcsrc/client/scoreboard.qc:289
+#: qcsrc/client/scoreboard.qc:275
 msgid ""
 "Before a field you can put a + or - sign, then a comma separated list\n"
 "of game types, then a slash, to make the field show up only in these\n"
@@ -691,7 +682,7 @@ msgstr ""
 "azon játék típusok listáját bezárva egy / jellel, amelyekben szeretnéd\n"
 "hogy megjelenjen vagy ne jelenjen meg az adott mező.\n"
 
-#: qcsrc/client/scoreboard.qc:294
+#: qcsrc/client/scoreboard.qc:280
 msgid ""
 "The special game type names 'teams' and 'noteams' can be used to\n"
 "include/exclude ALL teams/noteams game modes.\n"
@@ -702,12 +693,12 @@ msgstr ""
 "módra utalhatsz.\n"
 "\n"
 
-#: qcsrc/client/scoreboard.qc:297
+#: qcsrc/client/scoreboard.qc:283
 msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
 msgstr ""
 "Például: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
 
-#: qcsrc/client/scoreboard.qc:298
+#: qcsrc/client/scoreboard.qc:284
 msgid ""
 "will display name, ping and pl aligned to the left, and the fields\n"
 "right of the vertical bar aligned to the right.\n"
@@ -715,7 +706,7 @@ msgstr ""
 "balra rendezve kiírja a nevet, a pinget, a csv-t\n"
 "a jobb oldalra rendezett egyenes vonal jobb oldalára.\n"
 
-#: qcsrc/client/scoreboard.qc:300
+#: qcsrc/client/scoreboard.qc:286
 msgid ""
 "'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
 "other gamemodes except DM.\n"
@@ -723,7 +714,7 @@ msgstr ""
 "'field3' csak Zászlórablás játékmódban látszik,\n"
 "'field4' pedig Haláljátszma kivételével az összes többiben.\n"
 
-#: qcsrc/client/scoreboard.qc:534 qcsrc/client/scoreboard.qc:541
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
@@ -731,91 +722,95 @@ msgstr ""
 msgid "N/A"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:984
+#: qcsrc/client/scoreboard.qc:970
 #, c-format
 msgid "Accuracy stats (average %d%%)"
 msgstr "Tüzelési pontosság (Átlag: %d%%)"
 
-#: qcsrc/client/scoreboard.qc:1047
+#: qcsrc/client/scoreboard.qc:1033
 #, c-format
 msgid "%d%%"
 msgstr "%d%%"
 
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1099
 msgid "Map stats:"
 msgstr "Pálya statisztikák:"
 
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1124
 msgid "Secrets found:"
 msgstr "Feldezett titkok:"
 
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1152
 msgid "Rankings"
 msgstr "Helyezések"
 
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1248
 msgid "Scoreboard"
 msgstr "Ponttábla"
 
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1307
 #, c-format
 msgid "Speed award: %d ^7(%s^7)"
 msgstr "Gyorsasági díj: %d ^7(%s^7)"
 
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1311
 #, c-format
 msgid "All-time fastest: %d ^7(%s^7)"
 msgstr "Rekord: %d ^7(%s^7)"
 
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1345
 msgid "Spectators"
 msgstr "Nézők"
 
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1352
 #, c-format
-msgid "playing on ^2%s^7"
-msgstr "A játék a ^2%s^7 pályán zajlik"
+msgid "playing ^3%s^7 on ^2%s^7"
+msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
 #, c-format
 msgid " for up to ^1%1.0f minutes^7"
 msgstr " még ^1%.1f percig^7"
 
-#: qcsrc/client/scoreboard.qc:1364 qcsrc/client/scoreboard.qc:1383
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
 msgid " or"
 msgstr " vagy "
 
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
 #, c-format
 msgid " until ^3%s %s^7"
 msgstr "^3%s %s^7"
 
-#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1375
-#: qcsrc/client/scoreboard.qc:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
 msgid "SCO^points"
 msgstr "pontszámig"
 
-#: qcsrc/client/scoreboard.qc:1369 qcsrc/client/scoreboard.qc:1376
-#: qcsrc/client/scoreboard.qc:1388 qcsrc/client/scoreboard.qc:1395
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
 msgid "SCO^is beaten"
 msgstr " időt valaki meg nem dönti"
 
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
 #, c-format
 msgid " until a lead of ^3%s %s^7"
 msgstr " amíg valaki ^3%s %s^7 -ig nem vezeti a mezőnyt."
 
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1419
 #, c-format
 msgid "^1Respawning in ^3%s^1..."
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1429
 #, c-format
 msgid "You are dead, wait ^3%s^7 before respawning"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1438
 #, c-format
 msgid "You are dead, press ^2%s^7 to respawn"
 msgstr ""
@@ -825,7 +820,7 @@ msgstr ""
 msgid "Cannot initialize sound %s\n"
 msgstr "Nem tudtam a %s hangot inicializálni\n"
 
-#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:591
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
 msgid "Spam"
 msgstr "Spam"
 
@@ -842,209 +837,213 @@ msgstr ""
 msgid "No left gunner!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:254
+#: qcsrc/client/waypointsprites.qc:246
 msgid "Push"
 msgstr "Nyomd meg!"
 
-#: qcsrc/client/waypointsprites.qc:255
+#: qcsrc/client/waypointsprites.qc:247
 msgid "Destroy"
 msgstr "Pusztítsd el!"
 
-#: qcsrc/client/waypointsprites.qc:256
+#: qcsrc/client/waypointsprites.qc:248
 msgid "Defend"
 msgstr "Védd meg!"
 
-#: qcsrc/client/waypointsprites.qc:257
+#: qcsrc/client/waypointsprites.qc:249
 msgid "Blue base"
 msgstr "Kék Bázis"
 
-#: qcsrc/client/waypointsprites.qc:258
+#: qcsrc/client/waypointsprites.qc:250
 msgid "DANGER"
 msgstr "VESZÉLY!"
 
-#: qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:251
 msgid "Enemy carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:260
+#: qcsrc/client/waypointsprites.qc:252
 msgid "Flag carrier"
 msgstr "Zászlóhordozó"
 
-#: qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:253
 msgid "Dropped flag"
 msgstr "Elhagyott zászló"
 
-#: qcsrc/client/waypointsprites.qc:262
+#: qcsrc/client/waypointsprites.qc:254
 msgid "Help me!"
 msgstr "Segítség!"
 
-#: qcsrc/client/waypointsprites.qc:263
+#: qcsrc/client/waypointsprites.qc:255
 msgid "Here"
 msgstr "Itt"
 
-#: qcsrc/client/waypointsprites.qc:264
+#: qcsrc/client/waypointsprites.qc:256
 msgid "Dropped key"
 msgstr "Elhagyott kulcs"
 
-#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:267
-#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
-#: qcsrc/client/waypointsprites.qc:270
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
 msgid "Key carrier"
 msgstr "Kulcshordozó"
 
-#: qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:258
 msgid "Run here"
 msgstr "Rohanj ide!"
 
-#: qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:263
 msgid "Red base"
 msgstr "Vörös Bázis"
 
-#: qcsrc/client/waypointsprites.qc:272
+#: qcsrc/client/waypointsprites.qc:264
 msgid "Waypoint"
 msgstr "Irányjelző"
 
-#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
-#: qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
 msgid "Generator"
 msgstr "Generátor"
 
-#: qcsrc/client/waypointsprites.qc:276 qcsrc/client/waypointsprites.qc:277
-#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
-#: qcsrc/client/waypointsprites.qc:280 qcsrc/client/waypointsprites.qc:281
-#: qcsrc/client/waypointsprites.qc:282 qcsrc/client/waypointsprites.qc:283
-#: qcsrc/client/waypointsprites.qc:307 qcsrc/client/waypointsprites.qc:308
-#: qcsrc/client/waypointsprites.qc:309 qcsrc/client/waypointsprites.qc:310
-#: qcsrc/client/waypointsprites.qc:311
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
 msgid "Control point"
 msgstr "Uralompont"
 
-#: qcsrc/client/waypointsprites.qc:284
+#: qcsrc/client/waypointsprites.qc:276
 msgid "Checkpoint"
 msgstr "Ellenőrző pont"
 
-#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
 msgid "Finish"
 msgstr "Cél"
 
-#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
 msgid "Start"
 msgstr "Start"
 
-#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
 msgid "Ball"
 msgstr "Labda"
 
-#: qcsrc/client/waypointsprites.qc:290
+#: qcsrc/client/waypointsprites.qc:283
 msgid "Ball carrier"
 msgstr "Labdahordozó"
 
-#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
 msgid "Laser"
 msgstr "Lézer"
 
-#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
 msgid "Shotgun"
 msgstr "Puska"
 
-#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
 msgid "Machine Gun"
 msgstr "Gépfegyver"
 
-#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
 msgid "Mortar"
 msgstr "Gránátvető"
 
-#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
 msgid "Electro"
 msgstr "Electro"
 
-#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
 msgid "Crylink"
 msgstr "Crylink"
 
-#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
 msgid "Nex"
 msgstr "Nex"
 
-#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
 msgid "Hagar"
 msgstr "Hagar"
 
-#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
 msgid "Rocket Launcher"
 msgstr "Rakétavető"
 
-#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
 msgid "Port-O-Launch"
 msgstr "Port-O-Launch"
 
-#: qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:294
 msgid "Minstanex"
 msgstr "MinstaNex"
 
-#: qcsrc/client/waypointsprites.qc:302
+#: qcsrc/client/waypointsprites.qc:295
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
 msgid "Hook"
 msgstr "Kampó"
 
-#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
 msgid "Fireball"
 msgstr "Tűzgömb"
 
-#: qcsrc/client/waypointsprites.qc:304
+#: qcsrc/client/waypointsprites.qc:297
 msgid "HLAC"
 msgstr "NLRÁ"
 
-#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
 msgid "Rifle"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
 msgid "Mine Layer"
 msgstr "Aknavető"
 
-#: qcsrc/client/waypointsprites.qc:312
+#: qcsrc/client/waypointsprites.qc:305
 msgid "Invisibility"
 msgstr "Láthatatlanság"
 
-#: qcsrc/client/waypointsprites.qc:313
+#: qcsrc/client/waypointsprites.qc:306
 msgid "Extra life"
 msgstr "Extra élet"
 
-#: qcsrc/client/waypointsprites.qc:314
+#: qcsrc/client/waypointsprites.qc:307
 msgid "Speed"
 msgstr "Sebesség"
 
-#: qcsrc/client/waypointsprites.qc:315
+#: qcsrc/client/waypointsprites.qc:308
 msgid "Strength"
 msgstr "Sebzésnövelő"
 
-#: qcsrc/client/waypointsprites.qc:316
+#: qcsrc/client/waypointsprites.qc:309
 msgid "Shield"
 msgstr "Védelmező"
 
-#: qcsrc/client/waypointsprites.qc:317
+#: qcsrc/client/waypointsprites.qc:310
 msgid "Fuel regen"
 msgstr "Üzemanyag újratöltés"
 
-#: qcsrc/client/waypointsprites.qc:318
+#: qcsrc/client/waypointsprites.qc:311
 msgid "Jet Pack"
 msgstr "Hátirakéta"
 
-#: qcsrc/client/waypointsprites.qc:319
+#: qcsrc/client/waypointsprites.qc:312
 msgid "Frozen!"
 msgstr "Megfagyva!"
 
-#: qcsrc/client/waypointsprites.qc:320
+#: qcsrc/client/waypointsprites.qc:313
 msgid "Tagged"
 msgstr "Megjelölt"
 
-#: qcsrc/client/waypointsprites.qc:321
+#: qcsrc/client/waypointsprites.qc:314
 msgid "Vehicle"
 msgstr "Jármű"
 
-#: qcsrc/client/waypointsprites.qc:595
+#: qcsrc/client/waypointsprites.qc:588
 #, c-format
 msgid "%s needing help!"
 msgstr "%s segítséget kér!"
@@ -1266,12 +1265,12 @@ msgstr ""
 msgid "%dth"
 msgstr "%d."
 
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:717
 #, no-c-format
 msgid "@!#%'n Tuba Throwing"
 msgstr "@!#%'n Tuba Dobás"
 
-#: qcsrc/common/mapinfo.qc:1109 qcsrc/menu/xonotic/skinlist.c:166
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
@@ -1285,57 +1284,82 @@ msgid "Last Man Standing"
 msgstr "Csak egy maradhat"
 
 #: qcsrc/common/mapinfo.qh:42
-msgid "Arena"
-msgstr "Aréna"
-
-#: qcsrc/common/mapinfo.qh:45
 msgid "Race"
 msgstr "Verseny"
 
-#: qcsrc/common/mapinfo.qh:48
+#: qcsrc/common/mapinfo.qh:45
 msgid "Race CTS"
 msgstr "Ügyességi verseny"
 
-#: qcsrc/common/mapinfo.qh:51
+#: qcsrc/common/mapinfo.qh:48
 msgid "Team Deathmatch"
 msgstr "Csapat[os] öldöklés "
 
-#: qcsrc/common/mapinfo.qh:54
+#: qcsrc/common/mapinfo.qh:51
 msgid "Capture the Flag"
 msgstr "Zászlórablás"
 
-#: qcsrc/common/mapinfo.qh:57
+#: qcsrc/common/mapinfo.qh:54
 msgid "Clan Arena"
 msgstr "Klán Aréna"
 
-#: qcsrc/common/mapinfo.qh:60
+#: qcsrc/common/mapinfo.qh:57
 msgid "Domination"
 msgstr "Uralom"
 
-#: qcsrc/common/mapinfo.qh:63
+#: qcsrc/common/mapinfo.qh:60
 msgid "Key Hunt"
 msgstr "Kulcsvadászat"
 
-#: qcsrc/common/mapinfo.qh:66
+#: qcsrc/common/mapinfo.qh:63
 msgid "Assault"
 msgstr "Ostrom"
 
-#: qcsrc/common/mapinfo.qh:69
+#: qcsrc/common/mapinfo.qh:66
 msgid "Onslaught"
 msgstr "Támadás"
 
-#: qcsrc/common/mapinfo.qh:72
+#: qcsrc/common/mapinfo.qh:69
 msgid "Nexball"
 msgstr "Nexball"
 
-#: qcsrc/common/mapinfo.qh:75
+#: qcsrc/common/mapinfo.qh:72
 msgid "Freeze Tag"
 msgstr "Fagyasztás"
 
-#: qcsrc/common/mapinfo.qh:78
+#: qcsrc/common/mapinfo.qh:75
 msgid "Keepaway"
 msgstr "Önzőség"
 
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr ""
+
 #: qcsrc/common/net_notice.qc:89
 msgid "^1Server notices:"
 msgstr ""
@@ -1346,1772 +1370,1842 @@ msgid "^7%s (^3%d sec left)"
 msgstr ""
 
 #: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:343
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:343
+#: qcsrc/common/notifications.qh:344
 #, c-format
 msgid ""
 "^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"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:344
+#: qcsrc/common/notifications.qh:345
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:345
+#: qcsrc/common/notifications.qh:346
 #, c-format
 msgid ""
 "^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"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:346
+#: qcsrc/common/notifications.qh:347
 msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:347
+#: qcsrc/common/notifications.qh:348
 msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:348
+#: qcsrc/common/notifications.qh:349
 msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:349
+#: qcsrc/common/notifications.qh:350
 msgid ""
 "^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
 "base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:350
+#: qcsrc/common/notifications.qh:351
 #, c-format
 msgid ""
 "^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
 "itself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:351
+#: qcsrc/common/notifications.qh:352
 msgid "^BGThe ^TC^TT^BG flag has returned to the base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:352
+#: qcsrc/common/notifications.qh:353
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:353
+#: qcsrc/common/notifications.qh:354
 #, c-format
 msgid "^BG%s^BG got the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:354
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
 #, c-format
 msgid "^BG%s^BG returned the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:355
+#: qcsrc/common/notifications.qh:357
 #, c-format
 msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:356
+#: qcsrc/common/notifications.qh:358
 #, c-format
 msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:357
+#: qcsrc/common/notifications.qh:359
 #, c-format
 msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:359
+#: qcsrc/common/notifications.qh:361
 #, c-format
 msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:360
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:363
 #, c-format
 msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:361
+#: qcsrc/common/notifications.qh:364
 #, c-format
 msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:362
+#: qcsrc/common/notifications.qh:365
 #, c-format
 msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:363
+#: qcsrc/common/notifications.qh:366
 #, c-format
 msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:365
+#: qcsrc/common/notifications.qh:368
 #, c-format
 msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:366
+#: qcsrc/common/notifications.qh:369
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:367
+#: qcsrc/common/notifications.qh:370
 #, c-format
 msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:368
+#: qcsrc/common/notifications.qh:371
 #, c-format
 msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:369
+#: qcsrc/common/notifications.qh:372
 #, c-format
 msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:370
+#: qcsrc/common/notifications.qh:373
 #, c-format
 msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:371
+#: qcsrc/common/notifications.qh:374
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:372
+#: qcsrc/common/notifications.qh:375
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:373
+#: qcsrc/common/notifications.qh:376
 #, c-format
 msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:374
+#: qcsrc/common/notifications.qh:377
 #, c-format
 msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:375
+#: qcsrc/common/notifications.qh:378
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:376
+#: qcsrc/common/notifications.qh:379
 #, c-format
 msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:377
+#: qcsrc/common/notifications.qh:380
 #, c-format
 msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:378
+#: qcsrc/common/notifications.qh:381
 #, c-format
 msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:379
+#: qcsrc/common/notifications.qh:382
 #, c-format
 msgid "^BG%s^K1 was moved into the %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:380
+#: qcsrc/common/notifications.qh:383
 #, c-format
 msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:381
+#: qcsrc/common/notifications.qh:384
 #, c-format
 msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:382
+#: qcsrc/common/notifications.qh:385
 #, c-format
 msgid "^BG%s^K1 unfairly eliminated themself%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:383
+#: qcsrc/common/notifications.qh:386
 #, c-format
 msgid "^BG%s^K1 %s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 couldn't catch their breath%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 was in the water for too long%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a crunch%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 became a bit too crispy%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 felt a little hot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:387
+#: qcsrc/common/notifications.qh:390
 #, c-format
 msgid "^BG%s^K1 died%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 found a hot place%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 turned into hot slag%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:389
+#: qcsrc/common/notifications.qh:392
 #, c-format
 msgid "^BG%s^K1 mastered the art of self-nading%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:393
 #, c-format
-msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:394
 #, c-format
-msgid "^BG%s^K1 ran out of ammo%s%s"
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:391
+#: qcsrc/common/notifications.qh:395
 #, c-format
-msgid "^BG%s^K1 rotted away%s%s"
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:392
+#: qcsrc/common/notifications.qh:396
 #, c-format
-msgid "^BG%s^K1 became a shooting star%s%s"
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:393
+#: qcsrc/common/notifications.qh:397
+#, c-format
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:398
+#, c-format
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 ran out of ammo%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:402
+#, c-format
+msgid "^BG%s^K1 rotted away%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:403
+#, c-format
+msgid "^BG%s^K1 became a shooting star%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:404
 #, c-format
 msgid "^BG%s^K1 was slimed%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:394
+#: qcsrc/common/notifications.qh:405
 #, c-format
 msgid "^BG%s^K1 couldn't take it anymore%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:395
+#: qcsrc/common/notifications.qh:406
 #, c-format
 msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:396
+#: qcsrc/common/notifications.qh:407
 #, c-format
 msgid "^BG%s^K1 switched to the %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:397
+#: qcsrc/common/notifications.qh:408
 #, c-format
 msgid "^BG%s^K1 died in an accident%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:398
+#: qcsrc/common/notifications.qh:409
 #, c-format
 msgid "^BG%s^K1 ran into a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:399
+#: qcsrc/common/notifications.qh:410
 #, c-format
 msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:400
+#: qcsrc/common/notifications.qh:411
 #, c-format
 msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:401
+#: qcsrc/common/notifications.qh:412
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:402
+#: qcsrc/common/notifications.qh:413
 #, c-format
 msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:403
+#: qcsrc/common/notifications.qh:414
 #, c-format
 msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:404
+#: qcsrc/common/notifications.qh:415
 #, c-format
 msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:405
+#: qcsrc/common/notifications.qh:416
 #, c-format
 msgid "^BG%s^K1 was phased out by a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:406
+#: qcsrc/common/notifications.qh:417
 #, c-format
 msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:407
+#: qcsrc/common/notifications.qh:418
 #, c-format
 msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:408
+#: qcsrc/common/notifications.qh:419
 #, c-format
 msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:409
+#: qcsrc/common/notifications.qh:420
 #, c-format
 msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:410
+#: qcsrc/common/notifications.qh:421
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:411
+#: qcsrc/common/notifications.qh:422
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:412
+#: qcsrc/common/notifications.qh:423
 #, c-format
 msgid "^BG%s^K1 was crushed by a vehicle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:413
+#: qcsrc/common/notifications.qh:424
 #, c-format
 msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:414
+#: qcsrc/common/notifications.qh:425
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:415
+#: qcsrc/common/notifications.qh:426
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:416
+#: qcsrc/common/notifications.qh:427
 #, c-format
 msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:417
+#: qcsrc/common/notifications.qh:428
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:418
+#: qcsrc/common/notifications.qh:429
 #, c-format
 msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:419
+#: qcsrc/common/notifications.qh:430
 #, c-format
 msgid "^BG%s^K1 was in the wrong place%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:420
+#: qcsrc/common/notifications.qh:431
 #, c-format
 msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:421
+#: qcsrc/common/notifications.qh:432
 #, c-format
 msgid "^BG%s^K1 was frozen by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:422
+#: qcsrc/common/notifications.qh:433
 #, c-format
 msgid "^BG%s^K3 was revived by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:423
+#: qcsrc/common/notifications.qh:434
 #, c-format
 msgid "^BG%s^K3 was revived by falling"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:424
+#: qcsrc/common/notifications.qh:435
 #, c-format
 msgid "^BG%s^K3 was automatically revived after %s second(s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:425 qcsrc/common/notifications.qh:612
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
 msgid "^TC^TT^BG team wins the round"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:426 qcsrc/common/notifications.qh:613
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
 #, c-format
 msgid "^BG%s^BG wins the round"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:427 qcsrc/common/notifications.qh:542
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
 msgid "^BGRound tied"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:428 qcsrc/common/notifications.qh:543
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
 msgid "^BGRound over, there's no winner"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:429
+#: qcsrc/common/notifications.qh:440
 #, c-format
 msgid "^BG%s^K1 froze themself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:430
+#: qcsrc/common/notifications.qh:441
 #, c-format
 msgid "^BGGodmode saved you %s units of damage, cheater!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:431 qcsrc/common/notifications.qh:616
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
 #, c-format
 msgid "^BGYou do not have the ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:432 qcsrc/common/notifications.qh:617
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
 #, c-format
 msgid "^BGYou dropped the ^F1%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:433 qcsrc/common/notifications.qh:618
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
 #, c-format
 msgid "^BGYou got the ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:434 qcsrc/common/notifications.qh:619
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
 #, c-format
 msgid "^BGYou don't have enough ammo for the ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:435 qcsrc/common/notifications.qh:620
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
 #, c-format
 msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:621
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
 #, c-format
 msgid "^F1%s^BG is ^F4not available^BG on this map"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:437
+#: qcsrc/common/notifications.qh:448
 #, c-format
 msgid "^BG%s^F3 connected%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:438
+#: qcsrc/common/notifications.qh:449
 #, c-format
 msgid "^BG%s^F3 connected and joined the ^TC^TT team"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:439
+#: qcsrc/common/notifications.qh:450
 #, c-format
 msgid "^BG%s^F3 is now playing"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:440 qcsrc/common/notifications.qh:624
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
 #, c-format
 msgid "^BG%s^BG has dropped the ball!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:441 qcsrc/common/notifications.qh:625
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
 #, c-format
 msgid "^BG%s^BG has picked up the ball!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:442
+#: qcsrc/common/notifications.qh:453
 #, c-format
 msgid "^BG%s^BG captured the keys for the ^TC^TT team"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:443
+#: qcsrc/common/notifications.qh:454
 #, c-format
 msgid "^BG%s^BG dropped the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:444
+#: qcsrc/common/notifications.qh:455
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:445
+#: qcsrc/common/notifications.qh:456
 #, c-format
 msgid "^BG%s^BG picked up the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:446
+#: qcsrc/common/notifications.qh:457
 #, c-format
 msgid "^BG%s^F3 forfeited"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:447
+#: qcsrc/common/notifications.qh:458
 #, c-format
 msgid "^BG%s^F3 has no more lives left"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:448
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:460
 #, c-format
 msgid "^BG%s^K1 picked up Invisibility"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:449
+#: qcsrc/common/notifications.qh:461
 #, c-format
 msgid "^BG%s^K1 picked up Shield"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:450
+#: qcsrc/common/notifications.qh:462
 #, c-format
 msgid "^BG%s^K1 picked up Speed"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:451
+#: qcsrc/common/notifications.qh:463
 #, c-format
 msgid "^BG%s^K1 picked up Strength"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:452
+#: qcsrc/common/notifications.qh:464
 #, c-format
 msgid "^BG%s^F3 disconnected"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:453
+#: qcsrc/common/notifications.qh:465
 #, c-format
 msgid "^BG%s^F3 was kicked for idling"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:454
+#: qcsrc/common/notifications.qh:466
 msgid ""
 "^F2You were kicked from the server because you are a spectator and "
 "spectators aren't allowed at the moment."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:455
+#: qcsrc/common/notifications.qh:467
 #, c-format
 msgid "^BG%s^F3 is now spectating"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:456
+#: qcsrc/common/notifications.qh:468
 #, c-format
 msgid "^BG%s^BG has abandoned the race"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:457
+#: qcsrc/common/notifications.qh:469
 #, c-format
 msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:458
+#: qcsrc/common/notifications.qh:470
 #, c-format
 msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:459
+#: qcsrc/common/notifications.qh:471
 #, c-format
 msgid "^BG%s^BG has finished the race"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:460
+#: qcsrc/common/notifications.qh:472
 #, c-format
 msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:461
+#: qcsrc/common/notifications.qh:473
 #, c-format
 msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:462
+#: qcsrc/common/notifications.qh:474
 #, c-format
 msgid ""
 "^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
 "and will be lost."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:463
+#: qcsrc/common/notifications.qh:475
 #, c-format
 msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:464
+#: qcsrc/common/notifications.qh:476
 msgid "^TC^TT ^BGteam scores!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:465
+#: qcsrc/common/notifications.qh:477
 #, c-format
 msgid ""
 "^F2You have to become a player within the next %s, otherwise you will be "
 "kicked, because spectating isn't allowed at this time!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:466
+#: qcsrc/common/notifications.qh:478
 #, c-format
 msgid "^BG%s^K1 picked up a Superweapon"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:467
+#: qcsrc/common/notifications.qh:479
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
 "^F2Xonotic %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:468
+#: qcsrc/common/notifications.qh:480
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:469
+#: qcsrc/common/notifications.qh:481
 #, c-format
 msgid ""
 "^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
 "the update from ^F3http://www.xonotic.org/^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:470
+#: qcsrc/common/notifications.qh:482
 #, c-format
 msgid "^F3SVQC Build information: ^F4%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:471
+#: qcsrc/common/notifications.qh:483
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:472
+#: qcsrc/common/notifications.qh:484
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:473
+#: qcsrc/common/notifications.qh:485
 #, c-format
 msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:474
+#: qcsrc/common/notifications.qh:486
 #, c-format
 msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:475
+#: qcsrc/common/notifications.qh:487
 #, c-format
 msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:476
+#: qcsrc/common/notifications.qh:488
 #, c-format
 msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:477
+#: qcsrc/common/notifications.qh:489
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:478
+#: qcsrc/common/notifications.qh:490
 #, c-format
 msgid "^BG%s^K1 played with Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:479
+#: qcsrc/common/notifications.qh:491
 #, c-format
 msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:480
+#: qcsrc/common/notifications.qh:492
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:481
+#: qcsrc/common/notifications.qh:493
 #, c-format
 msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:482
+#: qcsrc/common/notifications.qh:494
 #, c-format
 msgid "^BG%s^K1 should have used a smaller gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:483
+#: qcsrc/common/notifications.qh:495
 #, c-format
 msgid "^BG%s^K1 forgot about their firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:484
+#: qcsrc/common/notifications.qh:496
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:485
+#: qcsrc/common/notifications.qh:497
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:486
+#: qcsrc/common/notifications.qh:498
 #, c-format
 msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:487
+#: qcsrc/common/notifications.qh:499
 #, c-format
 msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:488
+#: qcsrc/common/notifications.qh:500
 #, c-format
 msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:489
+#: qcsrc/common/notifications.qh:501
 #, c-format
 msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:490
+#: qcsrc/common/notifications.qh:502
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:491
+#: qcsrc/common/notifications.qh:503
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:492
+#: qcsrc/common/notifications.qh:504
 #, c-format
 msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:493
+#: qcsrc/common/notifications.qh:505
 #, c-format
 msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:494
+#: qcsrc/common/notifications.qh:506
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:495
+#: qcsrc/common/notifications.qh:507
 #, c-format
 msgid "^BG%s^K1 forgot about their mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:496
+#: qcsrc/common/notifications.qh:508
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:497
+#: qcsrc/common/notifications.qh:509
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:498
+#: qcsrc/common/notifications.qh:510
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:499
+#: qcsrc/common/notifications.qh:511
 #, c-format
 msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:500
+#: qcsrc/common/notifications.qh:512
 #, c-format
 msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:501
+#: qcsrc/common/notifications.qh:513
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:502
+#: qcsrc/common/notifications.qh:514
 #, c-format
 msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:503
+#: qcsrc/common/notifications.qh:515
 #, c-format
 msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:504
+#: qcsrc/common/notifications.qh:516
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:505
+#: qcsrc/common/notifications.qh:517
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:506
+#: qcsrc/common/notifications.qh:518
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:507
+#: qcsrc/common/notifications.qh:519
 #, c-format
 msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:508
+#: qcsrc/common/notifications.qh:520
 #, c-format
 msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:509
+#: qcsrc/common/notifications.qh:521
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:510
+#: qcsrc/common/notifications.qh:522
 #, c-format
 msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:511
+#: qcsrc/common/notifications.qh:523
 #, c-format
 msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:512
+#: qcsrc/common/notifications.qh:524
 #, c-format
 msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:513
+#: qcsrc/common/notifications.qh:525
 #, c-format
 msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:514
+#: qcsrc/common/notifications.qh:526
 #, c-format
 msgid "^BG%s^K1 is now thinking with portals%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:515
+#: qcsrc/common/notifications.qh:527
 #, c-format
 msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:516
+#: qcsrc/common/notifications.qh:528
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:517
+#: qcsrc/common/notifications.qh:529
 #, c-format
 msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:518
+#: qcsrc/common/notifications.qh:530
 #, c-format
 msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:536
+#: qcsrc/common/notifications.qh:548
 msgid "^BGYou are attacking!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:537
+#: qcsrc/common/notifications.qh:549
 msgid "^BGYou are defending!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:538
+#: qcsrc/common/notifications.qh:550
 msgid "^F4Begin!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:539
+#: qcsrc/common/notifications.qh:551
 msgid "^F4Game starts in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:540
+#: qcsrc/common/notifications.qh:552
 msgid "^F4Round starts in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:541
+#: qcsrc/common/notifications.qh:553
 msgid "^F4Round cannot start"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:544
+#: qcsrc/common/notifications.qh:556
 msgid "^F2Don't camp!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:545
+#: qcsrc/common/notifications.qh:557
 msgid ""
 "^BGYou are now free.\n"
 "^BGFeel free to ^F2try to capture^BG the flag again\n"
 "^BGif you think you will succeed."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:546
+#: qcsrc/common/notifications.qh:558
 msgid ""
 "^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."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:547
+#: qcsrc/common/notifications.qh:559
 msgid "^BGYou captured the ^TC^TT^BG flag!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:548
+#: qcsrc/common/notifications.qh:560
 #, c-format
 msgid "^BGToo many flag throws! Throwing disabled for %s."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:549
+#: qcsrc/common/notifications.qh:561
 #, c-format
 msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:550
+#: qcsrc/common/notifications.qh:562
 #, c-format
 msgid "^BGYou received the ^TC^TT^BG flag from %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:551
+#: qcsrc/common/notifications.qh:563
 #, c-format
 msgid "^BG%s^BG requests you to pass the flag%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:552
+#: qcsrc/common/notifications.qh:564
 #, c-format
 msgid "^BGRequesting %s^BG to pass you the flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:553
+#: qcsrc/common/notifications.qh:565
 #, c-format
 msgid "^BGYou passed the ^TC^TT^BG flag to %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:554
+#: qcsrc/common/notifications.qh:566
 msgid "^BGYou got the ^TC^TT^BG flag!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:555
+#: qcsrc/common/notifications.qh:567
 #, c-format
 msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:556
+#: qcsrc/common/notifications.qh:568
 #, c-format
 msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:557
+#: qcsrc/common/notifications.qh:569
 #, c-format
 msgid "^BGYour %steam mate^BG got the flag! Protect them!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:558
+#: qcsrc/common/notifications.qh:570
 #, c-format
 msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:559
+#: qcsrc/common/notifications.qh:571
 msgid "^BGYou returned the ^TC^TT^BG flag!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:560
+#: qcsrc/common/notifications.qh:572
 msgid "^BGStalemate! Enemies can now see you on radar!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:561
+#: qcsrc/common/notifications.qh:573
 msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou fragged ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou scored against ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou fragged ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou scored against ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:570
+#: qcsrc/common/notifications.qh:582
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:571
+#: qcsrc/common/notifications.qh:583
 #, c-format
 msgid ""
 "^BGYou have been moved into a different team\n"
 "You are now on: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't go against your team mates!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't shoot your team mates!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Die camper!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Reconsider your tactics, camper!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:574
+#: qcsrc/common/notifications.qh:586
 msgid "^K1You unfairly eliminated yourself!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:575
+#: qcsrc/common/notifications.qh:587
 #, c-format
 msgid "^K1You were %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:576
+#: qcsrc/common/notifications.qh:588
 msgid "^K1You couldn't catch your breath!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:577
+#: qcsrc/common/notifications.qh:589
 msgid "^K1You hit the ground with a crunch!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You felt a little too hot!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You got a little bit too crispy!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You killed your own dumb self!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You need to be more careful!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:580
+#: qcsrc/common/notifications.qh:592
 msgid "^K1You couldn't stand the heat!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
 msgid "^K1Tastes like chicken!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:594
 msgid "^K1You forgot to put the pin back in!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You are respawning for running out of ammo..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You were killed for running out of ammo..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You grew too old without taking your medicine"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You need to preserve your health"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:584
+#: qcsrc/common/notifications.qh:597
 msgid "^K1You became a shooting star!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:585
+#: qcsrc/common/notifications.qh:598
 msgid "^K1You melted away in slime!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You committed suicide!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You ended it all!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:587
+#: qcsrc/common/notifications.qh:600
 msgid "^K1You got stuck in a swamp!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:588
+#: qcsrc/common/notifications.qh:601
 #, c-format
 msgid "^BGYou are now on: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:589
+#: qcsrc/common/notifications.qh:602
 msgid "^K1You died in an accident!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You had an unfortunate run in with a turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You were fragged by a turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You had an unfortunate run in with an eWheel turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You were fragged by an eWheel turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You had an unfortunate run in with a Walker turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You were fragged by a Walker turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:593
+#: qcsrc/common/notifications.qh:606
 msgid "^K1You got caught in the blast of a Bumblebee explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:594
+#: qcsrc/common/notifications.qh:607
 msgid "^K1You were crushed by a vehicle!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:595
+#: qcsrc/common/notifications.qh:608
 msgid "^K1You were caught in a Raptor cluster bomb!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:596
+#: qcsrc/common/notifications.qh:609
 msgid "^K1You got caught in the blast of a Raptor explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:597
+#: qcsrc/common/notifications.qh:610
 msgid "^K1You got caught in the blast of a Spiderbot explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:598
+#: qcsrc/common/notifications.qh:611
 msgid "^K1You were blasted to bits by a Spiderbot rocket!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:599
+#: qcsrc/common/notifications.qh:612
 msgid "^K1You got caught in the blast of a Racer explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:600
+#: qcsrc/common/notifications.qh:613
 msgid "^K1You couldn't find shelter from a Racer rocket!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:601
+#: qcsrc/common/notifications.qh:614
 msgid "^K1Watch your step!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were fragged by ^BG%s^K1, a team mate"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were scored against by ^BG%s^K1, a team mate"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:604
+#: qcsrc/common/notifications.qh:617
 msgid ""
 "^K1Stop idling!\n"
 "^BGDisconnecting in ^COUNT..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:605
+#: qcsrc/common/notifications.qh:618
 msgid "^F2You picked up some extra lives"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:606
+#: qcsrc/common/notifications.qh:619
 #, c-format
 msgid "^K3You froze ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:607
+#: qcsrc/common/notifications.qh:620
 #, c-format
 msgid "^K1You were frozen by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:608
+#: qcsrc/common/notifications.qh:621
 #, c-format
 msgid "^K3You revived ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:609
+#: qcsrc/common/notifications.qh:622
 msgid "^K3You revived yourself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:610
+#: qcsrc/common/notifications.qh:623
 #, c-format
 msgid "^K3You were revived by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:611
+#: qcsrc/common/notifications.qh:624
 #, c-format
 msgid "^K3You were automatically revived after %s second(s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:614
+#: qcsrc/common/notifications.qh:627
 msgid "^K1You froze yourself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:615
+#: qcsrc/common/notifications.qh:628
 msgid "^K1Round already started, you spawn as frozen"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:622
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:636
 msgid ""
 "^K1No spawnpoints available!\n"
 "Hope your team can fix it..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:623
+#: qcsrc/common/notifications.qh:637
 msgid ""
 "^K1You may not join the game at this time.\n"
 "The player limit reached maximum capacity."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:626
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
 msgid "^BGKilling people while you don't have the ball gives no points!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:642
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Help the key carriers to meet!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:628
+#: qcsrc/common/notifications.qh:643
 msgid ""
 "^BGAll keys are in ^TC^TT team^BG's hands!\n"
 "Interfere ^F4NOW^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:629
+#: qcsrc/common/notifications.qh:644
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Meet the other key carriers ^F4NOW^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:630
+#: qcsrc/common/notifications.qh:645
 msgid "^F4Round will start in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:646
 msgid "^BGScanning frequency range..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:647
 msgid "^BGYou are starting with the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
 #, c-format
 msgid ""
 "^BGWaiting for players to join...\n"
 "Need active players for: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:650
 #, c-format
 msgid "^BGWaiting for %s player(s) to join..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:651
 msgid "^F4^COUNT^BG left to find some ammo!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:653
 #, c-format
 msgid "^F2Extra lives remaining: ^K1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:654
 msgid "^BGSecondary fire inflicts no damage!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:655
 #, c-format
 msgid "^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:656
 #, c-format
 msgid ""
 "^F2^COUNT^BG until weapon change...\n"
 "Next weapon: ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:657
 #, c-format
 msgid "^F2Active weapon: ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:658
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep fragging until we have a winner!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep scoring until we have a winner!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:660
 #, c-format
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "^BGAdded ^F4%s^BG to the game!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:646
+#: qcsrc/common/notifications.qh:661
 msgid "^F2Invisibility has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:662
 msgid "^F2Shield has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:663
 msgid "^F2Speed has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:664
 msgid "^F2Strength has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:665
 msgid "^F2You are invisible"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:666
 msgid "^F2Shield surrounds you"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:667
 msgid "^F2You are on speed"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:668
 msgid "^F2Strength infuses your weapons with devastating power"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:669
 msgid "^F2The race is over, finish your lap!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:670
 msgid "^F2Superweapons have broken down"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:671
 msgid "^F2Superweapons have been lost"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:672
 msgid "^F2You now have a superweapon"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:673
 msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:674
 msgid "^K1Changing team in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:675
 msgid "^K1Spectating in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:676
 msgid "^K1Suicide in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:677
 msgid "^F4Timeout begins in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:678
 msgid "^F4Timeout ends in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
 #, c-format
 msgid " (near %s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "primary"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "secondary"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:980
 #, c-format
 msgid " ^F1(Press %s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:989
 #, c-format
 msgid " with %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 msgid "TRIPLE FRAG! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 unlocked RAGE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 msgid "RAGE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 started a MASSACRE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 msgid "MASSACRE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 executed MAYHEM! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 msgid "MAYHEM! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 is a BERSERKER! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 msgid "BERSERKER! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 inflicts CARNAGE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 msgid "CARNAGE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 msgid "ARMAGEDDON! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1010
 #, c-format
 msgid "%s(^F1Bot^BG)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1012
 #, c-format
 msgid "%s(Ping ^F1%d^BG)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1018
 #, c-format
 msgid ""
 "\n"
 "(Health ^1%d^BG / Armor ^2%d^BG)%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1020
 #, c-format
 msgid ""
 "\n"
 "(^F4Dead^BG)%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
 #, c-format
 msgid "%d score spree! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1069
 #, c-format
 msgid "%d frag spree! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First blood! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First score! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First casualty! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First victim! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1127
 #, c-format
 msgid "%s^K1 has %d frags in a row! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1128
 #, c-format
 msgid "%s^K1 made %d scores in a row! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1146
 #, c-format
 msgid "%s^K1 drew first blood! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1147
 #, c-format
 msgid "%s^K1 got the first score! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1163
 #, c-format
 msgid ", ending their %d frag spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1164
 #, c-format
 msgid ", ending their %d score spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1178
 #, c-format
 msgid ", losing their %d frag spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1179
 #, c-format
 msgid ", losing their %d score spree"
 msgstr ""
@@ -3152,11 +3246,11 @@ msgstr "sync - újratölti az összes cvar-t az aktuális menü oldalon\n"
 msgid "  directmenu ITEM - select a menu item as main item\n"
 msgstr " directmenu TÁRGY - kiválaszt egy menü pontot, fő pontként\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:62
+#: qcsrc/menu/command/menu_cmd.qc:68
 msgid "Available options:\n"
 msgstr ""
 
-#: qcsrc/menu/command/menu_cmd.qc:113
+#: qcsrc/menu/command/menu_cmd.qc:119
 msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
 msgstr ""
 " Érvénytelen parancs. A támogatott parancsok listájáért, próbáld a menu_cmd "
@@ -3167,7 +3261,7 @@ msgstr ""
 msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
 msgstr "MEGJEGYZÉS: a(z) %s szöveg túl széles címkének, csökkentsd %f-el\n"
 
-#: qcsrc/menu/item/listbox.c:302
+#: qcsrc/menu/item/listbox.c:382
 #, c-format
 msgid "Item %d"
 msgstr "Tárgy %d"
@@ -3196,23 +3290,27 @@ msgstr "???"
 msgid "Level %d: %s"
 msgstr "Szint %d: %s"
 
-#: qcsrc/menu/xonotic/cvarlist.c:85
-msgid "will be saved to config.cfg"
-msgstr "A config.cfg-be lesz mentve"
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr ""
 
-#: qcsrc/menu/xonotic/cvarlist.c:87
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
 msgid "will not be saved"
 msgstr "Nem lesz elmentve"
 
-#: qcsrc/menu/xonotic/cvarlist.c:89
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr "A config.cfg-be lesz mentve"
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
 msgid "private"
 msgstr "magán"
 
-#: qcsrc/menu/xonotic/cvarlist.c:91
+#: qcsrc/menu/xonotic/cvarlist.c:95
 msgid "engine setting"
 msgstr "grafikus motor beállítás"
 
-#: qcsrc/menu/xonotic/cvarlist.c:93
+#: qcsrc/menu/xonotic/cvarlist.c:97
 msgid "read only"
 msgstr "csak olvasható"
 
@@ -3221,6 +3319,7 @@ msgid "Credits"
 msgstr "Közreműködők"
 
 #: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
@@ -3229,7 +3328,7 @@ msgstr "Közreműködők"
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:77
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
 #: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
 msgid "OK"
 msgstr "Rendben"
@@ -3238,7 +3337,7 @@ msgstr "Rendben"
 msgid "Welcome"
 msgstr "Üdvözlünk a Xonoticban!"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:40
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
 msgid ""
 "Welcome to Xonotic, please select your language preference and enter your "
 "player name to get started.  You can change these options later through the "
@@ -3248,36 +3347,36 @@ msgstr ""
 "nyelvet és írd be a játékos nevedet! Ezeket később meg tudod változtatni a "
 "menürendszerben."
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
 msgid "Name:"
 msgstr "Név:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:68
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
 #: qcsrc/menu/xonotic/dialog_settings_user.c:65
 msgid "Text language:"
 msgstr "Fordítás:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
 msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
 msgstr ""
 "Engedélyezed, hogy a statisztikáid mellett a játékosneved is megjelenjen a "
 "stats.xonotic.org-on?"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
 msgid "ALWU2N^Yes"
 msgstr "Igen"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
 msgid "ALWU2N^No"
 msgstr "Nem"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
 msgid "ALWU2N^Undecided"
 msgstr "Később eldöntöm"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
 msgid "Save settings"
 msgstr "Beállítások mentése"
 
@@ -3595,7 +3694,7 @@ msgstr "Radar:"
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
-#: qcsrc/menu/xonotic/util.qc:708
+#: qcsrc/menu/xonotic/util.qc:758
 msgid "Alpha:"
 msgstr "Átlátszóság:"
 
@@ -3777,24 +3876,24 @@ msgstr "HUD panel beállítása"
 msgid "Panel background defaults:"
 msgstr "Alapértelmezett panel háttér:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:683
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
 msgid "Background:"
 msgstr "Háttér:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:686
-#: qcsrc/menu/xonotic/util.qc:702 qcsrc/menu/xonotic/util.qc:719
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
 msgid "Disable"
 msgstr "Letiltás"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:691
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
 msgid "Color:"
 msgstr "Szín:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:699
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
 msgid "Border size:"
 msgstr "Keret méret:"
 
@@ -3803,11 +3902,11 @@ msgstr "Keret méret:"
 msgid "Team color:"
 msgstr "Csapat szín:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:725
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
 msgid "Test team color in configure mode"
 msgstr "Csapat szín tesztelés beállítás közben"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:728
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
 msgid "Padding:"
 msgstr "Kitöltés:"
 
@@ -3855,6 +3954,53 @@ msgstr "Y:"
 msgid "Exit setup"
 msgstr "Kilépés a beállításokból"
 
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr "Megjelenítés"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr "Eltávolítás"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr "Bőr:"
+
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:4
 msgid "Multiplayer"
 msgstr "Többjátékos mód"
@@ -3896,6 +4042,7 @@ msgstr "Pályához tartozó alapérték használata"
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
 msgid "Point limit:"
 msgstr "Ponthatár:"
 
@@ -3960,7 +4107,7 @@ msgid "Mutators..."
 msgstr "Módosítók..."
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
 msgid "Advanced settings..."
 msgstr "Haladó beállítások..."
 
@@ -3996,7 +4143,7 @@ msgstr "Körök:"
 msgid "Goals:"
 msgstr "Célok:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
 msgid "Frag limit:"
 msgstr "Gyilok határérték:"
 
@@ -4296,27 +4443,31 @@ msgid "Join"
 msgstr "Csatlakozás"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
 msgid "SRVS^Empty"
 msgstr "SRVS^Üres"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:37
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
 msgid "SRVS^Full"
 msgstr "SRVS^Megtelt"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:41
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
 msgid "Pause"
 msgstr "Szünet"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:53
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
 msgid "Address:"
 msgstr "Cím:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:64
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
 msgid "Info..."
 msgstr "További infó"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:69
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
 msgid "Join!"
 msgstr "Csatlakozok!"
@@ -4331,9 +4482,9 @@ msgid "%d/%d"
 msgstr "%d/%d"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
-#: qcsrc/menu/xonotic/util.qc:685 qcsrc/menu/xonotic/util.qc:701
-#: qcsrc/menu/xonotic/util.qc:710 qcsrc/menu/xonotic/util.qc:718
-#: qcsrc/menu/xonotic/util.qc:730
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
 msgid "Default"
 msgstr "Alapértelmezett"
 
@@ -4811,10 +4962,6 @@ msgstr "Nem"
 msgid "Sandbox Tools"
 msgstr "Homokozó eszköztár"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
-msgid "Spawn"
-msgstr "Megjelenítés"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
 msgid "Remove *"
 msgstr "Eltávolítás"
@@ -4847,10 +4994,6 @@ msgstr "Leválasztás * -ról"
 msgid "Visual object properties for *:"
 msgstr "Vizuális tulajdonságok:"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
-msgid "Set skin:"
-msgstr "Bőr:"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
 msgid "Set alpha:"
 msgstr "Átlátszóság:"
@@ -5482,175 +5625,179 @@ msgid "Client UDP port:"
 msgstr "Kliens UDP port:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "Use encryption (AES) when available"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
 msgid "Show netgraph"
 msgstr "Hálózati forgalom megjelenítése"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
 msgid "Client-side movement prediction"
 msgstr "Kliensoldali mozgásbecslés"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:63
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
 msgid "Movement error compensation"
 msgstr "Mozgási hibák javítása"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
 msgid "Downloads:"
 msgstr "Letöltések:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:70
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:82
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
 msgid "Maximum:"
 msgstr "Maximum:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
 msgid "Speed (kB/s):"
 msgstr "Sebesség (kB/s):"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:79
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
 msgid "Framerate:"
 msgstr "Képfrissítés sebessége:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:84
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
 msgid "MAXFPS^5 fps"
 msgstr "MAXFPS^5 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:85
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
 msgid "MAXFPS^10 fps"
 msgstr "MAXFPS^10 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
 msgid "MAXFPS^20 fps"
 msgstr "MAXFPS^20 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:87
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
 msgid "MAXFPS^30 fps"
 msgstr "MAXFPS^30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
 msgid "MAXFPS^40 fps"
 msgstr "MAXFPS^40 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
 msgid "MAXFPS^50 fps"
 msgstr "MAXFPS^50 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
 msgid "MAXFPS^60 fps"
 msgstr "MAXFPS^60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
 msgid "MAXFPS^70 fps"
 msgstr "MAXFPS^70 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
 msgid "MAXFPS^100 fps"
 msgstr "MAXFPS^100 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
 msgid "MAXFPS^125 fps"
 msgstr "MAXFPS^125 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
 msgid "MAXFPS^200 fps"
 msgstr "MAXFPS^200 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
 msgid "MAXFPS^Unlimited"
 msgstr "MAXFPS^Korlátlan"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
 msgid "Target:"
 msgstr "Cél érték:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:101
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
 msgid "TRGT^Disabled"
 msgstr "TRGT^Letiltva"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:102
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
 msgid "TRGT^30 fps"
 msgstr "TRGT^30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
 msgid "TRGT^40 fps"
 msgstr "TRGT^40 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:104
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
 msgid "TRGT^50 fps"
 msgstr "TRGT^50 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
 msgid "TRGT^60 fps"
 msgstr "TRGT^60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
 msgid "TRGT^100 fps"
 msgstr "TRGT^100 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
 msgid "TRGT^125 fps"
 msgstr "TRGT^125 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
 msgid "TRGT^200 fps"
 msgstr "TRGT^200 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
 msgid "Idle limit:"
 msgstr "Tétlenség esetén:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:114
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
 msgid "IDLFPS^10 fps"
 msgstr "IDLFPS^10 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:115
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
 msgid "IDLFPS^20 fps"
 msgstr "IDLFPS^20 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
 msgid "IDLFPS^30 fps"
 msgstr "IDLFPS^30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:117
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
 msgid "IDLFPS^60 fps"
 msgstr "IDLFPS^60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
 msgid "IDLFPS^Unlimited"
 msgstr "IDLFPS^Korlátlan"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:123
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
 msgid "Show frames per second"
 msgstr "A képkocka/másodperc megjelenítése"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:126
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
 msgid "Save processing time for other apps"
 msgstr "Feldolgozási adatok elmentése más programok számára"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
 msgid "Menu tooltips:"
 msgstr "Menü tippek:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:132
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
 msgid "TLTIP^Disabled"
 msgstr "TLTIP^Letiltva"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:133
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
 msgid "TLTIP^Standard"
 msgstr "TLTIP^Normál"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
 msgid "TLTIP^Advanced"
 msgstr "TLTIP^Részletes"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
 msgid "Show current time"
 msgstr "Jelenlegi idő mutatása"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:140
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
 msgid "Show current date"
 msgstr "Mai dátum mutatása"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
 msgid "Enable developer mode"
 msgstr "Fejlesztői mód engedélyezése"
 
@@ -5674,7 +5821,7 @@ msgstr "Típus:"
 msgid "Value:"
 msgstr "Érték:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:72
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
 msgid "Description:"
 msgstr "Leírás:"
 
@@ -5702,6 +5849,26 @@ msgstr "Játékos statisztika küldésének engedélyezése"
 msgid "Allow player statistics to use your nickname"
 msgstr "Játékosnév megjelenítésének engedélyezése a statisztikákban"
 
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
 #: qcsrc/menu/xonotic/dialog_settings_video.c:26
 msgid "Resolution:"
 msgstr "Felbontás:"
@@ -5952,7 +6119,7 @@ msgstr "Rózsaszín"
 msgid "spectate"
 msgstr "Nézőként csatlakozok"
 
-#: qcsrc/menu/xonotic/mainwindow.c:39 qcsrc/menu/xonotic/mainwindow.c:42
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
 msgid "Do not press this button again!"
 msgstr "Ne nyomd meg újra ezt a gombot!"
 
@@ -5984,31 +6151,63 @@ msgstr "Nézőként csatlakozok"
 msgid "<no model found>"
 msgstr "<modell nem található>"
 
-#: qcsrc/menu/xonotic/serverlist.c:190
-msgid "Remove"
-msgstr "Eltávolítás"
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:192
-msgid "Bookmark"
-msgstr "Könyvjelző"
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:553
+#: qcsrc/menu/xonotic/serverlist.c:923
 msgid "Ping"
 msgstr "Ping"
 
-#: qcsrc/menu/xonotic/serverlist.c:554
+#: qcsrc/menu/xonotic/serverlist.c:924
 msgid "Host name"
 msgstr "Szerver név"
 
-#: qcsrc/menu/xonotic/serverlist.c:555
+#: qcsrc/menu/xonotic/serverlist.c:925
 msgid "Map"
 msgstr "Pálya"
 
-#: qcsrc/menu/xonotic/serverlist.c:556
+#: qcsrc/menu/xonotic/serverlist.c:926
 msgid "Type"
 msgstr "Típus"
 
-#: qcsrc/menu/xonotic/serverlist.c:557
+#: qcsrc/menu/xonotic/serverlist.c:927
 msgid "Players"
 msgstr "Játékosok"
 
@@ -6048,30 +6247,30 @@ msgstr ""
 msgid "%s dB"
 msgstr "%s dB"
 
-#: qcsrc/menu/xonotic/slider_resolution.c:103
+#: qcsrc/menu/xonotic/slider_resolution.c:116
 #, c-format
 msgid "%dx%d (%d:%d)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/slider_resolution.c:106
+#: qcsrc/menu/xonotic/slider_resolution.c:119
 #, c-format
 msgid "%dx%d"
 msgstr "%dx%d"
 
-#: qcsrc/menu/xonotic/util.qc:298
+#: qcsrc/menu/xonotic/util.qc:308
 #, c-format
 msgid "error receiving update notification: status is %d\n"
 msgstr "Frissítési értesítési hiba: az állapota %d\n"
 
-#: qcsrc/menu/xonotic/util.qc:303
+#: qcsrc/menu/xonotic/util.qc:313
 msgid "error: received HTML instead of an update notification\n"
 msgstr "Hiba: frissítési értesítés helyett egy HTML-t kapott\n"
 
-#: qcsrc/menu/xonotic/util.qc:308
+#: qcsrc/menu/xonotic/util.qc:318
 msgid "error: received carriage returns from update notification server\n"
 msgstr "Hiba: a frissítés értesítő szerverről egy 'kocsi vissza'-t kapott\n"
 
-#: qcsrc/menu/xonotic/util.qc:329
+#: qcsrc/menu/xonotic/util.qc:397
 #, c-format
 msgid ""
 "Update can be downloaded at:\n"
@@ -6080,21 +6279,21 @@ msgstr ""
 "Frissítés letölthető: \n"
 "%s -ről\n"
 
-#: qcsrc/menu/xonotic/util.qc:447
+#: qcsrc/menu/xonotic/util.qc:497
 msgid "Autogenerating mapinfo for newly added maps..."
 msgstr "MapInfo készítése az újonnan hozzáadott pályákhoz..."
 
-#: qcsrc/menu/xonotic/util.qc:476
+#: qcsrc/menu/xonotic/util.qc:526
 #, c-format
 msgid "^1%s TEST BUILD"
 msgstr "^1%s TEST BUILD"
 
-#: qcsrc/menu/xonotic/util.qc:491
+#: qcsrc/menu/xonotic/util.qc:541
 #, c-format
 msgid "Update to %s now!"
 msgstr "Frissítés %s-re/ra!"
 
-#: qcsrc/menu/xonotic/util.qc:576
+#: qcsrc/menu/xonotic/util.qc:626
 msgid ""
 "^1ERROR: Texture compression is required but not supported.\n"
 "^1Expect visual problems.\n"
@@ -6102,11 +6301,11 @@ msgstr ""
 "^1Hiba: textúra tömörítés szükséges, de nem támogatott.\n"
 "^1Gondok lehetnek a megjelenítéssel.\n"
 
-#: qcsrc/menu/xonotic/util.qc:696
+#: qcsrc/menu/xonotic/util.qc:746
 msgid "Use default"
 msgstr "Alapértékek használata"
 
-#: qcsrc/menu/xonotic/util.qc:716
+#: qcsrc/menu/xonotic/util.qc:766
 msgid "Team Color:"
 msgstr "Csapat színe:"
 
index d9750644a4ffb6f6f73f792e0e0edca665eadda3..eba61119ad466c9fa0d6564c44e9f989ff625259 100644 (file)
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the PACKAGE package.
 #
 # Translators:
-# terencehill <piuntn@gmail.com>, 2013
+# terencehill <piuntn@gmail.com>, 2013-2014
 # Antonio 'terencehill' Piu <piuntn@gmail.com>, 2011-2012
 # Felice Sallustio <fel.sallustio@gmail.com>, 2011
 # terencehill <piuntn@gmail.com>, 2013
@@ -11,9 +11,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-03 11:55+0200\n"
-"PO-Revision-Date: 2013-10-03 17:48+0000\n"
-"Last-Translator: terencehill <piuntn@gmail.com>\n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
+"Last-Translator: divVerent <divVerent@xonotic.org>\n"
 "Language-Team: Italian (http://www.transifex.com/projects/p/xonotic/language/"
 "it/)\n"
 "Language: it\n"
@@ -32,19 +32,14 @@ msgid ""
 "^3This Server uses a newer QC VM. Please update!\n"
 msgstr ""
 "^3La tua versione del motore logico è vecchia\n"
-"^3Questo server usa un nuovo QC VM. Per favore aggiornalo!\n"
+"^3Questo server usa una nuova QC VM. Per favore aggiornalo!\n"
 
 #: qcsrc/client/Main.qc:56
 #, c-format
 msgid "^4CSQC Build information: ^1%s\n"
 msgstr "^4Informazioni sulla versione CSQC: ^1%s\n"
 
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
-#, c-format
-msgid "trying to switch to unsupported team %d\n"
-msgstr "tentando di passare al team non supportato %d\n"
-
-#: qcsrc/client/Main.qc:835
+#: qcsrc/client/Main.qc:836
 #, c-format
 msgid ""
 "Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
@@ -64,9 +59,9 @@ msgstr "%s (nessun tasto)"
 msgid "%s (%s)"
 msgstr "%s (%s)"
 
-#: qcsrc/client/View.qc:1096
+#: qcsrc/client/View.qc:1165
 msgid "Revival progress"
-msgstr "Progresso del risveglio"
+msgstr "Avanzamento risveglio"
 
 #: qcsrc/client/hud.qc:186
 #, c-format
@@ -96,215 +91,209 @@ msgstr "Intermedio %d"
 msgid "%s (%s %s)"
 msgstr "%s (%s %s)"
 
-#: qcsrc/client/hud.qc:829
+#: qcsrc/client/hud.qc:832
 msgid "Out of ammo"
 msgstr "Scarica"
 
-#: qcsrc/client/hud.qc:833
+#: qcsrc/client/hud.qc:836
 msgid "Don't have"
 msgstr "Mancante"
 
-#: qcsrc/client/hud.qc:837
+#: qcsrc/client/hud.qc:840
 msgid "Unavailable"
 msgstr "Non disponibile"
 
-#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
 #, c-format
 msgid "Player %d"
 msgstr "Giocatore %d"
 
-#: qcsrc/client/hud.qc:2384
+#: qcsrc/client/hud.qc:2369
 msgid "^1Intermediate 1 (+15.42)"
 msgstr "^1Intermedio 1 (+15.42)"
 
-#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
 #, c-format
 msgid "^1PENALTY: %.1f (%s)"
 msgstr "^1PENALITÀ: %.1f (%s)"
 
-#: qcsrc/client/hud.qc:2471
+#: qcsrc/client/hud.qc:2456
 #, c-format
 msgid "^2PENALTY: %.1f (%s)"
 msgstr "^2PENALITÀ: %.1f (%s)"
 
-#: qcsrc/client/hud.qc:2501
+#: qcsrc/client/hud.qc:2486
 msgid "^1You must answer before entering hud configure mode\n"
-msgstr ""
-"^1Devi rispondere prima di entrare nella modalità di configurazione "
-"dell'HUD\n"
+msgstr "^1Devi rispondere prima di entrare in modalità configurazione HUD\n"
 
-#: qcsrc/client/hud.qc:2506
+#: qcsrc/client/hud.qc:2491
 msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
 msgstr "^2Nome ^7invece di \"^1Giocatore anonimo^7\" nelle statistiche"
 
-#: qcsrc/client/hud.qc:2586
+#: qcsrc/client/hud.qc:2570
 msgid "A vote has been called for:"
 msgstr "Un voto è stato chiamato per:"
 
-#: qcsrc/client/hud.qc:2588
+#: qcsrc/client/hud.qc:2572
 msgid "Allow servers to store and display your name?"
 msgstr "Permetti ai server di salvare e visualizzare il tuo nome?"
 
-#: qcsrc/client/hud.qc:2592
+#: qcsrc/client/hud.qc:2576
 msgid "^1Configure the HUD"
 msgstr "^1Configura l'HUD"
 
-#: qcsrc/client/hud.qc:2596
+#: qcsrc/client/hud.qc:2580
 #, c-format
 msgid "Yes (%s): %d"
 msgstr "Sì (%s): %d"
 
-#: qcsrc/client/hud.qc:2598
+#: qcsrc/client/hud.qc:2582
 #, c-format
 msgid "No (%s): %d"
 msgstr "No (%s): %d"
 
-#: qcsrc/client/hud.qc:3169 qcsrc/client/hud.qc:3172 qcsrc/client/hud.qc:3174
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
 msgid "Personal best"
 msgstr "Miglior personale"
 
-#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
 msgid "Server best"
 msgstr "Migliori del server"
 
-#: qcsrc/client/hud.qc:3552
+#: qcsrc/client/hud.qc:3528
 msgid "^3Player^7: This is the chat area."
 msgstr "^3Giocatore^7: Questa è l'area della chat."
 
-#: qcsrc/client/hud.qc:3618
+#: qcsrc/client/hud.qc:3593
 #, c-format
 msgid "FPS: %.*f"
 msgstr "FPS: %.*f"
 
-#: qcsrc/client/hud.qc:3683
+#: qcsrc/client/hud.qc:3657
 msgid "^1Observing"
 msgstr "^1Osservando"
 
-#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
 #, c-format
 msgid "^1Spectating: ^7%s"
 msgstr "^1Assistendo: ^7%s"
 
-#: qcsrc/client/hud.qc:3693
+#: qcsrc/client/hud.qc:3667
 #, c-format
 msgid "^1Press ^3%s^1 to spectate"
 msgstr "^1Premi ^3%s^1 per assistere"
 
-#: qcsrc/client/hud.qc:3695
+#: qcsrc/client/hud.qc:3669
 #, c-format
 msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
 msgstr "^1Premi ^3%s^1 o ^3%s^1 per prossimo o precedente giocatore"
 
-#: qcsrc/client/hud.qc:3699
+#: qcsrc/client/hud.qc:3673
 #, c-format
 msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
 msgstr "^1Usa ^3%s^1 o ^3%s^1 per cambiare velocità"
 
-#: qcsrc/client/hud.qc:3701
+#: qcsrc/client/hud.qc:3675
 #, c-format
 msgid "^1Press ^3%s^1 to observe"
 msgstr "^1Premi ^3%s^1 per osservare"
 
-#: qcsrc/client/hud.qc:3704
+#: qcsrc/client/hud.qc:3678
 #, c-format
 msgid "^1Press ^3%s^1 for gamemode info"
 msgstr "^1Premi ^3%s^1 per informazioni sulla modalità di gioco"
 
-#: qcsrc/client/hud.qc:3708
-msgid "^1Wait for your turn to join"
-msgstr "^1Attendi il tuo turno per entrare"
-
-#: qcsrc/client/hud.qc:3714
+#: qcsrc/client/hud.qc:3686
 msgid "^1Match has already begun"
 msgstr "^1La partita è già iniziata"
 
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3688
 msgid "^1You have no more lives left"
 msgstr "^1Non hai più vite a disposizione"
 
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
 #, c-format
 msgid "^1Press ^3%s^1 to join"
 msgstr "^1Premi ^3%s^1 per entrare"
 
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3701
 #, c-format
 msgid "^1Game starts in ^3%d^1 seconds"
 msgstr "^1La partita inizia tra ^3%d^1 secondi"
 
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3708
 msgid "^2Currently in ^1warmup^2 stage!"
 msgstr "^2Attualmente in ^1warmup^2!"
 
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3723
 #, c-format
 msgid "%sPress ^3%s%s to end warmup"
 msgstr "%sPremi ^3%s%s per terminare il warmup"
 
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3725
 #, c-format
 msgid "%sPress ^3%s%s once you are ready"
 msgstr "%sPremi ^3%s%s una volta che sei pronto"
 
-#: qcsrc/client/hud.qc:3758
+#: qcsrc/client/hud.qc:3730
 msgid "^2Waiting for others to ready up to end warmup..."
 msgstr "^2Attendendo che gli altri siano pronti per terminare il warmup..."
 
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3732
 msgid "^2Waiting for others to ready up..."
 msgstr "^2Attendendo che gli altri siano pronti..."
 
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3738
 #, c-format
 msgid "^2Press ^3%s^2 to end warmup"
 msgstr "^2Premi ^3%s^2 per terminare il warmup"
 
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3759
 msgid "Teamnumbers are unbalanced!"
 msgstr "Numero di giocatori per squadra sbilanciato!"
 
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3764
 #, c-format
 msgid " Press ^3%s%s to adjust"
 msgstr " Premi ^3%s%s per aggiustare"
 
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3772
 msgid "^7Press ^3ESC ^7to show HUD options."
 msgstr "^7Premi ^3ESC ^7per mostrare le opzioni dell'HUD."
 
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3774
 msgid "^3Doubleclick ^7a panel for panel-specific options."
 msgstr "^3Doppio-click ^7su un pannello per le sue specifiche opzioni."
 
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3776
 msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
 msgstr "^3CTRL ^7per disabilitare il test di collisione, ^3SHIFT ^7e"
 
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3778
 msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
 msgstr "^3ALT ^7+ ^3ARROW KEYS ^7per fini aggiustamenti."
 
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3825
 msgid " qu/s"
 msgstr " qu/s"
 
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3829
 msgid " m/s"
 msgstr " m/s"
 
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3833
 msgid " km/h"
 msgstr " km/h"
 
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3837
 msgid " mph"
 msgstr " mph"
 
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3841
 msgid " knots"
 msgstr " nodi"
 
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4497
 msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
 msgstr ""
 "Corretti automaticamente numeri di pannello sbagliati/mancanti in "
@@ -355,16 +344,16 @@ msgstr "^1Errore:^7 Impossibile trovare il pak index.\n"
 msgid "Requesting preview...\n"
 msgstr "Richiedendo l'anteprima...\n"
 
-#: qcsrc/client/miscfunctions.qc:98
+#: qcsrc/client/miscfunctions.qc:101
 msgid "Trying to remove a team which is not in the teamlist!"
 msgstr "Tentando di rimuovere una squadra che non è nella lista delle squadre!"
 
-#: qcsrc/client/movetypes.qc:163
+#: qcsrc/client/movetypes.qc:227
 #, c-format
 msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
 
-#: qcsrc/client/movetypes.qc:166
+#: qcsrc/client/movetypes.qc:230
 #, c-format
 msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
@@ -487,7 +476,7 @@ msgstr "ritorni"
 
 #: qcsrc/client/scoreboard.qc:48
 msgid "SCO^revivals"
-msgstr "ravvivamenti"
+msgstr "risvegli"
 
 #: qcsrc/client/scoreboard.qc:49
 msgid "SCO^score"
@@ -505,33 +494,33 @@ msgstr "presi"
 msgid "SCO^ticks"
 msgstr "tick"
 
-#: qcsrc/client/scoreboard.qc:251
+#: qcsrc/client/scoreboard.qc:237
 msgid ""
 "You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
 msgstr ""
 "Puoi modificare lo scoreboard usando il comando ^2scoreboard_columns_set.\n"
 
-#: qcsrc/client/scoreboard.qc:252
+#: qcsrc/client/scoreboard.qc:238
 msgid "^3|---------------------------------------------------------------|\n"
 msgstr "^3|---------------------------------------------------------------|\n"
 
-#: qcsrc/client/scoreboard.qc:253
+#: qcsrc/client/scoreboard.qc:239
 msgid "Usage:\n"
 msgstr "Uso:\n"
 
-#: qcsrc/client/scoreboard.qc:254
+#: qcsrc/client/scoreboard.qc:240
 msgid "^2scoreboard_columns_set default\n"
 msgstr "^2scoreboard_columns_set default\n"
 
-#: qcsrc/client/scoreboard.qc:255
+#: qcsrc/client/scoreboard.qc:241
 msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
 msgstr "^2scoreboard_columns_set ^7campo1 campo2 ...\n"
 
-#: qcsrc/client/scoreboard.qc:256
+#: qcsrc/client/scoreboard.qc:242
 msgid "The following field names are recognized (case insensitive):\n"
 msgstr "I seguenti nomi dei campi sono riconosciuti (non case-sensitive):\n"
 
-#: qcsrc/client/scoreboard.qc:257
+#: qcsrc/client/scoreboard.qc:243
 msgid ""
 "You can use a ^3|^7 to start the right-aligned fields.\n"
 "\n"
@@ -539,43 +528,43 @@ msgstr ""
 "Puoi usare un ^3|^7 per iniziare i campi allineati a destra.\n"
 "\n"
 
-#: qcsrc/client/scoreboard.qc:259
+#: qcsrc/client/scoreboard.qc:245
 msgid "^3name^7 or ^3nick^7             Name of a player\n"
 msgstr "^3name^7 o ^3nick^7             Nome di un giocatore\n"
 
-#: qcsrc/client/scoreboard.qc:260
+#: qcsrc/client/scoreboard.qc:246
 msgid "^3ping^7                     Ping time\n"
 msgstr "^3ping^7                     Tempo di ping\n"
 
-#: qcsrc/client/scoreboard.qc:261
+#: qcsrc/client/scoreboard.qc:247
 msgid "^3pl^7                       Packet loss\n"
 msgstr "^3pl^7                       Perdita Pacchetti\n"
 
-#: qcsrc/client/scoreboard.qc:262
+#: qcsrc/client/scoreboard.qc:248
 msgid "^3kills^7                    Number of kills\n"
 msgstr "^3kills^7                    Numero di uccisioni\n"
 
-#: qcsrc/client/scoreboard.qc:263
+#: qcsrc/client/scoreboard.qc:249
 msgid "^3deaths^7                   Number of deaths\n"
 msgstr "^3deaths^7                   Numero di morti\n"
 
-#: qcsrc/client/scoreboard.qc:264
+#: qcsrc/client/scoreboard.qc:250
 msgid "^3suicides^7                 Number of suicides\n"
 msgstr "^3suicides^7                 Numero di suicidi\n"
 
-#: qcsrc/client/scoreboard.qc:265
+#: qcsrc/client/scoreboard.qc:251
 msgid "^3frags^7                    kills - suicides\n"
 msgstr "^3frags^7                    uccisioni - suicidi\n"
 
-#: qcsrc/client/scoreboard.qc:266
+#: qcsrc/client/scoreboard.qc:252
 msgid "^3kd^7                       The kill-death ratio\n"
 msgstr "^3kd^7                       Rapporto uccisioni-morti\n"
 
-#: qcsrc/client/scoreboard.qc:267
+#: qcsrc/client/scoreboard.qc:253
 msgid "^3sum^7                      frags - deaths\n"
 msgstr "^3sum^7                      uccisioni - morti\n"
 
-#: qcsrc/client/scoreboard.qc:268
+#: qcsrc/client/scoreboard.qc:254
 msgid ""
 "^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
 "captured\n"
@@ -583,7 +572,7 @@ msgstr ""
 "^3caps^7                     Per quante volte una bandiera (CTF) o una "
 "chiave (KeyHunt) è stata catturata\n"
 
-#: qcsrc/client/scoreboard.qc:269
+#: qcsrc/client/scoreboard.qc:255
 msgid ""
 "^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
 "ball (Keepaway) was picked up\n"
@@ -591,36 +580,36 @@ msgstr ""
 "^3pickups^7                  Per quante volte una bandiera (CTF) o una "
 "chiave (KeyHunt) o una palla (Keepaway) viene raccolta\n"
 
-#: qcsrc/client/scoreboard.qc:270
+#: qcsrc/client/scoreboard.qc:256
 msgid "^3captime^7                  Time of fastest cap (CTF)\n"
 msgstr "^3captime^7                  Tempo della cattura più veloce (CTF)\n"
 
-#: qcsrc/client/scoreboard.qc:271
+#: qcsrc/client/scoreboard.qc:257
 msgid "^3fckills^7                  Number of flag carrier kills\n"
 msgstr ""
 "^3fckills^7                  Numero di uccisioni dei portatori di bandiera\n"
 
-#: qcsrc/client/scoreboard.qc:272
+#: qcsrc/client/scoreboard.qc:258
 msgid "^3returns^7                  Number of flag returns\n"
 msgstr "^3returns^7                  Numero di riporti della bandiera\n"
 
-#: qcsrc/client/scoreboard.qc:273
+#: qcsrc/client/scoreboard.qc:259
 msgid "^3drops^7                    Number of flag drops\n"
 msgstr "^3drops^7                    Numero di bandiere cadute\n"
 
-#: qcsrc/client/scoreboard.qc:274
+#: qcsrc/client/scoreboard.qc:260
 msgid "^3lives^7                    Number of lives (LMS)\n"
 msgstr "^3lives^7                    Numero di vite (LMS)\n"
 
-#: qcsrc/client/scoreboard.qc:275
+#: qcsrc/client/scoreboard.qc:261
 msgid "^3rank^7                     Player rank\n"
 msgstr "^3rank^7                     Posizione del giocatore\n"
 
-#: qcsrc/client/scoreboard.qc:276
+#: qcsrc/client/scoreboard.qc:262
 msgid "^3pushes^7                   Number of players pushed into void\n"
 msgstr "^3pushes^7                   Numero di giocatori spinti nel vuoto\n"
 
-#: qcsrc/client/scoreboard.qc:277
+#: qcsrc/client/scoreboard.qc:263
 msgid ""
 "^3destroyed^7                Number of keys destroyed by pushing them into "
 "void\n"
@@ -628,42 +617,42 @@ msgstr ""
 "^3destroyed^7                Numero di chiavi distrutte spingendole nel "
 "vuoto\n"
 
-#: qcsrc/client/scoreboard.qc:278
+#: qcsrc/client/scoreboard.qc:264
 msgid "^3kckills^7                  Number of keys carrier kills\n"
 msgstr ""
 "^3kckills^7                  Numero di uccisioni di portatori di chiavi\n"
 
-#: qcsrc/client/scoreboard.qc:279
+#: qcsrc/client/scoreboard.qc:265
 msgid "^3losses^7                   Number of times a key was lost\n"
 msgstr ""
 "^3losses^7                   Numero di volte che una chiave si è persa\n"
 
-#: qcsrc/client/scoreboard.qc:280
+#: qcsrc/client/scoreboard.qc:266
 msgid "^3laps^7                     Number of laps finished (race/cts)\n"
 msgstr "^3laps^7                     Numero di giri completati (corsa/cts)\n"
 
-#: qcsrc/client/scoreboard.qc:281
+#: qcsrc/client/scoreboard.qc:267
 msgid "^3time^7                     Total time raced (race/cts)\n"
 msgstr "^3time^7                     Tempo totale (corsa/cts)\n"
 
-#: qcsrc/client/scoreboard.qc:282
+#: qcsrc/client/scoreboard.qc:268
 msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
 msgstr "^3fastest^7                  Tempo del giro più veloce (corsa/cts)\n"
 
-#: qcsrc/client/scoreboard.qc:283
+#: qcsrc/client/scoreboard.qc:269
 msgid "^3ticks^7                    Number of ticks (DOM)\n"
 msgstr "^3ticks^7                    Numero di tick (DOM)\n"
 
-#: qcsrc/client/scoreboard.qc:284
+#: qcsrc/client/scoreboard.qc:270
 msgid "^3takes^7                    Number of domination points taken (DOM)\n"
 msgstr "^3takes^7                    Numero di punti di dominio presi (DOM)\n"
 
-#: qcsrc/client/scoreboard.qc:285
+#: qcsrc/client/scoreboard.qc:271
 msgid "^3bckills^7                  Number of ball carrier kills\n"
 msgstr ""
 "^3bckills^7                  Numbero di uccisioni di portatori di palla\n"
 
-#: qcsrc/client/scoreboard.qc:286
+#: qcsrc/client/scoreboard.qc:272
 msgid ""
 "^3bctime^7                   Total amount of time holding the ball in "
 "Keepaway\n"
@@ -671,7 +660,7 @@ msgstr ""
 "^3bctime^7                   Tempo totale di possesso della palla in "
 "Keepaway\n"
 
-#: qcsrc/client/scoreboard.qc:287
+#: qcsrc/client/scoreboard.qc:273
 msgid ""
 "^3score^7                    Total score\n"
 "\n"
@@ -679,7 +668,7 @@ msgstr ""
 "^3score^7                    Punteggio totale\n"
 "\n"
 
-#: qcsrc/client/scoreboard.qc:289
+#: qcsrc/client/scoreboard.qc:275
 msgid ""
 "Before a field you can put a + or - sign, then a comma separated list\n"
 "of game types, then a slash, to make the field show up only in these\n"
@@ -697,7 +686,7 @@ msgstr ""
 "gioco.\n"
 "\n"
 
-#: qcsrc/client/scoreboard.qc:294
+#: qcsrc/client/scoreboard.qc:280
 msgid ""
 "The special game type names 'teams' and 'noteams' can be used to\n"
 "include/exclude ALL teams/noteams game modes.\n"
@@ -705,15 +694,15 @@ msgid ""
 msgstr ""
 "I nomi speciali per il tipo di gioco 'teams' e 'noteams' possono essere "
 "usati\n"
-"per includere/escludere TUTTE le modalità con team/senza team.\n"
+"per includere/escludere TUTTE le modalità a squadre/senza squadre.\n"
 "\n"
 
-#: qcsrc/client/scoreboard.qc:297
+#: qcsrc/client/scoreboard.qc:283
 msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
 msgstr ""
 "Esempio: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
 
-#: qcsrc/client/scoreboard.qc:298
+#: qcsrc/client/scoreboard.qc:284
 msgid ""
 "will display name, ping and pl aligned to the left, and the fields\n"
 "right of the vertical bar aligned to the right.\n"
@@ -721,7 +710,7 @@ msgstr ""
 "mostrerà nome, ping e pl allineati a sinistra, e i campi a destra\n"
 "della barra verticale allineati a destra.\n"
 
-#: qcsrc/client/scoreboard.qc:300
+#: qcsrc/client/scoreboard.qc:286
 msgid ""
 "'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
 "other gamemodes except DM.\n"
@@ -729,7 +718,7 @@ msgstr ""
 "'field3' sarà mostrato solo in CTF, e 'field4' sarà mostrato in tutte\n"
 "le altre modalità di gioco eccetto DM.\n"
 
-#: qcsrc/client/scoreboard.qc:534 qcsrc/client/scoreboard.qc:541
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
@@ -737,91 +726,95 @@ msgstr ""
 msgid "N/A"
 msgstr "N.D."
 
-#: qcsrc/client/scoreboard.qc:984
+#: qcsrc/client/scoreboard.qc:970
 #, c-format
 msgid "Accuracy stats (average %d%%)"
 msgstr "Statistiche precisione (media %d%%)"
 
-#: qcsrc/client/scoreboard.qc:1047
+#: qcsrc/client/scoreboard.qc:1033
 #, c-format
 msgid "%d%%"
 msgstr "%d%%"
 
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1099
 msgid "Map stats:"
 msgstr "Statistiche mappa:"
 
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr "Mostri uccisi:"
+
+#: qcsrc/client/scoreboard.qc:1124
 msgid "Secrets found:"
 msgstr "Segreti trovati:"
 
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1152
 msgid "Rankings"
 msgstr "Classifica"
 
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1248
 msgid "Scoreboard"
 msgstr "Tabella dei punteggi"
 
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1307
 #, c-format
 msgid "Speed award: %d ^7(%s^7)"
 msgstr "Velocità migliore: %d ^7(%s^7)"
 
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1311
 #, c-format
 msgid "All-time fastest: %d ^7(%s^7)"
 msgstr "Tempo più veloce in assoluto: %d ^7(%s^7)"
 
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1345
 msgid "Spectators"
 msgstr "Spettatori"
 
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1352
 #, c-format
-msgid "playing on ^2%s^7"
-msgstr "giocando in ^2%s^7"
+msgid "playing ^3%s^7 on ^2%s^7"
+msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
 #, c-format
 msgid " for up to ^1%1.0f minutes^7"
 msgstr " fino a ^1%1.0f minuti^7"
 
-#: qcsrc/client/scoreboard.qc:1364 qcsrc/client/scoreboard.qc:1383
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
 msgid " or"
 msgstr " o"
 
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
 #, c-format
 msgid " until ^3%s %s^7"
 msgstr " fino a ^3%s %s^7"
 
-#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1375
-#: qcsrc/client/scoreboard.qc:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
 msgid "SCO^points"
 msgstr "punti"
 
-#: qcsrc/client/scoreboard.qc:1369 qcsrc/client/scoreboard.qc:1376
-#: qcsrc/client/scoreboard.qc:1388 qcsrc/client/scoreboard.qc:1395
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
 msgid "SCO^is beaten"
 msgstr "è battuto"
 
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
 #, c-format
 msgid " until a lead of ^3%s %s^7"
 msgstr " fino a che si vince di ^3%s %s^7"
 
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1419
 #, c-format
 msgid "^1Respawning in ^3%s^1..."
 msgstr "^1Rinascita in ^3%s^1..."
 
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1429
 #, c-format
 msgid "You are dead, wait ^3%s^7 before respawning"
 msgstr "Sei morto, aspetta ^3%s^7 prima di rinascere"
 
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1438
 #, c-format
 msgid "You are dead, press ^2%s^7 to respawn"
 msgstr "Sei morto, premi ^2%s^7 per rinascere"
@@ -831,7 +824,7 @@ msgstr "Sei morto, premi ^2%s^7 per rinascere"
 msgid "Cannot initialize sound %s\n"
 msgstr "Impossibile inizializzare il suono %s\n"
 
-#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:591
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
 msgid "Spam"
 msgstr "Spam"
 
@@ -848,209 +841,213 @@ msgstr "Nessun tiratore destro!"
 msgid "No left gunner!"
 msgstr "Nessun tiratore sinistro!"
 
-#: qcsrc/client/waypointsprites.qc:254
+#: qcsrc/client/waypointsprites.qc:246
 msgid "Push"
 msgstr "Spingi"
 
-#: qcsrc/client/waypointsprites.qc:255
+#: qcsrc/client/waypointsprites.qc:247
 msgid "Destroy"
 msgstr "Distruggi"
 
-#: qcsrc/client/waypointsprites.qc:256
+#: qcsrc/client/waypointsprites.qc:248
 msgid "Defend"
 msgstr "Difendi"
 
-#: qcsrc/client/waypointsprites.qc:257
+#: qcsrc/client/waypointsprites.qc:249
 msgid "Blue base"
 msgstr "Base Blu"
 
-#: qcsrc/client/waypointsprites.qc:258
+#: qcsrc/client/waypointsprites.qc:250
 msgid "DANGER"
 msgstr "PERICOLO"
 
-#: qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:251
 msgid "Enemy carrier"
 msgstr "Portatore nemico"
 
-#: qcsrc/client/waypointsprites.qc:260
+#: qcsrc/client/waypointsprites.qc:252
 msgid "Flag carrier"
 msgstr "Portatore bandiera"
 
-#: qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:253
 msgid "Dropped flag"
 msgstr "Bandiera persa"
 
-#: qcsrc/client/waypointsprites.qc:262
+#: qcsrc/client/waypointsprites.qc:254
 msgid "Help me!"
 msgstr "Aiuto!"
 
-#: qcsrc/client/waypointsprites.qc:263
+#: qcsrc/client/waypointsprites.qc:255
 msgid "Here"
 msgstr "Qui"
 
-#: qcsrc/client/waypointsprites.qc:264
+#: qcsrc/client/waypointsprites.qc:256
 msgid "Dropped key"
 msgstr "Chiave lasciata"
 
-#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:267
-#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
-#: qcsrc/client/waypointsprites.qc:270
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
 msgid "Key carrier"
 msgstr "Portatore chiave"
 
-#: qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:258
 msgid "Run here"
 msgstr "Corri qui"
 
-#: qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:263
 msgid "Red base"
 msgstr "Base Rossa"
 
-#: qcsrc/client/waypointsprites.qc:272
+#: qcsrc/client/waypointsprites.qc:264
 msgid "Waypoint"
 msgstr "Waypoint"
 
-#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
-#: qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
 msgid "Generator"
 msgstr "Generatore"
 
-#: qcsrc/client/waypointsprites.qc:276 qcsrc/client/waypointsprites.qc:277
-#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
-#: qcsrc/client/waypointsprites.qc:280 qcsrc/client/waypointsprites.qc:281
-#: qcsrc/client/waypointsprites.qc:282 qcsrc/client/waypointsprites.qc:283
-#: qcsrc/client/waypointsprites.qc:307 qcsrc/client/waypointsprites.qc:308
-#: qcsrc/client/waypointsprites.qc:309 qcsrc/client/waypointsprites.qc:310
-#: qcsrc/client/waypointsprites.qc:311
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
 msgid "Control point"
 msgstr "Punto di controllo"
 
-#: qcsrc/client/waypointsprites.qc:284
+#: qcsrc/client/waypointsprites.qc:276
 msgid "Checkpoint"
 msgstr "Checkpoint"
 
-#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
 msgid "Finish"
 msgstr "Arrivo"
 
-#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
 msgid "Start"
 msgstr "Partenza"
 
-#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
 msgid "Ball"
 msgstr "Palla"
 
-#: qcsrc/client/waypointsprites.qc:290
+#: qcsrc/client/waypointsprites.qc:283
 msgid "Ball carrier"
 msgstr "Portatore palla"
 
-#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
 msgid "Laser"
 msgstr "Laser"
 
-#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
 msgid "Shotgun"
 msgstr "Shotgun"
 
-#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
 msgid "Machine Gun"
 msgstr "Machine Gun"
 
-#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
 msgid "Mortar"
 msgstr "Mortar"
 
-#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
 msgid "Electro"
 msgstr "Electro"
 
-#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
 msgid "Crylink"
 msgstr "Crylink"
 
-#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
 msgid "Nex"
 msgstr "Nex"
 
-#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
 msgid "Hagar"
 msgstr "Hagar"
 
-#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
 msgid "Rocket Launcher"
 msgstr "Rocket Launcher"
 
-#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
 msgid "Port-O-Launch"
 msgstr "Port-O-Launch"
 
-#: qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:294
 msgid "Minstanex"
 msgstr "Minstanex"
 
-#: qcsrc/client/waypointsprites.qc:302
+#: qcsrc/client/waypointsprites.qc:295
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
 msgid "Hook"
 msgstr "Hook"
 
-#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
 msgid "Fireball"
 msgstr "Fireball"
 
-#: qcsrc/client/waypointsprites.qc:304
+#: qcsrc/client/waypointsprites.qc:297
 msgid "HLAC"
 msgstr "HLAC"
 
-#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
 msgid "Rifle"
 msgstr "Rifle"
 
-#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
 msgid "Mine Layer"
 msgstr "Mine Layer"
 
-#: qcsrc/client/waypointsprites.qc:312
+#: qcsrc/client/waypointsprites.qc:305
 msgid "Invisibility"
 msgstr "Invisibilità"
 
-#: qcsrc/client/waypointsprites.qc:313
+#: qcsrc/client/waypointsprites.qc:306
 msgid "Extra life"
 msgstr "Vita extra"
 
-#: qcsrc/client/waypointsprites.qc:314
+#: qcsrc/client/waypointsprites.qc:307
 msgid "Speed"
 msgstr "Velocità"
 
-#: qcsrc/client/waypointsprites.qc:315
+#: qcsrc/client/waypointsprites.qc:308
 msgid "Strength"
 msgstr "Forza"
 
-#: qcsrc/client/waypointsprites.qc:316
+#: qcsrc/client/waypointsprites.qc:309
 msgid "Shield"
 msgstr "Scudo"
 
-#: qcsrc/client/waypointsprites.qc:317
+#: qcsrc/client/waypointsprites.qc:310
 msgid "Fuel regen"
 msgstr "Rigeneratore di carburante"
 
-#: qcsrc/client/waypointsprites.qc:318
+#: qcsrc/client/waypointsprites.qc:311
 msgid "Jet Pack"
 msgstr "Jet Pack"
 
-#: qcsrc/client/waypointsprites.qc:319
+#: qcsrc/client/waypointsprites.qc:312
 msgid "Frozen!"
 msgstr "Congelato!"
 
-#: qcsrc/client/waypointsprites.qc:320
+#: qcsrc/client/waypointsprites.qc:313
 msgid "Tagged"
 msgstr "Contrassegnato"
 
-#: qcsrc/client/waypointsprites.qc:321
+#: qcsrc/client/waypointsprites.qc:314
 msgid "Vehicle"
 msgstr "Veicolo"
 
-#: qcsrc/client/waypointsprites.qc:595
+#: qcsrc/client/waypointsprites.qc:588
 #, c-format
 msgid "%s needing help!"
 msgstr "%s sta chiedendo aiuto!"
@@ -1275,12 +1272,12 @@ msgstr "%d°"
 msgid "%dth"
 msgstr "%d°"
 
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:717
 #, no-c-format
 msgid "@!#%'n Tuba Throwing"
 msgstr "@!#%'n Tuba Throwing"
 
-#: qcsrc/common/mapinfo.qc:1109 qcsrc/menu/xonotic/skinlist.c:166
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
@@ -1294,57 +1291,82 @@ msgid "Last Man Standing"
 msgstr "Ultimo Uomo Rimasto (LMS)"
 
 #: qcsrc/common/mapinfo.qh:42
-msgid "Arena"
-msgstr "Arena"
-
-#: qcsrc/common/mapinfo.qh:45
 msgid "Race"
 msgstr "Corsa"
 
-#: qcsrc/common/mapinfo.qh:48
+#: qcsrc/common/mapinfo.qh:45
 msgid "Race CTS"
 msgstr "Corsa CTS"
 
-#: qcsrc/common/mapinfo.qh:51
+#: qcsrc/common/mapinfo.qh:48
 msgid "Team Deathmatch"
 msgstr "Team Deathmatch"
 
-#: qcsrc/common/mapinfo.qh:54
+#: qcsrc/common/mapinfo.qh:51
 msgid "Capture the Flag"
 msgstr "Cattura la Bandiera (CTF)"
 
-#: qcsrc/common/mapinfo.qh:57
+#: qcsrc/common/mapinfo.qh:54
 msgid "Clan Arena"
 msgstr "Clan Arena"
 
-#: qcsrc/common/mapinfo.qh:60
+#: qcsrc/common/mapinfo.qh:57
 msgid "Domination"
 msgstr "Dominazione"
 
-#: qcsrc/common/mapinfo.qh:63
+#: qcsrc/common/mapinfo.qh:60
 msgid "Key Hunt"
 msgstr "Caccia alla Chiave (Key Hunt)"
 
-#: qcsrc/common/mapinfo.qh:66
+#: qcsrc/common/mapinfo.qh:63
 msgid "Assault"
 msgstr "Assalto"
 
-#: qcsrc/common/mapinfo.qh:69
+#: qcsrc/common/mapinfo.qh:66
 msgid "Onslaught"
 msgstr "Attacco (Onslaught)"
 
-#: qcsrc/common/mapinfo.qh:72
+#: qcsrc/common/mapinfo.qh:69
 msgid "Nexball"
 msgstr "Nexball"
 
-#: qcsrc/common/mapinfo.qh:75
+#: qcsrc/common/mapinfo.qh:72
 msgid "Freeze Tag"
 msgstr "Congelamento (Freeze Tag)"
 
-#: qcsrc/common/mapinfo.qh:78
+#: qcsrc/common/mapinfo.qh:75
 msgid "Keepaway"
 msgstr "Tieni Lontano (Keepaway)"
 
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr "Invasione"
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr "Mago"
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr "Strascicante"
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr "Ragno"
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr "Drago"
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr "Zombi"
+
 #: qcsrc/common/net_notice.qc:89
 msgid "^1Server notices:"
 msgstr "^1Note del server:"
@@ -1355,11 +1377,17 @@ msgid "^7%s (^3%d sec left)"
 msgstr "^7%s (^3%d sec rimasti)"
 
 #: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr ""
+"^F4NOTA: ^BGI dialoghi degli spettatori non sono mostrati ai giocatori "
+"durante la partita"
+
+#: qcsrc/common/notifications.qh:343
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag"
 msgstr "^BG%s^BG ha catturato la bandiera ^TC^TT^BG"
 
-#: qcsrc/common/notifications.qh:343
+#: qcsrc/common/notifications.qh:344
 #, c-format
 msgid ""
 "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds, breaking ^BG"
@@ -1368,12 +1396,12 @@ msgstr ""
 "^BG%s^BG ha catturato la bandiera ^TC^TT^BG in ^F1%s^BG secondi, battendo il "
 "precedente record di ^BG%s^BG di ^F2%s^BG secondi"
 
-#: qcsrc/common/notifications.qh:344
+#: qcsrc/common/notifications.qh:345
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
 msgstr "^BG%s^BG ha catturato la bandiera ^TC^TT^BG in ^F1%s^BG secondi"
 
-#: qcsrc/common/notifications.qh:345
+#: qcsrc/common/notifications.qh:346
 #, c-format
 msgid ""
 "^BG%s^BG captured the ^TC^TT^BG flag in ^F2%s^BG seconds, failing to break "
@@ -1383,21 +1411,21 @@ msgstr ""
 "riuscendo a battere il precedente record segnato da ^BG%s^BG di ^F1%s^BG "
 "secondi"
 
-#: qcsrc/common/notifications.qh:346
+#: qcsrc/common/notifications.qh:347
 msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
 msgstr ""
 "^BGLa bandiera ^TC^TT^BG è stata riportata alla base dal suo proprietario"
 
-#: qcsrc/common/notifications.qh:347
+#: qcsrc/common/notifications.qh:348
 msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
 msgstr "^BGLa bandiera ^TC^TT^BG è stata distrutta ed è riportata alla base"
 
-#: qcsrc/common/notifications.qh:348
+#: qcsrc/common/notifications.qh:349
 msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
 msgstr ""
 "^BGLa bandiera ^TC^TT^BG è stata lasciata nella base e si è riportata da sola"
 
-#: qcsrc/common/notifications.qh:349
+#: qcsrc/common/notifications.qh:350
 msgid ""
 "^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
 "base"
@@ -1405,7 +1433,7 @@ msgstr ""
 "^BGLa bandiera ^TC^TT^BG è caduta dove non poteva essere raggiunta e si è "
 "riportata alla base"
 
-#: qcsrc/common/notifications.qh:350
+#: qcsrc/common/notifications.qh:351
 #, c-format
 msgid ""
 "^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
@@ -1414,93 +1442,98 @@ msgstr ""
 "^BGLa bandiera ^TC^TT^BG è diventata impaziente dopo ^F1%.2f^BG secondi e si "
 "è riportata da sola"
 
-#: qcsrc/common/notifications.qh:351
+#: qcsrc/common/notifications.qh:352
 msgid "^BGThe ^TC^TT^BG flag has returned to the base"
 msgstr "^BGLa bandiera ^TC^TT^BG si è riportata alla base"
 
-#: qcsrc/common/notifications.qh:352
+#: qcsrc/common/notifications.qh:353
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT^BG flag"
 msgstr "^BG%s^BG ha perso la bandiera ^TC^TT^BG"
 
-#: qcsrc/common/notifications.qh:353
+#: qcsrc/common/notifications.qh:354
 #, c-format
 msgid "^BG%s^BG got the ^TC^TT^BG flag"
 msgstr "^BG%s^BG ha preso la bandiera ^TC^TT^BG"
 
-#: qcsrc/common/notifications.qh:354
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
 #, c-format
 msgid "^BG%s^BG returned the ^TC^TT^BG flag"
 msgstr "^BG%s^BG ha riportato la bandiera ^TC^TT^BG"
 
-#: qcsrc/common/notifications.qh:355
+#: qcsrc/common/notifications.qh:357
 #, c-format
 msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
 msgstr "^BG%s%s^K1 è stato eliminato slealmente da ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:356
+#: qcsrc/common/notifications.qh:358
 #, c-format
 msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
 msgstr "^BG%s%s^K1 è stato affogato da ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:357
+#: qcsrc/common/notifications.qh:359
 #, c-format
 msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
 msgstr "^BG%s%s^K1 è stato atterrato da ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
 msgstr "^BG%s%s^K1 ha ha sentito un pò di caldo dal fuoco di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
 msgstr "^BG%s%s^K1 è stato incenerito da ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:359
+#: qcsrc/common/notifications.qh:361
 #, c-format
 msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
 msgstr "^BG%s%s^K1 è stato cucinato da ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:360
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr "^BG%s%s^K1 è stato spinto verso un mostro da ^BG%s^K1%s%s"
+
+#: qcsrc/common/notifications.qh:363
 #, c-format
 msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
 msgstr "^BG%s%s^K1 è stato spazzato via dalla granata di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:361
+#: qcsrc/common/notifications.qh:364
 #, c-format
 msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
 msgstr "^BG%s%s^K1 è stato lanciato nello spazio da ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:362
+#: qcsrc/common/notifications.qh:365
 #, c-format
 msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
 msgstr "^BG%s%s^K1 è stato sciolto da ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:363
+#: qcsrc/common/notifications.qh:366
 #, c-format
 msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
 msgstr "^BG%s%s^K1 è stato conservato da ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
 msgstr ""
 "^BG%s%s^K1 ha provato a occupare lo spazio di destinazione della teleporta "
 "di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
 msgstr "^BG%s%s^K1 è stato telefragato da ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:365
+#: qcsrc/common/notifications.qh:368
 #, c-format
 msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
 msgstr "^BG%s%s^K1 è morto in un incidente con ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:366
+#: qcsrc/common/notifications.qh:369
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
@@ -1508,35 +1541,35 @@ msgstr ""
 "^BG%s%s^K1 è stato coinvolto nello scoppio quando il Bumblebee di ^BG%s^K1 è "
 "esploso%s%s"
 
-#: qcsrc/common/notifications.qh:367
+#: qcsrc/common/notifications.qh:370
 #, c-format
 msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
 msgstr ""
 "^BG%s%s^K1 ha visto le belle luci dell'arma del Bumblebee di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:368
+#: qcsrc/common/notifications.qh:371
 #, c-format
 msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
 msgstr "^BG%s%s^K1 è stato schiacciato da ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:369
+#: qcsrc/common/notifications.qh:372
 #, c-format
 msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
 msgstr "^BG%s%s^K1 ha subito la bomba a grappolo del Raptor di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:370
+#: qcsrc/common/notifications.qh:373
 #, c-format
 msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
 msgstr "^BG%s%s^K1 non ha resistito alle bolle viola di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:371
+#: qcsrc/common/notifications.qh:374
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
 msgstr ""
 "^BG%s%s^K1 è stato coinvolto nello scoppio quando il Raptor di ^BG%s^K1 è "
 "esploso%s%s"
 
-#: qcsrc/common/notifications.qh:372
+#: qcsrc/common/notifications.qh:375
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
@@ -1544,446 +1577,491 @@ msgstr ""
 "^BG%s%s^K1 è stato coinvolto nello scoppio quando lo Spiderbot di ^BG%s^K1 è "
 "esploso%s%s"
 
-#: qcsrc/common/notifications.qh:373
+#: qcsrc/common/notifications.qh:376
 #, c-format
 msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
 msgstr "^BG%s%s^K1 è stato ridotto a brandelli dallo Spiderbot di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:374
+#: qcsrc/common/notifications.qh:377
 #, c-format
 msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
 "^BG%s%s^K1 è stato fatto scoppiare in pezzettini dallo Spiderbot di ^BG"
 "%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:375
+#: qcsrc/common/notifications.qh:378
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
 msgstr ""
 "^BG%s%s^K1 è stato coinvolto nello scoppio quando il Racer di ^BG%s^K1 è "
 "esploso%s%s"
 
-#: qcsrc/common/notifications.qh:376
+#: qcsrc/common/notifications.qh:379
 #, c-format
 msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
 msgstr "^BG%s%s^K1 è stato trangugiato dal Racer di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:377
+#: qcsrc/common/notifications.qh:380
 #, c-format
 msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
 msgstr "^BG%s%s^K1 non è riuscito a trovare riparo dal Racer di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:378
+#: qcsrc/common/notifications.qh:381
 #, c-format
 msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
 msgstr "^BG%s%s^K1 è stato lanciato in un mondo di dolore da ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:379
+#: qcsrc/common/notifications.qh:382
 #, c-format
 msgid "^BG%s^K1 was moved into the %s%s"
 msgstr "^BG%s^K1 è stato spostato nel %s%s"
 
-#: qcsrc/common/notifications.qh:380
+#: qcsrc/common/notifications.qh:383
 #, c-format
 msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
 msgstr "^BG%s^K1 è diventato nemico del Signore del Gioco di Squadra%s%s"
 
-#: qcsrc/common/notifications.qh:381
+#: qcsrc/common/notifications.qh:384
 #, c-format
 msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
 msgstr "^BG%s^K1 ha pensato di aver trovato un buon posto per campeggiare%s%s"
 
-#: qcsrc/common/notifications.qh:382
+#: qcsrc/common/notifications.qh:385
 #, c-format
 msgid "^BG%s^K1 unfairly eliminated themself%s%s"
 msgstr "^BG%s^K1 si è eliminato slealmente%s%s"
 
-#: qcsrc/common/notifications.qh:383
+#: qcsrc/common/notifications.qh:386
 #, c-format
 msgid "^BG%s^K1 %s^K1%s%s"
 msgstr "^BG%s^K1 %s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 couldn't catch their breath%s%s"
 msgstr "^BG%s^K1 non è riuscito a trattenere il fiato%s%s"
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 was in the water for too long%s%s"
 msgstr "^BG%s^K1 è stato in acqua per troppo tempo%s%s"
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
 msgstr "^BG%s^K1 ha colpito il terreno con un pò troppa forza%s%s"
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a crunch%s%s"
 msgstr "^BG%s^K1 ha colpito il terreno facendolo scricchiolare%s%s"
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 became a bit too crispy%s%s"
 msgstr "^BG%s^K1 è diventato un pò troppo croccante%s%s"
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 felt a little hot%s%s"
 msgstr "^BG%s^K1 ha sentito un pò di caldo%s%s"
 
-#: qcsrc/common/notifications.qh:387
+#: qcsrc/common/notifications.qh:390
 #, c-format
 msgid "^BG%s^K1 died%s%s"
 msgstr "^BG%s^K1 è morto%s%s"
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 found a hot place%s%s"
 msgstr "^BG%s^K1 ha trovato un posto caldo%s%s"
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 turned into hot slag%s%s"
 msgstr "^BG%s^K1 è diventato scoria bollente%s%s"
 
-#: qcsrc/common/notifications.qh:389
+#: qcsrc/common/notifications.qh:392
 #, c-format
 msgid "^BG%s^K1 mastered the art of self-nading%s%s"
 msgstr ""
 "^BG%s^K1 è diventato esperto nell'arte di lanciarsi le granate addosso%s%s"
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:393
 #, c-format
-msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
-msgstr "^BG%s^K1 è morto%s%s. Qual'è il motivo di vivere senza munizioni?"
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
+msgstr "^BG%s^K1 è stato fatto esplodere da un Mago%s%s"
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:394
 #, c-format
-msgid "^BG%s^K1 ran out of ammo%s%s"
-msgstr "^BG%s^K1 ha finito le munizioni%s%s"
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
+msgstr ""
+"^K1Le interiora di ^BG%s^K1 sono state esternate da uno Strascicatore%s%s"
 
-#: qcsrc/common/notifications.qh:391
+#: qcsrc/common/notifications.qh:395
 #, c-format
-msgid "^BG%s^K1 rotted away%s%s"
-msgstr "^BG%s^K1 è marcito%s%s"
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr "^BG%s^K1 è state sfasciato da uno Strascicatore%s%s"
 
-#: qcsrc/common/notifications.qh:392
+#: qcsrc/common/notifications.qh:396
 #, c-format
-msgid "^BG%s^K1 became a shooting star%s%s"
-msgstr "^BG%s^K1 è diventato una stella cadente%s%s"
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
+msgstr "^BG%s^K1 è stato ucciso velocemente da uno Strascicatore%s%s"
 
-#: qcsrc/common/notifications.qh:393
+#: qcsrc/common/notifications.qh:397
 #, c-format
-msgid "^BG%s^K1 was slimed%s%s"
-msgstr "^BG%s^K1 è stato sciolto%s%s"
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr "^BG%s^K1 è stato morso da un Ragno%s%s"
 
-#: qcsrc/common/notifications.qh:394
+#: qcsrc/common/notifications.qh:398
 #, c-format
-msgid "^BG%s^K1 couldn't take it anymore%s%s"
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr "^BG%s^K1 è stato colpito dalla palla di fuoco di un Drago%s%s"
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr "^BG%s^K1 è entrato tra gli Zombi%s%s"
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr "^K1A ^BG%s^K1 sono state date lezioni di kung fu da uno Zombi%s%s"
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgstr "^BG%s^K1 è morto%s%s. Qual'è il motivo di vivere senza munizioni?"
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 ran out of ammo%s%s"
+msgstr "^BG%s^K1 ha finito le munizioni%s%s"
+
+#: qcsrc/common/notifications.qh:402
+#, c-format
+msgid "^BG%s^K1 rotted away%s%s"
+msgstr "^BG%s^K1 è marcito%s%s"
+
+#: qcsrc/common/notifications.qh:403
+#, c-format
+msgid "^BG%s^K1 became a shooting star%s%s"
+msgstr "^BG%s^K1 è diventato una stella cadente%s%s"
+
+#: qcsrc/common/notifications.qh:404
+#, c-format
+msgid "^BG%s^K1 was slimed%s%s"
+msgstr "^BG%s^K1 è stato sciolto%s%s"
+
+#: qcsrc/common/notifications.qh:405
+#, c-format
+msgid "^BG%s^K1 couldn't take it anymore%s%s"
 msgstr "^BG%s^K1 non ne ha potuto più%s%s"
 
-#: qcsrc/common/notifications.qh:395
+#: qcsrc/common/notifications.qh:406
 #, c-format
 msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
 msgstr "^BG%s^K1 è ora conservato per i secoli a venire%s%s"
 
-#: qcsrc/common/notifications.qh:396
+#: qcsrc/common/notifications.qh:407
 #, c-format
 msgid "^BG%s^K1 switched to the %s%s"
 msgstr "^BG%s^K1 ha cambiato alla %s%s"
 
-#: qcsrc/common/notifications.qh:397
+#: qcsrc/common/notifications.qh:408
 #, c-format
 msgid "^BG%s^K1 died in an accident%s%s"
 msgstr "^BG%s^K1 è morto in un incidente%s%s"
 
-#: qcsrc/common/notifications.qh:398
+#: qcsrc/common/notifications.qh:409
 #, c-format
 msgid "^BG%s^K1 ran into a turret%s%s"
 msgstr "^BG%s^K1 si è imbattuto in una torretta%s%s"
 
-#: qcsrc/common/notifications.qh:399
+#: qcsrc/common/notifications.qh:410
 #, c-format
 msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
 msgstr "^BG%s^K1 è stato fatto esplodere da una torretta eWheel%s%s"
 
-#: qcsrc/common/notifications.qh:400
+#: qcsrc/common/notifications.qh:411
 #, c-format
 msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
 msgstr "^BG%s^K1 è stato preso dal fuoco della torretta FLAC%s%s"
 
-#: qcsrc/common/notifications.qh:401
+#: qcsrc/common/notifications.qh:412
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
 msgstr "^BG%s^K1 è stato fatto esplodere da una torretta Hellion%s%s"
 
-#: qcsrc/common/notifications.qh:402
+#: qcsrc/common/notifications.qh:413
 #, c-format
 msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
 msgstr "^BG%s^K1 non è riuscito a nascondersi dalla torretta Hunter%s%s"
 
-#: qcsrc/common/notifications.qh:403
+#: qcsrc/common/notifications.qh:414
 #, c-format
 msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
 msgstr "^BG%s^K1 è stato crivellato da una torretta Machinegun%s%s"
 
-#: qcsrc/common/notifications.qh:404
+#: qcsrc/common/notifications.qh:415
 #, c-format
 msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
 msgstr "^BG%s^K1 è stato ridotto in pezzi fumanti da una torretta MLRS%s%s"
 
-#: qcsrc/common/notifications.qh:405
+#: qcsrc/common/notifications.qh:416
 #, c-format
 msgid "^BG%s^K1 was phased out by a turret%s%s"
 msgstr "^BG%s^K1 è stato fatto svanire da una torretta%s%s"
 
-#: qcsrc/common/notifications.qh:406
+#: qcsrc/common/notifications.qh:417
 #, c-format
 msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
 msgstr ""
 "^BG%s^K1 ha ricevuto una dose di plasma incandescente da una torretta%s%s"
 
-#: qcsrc/common/notifications.qh:407
+#: qcsrc/common/notifications.qh:418
 #, c-format
 msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
 msgstr "^BG%s^K1 è stato fulminato da una torretta Tesla%s%s"
 
-#: qcsrc/common/notifications.qh:408
+#: qcsrc/common/notifications.qh:419
 #, c-format
 msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
 msgstr ""
 "^BG%s^K1 ha ricevuto un arricchimento di piombo da una torretta Walker%s%s"
 
-#: qcsrc/common/notifications.qh:409
+#: qcsrc/common/notifications.qh:420
 #, c-format
 msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
 msgstr "^BG%s^K1 è stato impalato da una torretta Walker%s%s"
 
-#: qcsrc/common/notifications.qh:410
+#: qcsrc/common/notifications.qh:421
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
 msgstr "^BG%s^K1 è stato fatto esplodere da una torretta Walker%s%s"
 
-#: qcsrc/common/notifications.qh:411
+#: qcsrc/common/notifications.qh:422
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
 msgstr ""
 "^BG%s^K1 è stato coinvolto nello scoppio dell'esplosione di un Bumblebee%s%s"
 
-#: qcsrc/common/notifications.qh:412
+#: qcsrc/common/notifications.qh:423
 #, c-format
 msgid "^BG%s^K1 was crushed by a vehicle%s%s"
 msgstr "^BG%s^K1 è stato schiacciato da un veicolo%s%s"
 
-#: qcsrc/common/notifications.qh:413
+#: qcsrc/common/notifications.qh:424
 #, c-format
 msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
 msgstr "^BG%s^K1 è stato preso dalla bomba a grappolo di un Raptor%s%s"
 
-#: qcsrc/common/notifications.qh:414
+#: qcsrc/common/notifications.qh:425
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
 msgstr ""
 "^BG%s^K1 è stato coinvolto nello scoppio dell'esplosione di un Raptor%s%s"
 
-#: qcsrc/common/notifications.qh:415
+#: qcsrc/common/notifications.qh:426
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
 msgstr ""
 "^BG%s^K1 è stato coinvolto nello scoppio dell'esplosione di uno Spiderbot%s%s"
 
-#: qcsrc/common/notifications.qh:416
+#: qcsrc/common/notifications.qh:427
 #, c-format
 msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
 msgstr ""
 "^BG%s^K1 è stato fatto scoppiare in pezzettini dal razzo di uno Spiderbot%s%s"
 
-#: qcsrc/common/notifications.qh:417
+#: qcsrc/common/notifications.qh:428
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
 msgstr ""
 "^BG%s^K1 è stato coinvolto nello scoppio dell'esplosione di un Racer%s%s"
 
-#: qcsrc/common/notifications.qh:418
+#: qcsrc/common/notifications.qh:429
 #, c-format
 msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
 msgstr "^BG%s^K1 non è riuscito a trovare riparo dal razzo di un Racer%s%s"
 
-#: qcsrc/common/notifications.qh:419
+#: qcsrc/common/notifications.qh:430
 #, c-format
 msgid "^BG%s^K1 was in the wrong place%s%s"
 msgstr "^BG%s^K1 era nel posto sbagliato%s%s"
 
-#: qcsrc/common/notifications.qh:420
+#: qcsrc/common/notifications.qh:431
 #, c-format
 msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
 msgstr "^BG%s^K1 è stato tradito da ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:421
+#: qcsrc/common/notifications.qh:432
 #, c-format
 msgid "^BG%s^K1 was frozen by ^BG%s"
 msgstr "^BG%s^K1 è stato congelato da ^BG%s"
 
-#: qcsrc/common/notifications.qh:422
+#: qcsrc/common/notifications.qh:433
 #, c-format
 msgid "^BG%s^K3 was revived by ^BG%s"
 msgstr "^BG%s^K3 è stato risvegliato da ^BG%s"
 
-#: qcsrc/common/notifications.qh:423
+#: qcsrc/common/notifications.qh:434
 #, c-format
 msgid "^BG%s^K3 was revived by falling"
 msgstr "^BG%s^K3 è stato risvegliato grazie alla caduta"
 
-#: qcsrc/common/notifications.qh:424
+#: qcsrc/common/notifications.qh:435
 #, c-format
 msgid "^BG%s^K3 was automatically revived after %s second(s)"
 msgstr "^BG%s^K1 è stato risvegliato automaticamente dopo %s secondi"
 
-#: qcsrc/common/notifications.qh:425 qcsrc/common/notifications.qh:612
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
 msgid "^TC^TT^BG team wins the round"
 msgstr "^BGLa squadra ^TC^TT^BG vince il round"
 
-#: qcsrc/common/notifications.qh:426 qcsrc/common/notifications.qh:613
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
 #, c-format
 msgid "^BG%s^BG wins the round"
 msgstr "^BG%s^BG vince il round"
 
-#: qcsrc/common/notifications.qh:427 qcsrc/common/notifications.qh:542
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
 msgid "^BGRound tied"
 msgstr "^BGRound pari"
 
-#: qcsrc/common/notifications.qh:428 qcsrc/common/notifications.qh:543
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
 msgid "^BGRound over, there's no winner"
 msgstr "^BGIl round è finito, non c'è nessun vincitore"
 
-#: qcsrc/common/notifications.qh:429
+#: qcsrc/common/notifications.qh:440
 #, c-format
 msgid "^BG%s^K1 froze themself"
 msgstr "^BG%s^K1 si è congelato da solo"
 
-#: qcsrc/common/notifications.qh:430
+#: qcsrc/common/notifications.qh:441
 #, c-format
 msgid "^BGGodmode saved you %s units of damage, cheater!"
 msgstr "^BGLa modalità Dio ti ha evitato %s unità di danno, imbroglione!"
 
-#: qcsrc/common/notifications.qh:431 qcsrc/common/notifications.qh:616
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
 #, c-format
 msgid "^BGYou do not have the ^F1%s"
 msgstr "^BGTu non hai la/il ^F1%s"
 
-#: qcsrc/common/notifications.qh:432 qcsrc/common/notifications.qh:617
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
 #, c-format
 msgid "^BGYou dropped the ^F1%s^BG%s"
 msgstr "^BGHai lasciato la/il ^F1%s^BG%s"
 
-#: qcsrc/common/notifications.qh:433 qcsrc/common/notifications.qh:618
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
 #, c-format
 msgid "^BGYou got the ^F1%s"
 msgstr "^BGHai preso la/il ^F1%s"
 
-#: qcsrc/common/notifications.qh:434 qcsrc/common/notifications.qh:619
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
 #, c-format
 msgid "^BGYou don't have enough ammo for the ^F1%s"
 msgstr "^BGNon hai abbastanza munizioni per la/il ^F1%s"
 
-#: qcsrc/common/notifications.qh:435 qcsrc/common/notifications.qh:620
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
 #, c-format
 msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
 msgstr "^F1Il ^F1%s %s^BG non può sparare, ma il suo ^F1%s^BG può"
 
-#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:621
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
 #, c-format
 msgid "^F1%s^BG is ^F4not available^BG on this map"
 msgstr "^F1%s^BG ^F4non disponibile^BG in questa mappa"
 
-#: qcsrc/common/notifications.qh:437
+#: qcsrc/common/notifications.qh:448
 #, c-format
 msgid "^BG%s^F3 connected%s"
 msgstr "^BG%s^F3 si è connesso%s"
 
-#: qcsrc/common/notifications.qh:438
+#: qcsrc/common/notifications.qh:449
 #, c-format
 msgid "^BG%s^F3 connected and joined the ^TC^TT team"
 msgstr "^BG%s^F3 si è connesso ed è entrato nella squadra ^TC^TT"
 
-#: qcsrc/common/notifications.qh:439
+#: qcsrc/common/notifications.qh:450
 #, c-format
 msgid "^BG%s^F3 is now playing"
 msgstr "^BG%s^F3 sta giocando adesso"
 
-#: qcsrc/common/notifications.qh:440 qcsrc/common/notifications.qh:624
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
 #, c-format
 msgid "^BG%s^BG has dropped the ball!"
 msgstr "^BG%s^BG ha lasciato la palla!"
 
-#: qcsrc/common/notifications.qh:441 qcsrc/common/notifications.qh:625
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
 #, c-format
 msgid "^BG%s^BG has picked up the ball!"
 msgstr "^BG%s^BG ha raccolto la palla!"
 
-#: qcsrc/common/notifications.qh:442
+#: qcsrc/common/notifications.qh:453
 #, c-format
 msgid "^BG%s^BG captured the keys for the ^TC^TT team"
 msgstr "^BG%s^BG ha catturato le chiavi per la squadra ^TC^TT"
 
-#: qcsrc/common/notifications.qh:443
+#: qcsrc/common/notifications.qh:454
 #, c-format
 msgid "^BG%s^BG dropped the ^TC^TT Key"
 msgstr "^BG%s^BG ha lasciato la Chiave ^TC^TT"
 
-#: qcsrc/common/notifications.qh:444
+#: qcsrc/common/notifications.qh:455
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT Key"
 msgstr "^BG%s^BG ha perso la Chiave ^TC^TT"
 
-#: qcsrc/common/notifications.qh:445
+#: qcsrc/common/notifications.qh:456
 #, c-format
 msgid "^BG%s^BG picked up the ^TC^TT Key"
 msgstr "^BG%s^BG ha preso la Chiave ^TC^TT"
 
-#: qcsrc/common/notifications.qh:446
+#: qcsrc/common/notifications.qh:457
 #, c-format
 msgid "^BG%s^F3 forfeited"
 msgstr "^BG%s^BG ha abbandonato"
 
-#: qcsrc/common/notifications.qh:447
+#: qcsrc/common/notifications.qh:458
 #, c-format
 msgid "^BG%s^F3 has no more lives left"
 msgstr "^BG%s^F3 non ha più vite rimaste"
 
-#: qcsrc/common/notifications.qh:448
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr "^BGMonstri sono attualmente disabilitati"
+
+#: qcsrc/common/notifications.qh:460
 #, c-format
 msgid "^BG%s^K1 picked up Invisibility"
 msgstr "^BG%s^K1 ha preso Invisibilità"
 
-#: qcsrc/common/notifications.qh:449
+#: qcsrc/common/notifications.qh:461
 #, c-format
 msgid "^BG%s^K1 picked up Shield"
 msgstr "^BG%s^K1 ha preso Scudo"
 
-#: qcsrc/common/notifications.qh:450
+#: qcsrc/common/notifications.qh:462
 #, c-format
 msgid "^BG%s^K1 picked up Speed"
 msgstr "^BG%s^K1 ha preso Velocità"
 
-#: qcsrc/common/notifications.qh:451
+#: qcsrc/common/notifications.qh:463
 #, c-format
 msgid "^BG%s^K1 picked up Strength"
 msgstr "^BG%s^K1 ha preso Forza"
 
-#: qcsrc/common/notifications.qh:452
+#: qcsrc/common/notifications.qh:464
 #, c-format
 msgid "^BG%s^F3 disconnected"
 msgstr "^BG%s^F3 si è disconnesso"
 
-#: qcsrc/common/notifications.qh:453
+#: qcsrc/common/notifications.qh:465
 #, c-format
 msgid "^BG%s^F3 was kicked for idling"
 msgstr "^BG%s^F3 è stato buttato fuori perchè non faceva niente"
 
-#: qcsrc/common/notifications.qh:454
+#: qcsrc/common/notifications.qh:466
 msgid ""
 "^F2You were kicked from the server because you are a spectator and "
 "spectators aren't allowed at the moment."
@@ -1991,45 +2069,45 @@ msgstr ""
 "^F2Sei stato buttato fuori dal server perché sei spettatore e gli spettatori "
 "non sono permessi al momento."
 
-#: qcsrc/common/notifications.qh:455
+#: qcsrc/common/notifications.qh:467
 #, c-format
 msgid "^BG%s^F3 is now spectating"
 msgstr "^BG%s^F3 sta ora osservando"
 
-#: qcsrc/common/notifications.qh:456
+#: qcsrc/common/notifications.qh:468
 #, c-format
 msgid "^BG%s^BG has abandoned the race"
 msgstr "^BG%s^BG ha abbandonato la gara"
 
-#: qcsrc/common/notifications.qh:457
+#: qcsrc/common/notifications.qh:469
 #, c-format
 msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
 msgstr ""
 "^BG%s^BG non è riuscito a battere il proprio record del %s%s^BG posto di %s"
 "%s %s"
 
-#: qcsrc/common/notifications.qh:458
+#: qcsrc/common/notifications.qh:470
 #, c-format
 msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
 msgstr ""
 "^BG%s^BG non è riuscito a battere il record del %s%s^BG posto di %s%s %s"
 
-#: qcsrc/common/notifications.qh:459
+#: qcsrc/common/notifications.qh:471
 #, c-format
 msgid "^BG%s^BG has finished the race"
 msgstr "^BG%s^BG ha completato la gara"
 
-#: qcsrc/common/notifications.qh:460
+#: qcsrc/common/notifications.qh:472
 #, c-format
 msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
 msgstr "^BG%s^BG ha battuto il record di %s^BG del %s%s^BG posto con %s%s %s"
 
-#: qcsrc/common/notifications.qh:461
+#: qcsrc/common/notifications.qh:473
 #, c-format
 msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
 msgstr "^BG%s^BG ha migliorato il proprio record al %s%s^BG posto con %s%s %s"
 
-#: qcsrc/common/notifications.qh:462
+#: qcsrc/common/notifications.qh:474
 #, c-format
 msgid ""
 "^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
@@ -2038,30 +2116,30 @@ msgstr ""
 "^BG%s^BG ha stabilito un nuovo record con ^F2%s^BG, ma sfortunatamente non "
 "ha un UID e sarà perduto."
 
-#: qcsrc/common/notifications.qh:463
+#: qcsrc/common/notifications.qh:475
 #, c-format
 msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
 msgstr "^BG%s^BG ha stabilito il record del %s%s^BG posto con %s%s"
 
-#: qcsrc/common/notifications.qh:464
+#: qcsrc/common/notifications.qh:476
 msgid "^TC^TT ^BGteam scores!"
 msgstr "^BGLa squadra ^TC^TT ^BGsegna!"
 
-#: qcsrc/common/notifications.qh:465
+#: qcsrc/common/notifications.qh:477
 #, c-format
 msgid ""
 "^F2You have to become a player within the next %s, otherwise you will be "
 "kicked, because spectating isn't allowed at this time!"
 msgstr ""
 "^F2Devi entrare in gioco entro i prossimi %s, altrimenti sarai buttato "
-"fuori , perchè in questo momento non è permesso assistere!"
+"fuori, perchè in questo momento non è permesso assistere!"
 
-#: qcsrc/common/notifications.qh:466
+#: qcsrc/common/notifications.qh:478
 #, c-format
 msgid "^BG%s^K1 picked up a Superweapon"
 msgstr "^BG%s^K1 ha preso una Superarma"
 
-#: qcsrc/common/notifications.qh:467
+#: qcsrc/common/notifications.qh:479
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
@@ -2070,14 +2148,14 @@ msgstr ""
 "^F4NOTA: ^BGIl server sta eseguendo ^F1Xonotic %s (beta)^BG, tu hai "
 "^F2Xonotic %s"
 
-#: qcsrc/common/notifications.qh:468
+#: qcsrc/common/notifications.qh:480
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
 msgstr ""
 "^F4NOTA: ^BGIl server sta eseguendo ^F1Xonotic %s^BG, tu hai ^F2Xonotic %s"
 
-#: qcsrc/common/notifications.qh:469
+#: qcsrc/common/notifications.qh:481
 #, c-format
 msgid ""
 "^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
@@ -2086,12 +2164,12 @@ msgstr ""
 "^F4NOTA: ^F1Xonotic %s^BG è uscito, e tu hai ancora ^F2Xonotic %s^BG - "
 "aggiornalo da ^F3http://www.xonotic.org/^BG!"
 
-#: qcsrc/common/notifications.qh:470
+#: qcsrc/common/notifications.qh:482
 #, c-format
 msgid "^F3SVQC Build information: ^F4%s"
 msgstr "^F3Informazioni sulla versione SVQC: ^F4%s"
 
-#: qcsrc/common/notifications.qh:471
+#: qcsrc/common/notifications.qh:483
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
@@ -2099,105 +2177,105 @@ msgstr ""
 "^BG%s%s^K1 è morto nella gran esibizione di ^BG%s^K1 con la @!#%%'n "
 "Fisarmonica%s%s"
 
-#: qcsrc/common/notifications.qh:472
+#: qcsrc/common/notifications.qh:484
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
 msgstr "^BG%s^K1 si è fatto male alle orecchie con la @!#%%'n Fisarmonica%s%s"
 
-#: qcsrc/common/notifications.qh:473
+#: qcsrc/common/notifications.qh:485
 #, c-format
 msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
 msgstr "^BG%s%s^K1 ha sentito la forte trazione del Crylink di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:474
+#: qcsrc/common/notifications.qh:486
 #, c-format
 msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
 msgstr "^BG%s^K1 ha sentito la forte trazione del proprio Crylink%s%s"
 
-#: qcsrc/common/notifications.qh:475
+#: qcsrc/common/notifications.qh:487
 #, c-format
 msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
 msgstr ""
 "^BG%s%s^K1 è stato fatto esplodere dalla saetta dell'Electro di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:476
+#: qcsrc/common/notifications.qh:488
 #, c-format
 msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
 msgstr ""
 "^BG%s%s^K1 ha sentito l'aria elettrificata della combo dell'Electro di ^BG"
 "%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:477
+#: qcsrc/common/notifications.qh:489
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
 msgstr ""
 "^BG%s%s^K1 si è avvicinato troppo al plasma dell'Electro di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:478
+#: qcsrc/common/notifications.qh:490
 #, c-format
 msgid "^BG%s^K1 played with Electro plasma%s%s"
 msgstr "^BG%s^K1 ha giocato con il plasma dell'Electro%s%s"
 
-#: qcsrc/common/notifications.qh:479
+#: qcsrc/common/notifications.qh:491
 #, c-format
 msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
 msgstr "^BG%s^K1 non si è ricordato dove aveva messo l'Electro plasma%s%s"
 
-#: qcsrc/common/notifications.qh:480
+#: qcsrc/common/notifications.qh:492
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
 msgstr "^BG%s%s^K1 si è avvicinato troppo alla palla di fuoco di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:481
+#: qcsrc/common/notifications.qh:493
 #, c-format
 msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
 msgstr "^BG%s%s^K1 è stato bruciato dalla mina di fuoco di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:482
+#: qcsrc/common/notifications.qh:494
 #, c-format
 msgid "^BG%s^K1 should have used a smaller gun%s%s"
 msgstr "^BG%s^K1 avrebbe dovuto usare un'arma più piccola%s%s"
 
-#: qcsrc/common/notifications.qh:483
+#: qcsrc/common/notifications.qh:495
 #, c-format
 msgid "^BG%s^K1 forgot about their firemine%s%s"
 msgstr "^BG%s^K1 si è dimenticato della propria mina di fuoco%s%s"
 
-#: qcsrc/common/notifications.qh:484
+#: qcsrc/common/notifications.qh:496
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 "^BG%s%s^K1 è stato colpito ripetutamente da una raffica di razzi dell'Hagar "
 "di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:485
+#: qcsrc/common/notifications.qh:497
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 "^BG%s%s^K1 è stato colpito ripetutamente dai razzi dell'Hagar di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:486
+#: qcsrc/common/notifications.qh:498
 #, c-format
 msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
 msgstr "^BG%s^K1 ha giocato con i piccoli razzi dell'Hagar%s%s"
 
-#: qcsrc/common/notifications.qh:487
+#: qcsrc/common/notifications.qh:499
 #, c-format
 msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
 msgstr "^BG%s%s^K1 è stato abbattuto con l'HLAC di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:488
+#: qcsrc/common/notifications.qh:500
 #, c-format
 msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
 msgstr "^BG%s^K1 è diventato un pò sovraeccitato con il proprio HLAC%s%s"
 
-#: qcsrc/common/notifications.qh:489
+#: qcsrc/common/notifications.qh:501
 #, c-format
 msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
 msgstr ""
 "^BG%s%s^K1 è stato catturato nella bomba di gravità dell'Hook di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:490
+#: qcsrc/common/notifications.qh:502
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
@@ -2205,181 +2283,181 @@ msgstr ""
 "^BG%s%s^K1 è morto nella gran esibizione di ^BG%s^K1 con la @!#%%'n Klein "
 "Bottle%s%s"
 
-#: qcsrc/common/notifications.qh:491
+#: qcsrc/common/notifications.qh:503
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
 msgstr "^BG%s^K1 si è fatto male alle orecchie con la @!#%%'n Klein Bottle%s%s"
 
-#: qcsrc/common/notifications.qh:492
+#: qcsrc/common/notifications.qh:504
 #, c-format
 msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
 msgstr "^BG%s%s^K1 è stato colpito a morte dal Laser di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:493
+#: qcsrc/common/notifications.qh:505
 #, c-format
 msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
 msgstr "^BG%s^K1 si è spedito all'inferno col suo stesso Laser%s%s"
 
-#: qcsrc/common/notifications.qh:494
+#: qcsrc/common/notifications.qh:506
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
 msgstr "^BG%s%s^K1 si è avvicinato troppo alla mina di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:495
+#: qcsrc/common/notifications.qh:507
 #, c-format
 msgid "^BG%s^K1 forgot about their mine%s%s"
 msgstr "^BG%s^K1 si è dimenticato della propria mina%s%s"
 
-#: qcsrc/common/notifications.qh:496
+#: qcsrc/common/notifications.qh:508
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
 msgstr "^BG%s%s^K1 è stato vaporizzato dal Minstanex di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:497
+#: qcsrc/common/notifications.qh:509
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 "^BG%s%s^K1 si è avvicinato troppo alla granata del Mortar di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:498
+#: qcsrc/common/notifications.qh:510
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
 msgstr "^BG%s%s^K1 ha mangiato la granata del Mortar di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:499
+#: qcsrc/common/notifications.qh:511
 #, c-format
 msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
 msgstr "^BG%s^K1 non ha visto la granata del suo Mortar%s%s"
 
-#: qcsrc/common/notifications.qh:500
+#: qcsrc/common/notifications.qh:512
 #, c-format
 msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
 msgstr "^BG%s^K1 si è fatto esplodere con il proprio Mortar%s%s"
 
-#: qcsrc/common/notifications.qh:501
+#: qcsrc/common/notifications.qh:513
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
 msgstr "^BG%s%s^K1 è stato vaporizzato dal Nex di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:502
+#: qcsrc/common/notifications.qh:514
 #, c-format
 msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
 msgstr "^BG%s%s^K1 è stato cecchinato con un Rifle da ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:503
+#: qcsrc/common/notifications.qh:515
 #, c-format
 msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 "^BG%s%s^K1 è morto nella raffica di proiettili del Rifle di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:504
+#: qcsrc/common/notifications.qh:516
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 "^BG%s%s^K1 non è riuscito a nascondersi dalla raffica di proiettili del "
 "Rifle di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:505
+#: qcsrc/common/notifications.qh:517
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
 msgstr "^BG%s%s^K1 non è riuscito a nascondersi dal Rifle di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:506
+#: qcsrc/common/notifications.qh:518
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
 msgstr "^BG%s%s^K1 ha mangiato il razzo di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:507
+#: qcsrc/common/notifications.qh:519
 #, c-format
 msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
 msgstr "^BG%s%s^K1 si è avvicinato troppo al razzo di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:508
+#: qcsrc/common/notifications.qh:520
 #, c-format
 msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
 msgstr "^BG%s^K1 si è fatto esplodere con il proprio Rocketlauncher%s%s"
 
-#: qcsrc/common/notifications.qh:509
+#: qcsrc/common/notifications.qh:521
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
 msgstr ""
 "^BG%s%s^K1 è stato colpito ripetutamente di razzi del Seeker di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:510
+#: qcsrc/common/notifications.qh:522
 #, c-format
 msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
 msgstr "^BG%s%s^K1 è stato puntato dal Seeker di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:511
+#: qcsrc/common/notifications.qh:523
 #, c-format
 msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
 msgstr "^BG%s^K1 ha giocato con i piccoli razzi del Seeker%s%s"
 
-#: qcsrc/common/notifications.qh:512
+#: qcsrc/common/notifications.qh:524
 #, c-format
 msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
 msgstr "^BG%s%s^K1 è stato abbattuto dalla Shotgun di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:513
+#: qcsrc/common/notifications.qh:525
 #, c-format
 msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
 msgstr "^BG%s%s^K1 ha schiaffeggiato ^BG%s^K1 con una grossa Shotgun%s%s"
 
-#: qcsrc/common/notifications.qh:514
+#: qcsrc/common/notifications.qh:526
 #, c-format
 msgid "^BG%s^K1 is now thinking with portals%s%s"
 msgstr "^BG%s^K1 sta pensando in termini di portali%s%s"
 
-#: qcsrc/common/notifications.qh:515
+#: qcsrc/common/notifications.qh:527
 #, c-format
 msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
 msgstr ""
 "^BG%s%s^K1 è morto nella gran esibizione di ^BG%s^K1 con la @!#%%'n Tuba%s%s"
 
-#: qcsrc/common/notifications.qh:516
+#: qcsrc/common/notifications.qh:528
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
 msgstr "^BG%s^K1 si è fatto male alle orecchie con la @!#%%'n Tuba%s%s"
 
-#: qcsrc/common/notifications.qh:517
+#: qcsrc/common/notifications.qh:529
 #, c-format
 msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
 msgstr "^BG%s%s^K1 è stato cecchinato dalla Machine Gun di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:518
+#: qcsrc/common/notifications.qh:530
 #, c-format
 msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
 msgstr "^BG%s%s^K1 è stato crivellato dalla Machine gun di ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:536
+#: qcsrc/common/notifications.qh:548
 msgid "^BGYou are attacking!"
 msgstr "^BGStai attaccando!"
 
-#: qcsrc/common/notifications.qh:537
+#: qcsrc/common/notifications.qh:549
 msgid "^BGYou are defending!"
 msgstr "^BGStai difendendo!"
 
-#: qcsrc/common/notifications.qh:538
+#: qcsrc/common/notifications.qh:550
 msgid "^F4Begin!"
 msgstr "^F4Via!"
 
-#: qcsrc/common/notifications.qh:539
+#: qcsrc/common/notifications.qh:551
 msgid "^F4Game starts in ^COUNT"
 msgstr "^F4La partita inizia in ^COUNT"
 
-#: qcsrc/common/notifications.qh:540
+#: qcsrc/common/notifications.qh:552
 msgid "^F4Round starts in ^COUNT"
 msgstr "^F4Il round inizia in ^COUNT"
 
-#: qcsrc/common/notifications.qh:541
+#: qcsrc/common/notifications.qh:553
 msgid "^F4Round cannot start"
 msgstr "^F4Il round non può iniziare"
 
-#: qcsrc/common/notifications.qh:544
+#: qcsrc/common/notifications.qh:556
 msgid "^F2Don't camp!"
 msgstr "^F2Non campeggiare!"
 
-#: qcsrc/common/notifications.qh:545
+#: qcsrc/common/notifications.qh:557
 msgid ""
 "^BGYou are now free.\n"
 "^BGFeel free to ^F2try to capture^BG the flag again\n"
@@ -2389,7 +2467,7 @@ msgstr ""
 "^BGPuoi ^F2riprovare a catturare^BG la bandiera\n"
 "^BGse credi di potercela fare."
 
-#: qcsrc/common/notifications.qh:546
+#: qcsrc/common/notifications.qh:558
 msgid ""
 "^BGYou are now ^F1shielded^BG from the flag\n"
 "^BGfor ^F2too many unsuccessful attempts^BG to capture.\n"
@@ -2399,165 +2477,165 @@ msgstr ""
 "^BGpoichè ^F2hai tentato troppe volte^BG di catturarla.\n"
 "^BGSegna qualche punto in difesa prima di riprovare la cattura."
 
-#: qcsrc/common/notifications.qh:547
+#: qcsrc/common/notifications.qh:559
 msgid "^BGYou captured the ^TC^TT^BG flag!"
 msgstr "^BGHai catturato la bandiera ^TC^TT^BG!"
 
-#: qcsrc/common/notifications.qh:548
+#: qcsrc/common/notifications.qh:560
 #, c-format
 msgid "^BGToo many flag throws! Throwing disabled for %s."
 msgstr ""
 "^BGHai lanciato la bandiera troppo spesso! Il lancio è disabilitato per %s."
 
-#: qcsrc/common/notifications.qh:549
+#: qcsrc/common/notifications.qh:561
 #, c-format
 msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
 msgstr "^BG%s^BG ha passato la bandiera ^TC^TT^BG a %s"
 
-#: qcsrc/common/notifications.qh:550
+#: qcsrc/common/notifications.qh:562
 #, c-format
 msgid "^BGYou received the ^TC^TT^BG flag from %s"
 msgstr "^BGHai ricevuto la bandiera ^TC^TT^BG da %s"
 
-#: qcsrc/common/notifications.qh:551
+#: qcsrc/common/notifications.qh:563
 #, c-format
 msgid "^BG%s^BG requests you to pass the flag%s"
 msgstr "^BG%s^BG ti chiede di passargli la bandiera%s"
 
-#: qcsrc/common/notifications.qh:552
+#: qcsrc/common/notifications.qh:564
 #, c-format
 msgid "^BGRequesting %s^BG to pass you the flag"
 msgstr "^BGStai chiedendo a %s^BG di passarti la bandiera"
 
-#: qcsrc/common/notifications.qh:553
+#: qcsrc/common/notifications.qh:565
 #, c-format
 msgid "^BGYou passed the ^TC^TT^BG flag to %s"
 msgstr "^BGHai passato la bandiera ^TC^TT^BG a %s"
 
-#: qcsrc/common/notifications.qh:554
+#: qcsrc/common/notifications.qh:566
 msgid "^BGYou got the ^TC^TT^BG flag!"
 msgstr "^BGHai preso la bandiera ^TC^TT^BG!"
 
-#: qcsrc/common/notifications.qh:555
+#: qcsrc/common/notifications.qh:567
 #, c-format
 msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
 msgstr "^BGIl %snemico^BG ha la tua bandiera! Recuperala!"
 
-#: qcsrc/common/notifications.qh:556
+#: qcsrc/common/notifications.qh:568
 #, c-format
 msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
 msgstr "^BGIl %snemico (^BG%s%s)^BG ha la tua bandiera! Recuperala!"
 
-#: qcsrc/common/notifications.qh:557
+#: qcsrc/common/notifications.qh:569
 #, c-format
 msgid "^BGYour %steam mate^BG got the flag! Protect them!"
 msgstr "^BGIl tuo %scompagno di squadra^BG ha la bandiera! Proteggilo!"
 
-#: qcsrc/common/notifications.qh:558
+#: qcsrc/common/notifications.qh:570
 #, c-format
 msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
 msgstr ""
 "^BGIl tuo %scompagno di squadra (^BG%s%s)^BG ha la bandiera! Proteggilo!"
 
-#: qcsrc/common/notifications.qh:559
+#: qcsrc/common/notifications.qh:571
 msgid "^BGYou returned the ^TC^TT^BG flag!"
 msgstr "^BGHai riportato la bandiera ^TC^TT^BG!"
 
-#: qcsrc/common/notifications.qh:560
+#: qcsrc/common/notifications.qh:572
 msgid "^BGStalemate! Enemies can now see you on radar!"
 msgstr "^BGStallo! I nemici ora possono vederti nel radar!"
 
-#: qcsrc/common/notifications.qh:561
+#: qcsrc/common/notifications.qh:573
 msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
 msgstr ""
 "^BGStallo! I portatori di bandiera ora possono essere visti dai nemici nel "
 "radar!"
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou fragged ^BG%s"
 msgstr "^K3%sHai fraggato ^BG%s"
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou scored against ^BG%s"
 msgstr "^K3%sHai segnato contro ^BG%s"
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s"
 msgstr "^K1%sSei stato fraggato da ^BG%s"
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s"
 msgstr "^K1%sTi ha segnato ^BG%s"
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s^BG%s"
 msgstr "^K1%sSei stato fraggato da ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^BG%s"
 msgstr "^K1%sTi è stato segnato da ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou fragged ^BG%s^BG%s"
 msgstr "^K3%sHai fraggato ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou scored against ^BG%s^BG%s"
 msgstr "^K3%sHai segnato contro ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
 msgstr "^K1%sHai segnato contro ^BG%s^K1 mentre stava scrivendo"
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s"
 msgstr "^K1%sHai fraggato ^BG%s mentre scriveva (typefrag)"
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
 msgstr "^K1%sSei stato segnato da ^BG%s^K1 mentre stavi scrivendo!"
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s"
 msgstr "^K1%sSei stato fraggato da ^BG%s mentre scrivevi (typefrag)"
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
 msgstr "^K1%sSei stato segnato da ^BG%s^K1 mentre stavi scrivendo^BG%s"
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
 msgstr "^K1%sSei stato fraggato da ^BG%s^BG%s mentre scrivevi (typefrag)"
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
 msgstr "^K1%sHai segnato contro ^BG%s^K1 mentre stava scrivendo^BG%s"
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s^BG%s"
 msgstr "^K1%sHai fraggato ^BG%s^BG%s mentre scriveva (typefrag)"
 
-#: qcsrc/common/notifications.qh:570
+#: qcsrc/common/notifications.qh:582
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
 msgstr "^BGPremi ^F2DROPWEAPON^BG di nuovo per lanciare la granata!"
 
-#: qcsrc/common/notifications.qh:571
+#: qcsrc/common/notifications.qh:583
 #, c-format
 msgid ""
 "^BGYou have been moved into a different team\n"
@@ -2566,193 +2644,201 @@ msgstr ""
 "^BGSei stato spostato in un'altra squadra\n"
 "Ora sei in: %s"
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't go against your team mates!"
 msgstr "^K1Non andare contro i tuoi compagni di squadra!"
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't shoot your team mates!"
 msgstr "^K1Non sparare ai tuoi compagni di squadra!"
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Die camper!"
 msgstr "^K1Muori camper!"
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Reconsider your tactics, camper!"
 msgstr "^K1Riconsidera le tue tattiche, camper!"
 
-#: qcsrc/common/notifications.qh:574
+#: qcsrc/common/notifications.qh:586
 msgid "^K1You unfairly eliminated yourself!"
 msgstr "^K1Ti sei eliminato slealmente!"
 
-#: qcsrc/common/notifications.qh:575
+#: qcsrc/common/notifications.qh:587
 #, c-format
 msgid "^K1You were %s"
 msgstr "^K1Sei stato %s"
 
-#: qcsrc/common/notifications.qh:576
+#: qcsrc/common/notifications.qh:588
 msgid "^K1You couldn't catch your breath!"
 msgstr "^K1Non sei riuscito a trattenere il fiato!"
 
-#: qcsrc/common/notifications.qh:577
+#: qcsrc/common/notifications.qh:589
 msgid "^K1You hit the ground with a crunch!"
 msgstr "^K1Ti sei schiantato a terra!"
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You felt a little too hot!"
 msgstr "^K1Hai sentito un pò troppo caldo!"
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You got a little bit too crispy!"
 msgstr "^K1Sei diventato un pò troppo croccante!"
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You killed your own dumb self!"
 msgstr "^K1Ti sei ucciso, tonto!"
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You need to be more careful!"
 msgstr "^K1Devi essere più prudente!"
 
-#: qcsrc/common/notifications.qh:580
+#: qcsrc/common/notifications.qh:592
 msgid "^K1You couldn't stand the heat!"
 msgstr "^K1Non hai resistito al calore!"
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr "^K1Devi fare attenzione ai mostri!"
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr "^K1Sei stato ucciso da un mostro!"
+
+#: qcsrc/common/notifications.qh:594
 msgid "^K1Tastes like chicken!"
 msgstr "^K1Sa di pollo!"
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:594
 msgid "^K1You forgot to put the pin back in!"
 msgstr "^K1Ti sei dimenticato di reinserire la sicura!"
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You are respawning for running out of ammo..."
 msgstr "^K1Stai rinascendo per mancanza di munizioni..."
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You were killed for running out of ammo..."
 msgstr "^K1Sei stato ucciso per mancanza di munizioni..."
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You grew too old without taking your medicine"
 msgstr "^K1Sei diventato troppo vecchio senza prendere le tue medicine"
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You need to preserve your health"
 msgstr "^K1Devi preservare la tua vita"
 
-#: qcsrc/common/notifications.qh:584
+#: qcsrc/common/notifications.qh:597
 msgid "^K1You became a shooting star!"
 msgstr "^K1Sei diventato una stella cadente!"
 
-#: qcsrc/common/notifications.qh:585
+#: qcsrc/common/notifications.qh:598
 msgid "^K1You melted away in slime!"
 msgstr "^K1Ti sei sciolto nel fango!"
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You committed suicide!"
 msgstr "^K1Ti sei suicidato!"
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You ended it all!"
 msgstr "^K1Hai messo fine a tutto!"
 
-#: qcsrc/common/notifications.qh:587
+#: qcsrc/common/notifications.qh:600
 msgid "^K1You got stuck in a swamp!"
 msgstr "^K1Sei rimasto bloccato in una palude!"
 
-#: qcsrc/common/notifications.qh:588
+#: qcsrc/common/notifications.qh:601
 #, c-format
 msgid "^BGYou are now on: %s"
 msgstr "^BGOra sei nella: %s"
 
-#: qcsrc/common/notifications.qh:589
+#: qcsrc/common/notifications.qh:602
 msgid "^K1You died in an accident!"
 msgstr "^K1Sei morto in un incidente!"
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You had an unfortunate run in with a turret!"
 msgstr "^K1Hai avuto un incontro sfortunato con una torretta!"
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You were fragged by a turret!"
 msgstr "^K1Sei stato fraggato da una torretta!"
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You had an unfortunate run in with an eWheel turret!"
 msgstr "^K1Hai avuto un incontro sfortunato con una torretta eWheel!"
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You were fragged by an eWheel turret!"
 msgstr "^K1Sei stato fraggato da una torretta eWheel!"
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You had an unfortunate run in with a Walker turret!"
 msgstr "^K1Hai avuto un incontro sfortunato con una torretta eWheel!"
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You were fragged by a Walker turret!"
 msgstr "^K1Sei stato fraggato da una torretta Walker!"
 
-#: qcsrc/common/notifications.qh:593
+#: qcsrc/common/notifications.qh:606
 msgid "^K1You got caught in the blast of a Bumblebee explosion!"
 msgstr "^K1Sei stato coinvolto nello scoppio dell'esplosione di un Bumblebee!"
 
-#: qcsrc/common/notifications.qh:594
+#: qcsrc/common/notifications.qh:607
 msgid "^K1You were crushed by a vehicle!"
 msgstr "^K1Sei stato schiacciato da un veicolo!"
 
-#: qcsrc/common/notifications.qh:595
+#: qcsrc/common/notifications.qh:608
 msgid "^K1You were caught in a Raptor cluster bomb!"
 msgstr "^K1Sei stato preso dalla bomba a grappolo di un Raptor!"
 
-#: qcsrc/common/notifications.qh:596
+#: qcsrc/common/notifications.qh:609
 msgid "^K1You got caught in the blast of a Raptor explosion!"
 msgstr "^K1Sei stato coinvolto nello scoppio dell'esplosione di un Raptor!"
 
-#: qcsrc/common/notifications.qh:597
+#: qcsrc/common/notifications.qh:610
 msgid "^K1You got caught in the blast of a Spiderbot explosion!"
 msgstr "^K1Sei stato coinvolto nello scoppio dell'esplosione di uno Spiderbot!"
 
-#: qcsrc/common/notifications.qh:598
+#: qcsrc/common/notifications.qh:611
 msgid "^K1You were blasted to bits by a Spiderbot rocket!"
 msgstr "^K1Sei stato fatto esplodere in pezzi dal razzo di uno Spiderbot!"
 
-#: qcsrc/common/notifications.qh:599
+#: qcsrc/common/notifications.qh:612
 msgid "^K1You got caught in the blast of a Racer explosion!"
 msgstr "^K1Sei stato coinvolto nello scoppio dell'esplosione di un Racer!"
 
-#: qcsrc/common/notifications.qh:600
+#: qcsrc/common/notifications.qh:613
 msgid "^K1You couldn't find shelter from a Racer rocket!"
 msgstr "^K1Non sei riuscito a trovare riparo dal razzo di un Racer!"
 
-#: qcsrc/common/notifications.qh:601
+#: qcsrc/common/notifications.qh:614
 msgid "^K1Watch your step!"
 msgstr "^K1Attento a dove metti i piedi!"
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
 msgstr "^K1Idiota! Hai fraggato ^BG%s^K1, un compagno di squadra!"
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
 msgstr "^K1Idiota! Sei andato contro ^BG%s^K1, un compagno di squadra!"
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were fragged by ^BG%s^K1, a team mate"
 msgstr "^K1Sei stato fraggato da ^BG%s^K1, un compagno di squadra"
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were scored against by ^BG%s^K1, a team mate"
 msgstr "^K1Sei stato segnato da ^BG%s^K1, un compagno di squadra"
 
-#: qcsrc/common/notifications.qh:604
+#: qcsrc/common/notifications.qh:617
 msgid ""
 "^K1Stop idling!\n"
 "^BGDisconnecting in ^COUNT..."
@@ -2760,48 +2846,53 @@ msgstr ""
 "^K1Smettila di non far nulla!\n"
 "^BGDisconnessione in ^COUNT..."
 
-#: qcsrc/common/notifications.qh:605
+#: qcsrc/common/notifications.qh:618
 msgid "^F2You picked up some extra lives"
 msgstr "^F2Hai preso alcune vite extra"
 
-#: qcsrc/common/notifications.qh:606
+#: qcsrc/common/notifications.qh:619
 #, c-format
 msgid "^K3You froze ^BG%s"
 msgstr "^K3Hai congelato ^BG%s"
 
-#: qcsrc/common/notifications.qh:607
+#: qcsrc/common/notifications.qh:620
 #, c-format
 msgid "^K1You were frozen by ^BG%s"
 msgstr "^K1Sei stato congelato da ^BG%s"
 
-#: qcsrc/common/notifications.qh:608
+#: qcsrc/common/notifications.qh:621
 #, c-format
 msgid "^K3You revived ^BG%s"
 msgstr "^K3Hai risvegliato ^BG%s"
 
-#: qcsrc/common/notifications.qh:609
+#: qcsrc/common/notifications.qh:622
 msgid "^K3You revived yourself"
 msgstr "^K3Ti sei risvegliato da solo"
 
-#: qcsrc/common/notifications.qh:610
+#: qcsrc/common/notifications.qh:623
 #, c-format
 msgid "^K3You were revived by ^BG%s"
 msgstr "^K3Sei stato risvegliato da ^BG%s"
 
-#: qcsrc/common/notifications.qh:611
+#: qcsrc/common/notifications.qh:624
 #, c-format
 msgid "^K3You were automatically revived after %s second(s)"
 msgstr "^K3Sei stato risvegliato automaticamente dopo %s secondi"
 
-#: qcsrc/common/notifications.qh:614
+#: qcsrc/common/notifications.qh:627
 msgid "^K1You froze yourself"
 msgstr "^K1Ti sei congelato da solo"
 
-#: qcsrc/common/notifications.qh:615
+#: qcsrc/common/notifications.qh:628
 msgid "^K1Round already started, you spawn as frozen"
 msgstr "^K1Round già iniziato, nasci come congelato"
 
-#: qcsrc/common/notifications.qh:622
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr "^K1E' arrivato un %s!"
+
+#: qcsrc/common/notifications.qh:636
 msgid ""
 "^K1No spawnpoints available!\n"
 "Hope your team can fix it..."
@@ -2809,7 +2900,7 @@ msgstr ""
 "^K1Nessun punto di nascita disponibile!\n"
 "Spero che la tua squadra possa rimediare a questo..."
 
-#: qcsrc/common/notifications.qh:623
+#: qcsrc/common/notifications.qh:637
 msgid ""
 "^K1You may not join the game at this time.\n"
 "The player limit reached maximum capacity."
@@ -2817,11 +2908,15 @@ msgstr ""
 "^K1Non puoi entrare in gioco in questo momento.\n"
 "Il limite dei giocatori ha raggiunto la massima capacità."
 
-#: qcsrc/common/notifications.qh:626
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
 msgid "^BGKilling people while you don't have the ball gives no points!"
 msgstr "^BGAmmazzare le persone quando non hai la palla non dà punti!"
 
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:642
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Help the key carriers to meet!"
@@ -2829,15 +2924,15 @@ msgstr ""
 "^BGTutte le chiavi sono in mano alla tua squadra!\n"
 "Aiuta i portatori di chiavi a incontrarsi!"
 
-#: qcsrc/common/notifications.qh:628
+#: qcsrc/common/notifications.qh:643
 msgid ""
 "^BGAll keys are in ^TC^TT team^BG's hands!\n"
 "Interfere ^F4NOW^BG!"
 msgstr ""
-"^BGTutte le chiavi sono in mano alla squadra ^TC^TT!\n"
+"^BGTutte le chiavi sono in mano alla squadra ^TC^TT^BG!\n"
 "Interferisci ^F4ORA^BG!"
 
-#: qcsrc/common/notifications.qh:629
+#: qcsrc/common/notifications.qh:644
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Meet the other key carriers ^F4NOW^BG!"
@@ -2845,19 +2940,19 @@ msgstr ""
 "^BGTutte le chiavi sono in mano alla tua squadra!\n"
 "Incxontra gli altri portatori di chiavi ^F4ORA^BG!"
 
-#: qcsrc/common/notifications.qh:630
+#: qcsrc/common/notifications.qh:645
 msgid "^F4Round will start in ^COUNT"
 msgstr "^F4Il round incomincerà in ^COUNT"
 
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:646
 msgid "^BGScanning frequency range..."
 msgstr "^BGAnalizzando l'intervallo di frequenza..."
 
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:647
 msgid "^BGYou are starting with the ^TC^TT Key"
 msgstr "^BGStai iniziando con la Chiave ^TC^TT"
 
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
 #, c-format
 msgid ""
 "^BGWaiting for players to join...\n"
@@ -2866,38 +2961,38 @@ msgstr ""
 "^BGIn attesa che i giocatori entrino...\n"
 "Servono giocatori per: %s"
 
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:650
 #, c-format
 msgid "^BGWaiting for %s player(s) to join..."
 msgstr "^BGIn attesa che %s giocatore/i entrino..."
 
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:651
 msgid "^F4^COUNT^BG left to find some ammo!"
 msgstr "^F4^COUNT^BG rimanenti per trovare delle munizioni!"
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
 msgstr "^BGRaccogli delle munizioni o morirai in ^F4^COUNT^BG!"
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
 msgstr "^BGRaccogli delle munizioni! ^F4^COUNT^BG rimanenti!"
 
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:653
 #, c-format
 msgid "^F2Extra lives remaining: ^K1%s"
 msgstr "^F2Vite extra rimanenti: ^K1%s"
 
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:654
 msgid "^BGSecondary fire inflicts no damage!"
 msgstr "^BGIl fuoco secondario non infligge alcun danno!"
 
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:655
 #, c-format
 msgid "^BG%s"
 msgstr "^BG%s"
 
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:656
 #, c-format
 msgid ""
 "^F2^COUNT^BG until weapon change...\n"
@@ -2906,16 +3001,16 @@ msgstr ""
 "^F2^COUNT^BG al cambio d'arma...\n"
 "Prossima arma: ^F1%s"
 
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:657
 #, c-format
 msgid "^F2Active weapon: ^F1%s"
 msgstr "^F2Arma attiva: ^F1%s"
 
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:658
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
 msgstr "^BGPremere ^F2DROPWEAPON^BG di nuovo per lanciare la granata!"
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep fragging until we have a winner!"
@@ -2923,7 +3018,7 @@ msgstr ""
 "^F2Si giocano i ^F4SUPPLEMENTARI^F2!\n"
 "Continua a fraggare finché non c'è un vincitore!"
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep scoring until we have a winner!"
@@ -2931,7 +3026,7 @@ msgstr ""
 "^F2Si giocano i ^F4SUPPLEMENTARI^F2!\n"
 "Continua a segnare finché non c'è un vincitore!"
 
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:660
 #, c-format
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
@@ -2940,210 +3035,210 @@ msgstr ""
 "^F2Si giocano i ^F4SUPPLEMENTARI^F2!\n"
 "^BGAggiunti ^F4%s^BG alla partita!"
 
-#: qcsrc/common/notifications.qh:646
+#: qcsrc/common/notifications.qh:661
 msgid "^F2Invisibility has worn off"
 msgstr "^F2L'invisibilità è scaduta"
 
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:662
 msgid "^F2Shield has worn off"
 msgstr "^F2L'invisibilità è scaduta"
 
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:663
 msgid "^F2Speed has worn off"
 msgstr "^F2La Velocità è scaduta"
 
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:664
 msgid "^F2Strength has worn off"
 msgstr "^F2La Forza è scaduta"
 
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:665
 msgid "^F2You are invisible"
 msgstr "^F2Sei invisibile"
 
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:666
 msgid "^F2Shield surrounds you"
 msgstr "^F2Lo scudo ti circonda"
 
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:667
 msgid "^F2You are on speed"
 msgstr "^F2Sei veloce"
 
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:668
 msgid "^F2Strength infuses your weapons with devastating power"
 msgstr "^F2La Forza infonde alle tue armi un potere devastante"
 
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:669
 msgid "^F2The race is over, finish your lap!"
 msgstr "^F2La gara è finita, completa il tuo giro!"
 
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:670
 msgid "^F2Superweapons have broken down"
 msgstr "^F2Le Superarmi si sono spaccate"
 
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:671
 msgid "^F2Superweapons have been lost"
 msgstr "^F2Le Superarmi sono state perse"
 
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:672
 msgid "^F2You now have a superweapon"
 msgstr "^F2Ora hai una superarma"
 
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:673
 msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
 msgstr "^K1Cambiando alla ^TC^TT^K1 in ^COUNT"
 
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:674
 msgid "^K1Changing team in ^COUNT"
 msgstr "^K1Cambiando squadra in ^COUNT"
 
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:675
 msgid "^K1Spectating in ^COUNT"
 msgstr "^K1Spettatore in ^COUNT"
 
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:676
 msgid "^K1Suicide in ^COUNT"
 msgstr "^K1Suicidio in ^COUNT"
 
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:677
 msgid "^F4Timeout begins in ^COUNT"
 msgstr "^F4Il timeout comincia in ^COUNT"
 
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:678
 msgid "^F4Timeout ends in ^COUNT"
 msgstr "^F4Il timeout finisce in ^COUNT"
 
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
 #, c-format
 msgid " (near %s)"
 msgstr " (vicino %s)"
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "primary"
 msgstr "primario"
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "secondary"
 msgstr "secondario"
 
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:980
 #, c-format
 msgid " ^F1(Press %s)"
 msgstr " ^F1(Premi %s)"
 
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:989
 #, c-format
 msgid " with %s"
 msgstr " con %s"
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
 msgstr "%s^K1 ha realizzato un TRIPLO FRAG! %s^BG"
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
 msgstr "%s^K1 ha realizzato un TRIPLO PUNTO! %s^BG"
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 msgid "TRIPLE FRAG! "
 msgstr "TRIPLO FRAG! "
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 ha realizzato QUINDICI PUNTI DI FILA! %s^BG"
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 unlocked RAGE! %s^BG"
 msgstr "%s^K1 scatena la FURIA! %s^BG"
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 msgid "RAGE! "
 msgstr "FURIA! "
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 ha realizzato ^1DIECI PUNTI DI FILA! %s^BG"
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 started a MASSACRE! %s^BG"
 msgstr "%s^K1 ha iniziato un MASSACRO! %s^BG"
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 msgid "MASSACRE! "
 msgstr "MASSACRO! "
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 executed MAYHEM! %s^BG"
 msgstr "%s^K1 ha causato un CAOS! %s^BG"
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 ha realizzato QUINDICI PUNTI DI FILA! %s^BG"
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 msgid "MAYHEM! "
 msgstr "CAOS! "
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 is a BERSERKER! %s^BG"
 msgstr "%s^K1 è un BERSERKER! %s^BG"
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 ha realizzato VENTI PUNTI DI FILA! %s^BG"
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 msgid "BERSERKER! "
 msgstr "BERSERKER! "
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 inflicts CARNAGE! %s^BG"
 msgstr "%s^K1 inflige una CARNEFICINA! %s^BG"
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 ha realizzato VENTICINQUE PUNTI DI FILA! %s^BG"
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 msgid "CARNAGE! "
 msgstr "CARNEFICINA! "
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 ha realizzato TRENTA PUNTI DI FILA! %s^BG"
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
 msgstr "%s^K1 scatena l'ARMAGEDDON! %s^BG"
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 msgid "ARMAGEDDON! "
 msgstr "ARMAGEDDON! "
 
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1010
 #, c-format
 msgid "%s(^F1Bot^BG)"
 msgstr "%s(^F1Bot^BG)"
 
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1012
 #, c-format
 msgid "%s(Ping ^F1%d^BG)"
 msgstr "%s(Ping ^F1%d^BG)"
 
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1018
 #, c-format
 msgid ""
 "\n"
@@ -3152,7 +3247,7 @@ msgstr ""
 "\n"
 "(Vita ^1%d^BG / Armatura ^2%d^BG)%s"
 
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1020
 #, c-format
 msgid ""
 "\n"
@@ -3161,68 +3256,68 @@ msgstr ""
 "\n"
 "(^F4Morto^BG)%s"
 
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
 #, c-format
 msgid "%d score spree! "
 msgstr "serie di %d punti! "
 
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1069
 #, c-format
 msgid "%d frag spree! "
 msgstr "serie di %d frag! "
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First blood! "
 msgstr "Prima uccisione!"
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First score! "
 msgstr "Primo punto! "
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First casualty! "
 msgstr "Primo incidente! "
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First victim! "
 msgstr "Prima vittima! "
 
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1127
 #, c-format
 msgid "%s^K1 has %d frags in a row! %s^BG"
 msgstr "%s^K1 ha %d frag di fila! %s^BG"
 
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1128
 #, c-format
 msgid "%s^K1 made %d scores in a row! %s^BG"
 msgstr "%s^K1 ha fatto %d punti di fila! %s^BG"
 
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1146
 #, c-format
 msgid "%s^K1 drew first blood! %s^BG"
 msgstr "%s^K1 ha fatto la prima uccisione! %s^BG"
 
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1147
 #, c-format
 msgid "%s^K1 got the first score! %s^BG"
 msgstr "%s^K1 ha ottenuto il primo punto! %s^BG"
 
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1163
 #, c-format
 msgid ", ending their %d frag spree"
 msgstr ", finendo la sua serie di %d frag"
 
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1164
 #, c-format
 msgid ", ending their %d score spree"
 msgstr ", finendo la sua serie di %d punti"
 
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1178
 #, c-format
 msgid ", losing their %d frag spree"
 msgstr ", perdendo la sua serie di %d frag"
 
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1179
 #, c-format
 msgid ", losing their %d score spree"
 msgstr ", perdendo la sua serie di %d punti"
@@ -3263,11 +3358,11 @@ msgstr "  sync - ricarica tutte le cvar sulla corrente pagina\n"
 msgid "  directmenu ITEM - select a menu item as main item\n"
 msgstr "  directmenu OGGETTO - seleziona un oggetto come il principale\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:62
+#: qcsrc/menu/command/menu_cmd.qc:68
 msgid "Available options:\n"
 msgstr "Opzioni disponibili:\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:113
+#: qcsrc/menu/command/menu_cmd.qc:119
 msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
 msgstr ""
 "Comando non valido. Per una lista dei comandi supportati, prova menu_cmd "
@@ -3280,7 +3375,7 @@ msgstr ""
 "NOTA: testo dell'etichetta %s troppo grande per l'etichetta, compresso di un "
 "fattore %f\n"
 
-#: qcsrc/menu/item/listbox.c:302
+#: qcsrc/menu/item/listbox.c:382
 #, c-format
 msgid "Item %d"
 msgstr "Oggetto %d"
@@ -3309,23 +3404,27 @@ msgstr "???"
 msgid "Level %d: %s"
 msgstr "Livello %d: %s"
 
-#: qcsrc/menu/xonotic/cvarlist.c:85
-msgid "will be saved to config.cfg"
-msgstr "sarà salvato su config.cfg"
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr "forzata ad essere salvata in config.cfg"
 
-#: qcsrc/menu/xonotic/cvarlist.c:87
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
 msgid "will not be saved"
 msgstr "non sarà salvato"
 
-#: qcsrc/menu/xonotic/cvarlist.c:89
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr "sarà salvato su config.cfg"
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
 msgid "private"
 msgstr "privata"
 
-#: qcsrc/menu/xonotic/cvarlist.c:91
+#: qcsrc/menu/xonotic/cvarlist.c:95
 msgid "engine setting"
 msgstr "impostazioni motore"
 
-#: qcsrc/menu/xonotic/cvarlist.c:93
+#: qcsrc/menu/xonotic/cvarlist.c:97
 msgid "read only"
 msgstr "sola lettura"
 
@@ -3334,6 +3433,7 @@ msgid "Credits"
 msgstr "Crediti"
 
 #: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
@@ -3342,7 +3442,7 @@ msgstr "Crediti"
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:77
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
 #: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
 msgid "OK"
 msgstr "OK"
@@ -3351,7 +3451,7 @@ msgstr "OK"
 msgid "Welcome"
 msgstr "Benvenuto"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:40
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
 msgid ""
 "Welcome to Xonotic, please select your language preference and enter your "
 "player name to get started.  You can change these options later through the "
@@ -3361,36 +3461,36 @@ msgstr ""
 "nome come giocatore per iniziare.  Puoi cambiare queste opzioni più tardi "
 "tramite il menu."
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
 msgid "Name:"
 msgstr "Nome:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:68
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
 #: qcsrc/menu/xonotic/dialog_settings_user.c:65
 msgid "Text language:"
 msgstr "Lingua di testo:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
 msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
 msgstr ""
 "Consenti alle statistiche dei giocatori di usare il tuo nome (nick) in stats."
 "xonotic.org?"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
 msgid "ALWU2N^Yes"
 msgstr "Sì"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
 msgid "ALWU2N^No"
 msgstr "No"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
 msgid "ALWU2N^Undecided"
 msgstr "Indeciso"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
 msgid "Save settings"
 msgstr "Salva impostazioni"
 
@@ -3708,7 +3808,7 @@ msgstr "Radar:"
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
-#: qcsrc/menu/xonotic/util.qc:708
+#: qcsrc/menu/xonotic/util.qc:758
 msgid "Alpha:"
 msgstr "Opacità:"
 
@@ -3803,7 +3903,7 @@ msgstr "Pannello di voto"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:23
 msgid "Alpha after voting:"
-msgstr "Opacità dopo aver votato:"
+msgstr "Opacità dopo votazione:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:4
 msgid "Weapons Panel"
@@ -3890,37 +3990,37 @@ msgstr "Setup del Panel HUD"
 msgid "Panel background defaults:"
 msgstr "Predefiniti dello sfondo del pannello:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:683
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
 msgid "Background:"
 msgstr "Sfondo:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:686
-#: qcsrc/menu/xonotic/util.qc:702 qcsrc/menu/xonotic/util.qc:719
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
 msgid "Disable"
 msgstr "Disabilita"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:691
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
 msgid "Color:"
 msgstr "Colore:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:699
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
 msgid "Border size:"
 msgstr "Dimensioni bordo:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:51
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:90
 msgid "Team color:"
-msgstr "Colore team:"
+msgstr "Colore squadra:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:725
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
 msgid "Test team color in configure mode"
-msgstr "Prova colore team in modalità configurazione"
+msgstr "Prova colore squadra in modalità configurazione"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:728
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
 msgid "Padding:"
 msgstr "Riempimento:"
 
@@ -3968,6 +4068,53 @@ msgstr "Y:"
 msgid "Exit setup"
 msgstr "Esci dal setup"
 
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr "Attrezzi Mostro"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr "Mostro:"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr "Crea"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr "Rimuovi"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr "Muovi obiettivo:"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr "Segui"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr "Vaga"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr "Punto di nascita"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr "Blocca"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr "Colori:"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr "Imposta skin:"
+
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:4
 msgid "Multiplayer"
 msgstr "Multiplayer"
@@ -4009,6 +4156,7 @@ msgstr "Usa le impostazioni di default della mappa"
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
 msgid "Point limit:"
 msgstr "Limite di punteggio:"
 
@@ -4073,7 +4221,7 @@ msgid "Mutators..."
 msgstr "Mutatori..."
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
 msgid "Advanced settings..."
 msgstr "Impostazioni avanzate..."
 
@@ -4109,7 +4257,7 @@ msgstr "Giri:"
 msgid "Goals:"
 msgstr "Goal:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
 msgid "Frag limit:"
 msgstr "Limite di frag:"
 
@@ -4155,15 +4303,15 @@ msgstr "Penalità virtuale (solo effetto)"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:57
 msgid "Teams:"
-msgstr "Team:"
+msgstr "Squadre:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:66
 msgid "Map voting:"
-msgstr "Voto della mappa:"
+msgstr "Votazione mappa:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:68
 msgid "No voting"
-msgstr "Nessun voto"
+msgstr "No votazione"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:69
 msgid "2 choices"
@@ -4409,27 +4557,31 @@ msgid "Join"
 msgstr "Entra"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr "Categorie"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
 msgid "SRVS^Empty"
 msgstr "Vuoti"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:37
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
 msgid "SRVS^Full"
 msgstr "Pieni"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:41
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
 msgid "Pause"
 msgstr "In pausa"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:53
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
 msgid "Address:"
 msgstr "Indirizzo:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:64
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
 msgid "Info..."
 msgstr "Info..."
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:69
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
 msgid "Join!"
 msgstr "Entra!"
@@ -4444,9 +4596,9 @@ msgid "%d/%d"
 msgstr "%d/%d"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
-#: qcsrc/menu/xonotic/util.qc:685 qcsrc/menu/xonotic/util.qc:701
-#: qcsrc/menu/xonotic/util.qc:710 qcsrc/menu/xonotic/util.qc:718
-#: qcsrc/menu/xonotic/util.qc:730
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
 msgid "Default"
 msgstr "Predefinito"
 
@@ -4890,7 +5042,7 @@ msgstr "Usa la lista di priorità per ciclare le armi"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43
 msgid "Auto switch weapons on pickup"
-msgstr "Cambia automaticamente armi dopo raccolta"
+msgstr "Cambia automaticamente arma alla raccolta"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:46
 msgid "Draw 1st person weapon model"
@@ -4924,10 +5076,6 @@ msgstr "No"
 msgid "Sandbox Tools"
 msgstr "Attrezzi Sandbox"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
-msgid "Spawn"
-msgstr "Crea"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
 msgid "Remove *"
 msgstr "Rimuovi *"
@@ -4960,10 +5108,6 @@ msgstr "Stacca da *"
 msgid "Visual object properties for *:"
 msgstr "Proprietà visuali dell'oggetto per *:"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
-msgid "Set skin:"
-msgstr "Imposta skin:"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
 msgid "Set alpha:"
 msgstr "Imposta opacità:"
@@ -5080,7 +5224,7 @@ msgstr "Utente"
 #: qcsrc/menu/xonotic/dialog_settings.c:23
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:4
 msgid "Misc"
-msgstr "Altro"
+msgstr "Vari"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:27
 msgid "Master:"
@@ -5257,7 +5401,7 @@ msgstr "Preset qualità:"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:41
 msgid "PRE^OMG!"
-msgstr "Oh mio dio!"
+msgstr "Mio dio!"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:42
 msgid "PRE^Low"
@@ -5595,175 +5739,179 @@ msgid "Client UDP port:"
 msgstr "Porta UDP del client:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "Use encryption (AES) when available"
+msgstr "Use crittografia (AES) quando disponibile"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
 msgid "Show netgraph"
 msgstr "Mostra grafico di rete"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
 msgid "Client-side movement prediction"
 msgstr "Predizione del movimento lato client"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:63
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
 msgid "Movement error compensation"
 msgstr "Compensazione errori movimento"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
 msgid "Downloads:"
 msgstr "N° di download:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:70
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:82
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
 msgid "Maximum:"
 msgstr "Massimo:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
 msgid "Speed (kB/s):"
 msgstr "Velocità (kB/s):"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:79
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
 msgid "Framerate:"
 msgstr "Framerate:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:84
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
 msgid "MAXFPS^5 fps"
 msgstr "5 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:85
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
 msgid "MAXFPS^10 fps"
 msgstr "10 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
 msgid "MAXFPS^20 fps"
 msgstr "20 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:87
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
 msgid "MAXFPS^30 fps"
 msgstr "30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
 msgid "MAXFPS^40 fps"
 msgstr "40 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
 msgid "MAXFPS^50 fps"
 msgstr "50 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
 msgid "MAXFPS^60 fps"
 msgstr "60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
 msgid "MAXFPS^70 fps"
 msgstr "70 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
 msgid "MAXFPS^100 fps"
 msgstr "100 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
 msgid "MAXFPS^125 fps"
 msgstr "125 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
 msgid "MAXFPS^200 fps"
 msgstr "200 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
 msgid "MAXFPS^Unlimited"
 msgstr "Illimitato"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
 msgid "Target:"
 msgstr "Obiettivo:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:101
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
 msgid "TRGT^Disabled"
 msgstr "Disabilitato"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:102
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
 msgid "TRGT^30 fps"
 msgstr "30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
 msgid "TRGT^40 fps"
 msgstr "40 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:104
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
 msgid "TRGT^50 fps"
 msgstr "50 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
 msgid "TRGT^60 fps"
 msgstr "60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
 msgid "TRGT^100 fps"
 msgstr "100 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
 msgid "TRGT^125 fps"
 msgstr "125 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
 msgid "TRGT^200 fps"
 msgstr "200 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
 msgid "Idle limit:"
 msgstr "Limite inattività:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:114
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
 msgid "IDLFPS^10 fps"
 msgstr "10 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:115
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
 msgid "IDLFPS^20 fps"
 msgstr "20 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
 msgid "IDLFPS^30 fps"
 msgstr "30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:117
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
 msgid "IDLFPS^60 fps"
 msgstr "60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
 msgid "IDLFPS^Unlimited"
 msgstr "Illimitato"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:123
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
 msgid "Show frames per second"
 msgstr "Mostra fotogrammi al secondo"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:126
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
 msgid "Save processing time for other apps"
 msgstr "Risparmia tempo di calcolo per altri programmi"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
 msgid "Menu tooltips:"
 msgstr "Tooltip del menu:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:132
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
 msgid "TLTIP^Disabled"
 msgstr "Disabilitati"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:133
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
 msgid "TLTIP^Standard"
 msgstr "Standard"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
 msgid "TLTIP^Advanced"
 msgstr "Avanzati"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
 msgid "Show current time"
 msgstr "Mostra orario corrente"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:140
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
 msgid "Show current date"
 msgstr "Mostra data corrente"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
 msgid "Enable developer mode"
 msgstr "Abilita modo sviluppatore"
 
@@ -5787,7 +5935,7 @@ msgstr "Tipo:"
 msgid "Value:"
 msgstr "Valore:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:72
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
 msgid "Description:"
 msgstr "Descrizione:"
 
@@ -5815,6 +5963,26 @@ msgstr "Consenti alle statistiche dei giocatori di tracciare il tuo client"
 msgid "Allow player statistics to use your nickname"
 msgstr "Consenti alle statistiche dei giocatori di usare il tuo nome (nick)"
 
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
 #: qcsrc/menu/xonotic/dialog_settings_video.c:26
 msgid "Resolution:"
 msgstr "Risoluzione:"
@@ -6039,11 +6207,11 @@ msgstr "Vincitore"
 
 #: qcsrc/menu/xonotic/dialog_teamselect.c:5
 msgid "Team Selection"
-msgstr "Selezione team"
+msgstr "Selezione squadra"
 
 #: qcsrc/menu/xonotic/dialog_teamselect.c:42
 msgid "join 'best' team (auto-select)"
-msgstr "entra nel 'miglior' team (auto-selezione)"
+msgstr "entra nella 'migliore' squadra (auto-selezione)"
 
 #: qcsrc/menu/xonotic/dialog_teamselect.c:46
 msgid "red"
@@ -6065,7 +6233,7 @@ msgstr "rosa"
 msgid "spectate"
 msgstr "spettatore"
 
-#: qcsrc/menu/xonotic/mainwindow.c:39 qcsrc/menu/xonotic/mainwindow.c:42
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
 msgid "Do not press this button again!"
 msgstr "Non premere questo tasto di nuovo!"
 
@@ -6096,31 +6264,63 @@ msgstr "spettatore"
 msgid "<no model found>"
 msgstr "<nessun modello trovato>"
 
-#: qcsrc/menu/xonotic/serverlist.c:190
-msgid "Remove"
-msgstr "Rimuovi"
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr "Favoriti"
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
+msgstr "Raccommandati"
+
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
+msgstr "Server Normali"
+
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr "Server"
+
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr "Modo Competitivo"
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr "Server Modificati"
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr "Modo Overkill"
 
-#: qcsrc/menu/xonotic/serverlist.c:192
-msgid "Bookmark"
-msgstr "Aggiungi tra i preferiti"
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr "Modo Minstagib"
 
-#: qcsrc/menu/xonotic/serverlist.c:553
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr "Modo Defrag"
+
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr "Favorito"
+
+#: qcsrc/menu/xonotic/serverlist.c:923
 msgid "Ping"
 msgstr "Ping"
 
-#: qcsrc/menu/xonotic/serverlist.c:554
+#: qcsrc/menu/xonotic/serverlist.c:924
 msgid "Host name"
 msgstr "Nome dell'host"
 
-#: qcsrc/menu/xonotic/serverlist.c:555
+#: qcsrc/menu/xonotic/serverlist.c:925
 msgid "Map"
 msgstr "Mappa"
 
-#: qcsrc/menu/xonotic/serverlist.c:556
+#: qcsrc/menu/xonotic/serverlist.c:926
 msgid "Type"
 msgstr "Tipo"
 
-#: qcsrc/menu/xonotic/serverlist.c:557
+#: qcsrc/menu/xonotic/serverlist.c:927
 msgid "Players"
 msgstr "Giocatori"
 
@@ -6160,31 +6360,31 @@ msgstr "%.2f %%"
 msgid "%s dB"
 msgstr "%s dB"
 
-#: qcsrc/menu/xonotic/slider_resolution.c:103
+#: qcsrc/menu/xonotic/slider_resolution.c:116
 #, c-format
 msgid "%dx%d (%d:%d)"
 msgstr "%dx%d (%d:%d)"
 
-#: qcsrc/menu/xonotic/slider_resolution.c:106
+#: qcsrc/menu/xonotic/slider_resolution.c:119
 #, c-format
 msgid "%dx%d"
 msgstr "%dx%d"
 
-#: qcsrc/menu/xonotic/util.qc:298
+#: qcsrc/menu/xonotic/util.qc:308
 #, c-format
 msgid "error receiving update notification: status is %d\n"
 msgstr ""
 "errore durante la notifica d'aggiornamento: lo stato è impostato su %d\n"
 
-#: qcsrc/menu/xonotic/util.qc:303
+#: qcsrc/menu/xonotic/util.qc:313
 msgid "error: received HTML instead of an update notification\n"
 msgstr "errore: ricevuto HTML invece di una notifica d'aggiornamento\n"
 
-#: qcsrc/menu/xonotic/util.qc:308
+#: qcsrc/menu/xonotic/util.qc:318
 msgid "error: received carriage returns from update notification server\n"
 msgstr "error: received carriage returns from update notification server\n"
 
-#: qcsrc/menu/xonotic/util.qc:329
+#: qcsrc/menu/xonotic/util.qc:397
 #, c-format
 msgid ""
 "Update can be downloaded at:\n"
@@ -6193,21 +6393,21 @@ msgstr ""
 "L'aggiornamento può essere scaricato da:\n"
 "%s\n"
 
-#: qcsrc/menu/xonotic/util.qc:447
+#: qcsrc/menu/xonotic/util.qc:497
 msgid "Autogenerating mapinfo for newly added maps..."
 msgstr "Autogenerando le mapinfo per le nuove mappe..."
 
-#: qcsrc/menu/xonotic/util.qc:476
+#: qcsrc/menu/xonotic/util.qc:526
 #, c-format
 msgid "^1%s TEST BUILD"
 msgstr "^1%s TEST BUILD"
 
-#: qcsrc/menu/xonotic/util.qc:491
+#: qcsrc/menu/xonotic/util.qc:541
 #, c-format
 msgid "Update to %s now!"
 msgstr "Aggiorna a %s ora!"
 
-#: qcsrc/menu/xonotic/util.qc:576
+#: qcsrc/menu/xonotic/util.qc:626
 msgid ""
 "^1ERROR: Texture compression is required but not supported.\n"
 "^1Expect visual problems.\n"
@@ -6215,13 +6415,13 @@ msgstr ""
 "^1ERRORE: La compressione texture è richiesta ma non supportata.\n"
 "^1Previsti problemi visuali.\n"
 
-#: qcsrc/menu/xonotic/util.qc:696
+#: qcsrc/menu/xonotic/util.qc:746
 msgid "Use default"
 msgstr "Usa predefinito"
 
-#: qcsrc/menu/xonotic/util.qc:716
+#: qcsrc/menu/xonotic/util.qc:766
 msgid "Team Color:"
-msgstr "Colore Team:"
+msgstr "Colore squadra:"
 
 #: qcsrc/menu/xonotic/util.qh:43
 msgid "Enable panel"
@@ -6230,7 +6430,7 @@ msgstr "Abilita pannello"
 #: qcsrc/menu/xonotic/weaponslist.c:102
 #, c-format
 msgid "%s (mutator weapon)"
-msgstr "%s (mutatore arma)"
+msgstr "%s (arma mutatore)"
 
 #: qcsrc/server/w_hlac.qc:11
 msgid "Heavy Laser Assault Cannon"
diff --git a/common.mk.po b/common.mk.po
new file mode 100644 (file)
index 0000000..75c6ecd
--- /dev/null
@@ -0,0 +1,6284 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Xonotic\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
+"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"Language-Team: Macedonian (http://www.transifex.com/projects/p/xonotic/"
+"language/mk/)\n"
+"Language: mk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
+
+#: qcsrc/client/Main.qc:21
+msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!"
+msgstr ""
+
+#: qcsrc/client/Main.qc:46
+msgid ""
+"^3Your engine build is outdated\n"
+"^3This Server uses a newer QC VM. Please update!\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:56
+#, c-format
+msgid "^4CSQC Build information: ^1%s\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:836
+#, c-format
+msgid ""
+"Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
+"%s)\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:1295
+#, c-format
+msgid "%s (not bound)"
+msgstr ""
+
+#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:157
+#, c-format
+msgid "%s (%s)"
+msgstr ""
+
+#: qcsrc/client/View.qc:1165
+msgid "Revival progress"
+msgstr ""
+
+#: qcsrc/client/hud.qc:186
+#, c-format
+msgid " (-%dL)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:191
+#, c-format
+msgid " (+%dL)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:210
+msgid "Start line"
+msgstr ""
+
+#: qcsrc/client/hud.qc:212 qcsrc/client/hud.qc:216
+msgid "Finish line"
+msgstr ""
+
+#: qcsrc/client/hud.qc:214
+#, c-format
+msgid "Intermediate %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:223
+#, c-format
+msgid "%s (%s %s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:832
+msgid "Out of ammo"
+msgstr ""
+
+#: qcsrc/client/hud.qc:836
+msgid "Don't have"
+msgstr ""
+
+#: qcsrc/client/hud.qc:840
+msgid "Unavailable"
+msgstr ""
+
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
+#, c-format
+msgid "Player %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2369
+msgid "^1Intermediate 1 (+15.42)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
+#, c-format
+msgid "^1PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2456
+#, c-format
+msgid "^2PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2486
+msgid "^1You must answer before entering hud configure mode\n"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2491
+msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2570
+msgid "A vote has been called for:"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2572
+msgid "Allow servers to store and display your name?"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2576
+msgid "^1Configure the HUD"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2580
+#, c-format
+msgid "Yes (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2582
+#, c-format
+msgid "No (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
+msgid "Personal best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
+msgid "Server best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3528
+msgid "^3Player^7: This is the chat area."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3593
+#, c-format
+msgid "FPS: %.*f"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3657
+msgid "^1Observing"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
+#, c-format
+msgid "^1Spectating: ^7%s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3667
+#, c-format
+msgid "^1Press ^3%s^1 to spectate"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3669
+#, c-format
+msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3673
+#, c-format
+msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3675
+#, c-format
+msgid "^1Press ^3%s^1 to observe"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3678
+#, c-format
+msgid "^1Press ^3%s^1 for gamemode info"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3686
+msgid "^1Match has already begun"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3688
+msgid "^1You have no more lives left"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
+#, c-format
+msgid "^1Press ^3%s^1 to join"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3701
+#, c-format
+msgid "^1Game starts in ^3%d^1 seconds"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3708
+msgid "^2Currently in ^1warmup^2 stage!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3723
+#, c-format
+msgid "%sPress ^3%s%s to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3725
+#, c-format
+msgid "%sPress ^3%s%s once you are ready"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3730
+msgid "^2Waiting for others to ready up to end warmup..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3732
+msgid "^2Waiting for others to ready up..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3738
+#, c-format
+msgid "^2Press ^3%s^2 to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3759
+msgid "Teamnumbers are unbalanced!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3764
+#, c-format
+msgid " Press ^3%s%s to adjust"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3772
+msgid "^7Press ^3ESC ^7to show HUD options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3774
+msgid "^3Doubleclick ^7a panel for panel-specific options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3776
+msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3778
+msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3825
+msgid " qu/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3829
+msgid " m/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3833
+msgid " km/h"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3837
+msgid " mph"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3841
+msgid " knots"
+msgstr ""
+
+#: qcsrc/client/hud.qc:4497
+msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
+msgstr ""
+
+#: qcsrc/client/hud_config.qc:196
+#, c-format
+msgid "^2Successfully exported to %s! (Note: It's saved in data/data/)\n"
+msgstr ""
+
+#: qcsrc/client/hud_config.qc:200
+#, c-format
+msgid "^1Couldn't write to %s\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:28
+msgid " (1 vote)"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:30
+#, c-format
+msgid " (%d votes)"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:118
+msgid "Don't care"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:203
+msgid "Vote for a map"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:209
+#, c-format
+msgid "%d seconds left"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:273
+msgid ""
+"mv_mapdownload: ^3You're not supposed to use this command on your own!\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:283
+msgid "^1Error:^7 Couldn't find pak index.\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:292
+msgid "Requesting preview...\n"
+msgstr ""
+
+#: qcsrc/client/miscfunctions.qc:101
+msgid "Trying to remove a team which is not in the teamlist!"
+msgstr ""
+
+#: qcsrc/client/movetypes.qc:227
+#, c-format
+msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr ""
+
+#: qcsrc/client/movetypes.qc:230
+#, c-format
+msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:19
+msgid "SCO^bckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:20
+msgid "SCO^bctime"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:21
+msgid "SCO^caps"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:22
+msgid "SCO^captime"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:23
+msgid "SCO^deaths"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:24
+msgid "SCO^destroyed"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:25
+msgid "SCO^drops"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:26
+msgid "SCO^faults"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:27
+msgid "SCO^fckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:28
+msgid "SCO^goals"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:29
+msgid "SCO^kckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:30
+msgid "SCO^kdratio"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:31
+msgid "SCO^k/d"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:32
+msgid "SCO^kd"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:33
+msgid "SCO^kdr"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:34
+msgid "SCO^kills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:35
+msgid "SCO^laps"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:36
+msgid "SCO^lives"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:37
+msgid "SCO^losses"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:38
+msgid "SCO^name"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:39
+msgid "SCO^sum"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:40
+msgid "SCO^nick"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:41
+msgid "SCO^objectives"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:42
+msgid "SCO^pickups"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:43
+msgid "SCO^ping"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:44
+msgid "SCO^pl"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:45
+msgid "SCO^pushes"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:46
+msgid "SCO^rank"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:47
+msgid "SCO^returns"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:48
+msgid "SCO^revivals"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:49
+msgid "SCO^score"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:50
+msgid "SCO^suicides"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:51
+msgid "SCO^takes"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:52
+msgid "SCO^ticks"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:237
+msgid ""
+"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:238
+msgid "^3|---------------------------------------------------------------|\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:239
+msgid "Usage:\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:240
+msgid "^2scoreboard_columns_set default\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:241
+msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:242
+msgid "The following field names are recognized (case insensitive):\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:243
+msgid ""
+"You can use a ^3|^7 to start the right-aligned fields.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:245
+msgid "^3name^7 or ^3nick^7             Name of a player\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:246
+msgid "^3ping^7                     Ping time\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:247
+msgid "^3pl^7                       Packet loss\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:248
+msgid "^3kills^7                    Number of kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:249
+msgid "^3deaths^7                   Number of deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:250
+msgid "^3suicides^7                 Number of suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:251
+msgid "^3frags^7                    kills - suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:252
+msgid "^3kd^7                       The kill-death ratio\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:253
+msgid "^3sum^7                      frags - deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:254
+msgid ""
+"^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
+"captured\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:255
+msgid ""
+"^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
+"ball (Keepaway) was picked up\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:256
+msgid "^3captime^7                  Time of fastest cap (CTF)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:257
+msgid "^3fckills^7                  Number of flag carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:258
+msgid "^3returns^7                  Number of flag returns\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:259
+msgid "^3drops^7                    Number of flag drops\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:260
+msgid "^3lives^7                    Number of lives (LMS)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:261
+msgid "^3rank^7                     Player rank\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:262
+msgid "^3pushes^7                   Number of players pushed into void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:263
+msgid ""
+"^3destroyed^7                Number of keys destroyed by pushing them into "
+"void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:264
+msgid "^3kckills^7                  Number of keys carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:265
+msgid "^3losses^7                   Number of times a key was lost\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:266
+msgid "^3laps^7                     Number of laps finished (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:267
+msgid "^3time^7                     Total time raced (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:268
+msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:269
+msgid "^3ticks^7                    Number of ticks (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:270
+msgid "^3takes^7                    Number of domination points taken (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:271
+msgid "^3bckills^7                  Number of ball carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:272
+msgid ""
+"^3bctime^7                   Total amount of time holding the ball in "
+"Keepaway\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:273
+msgid ""
+"^3score^7                    Total score\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:275
+msgid ""
+"Before a field you can put a + or - sign, then a comma separated list\n"
+"of game types, then a slash, to make the field show up only in these\n"
+"or in all but these game types. You can also specify 'all' as a\n"
+"field to show all fields available for the current game mode.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:280
+msgid ""
+"The special game type names 'teams' and 'noteams' can be used to\n"
+"include/exclude ALL teams/noteams game modes.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:283
+msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:284
+msgid ""
+"will display name, ping and pl aligned to the left, and the fields\n"
+"right of the vertical bar aligned to the right.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:286
+msgid ""
+"'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
+"other gamemodes except DM.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:240
+msgid "N/A"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:970
+#, c-format
+msgid "Accuracy stats (average %d%%)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1033
+#, c-format
+msgid "%d%%"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1099
+msgid "Map stats:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1124
+msgid "Secrets found:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1152
+msgid "Rankings"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1248
+msgid "Scoreboard"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1307
+#, c-format
+msgid "Speed award: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1311
+#, c-format
+msgid "All-time fastest: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1345
+msgid "Spectators"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1352
+#, c-format
+msgid "playing ^3%s^7 on ^2%s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
+#, c-format
+msgid " for up to ^1%1.0f minutes^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
+msgid " or"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
+#, c-format
+msgid " until ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
+msgid "SCO^points"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
+msgid "SCO^is beaten"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
+#, c-format
+msgid " until a lead of ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1419
+#, c-format
+msgid "^1Respawning in ^3%s^1..."
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1429
+#, c-format
+msgid "You are dead, wait ^3%s^7 before respawning"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1438
+#, c-format
+msgid "You are dead, press ^2%s^7 to respawn"
+msgstr ""
+
+#: qcsrc/client/target_music.qc:94 qcsrc/client/target_music.qc:183
+#, c-format
+msgid "Cannot initialize sound %s\n"
+msgstr ""
+
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
+msgid "Spam"
+msgstr ""
+
+#: qcsrc/client/tturrets.qc:308
+#, c-format
+msgid "%s under attack!"
+msgstr ""
+
+#: qcsrc/client/vehicles/vehicles.qc:331 qcsrc/client/vehicles/vehicles.qc:333
+msgid "No right gunner!"
+msgstr ""
+
+#: qcsrc/client/vehicles/vehicles.qc:353 qcsrc/client/vehicles/vehicles.qc:355
+msgid "No left gunner!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:246
+msgid "Push"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:247
+msgid "Destroy"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:248
+msgid "Defend"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:249
+msgid "Blue base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:250
+msgid "DANGER"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:251
+msgid "Enemy carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:252
+msgid "Flag carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:253
+msgid "Dropped flag"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:254
+msgid "Help me!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:255
+msgid "Here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:256
+msgid "Dropped key"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
+msgid "Key carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:258
+msgid "Run here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:263
+msgid "Red base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:264
+msgid "Waypoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
+msgid "Generator"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
+msgid "Control point"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:276
+msgid "Checkpoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
+msgid "Finish"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
+msgid "Start"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
+msgid "Ball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:283
+msgid "Ball carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
+msgid "Laser"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
+msgid "Shotgun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
+msgid "Machine Gun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
+msgid "Mortar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
+msgid "Electro"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
+msgid "Crylink"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
+msgid "Nex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
+msgid "Hagar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
+msgid "Rocket Launcher"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
+msgid "Port-O-Launch"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:294
+msgid "Minstanex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:295
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
+msgid "Hook"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
+msgid "Fireball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:297
+msgid "HLAC"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
+msgid "Rifle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
+msgid "Mine Layer"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:305
+msgid "Invisibility"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:306
+msgid "Extra life"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:307
+msgid "Speed"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:308
+msgid "Strength"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:309
+msgid "Shield"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:310
+msgid "Fuel regen"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:311
+msgid "Jet Pack"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:312
+msgid "Frozen!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:313
+msgid "Tagged"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:314
+msgid "Vehicle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:588
+#, c-format
+msgid "%s needing help!"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:31
+#, c-format
+msgid "error: status is %d\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:159
+msgid "error creating curl handle\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:263
+msgid "Notification dump command only works with cl_cmd and sv_cmd.\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:457
+msgid "Notification restart command only works with cl_cmd and sv_cmd.\n"
+msgstr ""
+
+#: qcsrc/common/counting.qh:5
+#, c-format
+msgid "CI_DEC^%s years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:7
+#, c-format
+msgid "CI_ZER^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:8
+#, c-format
+msgid "CI_FIR^%d year"
+msgstr ""
+
+#: qcsrc/common/counting.qh:9
+#, c-format
+msgid "CI_SEC^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:10
+#, c-format
+msgid "CI_THI^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:11
+#, c-format
+msgid "CI_MUL^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:13
+#, c-format
+msgid "CI_DEC^%s weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:15
+#, c-format
+msgid "CI_ZER^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:16
+#, c-format
+msgid "CI_FIR^%d week"
+msgstr ""
+
+#: qcsrc/common/counting.qh:17
+#, c-format
+msgid "CI_SEC^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:18
+#, c-format
+msgid "CI_THI^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:19
+#, c-format
+msgid "CI_MUL^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:21
+#, c-format
+msgid "CI_DEC^%s days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:23
+#, c-format
+msgid "CI_ZER^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:24
+#, c-format
+msgid "CI_FIR^%d day"
+msgstr ""
+
+#: qcsrc/common/counting.qh:25
+#, c-format
+msgid "CI_SEC^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:26
+#, c-format
+msgid "CI_THI^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:27
+#, c-format
+msgid "CI_MUL^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:29
+#, c-format
+msgid "CI_DEC^%s hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:31
+#, c-format
+msgid "CI_ZER^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:32
+#, c-format
+msgid "CI_FIR^%d hour"
+msgstr ""
+
+#: qcsrc/common/counting.qh:33
+#, c-format
+msgid "CI_SEC^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:34
+#, c-format
+msgid "CI_THI^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:35
+#, c-format
+msgid "CI_MUL^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:38
+#, c-format
+msgid "CI_DEC^%s minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:40
+#, c-format
+msgid "CI_ZER^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:41
+#, c-format
+msgid "CI_FIR^%d minute"
+msgstr ""
+
+#: qcsrc/common/counting.qh:42
+#, c-format
+msgid "CI_SEC^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:43
+#, c-format
+msgid "CI_THI^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:44
+#, c-format
+msgid "CI_MUL^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:46
+#, c-format
+msgid "CI_DEC^%s seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:48
+#, c-format
+msgid "CI_ZER^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:49
+#, c-format
+msgid "CI_FIR^%d second"
+msgstr ""
+
+#: qcsrc/common/counting.qh:50
+#, c-format
+msgid "CI_SEC^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:51
+#, c-format
+msgid "CI_THI^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:52
+#, c-format
+msgid "CI_MUL^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:68
+#, c-format
+msgid "%dst"
+msgstr ""
+
+#: qcsrc/common/counting.qh:69
+#, c-format
+msgid "%dnd"
+msgstr ""
+
+#: qcsrc/common/counting.qh:70
+#, c-format
+msgid "%drd"
+msgstr ""
+
+#: qcsrc/common/counting.qh:71 qcsrc/common/counting.qh:74
+#, c-format
+msgid "%dth"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:717
+#, no-c-format
+msgid "@!#%'n Tuba Throwing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
+#, c-format
+msgid "%s: %s"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:36
+msgid "Deathmatch"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:39
+msgid "Last Man Standing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:42
+msgid "Race"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:45
+msgid "Race CTS"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:48
+msgid "Team Deathmatch"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:51
+msgid "Capture the Flag"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:54
+msgid "Clan Arena"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:57
+msgid "Domination"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:60
+msgid "Key Hunt"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:63
+msgid "Assault"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:66
+msgid "Onslaught"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:69
+msgid "Nexball"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:72
+msgid "Freeze Tag"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:75
+msgid "Keepaway"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr ""
+
+#: qcsrc/common/net_notice.qc:89
+msgid "^1Server notices:"
+msgstr ""
+
+#: qcsrc/common/net_notice.qc:95
+#, c-format
+msgid "^7%s (^3%d sec left)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:343
+#, c-format
+msgid "^BG%s^BG captured the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:344
+#, c-format
+msgid ""
+"^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"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:345
+#, c-format
+msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:346
+#, c-format
+msgid ""
+"^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"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:347
+msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:348
+msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:349
+msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:350
+msgid ""
+"^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
+"base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:351
+#, c-format
+msgid ""
+"^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
+"itself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:352
+msgid "^BGThe ^TC^TT^BG flag has returned to the base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:353
+#, c-format
+msgid "^BG%s^BG lost the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:354
+#, c-format
+msgid "^BG%s^BG got the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
+#, c-format
+msgid "^BG%s^BG returned the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:357
+#, c-format
+msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:358
+#, c-format
+msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:359
+#, c-format
+msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:360
+#, c-format
+msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:360
+#, c-format
+msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:361
+#, c-format
+msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:363
+#, c-format
+msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:364
+#, c-format
+msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:365
+#, c-format
+msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:366
+#, c-format
+msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:367
+#, c-format
+msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:367
+#, c-format
+msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:368
+#, c-format
+msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:369
+#, c-format
+msgid ""
+"^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:370
+#, c-format
+msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:371
+#, c-format
+msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:372
+#, c-format
+msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:373
+#, c-format
+msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:374
+#, c-format
+msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:375
+#, c-format
+msgid ""
+"^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:376
+#, c-format
+msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:377
+#, c-format
+msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:378
+#, c-format
+msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:379
+#, c-format
+msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:380
+#, c-format
+msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:381
+#, c-format
+msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:382
+#, c-format
+msgid "^BG%s^K1 was moved into the %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:383
+#, c-format
+msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:384
+#, c-format
+msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:385
+#, c-format
+msgid "^BG%s^K1 unfairly eliminated themself%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:386
+#, c-format
+msgid "^BG%s^K1 %s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:387
+#, c-format
+msgid "^BG%s^K1 couldn't catch their breath%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:387
+#, c-format
+msgid "^BG%s^K1 was in the water for too long%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:388
+#, c-format
+msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:388
+#, c-format
+msgid "^BG%s^K1 hit the ground with a crunch%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:389
+#, c-format
+msgid "^BG%s^K1 became a bit too crispy%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:389
+#, c-format
+msgid "^BG%s^K1 felt a little hot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:390
+#, c-format
+msgid "^BG%s^K1 died%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:391
+#, c-format
+msgid "^BG%s^K1 found a hot place%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:391
+#, c-format
+msgid "^BG%s^K1 turned into hot slag%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:392
+#, c-format
+msgid "^BG%s^K1 mastered the art of self-nading%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:393
+#, c-format
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:394
+#, c-format
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:395
+#, c-format
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:396
+#, c-format
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:397
+#, c-format
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:398
+#, c-format
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 ran out of ammo%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:402
+#, c-format
+msgid "^BG%s^K1 rotted away%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:403
+#, c-format
+msgid "^BG%s^K1 became a shooting star%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:404
+#, c-format
+msgid "^BG%s^K1 was slimed%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:405
+#, c-format
+msgid "^BG%s^K1 couldn't take it anymore%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:406
+#, c-format
+msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:407
+#, c-format
+msgid "^BG%s^K1 switched to the %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:408
+#, c-format
+msgid "^BG%s^K1 died in an accident%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:409
+#, c-format
+msgid "^BG%s^K1 ran into a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:410
+#, c-format
+msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:411
+#, c-format
+msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:412
+#, c-format
+msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:413
+#, c-format
+msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:414
+#, c-format
+msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:415
+#, c-format
+msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:416
+#, c-format
+msgid "^BG%s^K1 was phased out by a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:417
+#, c-format
+msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:418
+#, c-format
+msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:419
+#, c-format
+msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:420
+#, c-format
+msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:421
+#, c-format
+msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:422
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:423
+#, c-format
+msgid "^BG%s^K1 was crushed by a vehicle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:424
+#, c-format
+msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:425
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:426
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:427
+#, c-format
+msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:428
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:429
+#, c-format
+msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:430
+#, c-format
+msgid "^BG%s^K1 was in the wrong place%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:431
+#, c-format
+msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:432
+#, c-format
+msgid "^BG%s^K1 was frozen by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:433
+#, c-format
+msgid "^BG%s^K3 was revived by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:434
+#, c-format
+msgid "^BG%s^K3 was revived by falling"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:435
+#, c-format
+msgid "^BG%s^K3 was automatically revived after %s second(s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
+msgid "^TC^TT^BG team wins the round"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
+#, c-format
+msgid "^BG%s^BG wins the round"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
+msgid "^BGRound tied"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
+msgid "^BGRound over, there's no winner"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:440
+#, c-format
+msgid "^BG%s^K1 froze themself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:441
+#, c-format
+msgid "^BGGodmode saved you %s units of damage, cheater!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
+#, c-format
+msgid "^BGYou do not have the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
+#, c-format
+msgid "^BGYou dropped the ^F1%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
+#, c-format
+msgid "^BGYou got the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
+#, c-format
+msgid "^BGYou don't have enough ammo for the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
+#, c-format
+msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
+#, c-format
+msgid "^F1%s^BG is ^F4not available^BG on this map"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:448
+#, c-format
+msgid "^BG%s^F3 connected%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:449
+#, c-format
+msgid "^BG%s^F3 connected and joined the ^TC^TT team"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:450
+#, c-format
+msgid "^BG%s^F3 is now playing"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
+#, c-format
+msgid "^BG%s^BG has dropped the ball!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
+#, c-format
+msgid "^BG%s^BG has picked up the ball!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:453
+#, c-format
+msgid "^BG%s^BG captured the keys for the ^TC^TT team"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:454
+#, c-format
+msgid "^BG%s^BG dropped the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:455
+#, c-format
+msgid "^BG%s^BG lost the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:456
+#, c-format
+msgid "^BG%s^BG picked up the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:457
+#, c-format
+msgid "^BG%s^F3 forfeited"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:458
+#, c-format
+msgid "^BG%s^F3 has no more lives left"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:460
+#, c-format
+msgid "^BG%s^K1 picked up Invisibility"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:461
+#, c-format
+msgid "^BG%s^K1 picked up Shield"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:462
+#, c-format
+msgid "^BG%s^K1 picked up Speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:463
+#, c-format
+msgid "^BG%s^K1 picked up Strength"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:464
+#, c-format
+msgid "^BG%s^F3 disconnected"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:465
+#, c-format
+msgid "^BG%s^F3 was kicked for idling"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:466
+msgid ""
+"^F2You were kicked from the server because you are a spectator and "
+"spectators aren't allowed at the moment."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:467
+#, c-format
+msgid "^BG%s^F3 is now spectating"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:468
+#, c-format
+msgid "^BG%s^BG has abandoned the race"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:469
+#, c-format
+msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:470
+#, c-format
+msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:471
+#, c-format
+msgid "^BG%s^BG has finished the race"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:472
+#, c-format
+msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:473
+#, c-format
+msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:474
+#, c-format
+msgid ""
+"^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
+"and will be lost."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:475
+#, c-format
+msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:476
+msgid "^TC^TT ^BGteam scores!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:477
+#, c-format
+msgid ""
+"^F2You have to become a player within the next %s, otherwise you will be "
+"kicked, because spectating isn't allowed at this time!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:478
+#, c-format
+msgid "^BG%s^K1 picked up a Superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:479
+#, c-format
+msgid ""
+"^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
+"^F2Xonotic %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:480
+#, c-format
+msgid ""
+"^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:481
+#, c-format
+msgid ""
+"^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
+"the update from ^F3http://www.xonotic.org/^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:482
+#, c-format
+msgid "^F3SVQC Build information: ^F4%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:483
+#, c-format
+msgid ""
+"^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:484
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:485
+#, c-format
+msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:486
+#, c-format
+msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:487
+#, c-format
+msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:488
+#, c-format
+msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:489
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:490
+#, c-format
+msgid "^BG%s^K1 played with Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:491
+#, c-format
+msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:492
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:493
+#, c-format
+msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:494
+#, c-format
+msgid "^BG%s^K1 should have used a smaller gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:495
+#, c-format
+msgid "^BG%s^K1 forgot about their firemine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:496
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:497
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:498
+#, c-format
+msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:499
+#, c-format
+msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:500
+#, c-format
+msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:501
+#, c-format
+msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:502
+#, c-format
+msgid ""
+"^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:503
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:504
+#, c-format
+msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:505
+#, c-format
+msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:506
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:507
+#, c-format
+msgid "^BG%s^K1 forgot about their mine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:508
+#, c-format
+msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:509
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:510
+#, c-format
+msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:511
+#, c-format
+msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:512
+#, c-format
+msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:513
+#, c-format
+msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:514
+#, c-format
+msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:515
+#, c-format
+msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:516
+#, c-format
+msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:517
+#, c-format
+msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:518
+#, c-format
+msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:519
+#, c-format
+msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:520
+#, c-format
+msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:521
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:522
+#, c-format
+msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:523
+#, c-format
+msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:524
+#, c-format
+msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:525
+#, c-format
+msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:526
+#, c-format
+msgid "^BG%s^K1 is now thinking with portals%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:527
+#, c-format
+msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:528
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:529
+#, c-format
+msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:530
+#, c-format
+msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:548
+msgid "^BGYou are attacking!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:549
+msgid "^BGYou are defending!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:550
+msgid "^F4Begin!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:551
+msgid "^F4Game starts in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:552
+msgid "^F4Round starts in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:553
+msgid "^F4Round cannot start"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:556
+msgid "^F2Don't camp!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:557
+msgid ""
+"^BGYou are now free.\n"
+"^BGFeel free to ^F2try to capture^BG the flag again\n"
+"^BGif you think you will succeed."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:558
+msgid ""
+"^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."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:559
+msgid "^BGYou captured the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:560
+#, c-format
+msgid "^BGToo many flag throws! Throwing disabled for %s."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:561
+#, c-format
+msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:562
+#, c-format
+msgid "^BGYou received the ^TC^TT^BG flag from %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:563
+#, c-format
+msgid "^BG%s^BG requests you to pass the flag%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:564
+#, c-format
+msgid "^BGRequesting %s^BG to pass you the flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:565
+#, c-format
+msgid "^BGYou passed the ^TC^TT^BG flag to %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:566
+msgid "^BGYou got the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:567
+#, c-format
+msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:568
+#, c-format
+msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:569
+#, c-format
+msgid "^BGYour %steam mate^BG got the flag! Protect them!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:570
+#, c-format
+msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:571
+msgid "^BGYou returned the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:572
+msgid "^BGStalemate! Enemies can now see you on radar!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:573
+msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:574
+#, c-format
+msgid "^K3%sYou fragged ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:574
+#, c-format
+msgid "^K3%sYou scored against ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:575
+#, c-format
+msgid "^K1%sYou were fragged by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:575
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:576
+#, c-format
+msgid "^K1%sYou were fragged by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:576
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:577
+#, c-format
+msgid "^K3%sYou fragged ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:577
+#, c-format
+msgid "^K3%sYou scored against ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:578
+#, c-format
+msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:578
+#, c-format
+msgid "^K1%sYou typefragged ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:579
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:579
+#, c-format
+msgid "^K1%sYou were typefragged by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:580
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:580
+#, c-format
+msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:581
+#, c-format
+msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:581
+#, c-format
+msgid "^K1%sYou typefragged ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:582
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:583
+#, c-format
+msgid ""
+"^BGYou have been moved into a different team\n"
+"You are now on: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:584
+msgid "^K1Don't go against your team mates!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:584
+msgid "^K1Don't shoot your team mates!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:585
+msgid "^K1Die camper!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:585
+msgid "^K1Reconsider your tactics, camper!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:586
+msgid "^K1You unfairly eliminated yourself!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:587
+#, c-format
+msgid "^K1You were %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:588
+msgid "^K1You couldn't catch your breath!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:589
+msgid "^K1You hit the ground with a crunch!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:590
+msgid "^K1You felt a little too hot!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:590
+msgid "^K1You got a little bit too crispy!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:591
+msgid "^K1You killed your own dumb self!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:591
+msgid "^K1You need to be more careful!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:592
+msgid "^K1You couldn't stand the heat!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
+msgid "^K1Tastes like chicken!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
+msgid "^K1You forgot to put the pin back in!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:595
+msgid "^K1You are respawning for running out of ammo..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:595
+msgid "^K1You were killed for running out of ammo..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:596
+msgid "^K1You grew too old without taking your medicine"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:596
+msgid "^K1You need to preserve your health"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:597
+msgid "^K1You became a shooting star!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:598
+msgid "^K1You melted away in slime!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:599
+msgid "^K1You committed suicide!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:599
+msgid "^K1You ended it all!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:600
+msgid "^K1You got stuck in a swamp!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:601
+#, c-format
+msgid "^BGYou are now on: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:602
+msgid "^K1You died in an accident!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:603
+msgid "^K1You had an unfortunate run in with a turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:603
+msgid "^K1You were fragged by a turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:604
+msgid "^K1You had an unfortunate run in with an eWheel turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:604
+msgid "^K1You were fragged by an eWheel turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:605
+msgid "^K1You had an unfortunate run in with a Walker turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:605
+msgid "^K1You were fragged by a Walker turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:606
+msgid "^K1You got caught in the blast of a Bumblebee explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:607
+msgid "^K1You were crushed by a vehicle!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:608
+msgid "^K1You were caught in a Raptor cluster bomb!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:609
+msgid "^K1You got caught in the blast of a Raptor explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:610
+msgid "^K1You got caught in the blast of a Spiderbot explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:611
+msgid "^K1You were blasted to bits by a Spiderbot rocket!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:612
+msgid "^K1You got caught in the blast of a Racer explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:613
+msgid "^K1You couldn't find shelter from a Racer rocket!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:614
+msgid "^K1Watch your step!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:615
+#, c-format
+msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:615
+#, c-format
+msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:616
+#, c-format
+msgid "^K1You were fragged by ^BG%s^K1, a team mate"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:616
+#, c-format
+msgid "^K1You were scored against by ^BG%s^K1, a team mate"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:617
+msgid ""
+"^K1Stop idling!\n"
+"^BGDisconnecting in ^COUNT..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:618
+msgid "^F2You picked up some extra lives"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:619
+#, c-format
+msgid "^K3You froze ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:620
+#, c-format
+msgid "^K1You were frozen by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:621
+#, c-format
+msgid "^K3You revived ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:622
+msgid "^K3You revived yourself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:623
+#, c-format
+msgid "^K3You were revived by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:624
+#, c-format
+msgid "^K3You were automatically revived after %s second(s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:627
+msgid "^K1You froze yourself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:628
+msgid "^K1Round already started, you spawn as frozen"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:636
+msgid ""
+"^K1No spawnpoints available!\n"
+"Hope your team can fix it..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:637
+msgid ""
+"^K1You may not join the game at this time.\n"
+"The player limit reached maximum capacity."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
+msgid "^BGKilling people while you don't have the ball gives no points!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:642
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Help the key carriers to meet!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:643
+msgid ""
+"^BGAll keys are in ^TC^TT team^BG's hands!\n"
+"Interfere ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:644
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Meet the other key carriers ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:645
+msgid "^F4Round will start in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:646
+msgid "^BGScanning frequency range..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:647
+msgid "^BGYou are starting with the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
+#, c-format
+msgid ""
+"^BGWaiting for players to join...\n"
+"Need active players for: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:650
+#, c-format
+msgid "^BGWaiting for %s player(s) to join..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:651
+msgid "^F4^COUNT^BG left to find some ammo!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:653
+#, c-format
+msgid "^F2Extra lives remaining: ^K1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:654
+msgid "^BGSecondary fire inflicts no damage!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:655
+#, c-format
+msgid "^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:656
+#, c-format
+msgid ""
+"^F2^COUNT^BG until weapon change...\n"
+"Next weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:657
+#, c-format
+msgid "^F2Active weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:658
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep fragging until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep scoring until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:660
+#, c-format
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"^BGAdded ^F4%s^BG to the game!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:661
+msgid "^F2Invisibility has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:662
+msgid "^F2Shield has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:663
+msgid "^F2Speed has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:664
+msgid "^F2Strength has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:665
+msgid "^F2You are invisible"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:666
+msgid "^F2Shield surrounds you"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:667
+msgid "^F2You are on speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:668
+msgid "^F2Strength infuses your weapons with devastating power"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:669
+msgid "^F2The race is over, finish your lap!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:670
+msgid "^F2Superweapons have broken down"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:671
+msgid "^F2Superweapons have been lost"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:672
+msgid "^F2You now have a superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:673
+msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:674
+msgid "^K1Changing team in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:675
+msgid "^K1Spectating in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:676
+msgid "^K1Suicide in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:677
+msgid "^F4Timeout begins in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:678
+msgid "^F4Timeout ends in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
+#, c-format
+msgid " (near %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
+msgid "primary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
+msgid "secondary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:980
+#, c-format
+msgid " ^F1(Press %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:989
+#, c-format
+msgid " with %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+msgid "TRIPLE FRAG! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 unlocked RAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+msgid "RAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 started a MASSACRE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+msgid "MASSACRE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 executed MAYHEM! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+msgid "MAYHEM! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 is a BERSERKER! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+msgid "BERSERKER! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 inflicts CARNAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+msgid "CARNAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+#, c-format
+msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+#, c-format
+msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+msgid "ARMAGEDDON! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1010
+#, c-format
+msgid "%s(^F1Bot^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1012
+#, c-format
+msgid "%s(Ping ^F1%d^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1018
+#, c-format
+msgid ""
+"\n"
+"(Health ^1%d^BG / Armor ^2%d^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1020
+#, c-format
+msgid ""
+"\n"
+"(^F4Dead^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
+#, c-format
+msgid "%d score spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1069
+#, c-format
+msgid "%d frag spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1082
+msgid "First blood! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1082
+msgid "First score! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1086
+msgid "First casualty! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1086
+msgid "First victim! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1127
+#, c-format
+msgid "%s^K1 has %d frags in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1128
+#, c-format
+msgid "%s^K1 made %d scores in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1146
+#, c-format
+msgid "%s^K1 drew first blood! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1147
+#, c-format
+msgid "%s^K1 got the first score! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1163
+#, c-format
+msgid ", ending their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1164
+#, c-format
+msgid ", ending their %d score spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1178
+#, c-format
+msgid ", losing their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1179
+#, c-format
+msgid ", losing their %d score spree"
+msgstr ""
+
+#: qcsrc/common/teams.qh:26
+msgid "Red"
+msgstr ""
+
+#: qcsrc/common/teams.qh:27
+msgid "Blue"
+msgstr ""
+
+#: qcsrc/common/teams.qh:28
+msgid "Yellow"
+msgstr ""
+
+#: qcsrc/common/teams.qh:29
+msgid "Pink"
+msgstr ""
+
+#: qcsrc/common/teams.qh:30
+msgid "Team"
+msgstr ""
+
+#: qcsrc/common/teams.qh:31
+msgid "Neutral"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:35
+msgid "Usage: menu_cmd command..., where possible commands are:\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:36
+msgid "  sync - reloads all cvars on the current menu page\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:37
+msgid "  directmenu ITEM - select a menu item as main item\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:68
+msgid "Available options:\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:119
+msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
+msgstr ""
+
+#: qcsrc/menu/item/label.c:82
+#, c-format
+msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
+msgstr ""
+
+#: qcsrc/menu/item/listbox.c:382
+#, c-format
+msgid "Item %d"
+msgstr ""
+
+#: qcsrc/menu/item/slider.c:64
+#, c-format
+msgid "%d (%s)"
+msgstr ""
+
+#: qcsrc/menu/item/textslider.c:31 qcsrc/menu/item/textslider.c:33
+msgid "custom"
+msgstr ""
+
+#: qcsrc/menu/menu.qc:59
+#, c-format
+msgid "^4MQC Build information: ^1%s\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/campaign.c:286
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:123
+msgid "???"
+msgstr ""
+
+#: qcsrc/menu/xonotic/campaign.c:287
+#, c-format
+msgid "Level %d: %s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
+msgid "will not be saved"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
+msgid "private"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:95
+msgid "engine setting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:97
+msgid "read only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_credits.c:5
+msgid "Credits"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:99
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
+msgid "OK"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:4
+msgid "Welcome"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+msgid ""
+"Welcome to Xonotic, please select your language preference and enter your "
+"player name to get started.  You can change these options later through the "
+"menu system."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
+msgid "Name:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
+#: qcsrc/menu/xonotic/dialog_settings_user.c:65
+msgid "Text language:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+msgid "ALWU2N^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
+msgid "ALWU2N^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
+msgid "ALWU2N^Undecided"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
+msgid "Save settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:4
+msgid "Ammo Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:23
+msgid "Ammunition display:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:26
+msgid "Show only current ammo type"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:29
+msgid "Align icon:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:30
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:37
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:29
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:41
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:29
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:41
+msgid "Left"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:39
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:42
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:42
+msgid "Right"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:4
+msgid "Centerprint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:24
+msgid "Message duration:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:28
+msgid "Fade time:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:32
+msgid "Flip messages order"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:34
+msgid "Text alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:38
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:51
+msgid "Center"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:42
+msgid "Font scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4
+msgid "Chat Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:23
+msgid "Chat entries:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:26
+msgid "Chat size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:30
+msgid "Chat lifetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:34
+msgid "Chat beep sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:4
+msgid "Engine Info Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:23
+msgid "Engine info:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:26
+msgid "Use an averaging algorithm for fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:4
+msgid "Health/Armor Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:23
+msgid "Enable status bar"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:25
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:25
+msgid "Status bar alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:33
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:43
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:33
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:43
+msgid "Inward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:35
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:44
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:35
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:44
+msgid "Outward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:38
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:38
+msgid "Icon alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:46
+msgid "Flip health and armor positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:4
+msgid "Info Messages Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:23
+msgid "Info messages:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:26
+msgid "Flip align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_modicons.c:4
+msgid "Mod Icons Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:4
+msgid "Notification Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:23
+msgid "Notifications:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:26
+msgid "Also print notifications to the console"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:29
+msgid "Flip notify order"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:32
+msgid "Entry lifetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:36
+msgid "Entry fadetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:4
+msgid "Physics Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:22
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:22
+msgid "Panel disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:24
+msgid "Panel enabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:25
+msgid "Panel enabled even observing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:26
+msgid "Panel enabled only in Race/CTS"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:32
+msgid "Status bar"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:34
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:49
+msgid "Left align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:35
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:53
+msgid "Right align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:36
+msgid "Inward align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:37
+msgid "Outward align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:41
+msgid "Flip speed/acceleration positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:45
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:29
+msgid "Speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:46
+msgid "Include vertical speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:57
+msgid "Speed unit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:59
+msgid "qu/s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:60
+msgid "m/s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:61
+msgid "km/h"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:62
+msgid "mph"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:63
+msgid "knots"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:65
+msgid "Show"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:68
+msgid "Top speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:74
+msgid "Acceleration:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:75
+msgid "Include vertical acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4
+msgid "Powerups Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:46
+msgid "Flip strength and shield positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:4
+msgid "Pressed Keys Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:23
+msgid "Panel enabled when spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:24
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:24
+msgid "Panel always enabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:31
+msgid "Forced aspect:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_racetimer.c:4
+msgid "Race Timer Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:4
+msgid "Radar Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:23
+msgid "Panel enabled in teamgames"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:30
+msgid "Radar:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:33
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
+#: qcsrc/menu/xonotic/util.qc:758
+msgid "Alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:37
+msgid "Rotation:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:39
+msgid "Forward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:40
+msgid "West"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:41
+msgid "South"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:42
+msgid "East"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:43
+msgid "North"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:47
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:63
+msgid "Scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:51
+msgid "Zoom mode:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:53
+msgid "Zoomed in"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:54
+msgid "Zoomed out"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:55
+msgid "Always zoomed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:56
+msgid "Never zoomed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:4
+msgid "Score Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:23
+msgid "Score:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
+msgid "Rankings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:27
+msgid "Off"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
+msgid "And me"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:29
+msgid "Pure"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
+msgid "Timer Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:23
+msgid "Timer:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:26
+msgid "Show elapsed time"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:4
+msgid "Vote Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:23
+msgid "Alpha after voting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:4
+msgid "Weapons Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:25
+msgid "Fade out after:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:27
+msgid "Never"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:29
+#, c-format
+msgid "%ds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:33
+msgid "Fade effect:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:36
+msgid "EF^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:37
+msgid "Alpha"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:38
+msgid "Slide"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:39
+msgid "EF^Both"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:43
+msgid "Weapon icons:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46
+msgid "Show only owned weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49
+msgid "Show weapon ID as:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50
+msgid "SHOWAS^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51
+msgid "Number"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52
+msgid "Bind"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55
+msgid "Show Accuracy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:56
+msgid "Show Ammo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:59
+msgid "Ammo bar color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:65
+msgid "Ammo bar alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:4
+msgid "Panel HUD Setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:22
+msgid "Panel background defaults:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
+msgid "Background:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
+msgid "Disable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
+msgid "Color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
+msgid "Border size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:51
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:90
+msgid "Team color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
+msgid "Test team color in configure mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
+msgid "Padding:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:69
+msgid "HUD Dock:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:71
+msgid "DOCK^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:72
+msgid "DOCK^Small"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:73
+msgid "DOCK^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:74
+msgid "DOCK^Large"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:97
+msgid "Grid settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:100
+msgid "Snap panels to grid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:103
+msgid "Grid size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:104
+msgid "X:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:110
+msgid "Y:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:118
+msgid "Exit setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:4
+msgid "Multiplayer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:18
+msgid "Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:19
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:5
+msgid "Create"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:20
+msgid "Demos"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:21
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:5
+msgid "Player Setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:34
+msgid "Game type:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48
+msgid "Time limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:52
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:60
+msgid "Use map specified default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:55
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:155
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+msgid "Point limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63
+msgid "Player slots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66
+msgid "Number of bots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69
+msgid "Bot skill:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72
+msgid "Botlike"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73
+msgid "Beginner"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74
+msgid "You will win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75
+msgid "You can win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76
+msgid "You might win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77
+msgid "Advanced"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78
+msgid "Expert"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79
+msgid "Pro"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80
+msgid "Assassin"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81
+msgid "Unhuman"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82
+msgid "Godlike"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87
+msgid "Mutators..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
+msgid "Advanced settings..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103
+msgid "Map list:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109
+msgid "Select all"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112
+msgid "Select none"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118
+msgid "Start Multiplayer!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153
+msgid "Capture limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:156
+msgid "Lives:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157
+msgid "Laps:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158
+msgid "Goals:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
+msgid "Frag limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:6
+msgid "Advanced server settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:25
+msgid "Game settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:28
+msgid "Allow spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:31
+msgid "Spawn shield:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:36
+msgid "Game speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:40
+msgid "Teamplay settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:43
+msgid "Friendly fire scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:47
+msgid "Virtual friendly fire (effect only)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:50
+msgid "Friendly fire penalty:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:54
+msgid "Virtual penalty (effect only)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:57
+msgid "Teams:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:66
+msgid "Map voting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:68
+msgid "No voting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:69
+msgid "2 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:70
+msgid "3 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:71
+msgid "4 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:72
+msgid "5 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:73
+msgid "6 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:74
+msgid "7 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:75
+msgid "8 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:76
+msgid "9 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:79
+msgid "Simple majority wins vcall"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:5
+msgid "Map Information"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "Full item placement"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "MinstaGib only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81
+msgid "Title:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:87
+msgid "Author:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:93
+msgid "Features:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98
+msgid "Game types:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:328
+msgid "Close"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124
+msgid "MAP^Play"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:7
+msgid "Mutators"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:33
+msgid "All Weapons Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:35
+msgid "Most Weapons Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:56
+#, c-format
+msgid "%s Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:68
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:162
+msgid "Dodging"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:70
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:254
+msgid "MinstaGib"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:72
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:208
+msgid "New Toys"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:74
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:258
+msgid "NIX"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:76
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:212
+msgid "Rocket Flying"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:78
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204
+msgid "Invincible Projectiles"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:266
+msgid "No start weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:189
+msgid "Low gravity"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:168
+msgid "Cloaked"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:90
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:171
+msgid "Midair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:92
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:174
+msgid "Vampire"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:94
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:216
+msgid "Piñata"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:96
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:220
+msgid "Weapons stay"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:179
+msgid "Blood loss"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:100
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201
+msgid "Jet pack"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:102
+msgid "No powerups"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104
+msgid "Powerups"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:106
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:165
+msgid "Touch explode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:108
+msgid "MUT^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:159
+msgid "Gameplay mutators:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:195
+msgid "Weapon & item mutators:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:198
+msgid "Grappling hook"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:225
+msgid "Regular (no arena)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:227
+msgid "Weapon arenas:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:244
+msgid "Most weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:248
+msgid "All weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:251
+msgid "Special arenas:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:262
+msgid "with laser"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:4
+msgid "Demo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:26
+msgid "Automatically record demos while playing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:29
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:28
+msgid "Filter:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:40
+msgid "Timedemo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43
+msgid "DEMO^Play"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:4
+msgid "Join"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
+msgid "SRVS^Empty"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
+msgid "SRVS^Full"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
+msgid "Pause"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
+msgid "Address:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
+msgid "Info..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
+msgid "Join!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:5
+msgid "Server Information"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:174
+#, c-format
+msgid "%d/%d"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
+msgid "Default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
+#, c-format
+msgid "%d modified"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
+msgid "Official"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:201
+msgid "N/A (auth library missing, can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:203
+msgid "N/A (auth library missing)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:209
+msgid "Not supported (can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211
+msgid "Not supported (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:215
+msgid "Supported (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217
+msgid "Supported (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:221
+msgid "Requested (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223
+msgid "Requested (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:227
+msgid "Required (can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:229
+msgid "Required (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:249
+msgid "Hostname:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:263
+msgid "Gametype:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:268
+msgid "Map:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:273
+msgid "Mod:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:278
+msgid "Version:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:283
+msgid "Settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:322
+msgid "Players:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:295
+msgid "Bots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:300
+msgid "Free slots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:306
+msgid "Encryption:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:311
+msgid "ID:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:316
+msgid "Key:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:61
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:20
+msgid "Model:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:73
+msgid "Glowing color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:82
+msgid "Detail color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93
+msgid "No crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:95
+msgid "Per weapon crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:98
+msgid "Custom crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117
+msgid "Crosshair size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:122
+msgid "Crosshair alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:128
+msgid "Crosshair color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130
+msgid "Per weapon"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:132
+msgid "By health"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:136
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:47
+msgid "Custom"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:144
+msgid "Other crosshair settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:152
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6
+msgid "Model settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6
+msgid "View settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:164
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6
+msgid "Weapon settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:174
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6
+msgid "HUD settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:180
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:164
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:200
+#: qcsrc/menu/xonotic/dialog_settings_input.c:90
+#: qcsrc/menu/xonotic/dialog_settings_user.c:88
+#: qcsrc/menu/xonotic/dialog_settings_video.c:143
+msgid "Apply immediately"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6
+msgid "Crosshair settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28
+msgid "Enable center crosshair dot"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31
+msgid "Dot size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36
+msgid "Dot alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41
+msgid "Dot color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43
+msgid "Use normal crosshair color"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54
+msgid "Crosshair animations:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57
+msgid "Smooth effects of crosshairs"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61
+msgid "Use rings to indicate weapon status"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67
+msgid "Hit testing:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69
+msgid "HTTST^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70
+msgid "HTTST^TrueAim"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71
+msgid "HTTST^Enemies"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76
+msgid "Blur crosshair if the shot is obstructed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81
+msgid "Animate when hitting an enemy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85
+msgid "Animate when picking up an item"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40
+msgid "Damage:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43
+msgid "Overlay:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:47
+msgid "Factor:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:53
+msgid "Fade rate:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:60
+msgid "Waypoints"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:75
+msgid "Edge offset:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83
+msgid "Show names above players"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:86
+msgid "Only when near crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:89
+msgid "Display health and armor"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:93
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:4
+msgid "Enter HUD editor"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:28
+msgid "In order for the HUD editor to show, you must first be in game."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30
+msgid "Do you wish to start a local game to set up the HUD?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33
+msgid "HDCNFRM^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36
+msgid "HDCNFRM^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28
+msgid "Body fading:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31
+msgid "Gibs:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33
+msgid "GIBS^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34
+msgid "GIBS^Few"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35
+msgid "GIBS^Many"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36
+msgid "GIBS^Lots"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:41
+msgid "Force player models to mine"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:43
+msgid "Force player colors to mine"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28
+msgid "Field of view:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31
+msgid "Zoom:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33
+msgid "RETICLE^Fullscreen"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34
+msgid "RETICLE^With reticle"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38
+msgid "ZOOM^Factor:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42
+msgid "ZOOM^Speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52
+msgid "ZOOM^Instant"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56
+msgid "ZOOM^Sensitivity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59
+msgid "Velocity zoom:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61
+msgid "VZOOM^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62
+msgid "VZOOM^Forward only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63
+msgid "VZOOM^All directions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67
+msgid "VZOOM^Speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72
+msgid "Allow passing through walls while spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75
+msgid "1st person perspective"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79
+msgid "Smooth the view when landing from a jump"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83
+msgid "Smooth the view while crouching"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87
+msgid "View waving while idle"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91
+msgid "View bobbing while walking around"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96
+msgid "3rd person perspective"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100
+msgid "Back distance"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106
+msgid "Up distance"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29
+msgid "Weapon priority list:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33
+msgid "Up"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36
+msgid "Down"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41
+msgid "Use priority list for weapon cycling"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43
+msgid "Auto switch weapons on pickup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:46
+msgid "Draw 1st person weapon model"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:58
+msgid "Gun model swaying"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63
+msgid "Gun model bobbing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:4
+msgid "Quit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:18
+msgid "Are you sure you want to quit?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:21
+msgid "Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:22
+msgid "No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:4
+msgid "Sandbox Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
+msgid "Remove *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28
+msgid "Copy *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:29
+msgid "Paste"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:31
+msgid "Bone:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:36
+msgid "Set * as child"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:37
+msgid "Attach to *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:39
+msgid "Detach from *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:42
+msgid "Visual object properties for *:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
+msgid "Set alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:49
+msgid "Set color main:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:51
+msgid "Set color glow:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:55
+msgid "Set frame:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:59
+msgid "Physical object properties for *:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:61
+msgid "Set material:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:67
+msgid "Set solidity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:68
+msgid "Non-solid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:69
+msgid "Solid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:70
+msgid "Set physics:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:71
+msgid "Static"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:72
+msgid "Movable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:73
+msgid "Physical"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:75
+msgid "Set scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:77
+msgid "Set force:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:81
+msgid "Claim *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:83
+msgid "* object info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:84
+msgid "* mesh info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:85
+msgid "* attachment info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:86
+msgid "Show help"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:87
+msgid "* is the object you are facing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:4
+msgid "Settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:18
+#: qcsrc/menu/xonotic/dialog_settings_input.c:4
+msgid "Input"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:19
+#: qcsrc/menu/xonotic/dialog_settings_video.c:4
+msgid "Video"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:20
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:4
+msgid "Effects"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:21
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:4
+msgid "Audio"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:22
+#: qcsrc/menu/xonotic/dialog_settings_user.c:4
+msgid "User"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:23
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:4
+msgid "Misc"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:27
+msgid "Master:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:33
+msgid "Music:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:41
+msgid "VOL^Ambient:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:48
+msgid "Info:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:55
+msgid "Items:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:62
+msgid "Pain:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:69
+msgid "Player:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:76
+msgid "Shots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:83
+msgid "Voice:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:91
+msgid "Weapons:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:97
+msgid "New style sound attenuation"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:99
+msgid "Mute sounds when not active"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:102
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:156
+msgid "Frequency:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:104
+msgid "8 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:105
+msgid "11.025 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:106
+msgid "16 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:107
+msgid "22.05 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:108
+msgid "24 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:109
+msgid "32 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:110
+msgid "44.1 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:111
+msgid "48 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:114
+msgid "Channels:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:116
+msgid "Mono"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:117
+msgid "Stereo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:118
+msgid "2.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:119
+msgid "4"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:120
+msgid "5"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:121
+msgid "5.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:122
+msgid "6.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:123
+msgid "7.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:126
+msgid "Swap Stereo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:128
+msgid "Headphone friendly mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:132
+msgid "Hit indication sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:134
+msgid "Chat message sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:136
+msgid "Menu sounds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:139
+msgid "Time announcer:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:141
+msgid "WRN^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:142
+msgid "1 minute"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:143
+msgid "5 minutes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:144
+msgid "WRN^Both"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:151
+msgid "Automatic taunts"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:161
+msgid "Debug info about sounds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:38
+msgid "Quality preset:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:41
+msgid "PRE^OMG!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:42
+msgid "PRE^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:43
+msgid "PRE^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:44
+msgid "PRE^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:45
+msgid "PRE^High"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:46
+msgid "PRE^Ultra"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:48
+msgid "PRE^Ultimate"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:52
+msgid "Geometry detail:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:54
+msgid "DET^Lowest"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:55
+msgid "DET^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:56
+msgid "DET^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:57
+msgid "DET^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:58
+msgid "DET^Best"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:59
+msgid "DET^Insane"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:62
+msgid "Player detail:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:65
+msgid "Texture resolution:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:69
+msgid "RES^Leet"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:70
+msgid "RES^Lowest"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:71
+msgid "RES^Very low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:72
+msgid "RES^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:73
+msgid "RES^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:74
+msgid "RES^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:75
+msgid "RES^Best"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:87
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:91
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:95
+msgid "Avoid lossy texture compression"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:105
+msgid "Show surfaces"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:108
+msgid "Use lightmaps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:109
+msgid "Deluxe mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:111
+msgid "Gloss"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:114
+msgid "Offset mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:116
+msgid "Relief mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:119
+msgid "Reflections:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:122
+msgid "Blurred"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:123
+msgid "REFL^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:124
+msgid "Sharp"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:129
+msgid "Particles quality:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:132
+msgid "Particles distance:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:135
+msgid "Damage effects:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:137
+msgid "DMGPRTCLS^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:138
+msgid "DMGPRTCLS^Skeletal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:139
+msgid "DMGPRTCLS^All"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:142
+msgid "Particle effects for spawnpoints"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:146
+msgid "No dynamic lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:148
+msgid "Fake corona lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:151
+msgid "Realtime dynamic lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:153
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:157
+msgid "Shadows"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:156
+msgid "Realtime world lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:161
+msgid "Use normal maps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:163
+msgid "Soft shadows"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:167
+msgid "Fade corona according to visibility"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:171
+msgid "Bloom"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:172
+msgid "Extra postprocessing effects"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:177
+msgid "Motion blur:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:183
+msgid "Decals"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:184
+msgid "Decals on models"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:188
+msgid "Distance:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:194
+msgid "Time:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:26
+msgid "Key bindings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:30
+msgid "Change key..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:34
+msgid "Edit..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:40
+msgid "Clear"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:46
+msgid "Pressing \"enter console\" key also closes it"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:48
+msgid "Automatically repeat jumping if holding jump"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:52
+#: qcsrc/menu/xonotic/dialog_settings_input.c:54
+#: qcsrc/menu/xonotic/dialog_settings_input.c:57
+msgid "Use joystick input"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:62
+msgid "Mouse:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:65
+msgid "Sensitivity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:69
+msgid "Smooth aiming"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:72
+msgid "Invert aiming"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:76
+#: qcsrc/menu/xonotic/dialog_settings_input.c:78
+#: qcsrc/menu/xonotic/dialog_settings_input.c:81
+msgid "Disable system mouse acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:86
+msgid "Enable built in mouse acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5
+msgid "User defined key bind"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:42
+msgid "Command when pressed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:45
+msgid "Command when released:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:48
+msgid "Save"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:51
+msgid "Cancel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:26
+msgid "Network:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:31
+msgid "56k"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:32
+msgid "ISDN"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:33
+msgid "Slow ADSL"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:34
+msgid "Fast ADSL"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:35
+msgid "Broadband"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:39
+msgid "Input packets/s:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:45
+msgid "Local latency:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:50
+msgid "Client UDP port:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "Use encryption (AES) when available"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+msgid "Show netgraph"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
+msgid "Client-side movement prediction"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+msgid "Movement error compensation"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
+msgid "Downloads:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+msgid "Maximum:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
+msgid "Speed (kB/s):"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
+msgid "Framerate:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+msgid "MAXFPS^5 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+msgid "MAXFPS^10 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+msgid "MAXFPS^20 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+msgid "MAXFPS^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+msgid "MAXFPS^40 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+msgid "MAXFPS^50 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+msgid "MAXFPS^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+msgid "MAXFPS^70 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
+msgid "MAXFPS^100 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
+msgid "MAXFPS^125 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
+msgid "MAXFPS^200 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+msgid "MAXFPS^Unlimited"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+msgid "Target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+msgid "TRGT^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+msgid "TRGT^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+msgid "TRGT^40 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+msgid "TRGT^50 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
+msgid "TRGT^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
+msgid "TRGT^100 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
+msgid "TRGT^125 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+msgid "TRGT^200 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+msgid "Idle limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+msgid "IDLFPS^10 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
+msgid "IDLFPS^20 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
+msgid "IDLFPS^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
+msgid "IDLFPS^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
+msgid "IDLFPS^Unlimited"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
+msgid "Show frames per second"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+msgid "Save processing time for other apps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+msgid "Menu tooltips:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
+msgid "TLTIP^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
+msgid "TLTIP^Standard"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+msgid "TLTIP^Advanced"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+msgid "Show current time"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
+msgid "Show current date"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+msgid "Enable developer mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5
+msgid "Advanced settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:32
+msgid "Cvar filter:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:45
+msgid "Setting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:49
+msgid "Type:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:53
+msgid "Value:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
+msgid "Description:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:27
+msgid "Menu skins:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:31
+msgid "Set skin"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:74
+msgid "Set language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:79
+msgid "Disable gore effects and harsh language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:82
+msgid "Allow player statistics to track your client"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:84
+msgid "Allow player statistics to use your nickname"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:26
+msgid "Resolution:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:29
+msgid "Font/UI size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:31
+msgid "SZ^Unreadable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:32
+msgid "SZ^Tiny"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:33
+msgid "SZ^Little"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:34
+msgid "SZ^Small"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:35
+msgid "SZ^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:36
+msgid "SZ^Large"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:37
+msgid "SZ^Huge"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:38
+msgid "SZ^Gigantic"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:39
+msgid "SZ^Colossal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:42
+msgid "Color depth:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:44
+msgid "16bit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:45
+msgid "32bit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:48
+msgid "Full screen"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:49
+msgid "Vertical Synchronization"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:53
+msgid "Anisotropy:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:55
+msgid "ANISO^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:56
+#: qcsrc/menu/xonotic/dialog_settings_video.c:66
+msgid "2x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:57
+#: qcsrc/menu/xonotic/dialog_settings_video.c:67
+msgid "4x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:58
+msgid "8x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:59
+msgid "16x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:62
+msgid "Antialiasing:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:65
+msgid "AA^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:71
+msgid "High-quality frame buffer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:76
+msgid "Depth first:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:78
+msgid "DF^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:79
+msgid "DF^World"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:80
+msgid "DF^All"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:83
+msgid "Vertex Buffer Objects (VBOs)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:86
+msgid "VBO^Off"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:87
+msgid "Vertices, some Tris (compatible)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:90
+msgid "Vertices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:91
+msgid "Vertices and Triangles"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:94
+msgid "Brightness:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:97
+msgid "Contrast:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:100
+msgid "Gamma:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:105
+msgid "Contrast boost:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:110
+msgid "Saturation:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:116
+msgid "LIT^Ambient:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:119
+msgid "Intensity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:123
+msgid "Wait for GPU to finish each frame"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:125
+msgid "Use OpenGL 2.0 shaders (GLSL)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:128
+msgid "Use GLSL to handle color control"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:133
+msgid "Psycho coloring (easter egg)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:136
+msgid "Trippy vertices (easter egg)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:139
+msgid "Flip view horizontally"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:4
+msgid "Singleplayer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:116
+msgid "Instant action! (random map with bots)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:137
+msgid "Campaign Difficulty:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:138
+msgid "CSKL^Easy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:139
+msgid "CSKL^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:140
+msgid "CSKL^Hard"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:142
+msgid "Start Singleplayer!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:4
+msgid "Winner"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:5
+msgid "Team Selection"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:42
+msgid "join 'best' team (auto-select)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:46
+msgid "red"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:47
+msgid "blue"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:48
+msgid "yellow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:49
+msgid "pink"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:52
+msgid "spectate"
+msgstr ""
+
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
+msgid "Do not press this button again!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:280
+msgid ""
+"Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:288
+#, c-format
+msgid "%s's Xonotic Server"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:293
+msgid ""
+"Huh? Can't play this (invalid game type). Refiltering so this won't happen "
+"again.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128
+msgid "spectator"
+msgstr ""
+
+#: qcsrc/menu/xonotic/playermodel.c:177
+msgid "<no model found>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:923
+msgid "Ping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:924
+msgid "Host name"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:925
+msgid "Map"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:926
+msgid "Type"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:927
+msgid "Players"
+msgstr ""
+
+#: qcsrc/menu/xonotic/skinlist.c:105
+msgid "<TITLE>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/skinlist.c:106
+msgid "<AUTHOR>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:77
+msgid "VOL^MAX"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:79
+msgid "VOL^OFF"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:81
+#, c-format
+msgid "%d %%"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:83
+#, c-format
+msgid "%.1f"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:85
+#, c-format
+msgid "%.2f %%"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:87
+#, c-format
+msgid "%s dB"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_resolution.c:116
+#, c-format
+msgid "%dx%d (%d:%d)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_resolution.c:119
+#, c-format
+msgid "%dx%d"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:308
+#, c-format
+msgid "error receiving update notification: status is %d\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:313
+msgid "error: received HTML instead of an update notification\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:318
+msgid "error: received carriage returns from update notification server\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:397
+#, c-format
+msgid ""
+"Update can be downloaded at:\n"
+"%s\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:497
+msgid "Autogenerating mapinfo for newly added maps..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:526
+#, c-format
+msgid "^1%s TEST BUILD"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:541
+#, c-format
+msgid "Update to %s now!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:626
+msgid ""
+"^1ERROR: Texture compression is required but not supported.\n"
+"^1Expect visual problems.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:746
+msgid "Use default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:766
+msgid "Team Color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qh:43
+msgid "Enable panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/weaponslist.c:102
+#, c-format
+msgid "%s (mutator weapon)"
+msgstr ""
+
+#: qcsrc/server/w_hlac.qc:11
+msgid "Heavy Laser Assault Cannon"
+msgstr ""
+
+#: qcsrc/server/w_hook.qc:11
+msgid "Grappling Hook"
+msgstr ""
+
+#: qcsrc/server/w_minstanex.qc:11
+msgid "MinstaNex"
+msgstr ""
+
+#: qcsrc/server/w_seeker.qc:11
+msgid "T.A.G. Seeker"
+msgstr ""
+
+#: qcsrc/server/w_tuba.qc:12
+#, no-c-format
+msgid "@!#%'n Tuba"
+msgstr ""
index e811b072f5befc555277c6088aad7dab600099a8..1ebad855bdcd272c29580db615f1fae2c6299cee 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-03 11:55+0200\n"
-"PO-Revision-Date: 2013-10-03 10:08+0000\n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
 "Last-Translator: divVerent <divVerent@xonotic.org>\n"
 "Language-Team: Dutch (http://www.transifex.com/projects/p/xonotic/language/"
 "nl/)\n"
@@ -33,12 +33,7 @@ msgstr ""
 msgid "^4CSQC Build information: ^1%s\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
-#, c-format
-msgid "trying to switch to unsupported team %d\n"
-msgstr ""
-
-#: qcsrc/client/Main.qc:835
+#: qcsrc/client/Main.qc:836
 #, c-format
 msgid ""
 "Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
@@ -56,7 +51,7 @@ msgstr ""
 msgid "%s (%s)"
 msgstr "%s (%s)"
 
-#: qcsrc/client/View.qc:1096
+#: qcsrc/client/View.qc:1165
 msgid "Revival progress"
 msgstr ""
 
@@ -88,213 +83,209 @@ msgstr ""
 msgid "%s (%s %s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:829
+#: qcsrc/client/hud.qc:832
 msgid "Out of ammo"
 msgstr ""
 
-#: qcsrc/client/hud.qc:833
+#: qcsrc/client/hud.qc:836
 msgid "Don't have"
 msgstr ""
 
-#: qcsrc/client/hud.qc:837
+#: qcsrc/client/hud.qc:840
 msgid "Unavailable"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
 #, c-format
 msgid "Player %d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2384
+#: qcsrc/client/hud.qc:2369
 msgid "^1Intermediate 1 (+15.42)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
 #, c-format
 msgid "^1PENALTY: %.1f (%s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2471
+#: qcsrc/client/hud.qc:2456
 #, c-format
 msgid "^2PENALTY: %.1f (%s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2501
+#: qcsrc/client/hud.qc:2486
 msgid "^1You must answer before entering hud configure mode\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2506
+#: qcsrc/client/hud.qc:2491
 msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2586
+#: qcsrc/client/hud.qc:2570
 msgid "A vote has been called for:"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2588
+#: qcsrc/client/hud.qc:2572
 msgid "Allow servers to store and display your name?"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2592
+#: qcsrc/client/hud.qc:2576
 msgid "^1Configure the HUD"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2596
+#: qcsrc/client/hud.qc:2580
 #, c-format
 msgid "Yes (%s): %d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2598
+#: qcsrc/client/hud.qc:2582
 #, c-format
 msgid "No (%s): %d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3169 qcsrc/client/hud.qc:3172 qcsrc/client/hud.qc:3174
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
 msgid "Personal best"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
 msgid "Server best"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3552
+#: qcsrc/client/hud.qc:3528
 msgid "^3Player^7: This is the chat area."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3618
+#: qcsrc/client/hud.qc:3593
 #, c-format
 msgid "FPS: %.*f"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3683
+#: qcsrc/client/hud.qc:3657
 msgid "^1Observing"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
 #, c-format
 msgid "^1Spectating: ^7%s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3693
+#: qcsrc/client/hud.qc:3667
 #, c-format
 msgid "^1Press ^3%s^1 to spectate"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3695
+#: qcsrc/client/hud.qc:3669
 #, c-format
 msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3699
+#: qcsrc/client/hud.qc:3673
 #, c-format
 msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3701
+#: qcsrc/client/hud.qc:3675
 #, c-format
 msgid "^1Press ^3%s^1 to observe"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3704
+#: qcsrc/client/hud.qc:3678
 #, c-format
 msgid "^1Press ^3%s^1 for gamemode info"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3708
-msgid "^1Wait for your turn to join"
-msgstr ""
-
-#: qcsrc/client/hud.qc:3714
+#: qcsrc/client/hud.qc:3686
 msgid "^1Match has already begun"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3688
 msgid "^1You have no more lives left"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
 #, c-format
 msgid "^1Press ^3%s^1 to join"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3701
 #, c-format
 msgid "^1Game starts in ^3%d^1 seconds"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3708
 msgid "^2Currently in ^1warmup^2 stage!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3723
 #, c-format
 msgid "%sPress ^3%s%s to end warmup"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3725
 #, c-format
 msgid "%sPress ^3%s%s once you are ready"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3758
+#: qcsrc/client/hud.qc:3730
 msgid "^2Waiting for others to ready up to end warmup..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3732
 msgid "^2Waiting for others to ready up..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3738
 #, c-format
 msgid "^2Press ^3%s^2 to end warmup"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3759
 msgid "Teamnumbers are unbalanced!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3764
 #, c-format
 msgid " Press ^3%s%s to adjust"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3772
 msgid "^7Press ^3ESC ^7to show HUD options."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3774
 msgid "^3Doubleclick ^7a panel for panel-specific options."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3776
 msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3778
 msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3825
 msgid " qu/s"
-msgstr ""
+msgstr "qu/s"
 
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3829
 msgid " m/s"
-msgstr ""
+msgstr "m/s"
 
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3833
 msgid " km/h"
-msgstr ""
+msgstr "km/h"
 
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3837
 msgid " mph"
-msgstr ""
+msgstr "mph"
 
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3841
 msgid " knots"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4497
 msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
 msgstr ""
 
@@ -343,16 +334,16 @@ msgstr ""
 msgid "Requesting preview...\n"
 msgstr ""
 
-#: qcsrc/client/miscfunctions.qc:98
+#: qcsrc/client/miscfunctions.qc:101
 msgid "Trying to remove a team which is not in the teamlist!"
 msgstr ""
 
-#: qcsrc/client/movetypes.qc:163
+#: qcsrc/client/movetypes.qc:227
 #, c-format
 msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
 
-#: qcsrc/client/movetypes.qc:166
+#: qcsrc/client/movetypes.qc:230
 #, c-format
 msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
@@ -455,7 +446,7 @@ msgstr ""
 
 #: qcsrc/client/scoreboard.qc:43
 msgid "SCO^ping"
-msgstr ""
+msgstr "Ping"
 
 #: qcsrc/client/scoreboard.qc:44
 msgid "SCO^pl"
@@ -493,164 +484,164 @@ msgstr ""
 msgid "SCO^ticks"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:251
+#: qcsrc/client/scoreboard.qc:237
 msgid ""
 "You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:252
+#: qcsrc/client/scoreboard.qc:238
 msgid "^3|---------------------------------------------------------------|\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:253
+#: qcsrc/client/scoreboard.qc:239
 msgid "Usage:\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:254
+#: qcsrc/client/scoreboard.qc:240
 msgid "^2scoreboard_columns_set default\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:255
+#: qcsrc/client/scoreboard.qc:241
 msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:256
+#: qcsrc/client/scoreboard.qc:242
 msgid "The following field names are recognized (case insensitive):\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:257
+#: qcsrc/client/scoreboard.qc:243
 msgid ""
 "You can use a ^3|^7 to start the right-aligned fields.\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:259
+#: qcsrc/client/scoreboard.qc:245
 msgid "^3name^7 or ^3nick^7             Name of a player\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:260
+#: qcsrc/client/scoreboard.qc:246
 msgid "^3ping^7                     Ping time\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:261
+#: qcsrc/client/scoreboard.qc:247
 msgid "^3pl^7                       Packet loss\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:262
+#: qcsrc/client/scoreboard.qc:248
 msgid "^3kills^7                    Number of kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:263
+#: qcsrc/client/scoreboard.qc:249
 msgid "^3deaths^7                   Number of deaths\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:264
+#: qcsrc/client/scoreboard.qc:250
 msgid "^3suicides^7                 Number of suicides\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:265
+#: qcsrc/client/scoreboard.qc:251
 msgid "^3frags^7                    kills - suicides\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:266
+#: qcsrc/client/scoreboard.qc:252
 msgid "^3kd^7                       The kill-death ratio\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:267
+#: qcsrc/client/scoreboard.qc:253
 msgid "^3sum^7                      frags - deaths\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:268
+#: qcsrc/client/scoreboard.qc:254
 msgid ""
 "^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
 "captured\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:269
+#: qcsrc/client/scoreboard.qc:255
 msgid ""
 "^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
 "ball (Keepaway) was picked up\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:270
+#: qcsrc/client/scoreboard.qc:256
 msgid "^3captime^7                  Time of fastest cap (CTF)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:271
+#: qcsrc/client/scoreboard.qc:257
 msgid "^3fckills^7                  Number of flag carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:272
+#: qcsrc/client/scoreboard.qc:258
 msgid "^3returns^7                  Number of flag returns\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:273
+#: qcsrc/client/scoreboard.qc:259
 msgid "^3drops^7                    Number of flag drops\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:274
+#: qcsrc/client/scoreboard.qc:260
 msgid "^3lives^7                    Number of lives (LMS)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:275
+#: qcsrc/client/scoreboard.qc:261
 msgid "^3rank^7                     Player rank\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:276
+#: qcsrc/client/scoreboard.qc:262
 msgid "^3pushes^7                   Number of players pushed into void\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:277
+#: qcsrc/client/scoreboard.qc:263
 msgid ""
 "^3destroyed^7                Number of keys destroyed by pushing them into "
 "void\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:278
+#: qcsrc/client/scoreboard.qc:264
 msgid "^3kckills^7                  Number of keys carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:279
+#: qcsrc/client/scoreboard.qc:265
 msgid "^3losses^7                   Number of times a key was lost\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:280
+#: qcsrc/client/scoreboard.qc:266
 msgid "^3laps^7                     Number of laps finished (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:281
+#: qcsrc/client/scoreboard.qc:267
 msgid "^3time^7                     Total time raced (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:282
+#: qcsrc/client/scoreboard.qc:268
 msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:283
+#: qcsrc/client/scoreboard.qc:269
 msgid "^3ticks^7                    Number of ticks (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:284
+#: qcsrc/client/scoreboard.qc:270
 msgid "^3takes^7                    Number of domination points taken (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:285
+#: qcsrc/client/scoreboard.qc:271
 msgid "^3bckills^7                  Number of ball carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:286
+#: qcsrc/client/scoreboard.qc:272
 msgid ""
 "^3bctime^7                   Total amount of time holding the ball in "
 "Keepaway\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:287
+#: qcsrc/client/scoreboard.qc:273
 msgid ""
 "^3score^7                    Total score\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:289
+#: qcsrc/client/scoreboard.qc:275
 msgid ""
 "Before a field you can put a + or - sign, then a comma separated list\n"
 "of game types, then a slash, to make the field show up only in these\n"
@@ -659,30 +650,30 @@ msgid ""
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:294
+#: qcsrc/client/scoreboard.qc:280
 msgid ""
 "The special game type names 'teams' and 'noteams' can be used to\n"
 "include/exclude ALL teams/noteams game modes.\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:297
+#: qcsrc/client/scoreboard.qc:283
 msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:298
+#: qcsrc/client/scoreboard.qc:284
 msgid ""
 "will display name, ping and pl aligned to the left, and the fields\n"
 "right of the vertical bar aligned to the right.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:300
+#: qcsrc/client/scoreboard.qc:286
 msgid ""
 "'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
 "other gamemodes except DM.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:534 qcsrc/client/scoreboard.qc:541
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
@@ -690,91 +681,95 @@ msgstr ""
 msgid "N/A"
 msgstr "N/A"
 
-#: qcsrc/client/scoreboard.qc:984
+#: qcsrc/client/scoreboard.qc:970
 #, c-format
 msgid "Accuracy stats (average %d%%)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1047
+#: qcsrc/client/scoreboard.qc:1033
 #, c-format
 msgid "%d%%"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1099
 msgid "Map stats:"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1124
 msgid "Secrets found:"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1152
 msgid "Rankings"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1248
 msgid "Scoreboard"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1307
 #, c-format
 msgid "Speed award: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1311
 #, c-format
 msgid "All-time fastest: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1345
 msgid "Spectators"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1352
 #, c-format
-msgid "playing on ^2%s^7"
+msgid "playing ^3%s^7 on ^2%s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
 #, c-format
 msgid " for up to ^1%1.0f minutes^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1364 qcsrc/client/scoreboard.qc:1383
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
 msgid " or"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
 #, c-format
 msgid " until ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1375
-#: qcsrc/client/scoreboard.qc:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
 msgid "SCO^points"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1369 qcsrc/client/scoreboard.qc:1376
-#: qcsrc/client/scoreboard.qc:1388 qcsrc/client/scoreboard.qc:1395
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
 msgid "SCO^is beaten"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
 #, c-format
 msgid " until a lead of ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1419
 #, c-format
 msgid "^1Respawning in ^3%s^1..."
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1429
 #, c-format
 msgid "You are dead, wait ^3%s^7 before respawning"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1438
 #, c-format
 msgid "You are dead, press ^2%s^7 to respawn"
 msgstr ""
@@ -784,7 +779,7 @@ msgstr ""
 msgid "Cannot initialize sound %s\n"
 msgstr ""
 
-#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:591
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
 msgid "Spam"
 msgstr ""
 
@@ -801,209 +796,213 @@ msgstr ""
 msgid "No left gunner!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:254
+#: qcsrc/client/waypointsprites.qc:246
 msgid "Push"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:255
+#: qcsrc/client/waypointsprites.qc:247
 msgid "Destroy"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:256
+#: qcsrc/client/waypointsprites.qc:248
 msgid "Defend"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:257
+#: qcsrc/client/waypointsprites.qc:249
 msgid "Blue base"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:258
+#: qcsrc/client/waypointsprites.qc:250
 msgid "DANGER"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:251
 msgid "Enemy carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:260
+#: qcsrc/client/waypointsprites.qc:252
 msgid "Flag carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:253
 msgid "Dropped flag"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:262
+#: qcsrc/client/waypointsprites.qc:254
 msgid "Help me!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:263
+#: qcsrc/client/waypointsprites.qc:255
 msgid "Here"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:264
+#: qcsrc/client/waypointsprites.qc:256
 msgid "Dropped key"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:267
-#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
-#: qcsrc/client/waypointsprites.qc:270
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
 msgid "Key carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:258
 msgid "Run here"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:263
 msgid "Red base"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:272
+#: qcsrc/client/waypointsprites.qc:264
 msgid "Waypoint"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
-#: qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
 msgid "Generator"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:276 qcsrc/client/waypointsprites.qc:277
-#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
-#: qcsrc/client/waypointsprites.qc:280 qcsrc/client/waypointsprites.qc:281
-#: qcsrc/client/waypointsprites.qc:282 qcsrc/client/waypointsprites.qc:283
-#: qcsrc/client/waypointsprites.qc:307 qcsrc/client/waypointsprites.qc:308
-#: qcsrc/client/waypointsprites.qc:309 qcsrc/client/waypointsprites.qc:310
-#: qcsrc/client/waypointsprites.qc:311
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
 msgid "Control point"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:284
+#: qcsrc/client/waypointsprites.qc:276
 msgid "Checkpoint"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
 msgid "Finish"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
 msgid "Start"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
 msgid "Ball"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:290
+#: qcsrc/client/waypointsprites.qc:283
 msgid "Ball carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
 msgid "Laser"
 msgstr "Laser"
 
-#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
 msgid "Shotgun"
 msgstr "Shotgun"
 
-#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
 msgid "Machine Gun"
 msgstr "Machine Gun"
 
-#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
 msgid "Mortar"
 msgstr "Mortar"
 
-#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
 msgid "Electro"
 msgstr "Electro"
 
-#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
 msgid "Crylink"
 msgstr "Crylink"
 
-#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
 msgid "Nex"
 msgstr "Nex"
 
-#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
 msgid "Hagar"
 msgstr "Hagar"
 
-#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
 msgid "Rocket Launcher"
 msgstr "Rocket Launcher"
 
-#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
 msgid "Port-O-Launch"
 msgstr "Port-O-Launch"
 
-#: qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:294
 msgid "Minstanex"
-msgstr ""
+msgstr "MinstaNex"
 
-#: qcsrc/client/waypointsprites.qc:302
+#: qcsrc/client/waypointsprites.qc:295
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
 msgid "Hook"
 msgstr "Haak"
 
-#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
 msgid "Fireball"
 msgstr "Fireball"
 
-#: qcsrc/client/waypointsprites.qc:304
+#: qcsrc/client/waypointsprites.qc:297
 msgid "HLAC"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
 msgid "Rifle"
 msgstr "Geweer"
 
-#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
 msgid "Mine Layer"
 msgstr "Mine Layer"
 
-#: qcsrc/client/waypointsprites.qc:312
+#: qcsrc/client/waypointsprites.qc:305
 msgid "Invisibility"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:313
+#: qcsrc/client/waypointsprites.qc:306
 msgid "Extra life"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:314
+#: qcsrc/client/waypointsprites.qc:307
 msgid "Speed"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:315
+#: qcsrc/client/waypointsprites.qc:308
 msgid "Strength"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:316
+#: qcsrc/client/waypointsprites.qc:309
 msgid "Shield"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:317
+#: qcsrc/client/waypointsprites.qc:310
 msgid "Fuel regen"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:318
+#: qcsrc/client/waypointsprites.qc:311
 msgid "Jet Pack"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:319
+#: qcsrc/client/waypointsprites.qc:312
 msgid "Frozen!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:320
+#: qcsrc/client/waypointsprites.qc:313
 msgid "Tagged"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:321
+#: qcsrc/client/waypointsprites.qc:314
 msgid "Vehicle"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:595
+#: qcsrc/client/waypointsprites.qc:588
 #, c-format
 msgid "%s needing help!"
 msgstr ""
@@ -1225,12 +1224,12 @@ msgstr "%drd"
 msgid "%dth"
 msgstr "%dth"
 
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:717
 #, no-c-format
 msgid "@!#%'n Tuba Throwing"
 msgstr "@!#%'n Tuba Smijten"
 
-#: qcsrc/common/mapinfo.qc:1109 qcsrc/menu/xonotic/skinlist.c:166
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
@@ -1244,57 +1243,82 @@ msgid "Last Man Standing"
 msgstr "Last Man Standing"
 
 #: qcsrc/common/mapinfo.qh:42
-msgid "Arena"
-msgstr "Arena"
-
-#: qcsrc/common/mapinfo.qh:45
 msgid "Race"
 msgstr "Race"
 
-#: qcsrc/common/mapinfo.qh:48
+#: qcsrc/common/mapinfo.qh:45
 msgid "Race CTS"
 msgstr "Race CTS"
 
-#: qcsrc/common/mapinfo.qh:51
+#: qcsrc/common/mapinfo.qh:48
 msgid "Team Deathmatch"
 msgstr "Team Deathmatch"
 
-#: qcsrc/common/mapinfo.qh:54
+#: qcsrc/common/mapinfo.qh:51
 msgid "Capture the Flag"
 msgstr "Capture The Flag"
 
-#: qcsrc/common/mapinfo.qh:57
+#: qcsrc/common/mapinfo.qh:54
 msgid "Clan Arena"
 msgstr "Clan Arena"
 
-#: qcsrc/common/mapinfo.qh:60
+#: qcsrc/common/mapinfo.qh:57
 msgid "Domination"
 msgstr "Domination"
 
-#: qcsrc/common/mapinfo.qh:63
+#: qcsrc/common/mapinfo.qh:60
 msgid "Key Hunt"
 msgstr "Key Hunt"
 
-#: qcsrc/common/mapinfo.qh:66
+#: qcsrc/common/mapinfo.qh:63
 msgid "Assault"
 msgstr "Assault"
 
-#: qcsrc/common/mapinfo.qh:69
+#: qcsrc/common/mapinfo.qh:66
 msgid "Onslaught"
 msgstr "Onslaught"
 
-#: qcsrc/common/mapinfo.qh:72
+#: qcsrc/common/mapinfo.qh:69
 msgid "Nexball"
 msgstr "Nexball"
 
-#: qcsrc/common/mapinfo.qh:75
+#: qcsrc/common/mapinfo.qh:72
 msgid "Freeze Tag"
 msgstr "Freeze Tag"
 
-#: qcsrc/common/mapinfo.qh:78
+#: qcsrc/common/mapinfo.qh:75
 msgid "Keepaway"
 msgstr "Keepaway"
 
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr ""
+
 #: qcsrc/common/net_notice.qc:89
 msgid "^1Server notices:"
 msgstr "^1Server aankondigingen:"
@@ -1305,967 +1329,1020 @@ msgid "^7%s (^3%d sec left)"
 msgstr "^7%s (^3%d sec resterend)"
 
 #: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:343
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:343
+#: qcsrc/common/notifications.qh:344
 #, c-format
 msgid ""
 "^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"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:344
+#: qcsrc/common/notifications.qh:345
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:345
+#: qcsrc/common/notifications.qh:346
 #, c-format
 msgid ""
 "^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"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:346
+#: qcsrc/common/notifications.qh:347
 msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:347
+#: qcsrc/common/notifications.qh:348
 msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:348
+#: qcsrc/common/notifications.qh:349
 msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:349
+#: qcsrc/common/notifications.qh:350
 msgid ""
 "^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
 "base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:350
+#: qcsrc/common/notifications.qh:351
 #, c-format
 msgid ""
 "^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
 "itself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:351
+#: qcsrc/common/notifications.qh:352
 msgid "^BGThe ^TC^TT^BG flag has returned to the base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:352
+#: qcsrc/common/notifications.qh:353
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:353
+#: qcsrc/common/notifications.qh:354
 #, c-format
 msgid "^BG%s^BG got the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:354
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
 #, c-format
 msgid "^BG%s^BG returned the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:355
+#: qcsrc/common/notifications.qh:357
 #, c-format
 msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:356
+#: qcsrc/common/notifications.qh:358
 #, c-format
 msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:357
+#: qcsrc/common/notifications.qh:359
 #, c-format
 msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:359
+#: qcsrc/common/notifications.qh:361
 #, c-format
 msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:360
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:363
 #, c-format
 msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:361
+#: qcsrc/common/notifications.qh:364
 #, c-format
 msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:362
+#: qcsrc/common/notifications.qh:365
 #, c-format
 msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:363
+#: qcsrc/common/notifications.qh:366
 #, c-format
 msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:365
+#: qcsrc/common/notifications.qh:368
 #, c-format
 msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:366
+#: qcsrc/common/notifications.qh:369
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:367
+#: qcsrc/common/notifications.qh:370
 #, c-format
 msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:368
+#: qcsrc/common/notifications.qh:371
 #, c-format
 msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:369
+#: qcsrc/common/notifications.qh:372
 #, c-format
 msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:370
+#: qcsrc/common/notifications.qh:373
 #, c-format
 msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:371
+#: qcsrc/common/notifications.qh:374
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:372
+#: qcsrc/common/notifications.qh:375
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:373
+#: qcsrc/common/notifications.qh:376
 #, c-format
 msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:374
+#: qcsrc/common/notifications.qh:377
 #, c-format
 msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:375
+#: qcsrc/common/notifications.qh:378
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:376
+#: qcsrc/common/notifications.qh:379
 #, c-format
 msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:377
+#: qcsrc/common/notifications.qh:380
 #, c-format
 msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:378
+#: qcsrc/common/notifications.qh:381
 #, c-format
 msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:379
+#: qcsrc/common/notifications.qh:382
 #, c-format
 msgid "^BG%s^K1 was moved into the %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:380
+#: qcsrc/common/notifications.qh:383
 #, c-format
 msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:381
+#: qcsrc/common/notifications.qh:384
 #, c-format
 msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:382
+#: qcsrc/common/notifications.qh:385
 #, c-format
 msgid "^BG%s^K1 unfairly eliminated themself%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:383
+#: qcsrc/common/notifications.qh:386
 #, c-format
 msgid "^BG%s^K1 %s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 couldn't catch their breath%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 was in the water for too long%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a crunch%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 became a bit too crispy%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 felt a little hot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:387
+#: qcsrc/common/notifications.qh:390
 #, c-format
 msgid "^BG%s^K1 died%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 found a hot place%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 turned into hot slag%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:389
+#: qcsrc/common/notifications.qh:392
 #, c-format
 msgid "^BG%s^K1 mastered the art of self-nading%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:393
+#, c-format
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:394
+#, c-format
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:395
+#, c-format
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:396
+#, c-format
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:397
+#, c-format
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:398
+#, c-format
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
 #, c-format
 msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:401
 #, c-format
 msgid "^BG%s^K1 ran out of ammo%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:391
+#: qcsrc/common/notifications.qh:402
 #, c-format
 msgid "^BG%s^K1 rotted away%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:392
+#: qcsrc/common/notifications.qh:403
 #, c-format
 msgid "^BG%s^K1 became a shooting star%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:393
+#: qcsrc/common/notifications.qh:404
 #, c-format
 msgid "^BG%s^K1 was slimed%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:394
+#: qcsrc/common/notifications.qh:405
 #, c-format
 msgid "^BG%s^K1 couldn't take it anymore%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:395
+#: qcsrc/common/notifications.qh:406
 #, c-format
 msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:396
+#: qcsrc/common/notifications.qh:407
 #, c-format
 msgid "^BG%s^K1 switched to the %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:397
+#: qcsrc/common/notifications.qh:408
 #, c-format
 msgid "^BG%s^K1 died in an accident%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:398
+#: qcsrc/common/notifications.qh:409
 #, c-format
 msgid "^BG%s^K1 ran into a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:399
+#: qcsrc/common/notifications.qh:410
 #, c-format
 msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:400
+#: qcsrc/common/notifications.qh:411
 #, c-format
 msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:401
+#: qcsrc/common/notifications.qh:412
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:402
+#: qcsrc/common/notifications.qh:413
 #, c-format
 msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:403
+#: qcsrc/common/notifications.qh:414
 #, c-format
 msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:404
+#: qcsrc/common/notifications.qh:415
 #, c-format
 msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:405
+#: qcsrc/common/notifications.qh:416
 #, c-format
 msgid "^BG%s^K1 was phased out by a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:406
+#: qcsrc/common/notifications.qh:417
 #, c-format
 msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:407
+#: qcsrc/common/notifications.qh:418
 #, c-format
 msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:408
+#: qcsrc/common/notifications.qh:419
 #, c-format
 msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:409
+#: qcsrc/common/notifications.qh:420
 #, c-format
 msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:410
+#: qcsrc/common/notifications.qh:421
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:411
+#: qcsrc/common/notifications.qh:422
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:412
+#: qcsrc/common/notifications.qh:423
 #, c-format
 msgid "^BG%s^K1 was crushed by a vehicle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:413
+#: qcsrc/common/notifications.qh:424
 #, c-format
 msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:414
+#: qcsrc/common/notifications.qh:425
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:415
+#: qcsrc/common/notifications.qh:426
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:416
+#: qcsrc/common/notifications.qh:427
 #, c-format
 msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:417
+#: qcsrc/common/notifications.qh:428
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:418
+#: qcsrc/common/notifications.qh:429
 #, c-format
 msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:419
+#: qcsrc/common/notifications.qh:430
 #, c-format
 msgid "^BG%s^K1 was in the wrong place%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:420
+#: qcsrc/common/notifications.qh:431
 #, c-format
 msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:421
+#: qcsrc/common/notifications.qh:432
 #, c-format
 msgid "^BG%s^K1 was frozen by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:422
+#: qcsrc/common/notifications.qh:433
 #, c-format
 msgid "^BG%s^K3 was revived by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:423
+#: qcsrc/common/notifications.qh:434
 #, c-format
 msgid "^BG%s^K3 was revived by falling"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:424
+#: qcsrc/common/notifications.qh:435
 #, c-format
 msgid "^BG%s^K3 was automatically revived after %s second(s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:425 qcsrc/common/notifications.qh:612
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
 msgid "^TC^TT^BG team wins the round"
 msgstr "^TC^TT^BG team wint de ronde"
 
-#: qcsrc/common/notifications.qh:426 qcsrc/common/notifications.qh:613
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
 #, c-format
 msgid "^BG%s^BG wins the round"
 msgstr "^BG%s^BG wint deze ronde"
 
-#: qcsrc/common/notifications.qh:427 qcsrc/common/notifications.qh:542
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
 msgid "^BGRound tied"
 msgstr "^BGRonde geëindigd in een gelijkspel"
 
-#: qcsrc/common/notifications.qh:428 qcsrc/common/notifications.qh:543
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
 msgid "^BGRound over, there's no winner"
 msgstr "^BGDe ronde is voorbij, er is geen winnaar"
 
-#: qcsrc/common/notifications.qh:429
+#: qcsrc/common/notifications.qh:440
 #, c-format
 msgid "^BG%s^K1 froze themself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:430
+#: qcsrc/common/notifications.qh:441
 #, c-format
 msgid "^BGGodmode saved you %s units of damage, cheater!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:431 qcsrc/common/notifications.qh:616
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
 #, c-format
 msgid "^BGYou do not have the ^F1%s"
 msgstr "^BGJe hebt de ^F1%s niet"
 
-#: qcsrc/common/notifications.qh:432 qcsrc/common/notifications.qh:617
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
 #, c-format
 msgid "^BGYou dropped the ^F1%s^BG%s"
 msgstr "^BG Je hebt de ^F1%s^BG%s laten vallen"
 
-#: qcsrc/common/notifications.qh:433 qcsrc/common/notifications.qh:618
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
 #, c-format
 msgid "^BGYou got the ^F1%s"
 msgstr "^BGJe hebt de ^F1%s"
 
-#: qcsrc/common/notifications.qh:434 qcsrc/common/notifications.qh:619
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
 #, c-format
 msgid "^BGYou don't have enough ammo for the ^F1%s"
 msgstr "^BGJe hebt niet genoeg ammo voor de ^F1%s"
 
-#: qcsrc/common/notifications.qh:435 qcsrc/common/notifications.qh:620
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
 #, c-format
 msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
 msgstr "^F1%s %s^BG kan niet meer schieten, maar zijn ^F1%s^BG kan dit wel"
 
-#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:621
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
 #, c-format
 msgid "^F1%s^BG is ^F4not available^BG on this map"
 msgstr "^F1%s^BG is ^F4niet beschikbaar^BG op deze map"
 
-#: qcsrc/common/notifications.qh:437
+#: qcsrc/common/notifications.qh:448
 #, c-format
 msgid "^BG%s^F3 connected%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:438
+#: qcsrc/common/notifications.qh:449
 #, c-format
 msgid "^BG%s^F3 connected and joined the ^TC^TT team"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:439
+#: qcsrc/common/notifications.qh:450
 #, c-format
 msgid "^BG%s^F3 is now playing"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:440 qcsrc/common/notifications.qh:624
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
 #, c-format
 msgid "^BG%s^BG has dropped the ball!"
 msgstr "^BG%s^BG heeft de bal laten vallen!"
 
-#: qcsrc/common/notifications.qh:441 qcsrc/common/notifications.qh:625
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
 #, c-format
 msgid "^BG%s^BG has picked up the ball!"
 msgstr "^BG%s^BG heeft de bal opgepakt!"
 
-#: qcsrc/common/notifications.qh:442
+#: qcsrc/common/notifications.qh:453
 #, c-format
 msgid "^BG%s^BG captured the keys for the ^TC^TT team"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:443
+#: qcsrc/common/notifications.qh:454
 #, c-format
 msgid "^BG%s^BG dropped the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:444
+#: qcsrc/common/notifications.qh:455
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:445
+#: qcsrc/common/notifications.qh:456
 #, c-format
 msgid "^BG%s^BG picked up the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:446
+#: qcsrc/common/notifications.qh:457
 #, c-format
 msgid "^BG%s^F3 forfeited"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:447
+#: qcsrc/common/notifications.qh:458
 #, c-format
 msgid "^BG%s^F3 has no more lives left"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:448
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:460
 #, c-format
 msgid "^BG%s^K1 picked up Invisibility"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:449
+#: qcsrc/common/notifications.qh:461
 #, c-format
 msgid "^BG%s^K1 picked up Shield"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:450
+#: qcsrc/common/notifications.qh:462
 #, c-format
 msgid "^BG%s^K1 picked up Speed"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:451
+#: qcsrc/common/notifications.qh:463
 #, c-format
 msgid "^BG%s^K1 picked up Strength"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:452
+#: qcsrc/common/notifications.qh:464
 #, c-format
 msgid "^BG%s^F3 disconnected"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:453
+#: qcsrc/common/notifications.qh:465
 #, c-format
 msgid "^BG%s^F3 was kicked for idling"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:454
+#: qcsrc/common/notifications.qh:466
 msgid ""
 "^F2You were kicked from the server because you are a spectator and "
 "spectators aren't allowed at the moment."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:455
+#: qcsrc/common/notifications.qh:467
 #, c-format
 msgid "^BG%s^F3 is now spectating"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:456
+#: qcsrc/common/notifications.qh:468
 #, c-format
 msgid "^BG%s^BG has abandoned the race"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:457
+#: qcsrc/common/notifications.qh:469
 #, c-format
 msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:458
+#: qcsrc/common/notifications.qh:470
 #, c-format
 msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:459
+#: qcsrc/common/notifications.qh:471
 #, c-format
 msgid "^BG%s^BG has finished the race"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:460
+#: qcsrc/common/notifications.qh:472
 #, c-format
 msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:461
+#: qcsrc/common/notifications.qh:473
 #, c-format
 msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:462
+#: qcsrc/common/notifications.qh:474
 #, c-format
 msgid ""
 "^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
 "and will be lost."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:463
+#: qcsrc/common/notifications.qh:475
 #, c-format
 msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:464
+#: qcsrc/common/notifications.qh:476
 msgid "^TC^TT ^BGteam scores!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:465
+#: qcsrc/common/notifications.qh:477
 #, c-format
 msgid ""
 "^F2You have to become a player within the next %s, otherwise you will be "
 "kicked, because spectating isn't allowed at this time!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:466
+#: qcsrc/common/notifications.qh:478
 #, c-format
 msgid "^BG%s^K1 picked up a Superweapon"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:467
+#: qcsrc/common/notifications.qh:479
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
 "^F2Xonotic %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:468
+#: qcsrc/common/notifications.qh:480
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:469
+#: qcsrc/common/notifications.qh:481
 #, c-format
 msgid ""
 "^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
 "the update from ^F3http://www.xonotic.org/^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:470
+#: qcsrc/common/notifications.qh:482
 #, c-format
 msgid "^F3SVQC Build information: ^F4%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:471
+#: qcsrc/common/notifications.qh:483
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:472
+#: qcsrc/common/notifications.qh:484
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:473
+#: qcsrc/common/notifications.qh:485
 #, c-format
 msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:474
+#: qcsrc/common/notifications.qh:486
 #, c-format
 msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:475
+#: qcsrc/common/notifications.qh:487
 #, c-format
 msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:476
+#: qcsrc/common/notifications.qh:488
 #, c-format
 msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:477
+#: qcsrc/common/notifications.qh:489
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:478
+#: qcsrc/common/notifications.qh:490
 #, c-format
 msgid "^BG%s^K1 played with Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:479
+#: qcsrc/common/notifications.qh:491
 #, c-format
 msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:480
+#: qcsrc/common/notifications.qh:492
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:481
+#: qcsrc/common/notifications.qh:493
 #, c-format
 msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:482
+#: qcsrc/common/notifications.qh:494
 #, c-format
 msgid "^BG%s^K1 should have used a smaller gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:483
+#: qcsrc/common/notifications.qh:495
 #, c-format
 msgid "^BG%s^K1 forgot about their firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:484
+#: qcsrc/common/notifications.qh:496
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:485
+#: qcsrc/common/notifications.qh:497
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:486
+#: qcsrc/common/notifications.qh:498
 #, c-format
 msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:487
+#: qcsrc/common/notifications.qh:499
 #, c-format
 msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:488
+#: qcsrc/common/notifications.qh:500
 #, c-format
 msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:489
+#: qcsrc/common/notifications.qh:501
 #, c-format
 msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:490
+#: qcsrc/common/notifications.qh:502
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:491
+#: qcsrc/common/notifications.qh:503
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:492
+#: qcsrc/common/notifications.qh:504
 #, c-format
 msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:493
+#: qcsrc/common/notifications.qh:505
 #, c-format
 msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:494
+#: qcsrc/common/notifications.qh:506
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:495
+#: qcsrc/common/notifications.qh:507
 #, c-format
 msgid "^BG%s^K1 forgot about their mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:496
+#: qcsrc/common/notifications.qh:508
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:497
+#: qcsrc/common/notifications.qh:509
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:498
+#: qcsrc/common/notifications.qh:510
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:499
+#: qcsrc/common/notifications.qh:511
 #, c-format
 msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:500
+#: qcsrc/common/notifications.qh:512
 #, c-format
 msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:501
+#: qcsrc/common/notifications.qh:513
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:502
+#: qcsrc/common/notifications.qh:514
 #, c-format
 msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:503
+#: qcsrc/common/notifications.qh:515
 #, c-format
 msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:504
+#: qcsrc/common/notifications.qh:516
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:505
+#: qcsrc/common/notifications.qh:517
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:506
+#: qcsrc/common/notifications.qh:518
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:507
+#: qcsrc/common/notifications.qh:519
 #, c-format
 msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:508
+#: qcsrc/common/notifications.qh:520
 #, c-format
 msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:509
+#: qcsrc/common/notifications.qh:521
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:510
+#: qcsrc/common/notifications.qh:522
 #, c-format
 msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:511
+#: qcsrc/common/notifications.qh:523
 #, c-format
 msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:512
+#: qcsrc/common/notifications.qh:524
 #, c-format
 msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:513
+#: qcsrc/common/notifications.qh:525
 #, c-format
 msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:514
+#: qcsrc/common/notifications.qh:526
 #, c-format
 msgid "^BG%s^K1 is now thinking with portals%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:515
+#: qcsrc/common/notifications.qh:527
 #, c-format
 msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:516
+#: qcsrc/common/notifications.qh:528
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:517
+#: qcsrc/common/notifications.qh:529
 #, c-format
 msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:518
+#: qcsrc/common/notifications.qh:530
 #, c-format
 msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:536
+#: qcsrc/common/notifications.qh:548
 msgid "^BGYou are attacking!"
 msgstr "^BGJij bent nu aan het aanvallen!"
 
-#: qcsrc/common/notifications.qh:537
+#: qcsrc/common/notifications.qh:549
 msgid "^BGYou are defending!"
 msgstr "^BGJe bent nu aan het verdedigen!"
 
-#: qcsrc/common/notifications.qh:538
+#: qcsrc/common/notifications.qh:550
 msgid "^F4Begin!"
 msgstr "^F4Begin!"
 
-#: qcsrc/common/notifications.qh:539
+#: qcsrc/common/notifications.qh:551
 msgid "^F4Game starts in ^COUNT"
 msgstr "^F4Game begint in ^COUNT"
 
-#: qcsrc/common/notifications.qh:540
+#: qcsrc/common/notifications.qh:552
 msgid "^F4Round starts in ^COUNT"
 msgstr "^F4Ronde start in ^COUNT"
 
-#: qcsrc/common/notifications.qh:541
+#: qcsrc/common/notifications.qh:553
 msgid "^F4Round cannot start"
 msgstr "^F4De ronde kan niet beginnen"
 
-#: qcsrc/common/notifications.qh:544
+#: qcsrc/common/notifications.qh:556
 msgid "^F2Don't camp!"
 msgstr "^F2Camp niet!"
 
-#: qcsrc/common/notifications.qh:545
+#: qcsrc/common/notifications.qh:557
 msgid ""
 "^BGYou are now free.\n"
 "^BGFeel free to ^F2try to capture^BG the flag again\n"
@@ -2275,7 +2352,7 @@ msgstr ""
 "^BGJe kan de vlag weer ^F2proberen^BG te veroveren\n"
 "^BGals je denkt dat je dat kan."
 
-#: qcsrc/common/notifications.qh:546
+#: qcsrc/common/notifications.qh:558
 msgid ""
 "^BGYou are now ^F1shielded^BG from the flag\n"
 "^BGfor ^F2too many unsuccessful attempts^BG to capture.\n"
@@ -2285,166 +2362,166 @@ msgstr ""
 "^BGje hebt dit te vaak geprobeerd zonder succes.\n"
 "^BGScoor wat punten in de verdiging voordat je het nog een keer probeert."
 
-#: qcsrc/common/notifications.qh:547
+#: qcsrc/common/notifications.qh:559
 msgid "^BGYou captured the ^TC^TT^BG flag!"
 msgstr "^BGJe hebt de ^TC^TT^BG vlag veroverd!"
 
-#: qcsrc/common/notifications.qh:548
+#: qcsrc/common/notifications.qh:560
 #, c-format
 msgid "^BGToo many flag throws! Throwing disabled for %s."
 msgstr "^BGJe hebt de vlag te vaak gegooid! Je kan niet meer gooien voor %s."
 
-#: qcsrc/common/notifications.qh:549
+#: qcsrc/common/notifications.qh:561
 #, c-format
 msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
 msgstr "^BG%s^BG heeft de ^TC^TT^BG vlag gepasst naar %s"
 
-#: qcsrc/common/notifications.qh:550
+#: qcsrc/common/notifications.qh:562
 #, c-format
 msgid "^BGYou received the ^TC^TT^BG flag from %s"
 msgstr "^BGJe hebt de ^TC^TT^BG vlag ontvangen van %s"
 
-#: qcsrc/common/notifications.qh:551
+#: qcsrc/common/notifications.qh:563
 #, c-format
 msgid "^BG%s^BG requests you to pass the flag%s"
 msgstr "^BG%s^BG vraagt je de vlag door te geven%s"
 
-#: qcsrc/common/notifications.qh:552
+#: qcsrc/common/notifications.qh:564
 #, c-format
 msgid "^BGRequesting %s^BG to pass you the flag"
 msgstr "^BGVraagt nu %s^BG om je de vlag te geven"
 
-#: qcsrc/common/notifications.qh:553
+#: qcsrc/common/notifications.qh:565
 #, c-format
 msgid "^BGYou passed the ^TC^TT^BG flag to %s"
 msgstr "^BGJe gaf de ^TC^TT^BG vlag aan %s"
 
-#: qcsrc/common/notifications.qh:554
+#: qcsrc/common/notifications.qh:566
 msgid "^BGYou got the ^TC^TT^BG flag!"
 msgstr "^BGJe hebt de ^TC^TT^BG vlag!"
 
-#: qcsrc/common/notifications.qh:555
+#: qcsrc/common/notifications.qh:567
 #, c-format
 msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
 msgstr "^BGDe %svijand^BG heeft je vlag! Breng het terug!"
 
-#: qcsrc/common/notifications.qh:556
+#: qcsrc/common/notifications.qh:568
 #, c-format
 msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
 msgstr "^BGDe %svijand (^BG%s%s)^BG heeft je vlag! Breng het terug!"
 
-#: qcsrc/common/notifications.qh:557
+#: qcsrc/common/notifications.qh:569
 #, c-format
 msgid "^BGYour %steam mate^BG got the flag! Protect them!"
 msgstr "^BGJe %steamgenoot^BG heeft de vlag! Bescherm ze!"
 
-#: qcsrc/common/notifications.qh:558
+#: qcsrc/common/notifications.qh:570
 #, c-format
 msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
 msgstr "^BGJe %steamgenoot (^BG%s%s)^BG heeft de vlag! Bescherm ze!"
 
-#: qcsrc/common/notifications.qh:559
+#: qcsrc/common/notifications.qh:571
 msgid "^BGYou returned the ^TC^TT^BG flag!"
 msgstr "^BGJe hebt de ^TC^TT^BG vlag terug gebracht!"
 
-#: qcsrc/common/notifications.qh:560
+#: qcsrc/common/notifications.qh:572
 msgid "^BGStalemate! Enemies can now see you on radar!"
 msgstr "^BGPatstelling! Vijanden kunnen je nu zien op de radar!"
 
-#: qcsrc/common/notifications.qh:561
+#: qcsrc/common/notifications.qh:573
 msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
 msgstr ""
 "^BGPatstelling! Vlagdragers kunnen nu worden gezien door hun vijanden op de "
 "radar!"
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou fragged ^BG%s"
 msgstr "^K3%sJij hebt ^BG%s gedood"
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou scored against ^BG%s"
 msgstr "^K3%sJe hebt gescoord tegen ^BG%s"
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s"
 msgstr "^K1%sJe bent gedood door ^BG%s"
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s"
 msgstr "^K1%sEr is tegen je gescoord door ^BG%s"
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s^BG%s"
 msgstr "^K1%sJe bent gedood door ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^BG%s"
 msgstr "^K1%sEr is tegen je gescoord door ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou fragged ^BG%s^BG%s"
 msgstr "^K3%sJe hebt ^BG%s^BG%s gedood"
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou scored against ^BG%s^BG%s"
 msgstr "^K3%sJe hebt tegen ^BG%s^BG%s gescoord"
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
 msgstr "^K1%sJe hebt tegen ^BG%s^K1 gescoord terwijl deze aan het typen was"
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s"
 msgstr "^K1%sJe hebt ^BG%s gedood terwijl hij aan het typen was"
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
 msgstr ""
 "^K1%sEr is tegen je gescoord terwijl je aan het typen was door ^BG%s^K1!"
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s"
 msgstr "^K1%sJe bent gedood terwijl je aan het typen was door ^BG%s"
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
 msgstr ""
 "^K1%sEr werd door ^BG%s^K1 tegen je gescoord terwijl je aan het typen was^BG"
 "%s"
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
 msgstr "^K1%sJe bent gedood terwijl je aan het typen was door ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
 msgstr "^K1%sJij scoorde tegen ^BG%s^K1 terwijl hij aan het typen was^BG%s"
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s^BG%s"
 msgstr "^K1%sJe hebt ^BG%s^BG%s gedood terwijl hij aan het typen was"
 
-#: qcsrc/common/notifications.qh:570
+#: qcsrc/common/notifications.qh:582
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:571
+#: qcsrc/common/notifications.qh:583
 #, c-format
 msgid ""
 "^BGYou have been moved into a different team\n"
@@ -2453,193 +2530,201 @@ msgstr ""
 "^BGJe bent verplaatst naar een ander team\n"
 "Je bent nu in: %s"
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't go against your team mates!"
 msgstr "^K1Ga niet tegen je teammates!"
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't shoot your team mates!"
 msgstr "^K1Schiet niet op je teamgenoten!"
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Die camper!"
 msgstr "^K1Val dood, camper!"
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Reconsider your tactics, camper!"
 msgstr "^K1Heroverweeg je tactieken, camper!"
 
-#: qcsrc/common/notifications.qh:574
+#: qcsrc/common/notifications.qh:586
 msgid "^K1You unfairly eliminated yourself!"
 msgstr "^K1Je hebt jezelf onterecht geëlimineerd!"
 
-#: qcsrc/common/notifications.qh:575
+#: qcsrc/common/notifications.qh:587
 #, c-format
 msgid "^K1You were %s"
 msgstr "^K1Je was %s"
 
-#: qcsrc/common/notifications.qh:576
+#: qcsrc/common/notifications.qh:588
 msgid "^K1You couldn't catch your breath!"
 msgstr "^K1Je kon geen adem halen!"
 
-#: qcsrc/common/notifications.qh:577
+#: qcsrc/common/notifications.qh:589
 msgid "^K1You hit the ground with a crunch!"
 msgstr "^K1Je raakte de grond met gekraak!"
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You felt a little too hot!"
 msgstr "^K1Je voelde je een beetje te heet!"
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You got a little bit too crispy!"
 msgstr "^K1Je werd een beetje te knapperig!"
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You killed your own dumb self!"
 msgstr "^K1Je hebt jezelf gedood!"
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You need to be more careful!"
 msgstr "^K1Je moet voorzichtiger zijn!"
 
-#: qcsrc/common/notifications.qh:580
+#: qcsrc/common/notifications.qh:592
 msgid "^K1You couldn't stand the heat!"
 msgstr "^K1Je kon de hitte niet verdragen!"
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
 msgid "^K1Tastes like chicken!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:594
 msgid "^K1You forgot to put the pin back in!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You are respawning for running out of ammo..."
 msgstr "^K1Je respawnt omdat je geen munitie meer had..."
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You were killed for running out of ammo..."
 msgstr "^K1Je bent gedood omdat je geen munitie meer had..."
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You grew too old without taking your medicine"
 msgstr "^K1Je bent te oud geworden zonder je medicijnen te nemen"
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You need to preserve your health"
 msgstr "^K1Je moet je levenspunten behouden"
 
-#: qcsrc/common/notifications.qh:584
+#: qcsrc/common/notifications.qh:597
 msgid "^K1You became a shooting star!"
 msgstr "^K1Je bent een vallende ster geworden!"
 
-#: qcsrc/common/notifications.qh:585
+#: qcsrc/common/notifications.qh:598
 msgid "^K1You melted away in slime!"
 msgstr "^K1Je bent gesmolten in slijm!"
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You committed suicide!"
 msgstr "^K1Je hebt zelfmoord gepleegd!"
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You ended it all!"
 msgstr "^K1Je hebt het allemaal beëindigd!   "
 
-#: qcsrc/common/notifications.qh:587
+#: qcsrc/common/notifications.qh:600
 msgid "^K1You got stuck in a swamp!"
 msgstr "^K1Je bent vast komen te zitten in een moeras!"
 
-#: qcsrc/common/notifications.qh:588
+#: qcsrc/common/notifications.qh:601
 #, c-format
 msgid "^BGYou are now on: %s"
 msgstr "^BGJe bent nu in: %s"
 
-#: qcsrc/common/notifications.qh:589
+#: qcsrc/common/notifications.qh:602
 msgid "^K1You died in an accident!"
 msgstr "^K1Je bent omgekomen bij een ongeluk!"
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You had an unfortunate run in with a turret!"
 msgstr "^K1Je hebt een ongelukkige botsing gehad met een turret!"
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You were fragged by a turret!"
 msgstr "^K1Je bent gedood door een turret!"
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You had an unfortunate run in with an eWheel turret!"
 msgstr "^K1Je had een onfortuinlijke botsing met een eWheel turret!"
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You were fragged by an eWheel turret!"
 msgstr "^K1Je bent gedood door een eWheel turret!"
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You had an unfortunate run in with a Walker turret!"
 msgstr "^K1Je had een onfortuinlijke botsing met een Walker turret!"
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You were fragged by a Walker turret!"
 msgstr "^K1Je werd gedood door een Walker turret!"
 
-#: qcsrc/common/notifications.qh:593
+#: qcsrc/common/notifications.qh:606
 msgid "^K1You got caught in the blast of a Bumblebee explosion!"
 msgstr "^K1Je bent terecht gekomen in de explosie van een Bumblebee!"
 
-#: qcsrc/common/notifications.qh:594
+#: qcsrc/common/notifications.qh:607
 msgid "^K1You were crushed by a vehicle!"
 msgstr "^K1Je bent platgewalst door een voertuig!"
 
-#: qcsrc/common/notifications.qh:595
+#: qcsrc/common/notifications.qh:608
 msgid "^K1You were caught in a Raptor cluster bomb!"
 msgstr "^K1Je bent opgeblazen door een clusterbom van een Raptor!"
 
-#: qcsrc/common/notifications.qh:596
+#: qcsrc/common/notifications.qh:609
 msgid "^K1You got caught in the blast of a Raptor explosion!"
 msgstr "^K1Je bent opgeblazen in de explosie van een Raptor!"
 
-#: qcsrc/common/notifications.qh:597
+#: qcsrc/common/notifications.qh:610
 msgid "^K1You got caught in the blast of a Spiderbot explosion!"
 msgstr "^K1Je bent opgeblazen in de explosie van een Spiderbot!"
 
-#: qcsrc/common/notifications.qh:598
+#: qcsrc/common/notifications.qh:611
 msgid "^K1You were blasted to bits by a Spiderbot rocket!"
 msgstr "^K1Je bent in stukken geblazen door een Spiderbot raket!"
 
-#: qcsrc/common/notifications.qh:599
+#: qcsrc/common/notifications.qh:612
 msgid "^K1You got caught in the blast of a Racer explosion!"
 msgstr "^K1Je bent opgeblazen in de explosie van een Racer!"
 
-#: qcsrc/common/notifications.qh:600
+#: qcsrc/common/notifications.qh:613
 msgid "^K1You couldn't find shelter from a Racer rocket!"
 msgstr "^K1Je kon je niet verstoppen voor een Racer raket!"
 
-#: qcsrc/common/notifications.qh:601
+#: qcsrc/common/notifications.qh:614
 msgid "^K1Watch your step!"
 msgstr "^K1Kijk uit waar je loopt!"
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
 msgstr "^K1Idioot! Je hebt ^BG%s^K1 gedood, een teamgenoot!"
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
 msgstr "^K1Idioot! Je ging tegen ^BG%s^K1, een teamgenoot!"
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were fragged by ^BG%s^K1, a team mate"
 msgstr "^K1Je bent gedood door ^BG%s^K1, een teamgenoot"
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were scored against by ^BG%s^K1, a team mate"
 msgstr "^K1Er is tegen je gescoord door ^BG%s^K1, een teamgenoot"
 
-#: qcsrc/common/notifications.qh:604
+#: qcsrc/common/notifications.qh:617
 msgid ""
 "^K1Stop idling!\n"
 "^BGDisconnecting in ^COUNT..."
@@ -2647,48 +2732,53 @@ msgstr ""
 "^K1Stop met nietsdoen!\n"
 "^BGJe verlaat de server automatisch in ^COUNT"
 
-#: qcsrc/common/notifications.qh:605
+#: qcsrc/common/notifications.qh:618
 msgid "^F2You picked up some extra lives"
 msgstr "^F2Je hebt wat extra levens opgepakt"
 
-#: qcsrc/common/notifications.qh:606
+#: qcsrc/common/notifications.qh:619
 #, c-format
 msgid "^K3You froze ^BG%s"
 msgstr "^K3Je hebt ^BG%s bevroren"
 
-#: qcsrc/common/notifications.qh:607
+#: qcsrc/common/notifications.qh:620
 #, c-format
 msgid "^K1You were frozen by ^BG%s"
 msgstr "^K1Je bent bevroren door ^BG%s"
 
-#: qcsrc/common/notifications.qh:608
+#: qcsrc/common/notifications.qh:621
 #, c-format
 msgid "^K3You revived ^BG%s"
 msgstr "^K3Je hebt ^BG%s weer tot leven gewekt"
 
-#: qcsrc/common/notifications.qh:609
+#: qcsrc/common/notifications.qh:622
 msgid "^K3You revived yourself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:610
+#: qcsrc/common/notifications.qh:623
 #, c-format
 msgid "^K3You were revived by ^BG%s"
 msgstr "^K3Je bent weer tot leven gewekt door ^BG%s"
 
-#: qcsrc/common/notifications.qh:611
+#: qcsrc/common/notifications.qh:624
 #, c-format
 msgid "^K3You were automatically revived after %s second(s)"
 msgstr "^K3Je bent automatisch weer tot leven gewekt na %s seconde(n)"
 
-#: qcsrc/common/notifications.qh:614
+#: qcsrc/common/notifications.qh:627
 msgid "^K1You froze yourself"
 msgstr "^K1Je hebt jezelf bevroren"
 
-#: qcsrc/common/notifications.qh:615
+#: qcsrc/common/notifications.qh:628
 msgid "^K1Round already started, you spawn as frozen"
 msgstr "^K1De ronde is al begonnen, je spawnt bevroren"
 
-#: qcsrc/common/notifications.qh:622
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:636
 msgid ""
 "^K1No spawnpoints available!\n"
 "Hope your team can fix it..."
@@ -2696,7 +2786,7 @@ msgstr ""
 "^K1Geen spawnpunten beschikbaar!\n"
 "Hopelijk kan je team dit oplossen..."
 
-#: qcsrc/common/notifications.qh:623
+#: qcsrc/common/notifications.qh:637
 msgid ""
 "^K1You may not join the game at this time.\n"
 "The player limit reached maximum capacity."
@@ -2704,11 +2794,15 @@ msgstr ""
 "^K1Je mag niet aan het spel deelnemen op dit moment.\n"
 "De speler limiet is bereikt."
 
-#: qcsrc/common/notifications.qh:626
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
 msgid "^BGKilling people while you don't have the ball gives no points!"
 msgstr "^BGSpelers doden die de bal niet hebben levert geen punten op!"
 
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:642
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Help the key carriers to meet!"
@@ -2716,7 +2810,7 @@ msgstr ""
 "^BGAlle sleutels zijn in handen van jouw team!\n"
 "Help de dragers elkaar te ontmoeten!"
 
-#: qcsrc/common/notifications.qh:628
+#: qcsrc/common/notifications.qh:643
 msgid ""
 "^BGAll keys are in ^TC^TT team^BG's hands!\n"
 "Interfere ^F4NOW^BG!"
@@ -2724,7 +2818,7 @@ msgstr ""
 "^BGAlle sleutels zijn in handen van team ^TC^TT ^BG!\n"
 "Grijp ^F4NU^BG in!"
 
-#: qcsrc/common/notifications.qh:629
+#: qcsrc/common/notifications.qh:644
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Meet the other key carriers ^F4NOW^BG!"
@@ -2732,19 +2826,19 @@ msgstr ""
 "^BGAlle sleutels zijn in het bezit van jouw team!\n"
 "Ontmoet de andere sleuteldragers ^F4NU^BG!"
 
-#: qcsrc/common/notifications.qh:630
+#: qcsrc/common/notifications.qh:645
 msgid "^F4Round will start in ^COUNT"
 msgstr "^F4De ronde start over ^COUNT"
 
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:646
 msgid "^BGScanning frequency range..."
 msgstr "^BGFrequentiebereik aan het scannen..."
 
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:647
 msgid "^BGYou are starting with the ^TC^TT Key"
 msgstr "^BGJe begint met de ^TC^TT sleutel"
 
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
 #, c-format
 msgid ""
 "^BGWaiting for players to join...\n"
@@ -2753,38 +2847,38 @@ msgstr ""
 "^BGAan het wachten voor spelers...\n"
 "Actieve spelers nodig voor: %s"
 
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:650
 #, c-format
 msgid "^BGWaiting for %s player(s) to join..."
 msgstr "^BGAan het wachten op %s speler(s) om mee te doen..."
 
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:651
 msgid "^F4^COUNT^BG left to find some ammo!"
 msgstr "^F4^COUNT^BG over om wat ammo te vinden!"
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
 msgstr "^BGPak wat munitie, of je bent dood in ^F4^COUNT^BG!"
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
 msgstr "^BGPak wat munitie op! ^F4^COUNT^BG over!"
 
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:653
 #, c-format
 msgid "^F2Extra lives remaining: ^K1%s"
 msgstr "^F2Resterende extra levens: ^K1%s"
 
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:654
 msgid "^BGSecondary fire inflicts no damage!"
 msgstr "^BGSecundaire vuurmodus doet geen damage!"
 
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:655
 #, c-format
 msgid "^BG%s"
 msgstr "^BG%s"
 
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:656
 #, c-format
 msgid ""
 "^F2^COUNT^BG until weapon change...\n"
@@ -2793,16 +2887,16 @@ msgstr ""
 "^F2^COUNT^BG tot de wapens veranderen...\n"
 "Volgend wapen: ^F1%s"
 
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:657
 #, c-format
 msgid "^F2Active weapon: ^F1%s"
 msgstr "^F2Actief wapen: ^F1%s"
 
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:658
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep fragging until we have a winner!"
@@ -2810,7 +2904,7 @@ msgstr ""
 "^F4VERLENGING!^F2\n"
 "Blijf spelen tot we een winnaar hebben!"
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep scoring until we have a winner!"
@@ -2818,7 +2912,7 @@ msgstr ""
 "^F4VERLENING^F2!\n"
 "Blijf scoren tot we een winnaar hebben!"
 
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:660
 #, c-format
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
@@ -2827,210 +2921,210 @@ msgstr ""
 "^F4VERLENGING^F2!\n"
 "^BG^F4%s^BG toegevoegd aan het spel!"
 
-#: qcsrc/common/notifications.qh:646
+#: qcsrc/common/notifications.qh:661
 msgid "^F2Invisibility has worn off"
 msgstr "^F2Onzichtbaarheid is uitgewerkt"
 
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:662
 msgid "^F2Shield has worn off"
 msgstr "^F2Schild is uitgewerkt"
 
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:663
 msgid "^F2Speed has worn off"
 msgstr "^F2Snelheid is uitgewerkt"
 
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:664
 msgid "^F2Strength has worn off"
 msgstr "^F2Kracht is uitgewerkt"
 
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:665
 msgid "^F2You are invisible"
 msgstr "^F2Je bent onzichtbaar"
 
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:666
 msgid "^F2Shield surrounds you"
 msgstr "^F2Een schild omringt je"
 
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:667
 msgid "^F2You are on speed"
 msgstr "^F2Je bent op snelheid"
 
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:668
 msgid "^F2Strength infuses your weapons with devastating power"
 msgstr "^F2Kracht doordringt je wapens met verwoestende kracht"
 
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:669
 msgid "^F2The race is over, finish your lap!"
 msgstr "^F2De race is voorbij, maak je ronde af!"
 
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:670
 msgid "^F2Superweapons have broken down"
 msgstr "^F2Superwapens zijn afgebroken"
 
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:671
 msgid "^F2Superweapons have been lost"
 msgstr "^F2De superwapens zijn kwijtgeraakt"
 
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:672
 msgid "^F2You now have a superweapon"
 msgstr "^F2Je hebt nu een superwapen"
 
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:673
 msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
 msgstr "^K1Verandering naar ^TC^TT^K1 in ^COUNT"
 
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:674
 msgid "^K1Changing team in ^COUNT"
 msgstr "^K1Verandering van team in ^COUNT"
 
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:675
 msgid "^K1Spectating in ^COUNT"
 msgstr "^K1Toeschouwen in ^COUNT"
 
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:676
 msgid "^K1Suicide in ^COUNT"
 msgstr "^K1Zelfmoord in ^COUNT"
 
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:677
 msgid "^F4Timeout begins in ^COUNT"
 msgstr "^F4Timeout begint in ^COUNT"
 
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:678
 msgid "^F4Timeout ends in ^COUNT"
 msgstr "^F4Timeout eindigt in ^COUNT"
 
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
 #, c-format
 msgid " (near %s)"
 msgstr "(dichtbij %s)"
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "primary"
 msgstr "primaire"
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "secondary"
 msgstr "secundaire"
 
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:980
 #, c-format
 msgid " ^F1(Press %s)"
 msgstr "^F1(Druk %s)"
 
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:989
 #, c-format
 msgid " with %s"
 msgstr "met %s"
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
 msgstr "%s^K1 heeft een DRIEDUBBELE KILL gemaakt! %s^BG"
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
 msgstr "%s^K1 heeft DRIE KEER OP RIJ GESCOORD! %s^BG"
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 msgid "TRIPLE FRAG! "
 msgstr "DRIEDUBBELE KILL!"
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 heeft VIJF KEER OP RIJ GESCOORD! %s^BG"
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 unlocked RAGE! %s^BG"
 msgstr "%s^K1 heeft RAGE vrijgespeeld! %s^BG"
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 msgid "RAGE! "
 msgstr "RAGE!"
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 heeft TIEN KEER OP RIJ GESCOORD! %s^BG"
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 started a MASSACRE! %s^BG"
 msgstr "%s^K1 is een BLOEDBAD begonnen! %s^BG"
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 msgid "MASSACRE! "
 msgstr "BLOEDBAD!"
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 executed MAYHEM! %s^BG"
 msgstr "%s^K1 heeft MAYHEM uitgevoerd! %s^BG"
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 heeft VIJTIEN KEER OP RIJ GESCOORD! %s^BG"
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 msgid "MAYHEM! "
 msgstr "MAYHEM!"
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 is a BERSERKER! %s^BG"
 msgstr "%s^K1 is een BERSERKER! %s^BG"
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 heeft TWINTIG KEER OP RIJ GESCOORD! %s^BG"
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 msgid "BERSERKER! "
 msgstr "BERSERKER!"
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 inflicts CARNAGE! %s^BG"
 msgstr "%s^K1 veroorzaakt CARNAGE! %s^BG"
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 heeft VIJFENTWINTIG KEER OP RIJ GESCOORD! %s^BG"
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 msgid "CARNAGE! "
 msgstr "CARNAGE!"
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 heeft DERTIG KEER OP RIJ GESCOORD! %s^BG"
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
 msgstr "%s^K1 laat de ARMAGEDDON los! %s^BG"
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 msgid "ARMAGEDDON! "
 msgstr "ARMAGEDDON!"
 
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1010
 #, c-format
 msgid "%s(^F1Bot^BG)"
 msgstr "%s(^F1Bot^BG)"
 
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1012
 #, c-format
 msgid "%s(Ping ^F1%d^BG)"
 msgstr "%s(Ping ^F1%d^BG)"
 
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1018
 #, c-format
 msgid ""
 "\n"
@@ -3039,7 +3133,7 @@ msgstr ""
 "\n"
 "(LevenS ^1%d^BG / Pantser ^2%d^BG)%s"
 
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1020
 #, c-format
 msgid ""
 "\n"
@@ -3048,68 +3142,68 @@ msgstr ""
 "\n"
 "(^F4Dood^BG)%s"
 
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
 #, c-format
 msgid "%d score spree! "
 msgstr "%d score reeks!"
 
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1069
 #, c-format
 msgid "%d frag spree! "
 msgstr "%d frag reeks!"
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First blood! "
 msgstr "Eerste bloed!"
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First score! "
 msgstr "Eerste score! "
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First casualty! "
 msgstr "Eerste ongeval! "
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First victim! "
 msgstr "Eerste slachtoffer!"
 
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1127
 #, c-format
 msgid "%s^K1 has %d frags in a row! %s^BG"
 msgstr "%s^K1 heeft %d frags op een rij! %s^BG"
 
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1128
 #, c-format
 msgid "%s^K1 made %d scores in a row! %s^BG"
 msgstr "%s^K1 heeft %d keer op een rij gescoord! %s^BG"
 
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1146
 #, c-format
 msgid "%s^K1 drew first blood! %s^BG"
 msgstr "%s^K1 heeft het eerste bloed vergoten! %s^BG"
 
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1147
 #, c-format
 msgid "%s^K1 got the first score! %s^BG"
 msgstr "%s^K1 heeft het eerst gescoord! %s^BG"
 
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1163
 #, c-format
 msgid ", ending their %d frag spree"
 msgstr ", een einde makend aan zijn %d frag reeks"
 
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1164
 #, c-format
 msgid ", ending their %d score spree"
 msgstr ", een einde maken aan zijn %d score reeks"
 
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1178
 #, c-format
 msgid ", losing their %d frag spree"
 msgstr ", zijn %d frag reeks verliezend"
 
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1179
 #, c-format
 msgid ", losing their %d score spree"
 msgstr ", zijn %d score reeks verliezend"
@@ -3150,11 +3244,11 @@ msgstr "  sync - alle cvars op de huidige menupagina worden opnieuw geladen\n"
 msgid "  directmenu ITEM - select a menu item as main item\n"
 msgstr "directmenu ITEM - selecteer een deel van het menu als hoofddeel\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:62
+#: qcsrc/menu/command/menu_cmd.qc:68
 msgid "Available options:\n"
 msgstr "Beschikbare opties:\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:113
+#: qcsrc/menu/command/menu_cmd.qc:119
 msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
 msgstr ""
 "Ongeldige opdracht. Voor een lijst met ondersteunde opdrachten, probeer "
@@ -3166,7 +3260,7 @@ msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
 msgstr ""
 "ATTENTIE: label tekst %s is te wijd, dus wordt verkleind met factor %f \n"
 
-#: qcsrc/menu/item/listbox.c:302
+#: qcsrc/menu/item/listbox.c:382
 #, c-format
 msgid "Item %d"
 msgstr "Item %d"
@@ -3195,23 +3289,27 @@ msgstr "???"
 msgid "Level %d: %s"
 msgstr "Level %d: %s"
 
-#: qcsrc/menu/xonotic/cvarlist.c:85
-msgid "will be saved to config.cfg"
-msgstr "wordt in config.cfg opgeslagen"
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr ""
 
-#: qcsrc/menu/xonotic/cvarlist.c:87
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
 msgid "will not be saved"
 msgstr "wordt niet opgeslagen"
 
-#: qcsrc/menu/xonotic/cvarlist.c:89
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr "wordt in config.cfg opgeslagen"
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
 msgid "private"
 msgstr "privé"
 
-#: qcsrc/menu/xonotic/cvarlist.c:91
+#: qcsrc/menu/xonotic/cvarlist.c:95
 msgid "engine setting"
 msgstr "engine instelling"
 
-#: qcsrc/menu/xonotic/cvarlist.c:93
+#: qcsrc/menu/xonotic/cvarlist.c:97
 msgid "read only"
 msgstr "alleen lezen"
 
@@ -3220,6 +3318,7 @@ msgid "Credits"
 msgstr "Aftiteling"
 
 #: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
@@ -3228,7 +3327,7 @@ msgstr "Aftiteling"
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:77
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
 #: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
 msgid "OK"
 msgstr "OK"
@@ -3237,7 +3336,7 @@ msgstr "OK"
 msgid "Welcome"
 msgstr "Welkom"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:40
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
 msgid ""
 "Welcome to Xonotic, please select your language preference and enter your "
 "player name to get started.  You can change these options later through the "
@@ -3246,35 +3345,35 @@ msgstr ""
 "Welkom bij Xonotic, selecteer de gewenste taal en stel je naam in bij het "
 "speler menu. Deze instellingen kun je later wijzigen in het menu systeem"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
 msgid "Name:"
 msgstr "Naam:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:68
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
 #: qcsrc/menu/xonotic/dialog_settings_user.c:65
 msgid "Text language:"
 msgstr "Taal van de tekst:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
 msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
 msgstr ""
 "Sta toe dat speler statistieken uw nickname gebruiken op stats.xonotic.org?"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
 msgid "ALWU2N^Yes"
 msgstr "ALWU2N^Ja"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
 msgid "ALWU2N^No"
 msgstr "ALWU2N^Nee"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
 msgid "ALWU2N^Undecided"
 msgstr "ALWU2N^Geen idee"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
 msgid "Save settings"
 msgstr "Instellingen opslaan"
 
@@ -3592,7 +3691,7 @@ msgstr "Radar:"
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
-#: qcsrc/menu/xonotic/util.qc:708
+#: qcsrc/menu/xonotic/util.qc:758
 msgid "Alpha:"
 msgstr "Alpha:"
 
@@ -3774,24 +3873,24 @@ msgstr "Paneel HUD Instellingen"
 msgid "Panel background defaults:"
 msgstr "Paneel achtergrond standaards:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:683
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
 msgid "Background:"
 msgstr "Achtergrond:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:686
-#: qcsrc/menu/xonotic/util.qc:702 qcsrc/menu/xonotic/util.qc:719
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
 msgid "Disable"
 msgstr "Uitschakelen"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:691
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
 msgid "Color:"
 msgstr "Kleur:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:699
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
 msgid "Border size:"
 msgstr "Grootte rand:"
 
@@ -3800,11 +3899,11 @@ msgstr "Grootte rand:"
 msgid "Team color:"
 msgstr "Teamkleur:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:725
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
 msgid "Test team color in configure mode"
 msgstr "Test teamkleur in aanpassingsmodus"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:728
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
 msgid "Padding:"
 msgstr "Opvulling:"
 
@@ -3852,6 +3951,53 @@ msgstr "Y:"
 msgid "Exit setup"
 msgstr "Beëindig setup"
 
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr "Spawn"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr "Verwijderen"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr "Skin:"
+
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:4
 msgid "Multiplayer"
 msgstr "Multiplayer"
@@ -3893,6 +4039,7 @@ msgstr "Gebruik map specificaties"
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
 msgid "Point limit:"
 msgstr "Punten limiet:"
 
@@ -3957,7 +4104,7 @@ msgid "Mutators..."
 msgstr "Mutaties..."
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
 msgid "Advanced settings..."
 msgstr "Geavanceerde instellingen..."
 
@@ -3993,7 +4140,7 @@ msgstr "Rondes:"
 msgid "Goals:"
 msgstr "Goals:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
 msgid "Frag limit:"
 msgstr "Frag limiet:"
 
@@ -4293,27 +4440,31 @@ msgid "Join"
 msgstr "Meedoen"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
 msgid "SRVS^Empty"
 msgstr "SRVS^Leeg"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:37
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
 msgid "SRVS^Full"
 msgstr "SRVS^Vol"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:41
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
 msgid "Pause"
 msgstr "Pauze"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:53
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
 msgid "Address:"
 msgstr "Adres:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:64
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
 msgid "Info..."
 msgstr "Info..."
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:69
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
 msgid "Join!"
 msgstr "Meedoen!"
@@ -4328,9 +4479,9 @@ msgid "%d/%d"
 msgstr "%d/%d"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
-#: qcsrc/menu/xonotic/util.qc:685 qcsrc/menu/xonotic/util.qc:701
-#: qcsrc/menu/xonotic/util.qc:710 qcsrc/menu/xonotic/util.qc:718
-#: qcsrc/menu/xonotic/util.qc:730
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
 msgid "Default"
 msgstr "Standaard"
 
@@ -4808,10 +4959,6 @@ msgstr "Nee"
 msgid "Sandbox Tools"
 msgstr "Zandbak benodigdheden"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
-msgid "Spawn"
-msgstr "Spawn"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
 msgid "Remove *"
 msgstr "Verwijder *"
@@ -4844,10 +4991,6 @@ msgstr "Maak los van *"
 msgid "Visual object properties for *:"
 msgstr "Visuele object eigenschappen voor *:"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
-msgid "Set skin:"
-msgstr "Skin:"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
 msgid "Set alpha:"
 msgstr "Alpha:"
@@ -5479,175 +5622,179 @@ msgid "Client UDP port:"
 msgstr "Client UDP poort:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "Use encryption (AES) when available"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
 msgid "Show netgraph"
 msgstr "Netwerk grafiek tonen"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
 msgid "Client-side movement prediction"
 msgstr "Client beweging voorspelling"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:63
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
 msgid "Movement error compensation"
 msgstr "Beweging error compensatie"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
 msgid "Downloads:"
 msgstr "Downloads:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:70
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:82
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
 msgid "Maximum:"
 msgstr "Maximum:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
 msgid "Speed (kB/s):"
 msgstr "Snelheid (kB/s):"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:79
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
 msgid "Framerate:"
 msgstr "Framerate"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:84
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
 msgid "MAXFPS^5 fps"
 msgstr "5 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:85
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
 msgid "MAXFPS^10 fps"
 msgstr "10 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
 msgid "MAXFPS^20 fps"
 msgstr "20 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:87
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
 msgid "MAXFPS^30 fps"
 msgstr "30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
 msgid "MAXFPS^40 fps"
 msgstr "40 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
 msgid "MAXFPS^50 fps"
 msgstr "MAXFPS^50 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
 msgid "MAXFPS^60 fps"
 msgstr "MAXFPS^60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
 msgid "MAXFPS^70 fps"
 msgstr "MAXFPS^70 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
 msgid "MAXFPS^100 fps"
 msgstr "MAXFPS^100 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
 msgid "MAXFPS^125 fps"
 msgstr "MAXFPS^125 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
 msgid "MAXFPS^200 fps"
 msgstr "MAXFPS^200 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
 msgid "MAXFPS^Unlimited"
 msgstr "MAXFPS^Onbeperkt"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
 msgid "Target:"
 msgstr "Doel:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:101
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
 msgid "TRGT^Disabled"
 msgstr "TRGT^Uitgeschakeld"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:102
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
 msgid "TRGT^30 fps"
 msgstr "TRGT^30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
 msgid "TRGT^40 fps"
 msgstr "40 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:104
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
 msgid "TRGT^50 fps"
 msgstr "50 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
 msgid "TRGT^60 fps"
 msgstr "60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
 msgid "TRGT^100 fps"
 msgstr "100 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
 msgid "TRGT^125 fps"
 msgstr "125 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
 msgid "TRGT^200 fps"
 msgstr "200 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
 msgid "Idle limit:"
 msgstr "Idle limiet:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:114
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
 msgid "IDLFPS^10 fps"
 msgstr "10 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:115
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
 msgid "IDLFPS^20 fps"
 msgstr "20 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
 msgid "IDLFPS^30 fps"
 msgstr "30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:117
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
 msgid "IDLFPS^60 fps"
 msgstr "IDLFPS^60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
 msgid "IDLFPS^Unlimited"
 msgstr "IDLFPS^Onbeperkt"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:123
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
 msgid "Show frames per second"
 msgstr "Laat frames per seconde zien"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:126
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
 msgid "Save processing time for other apps"
 msgstr "Bespaar processor tijd voor andere programma's"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
 msgid "Menu tooltips:"
 msgstr "Menu tooltips:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:132
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
 msgid "TLTIP^Disabled"
 msgstr "TLTIP^Uitgeschakeld"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:133
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
 msgid "TLTIP^Standard"
 msgstr "TLTIP^Standaard"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
 msgid "TLTIP^Advanced"
 msgstr "TLTIP^Geavanceerd"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
 msgid "Show current time"
 msgstr "Laat huidige tijd zien"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:140
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
 msgid "Show current date"
 msgstr "Laat huidige datum zien"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
 msgid "Enable developer mode"
 msgstr "Activeer developer modus"
 
@@ -5671,7 +5818,7 @@ msgstr "Type:"
 msgid "Value:"
 msgstr "Waarde:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:72
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
 msgid "Description:"
 msgstr "Omschrijving:"
 
@@ -5699,6 +5846,26 @@ msgstr "Sta speler statistieken toe om je te tracken"
 msgid "Allow player statistics to use your nickname"
 msgstr "Sta speler statistieken toe om je nickname te gebruiken"
 
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
 #: qcsrc/menu/xonotic/dialog_settings_video.c:26
 msgid "Resolution:"
 msgstr "Resolutie:"
@@ -5949,7 +6116,7 @@ msgstr "roze"
 msgid "spectate"
 msgstr "observeren"
 
-#: qcsrc/menu/xonotic/mainwindow.c:39 qcsrc/menu/xonotic/mainwindow.c:42
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
 msgid "Do not press this button again!"
 msgstr "Druk deze knop niet meer in!"
 
@@ -5981,31 +6148,63 @@ msgstr "observeerder"
 msgid "<no model found>"
 msgstr "<geen model gevonden>"
 
-#: qcsrc/menu/xonotic/serverlist.c:190
-msgid "Remove"
-msgstr "Verwijderen"
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:192
-msgid "Bookmark"
-msgstr "Bookmark"
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:553
+#: qcsrc/menu/xonotic/serverlist.c:923
 msgid "Ping"
 msgstr "Ping"
 
-#: qcsrc/menu/xonotic/serverlist.c:554
+#: qcsrc/menu/xonotic/serverlist.c:924
 msgid "Host name"
 msgstr "Server naam"
 
-#: qcsrc/menu/xonotic/serverlist.c:555
+#: qcsrc/menu/xonotic/serverlist.c:925
 msgid "Map"
 msgstr "Map"
 
-#: qcsrc/menu/xonotic/serverlist.c:556
+#: qcsrc/menu/xonotic/serverlist.c:926
 msgid "Type"
 msgstr "Type"
 
-#: qcsrc/menu/xonotic/serverlist.c:557
+#: qcsrc/menu/xonotic/serverlist.c:927
 msgid "Players"
 msgstr "Spelers"
 
@@ -6045,30 +6244,30 @@ msgstr ""
 msgid "%s dB"
 msgstr "%s dB"
 
-#: qcsrc/menu/xonotic/slider_resolution.c:103
+#: qcsrc/menu/xonotic/slider_resolution.c:116
 #, c-format
 msgid "%dx%d (%d:%d)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/slider_resolution.c:106
+#: qcsrc/menu/xonotic/slider_resolution.c:119
 #, c-format
 msgid "%dx%d"
 msgstr "%dx%d"
 
-#: qcsrc/menu/xonotic/util.qc:298
+#: qcsrc/menu/xonotic/util.qc:308
 #, c-format
 msgid "error receiving update notification: status is %d\n"
 msgstr "fout bij ontvangen update melding: status is %d\n"
 
-#: qcsrc/menu/xonotic/util.qc:303
+#: qcsrc/menu/xonotic/util.qc:313
 msgid "error: received HTML instead of an update notification\n"
 msgstr "fout: HTML ontvangen in plaats van update melding\n"
 
-#: qcsrc/menu/xonotic/util.qc:308
+#: qcsrc/menu/xonotic/util.qc:318
 msgid "error: received carriage returns from update notification server\n"
 msgstr "fout: enters ontvangen van update meldingsserver\n"
 
-#: qcsrc/menu/xonotic/util.qc:329
+#: qcsrc/menu/xonotic/util.qc:397
 #, c-format
 msgid ""
 "Update can be downloaded at:\n"
@@ -6077,21 +6276,21 @@ msgstr ""
 "Update kan gedownload worden bij:\n"
 "%s\n"
 
-#: qcsrc/menu/xonotic/util.qc:447
+#: qcsrc/menu/xonotic/util.qc:497
 msgid "Autogenerating mapinfo for newly added maps..."
 msgstr "Automatisch map info aanmaken voor nieuwe maps..."
 
-#: qcsrc/menu/xonotic/util.qc:476
+#: qcsrc/menu/xonotic/util.qc:526
 #, c-format
 msgid "^1%s TEST BUILD"
 msgstr "^1%s TEST BUILD"
 
-#: qcsrc/menu/xonotic/util.qc:491
+#: qcsrc/menu/xonotic/util.qc:541
 #, c-format
 msgid "Update to %s now!"
 msgstr "Update nu naar %s!"
 
-#: qcsrc/menu/xonotic/util.qc:576
+#: qcsrc/menu/xonotic/util.qc:626
 msgid ""
 "^1ERROR: Texture compression is required but not supported.\n"
 "^1Expect visual problems.\n"
@@ -6099,11 +6298,11 @@ msgstr ""
 "^1ERROR: Textuurcompressie is nodig maar niet ondersteund.\n"
 "^1Verwacht grafische problemen.\n"
 
-#: qcsrc/menu/xonotic/util.qc:696
+#: qcsrc/menu/xonotic/util.qc:746
 msgid "Use default"
 msgstr "Gebruik standaard"
 
-#: qcsrc/menu/xonotic/util.qc:716
+#: qcsrc/menu/xonotic/util.qc:766
 msgid "Team Color:"
 msgstr "Team Kleur:"
 
diff --git a/common.pl.po b/common.pl.po
new file mode 100644 (file)
index 0000000..17e9eac
--- /dev/null
@@ -0,0 +1,6286 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Sertomas, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: Xonotic\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
+"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"Language-Team: Polish (http://www.transifex.com/projects/p/xonotic/language/"
+"pl/)\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
+
+#: qcsrc/client/Main.qc:21
+msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!"
+msgstr ""
+
+#: qcsrc/client/Main.qc:46
+msgid ""
+"^3Your engine build is outdated\n"
+"^3This Server uses a newer QC VM. Please update!\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:56
+#, c-format
+msgid "^4CSQC Build information: ^1%s\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:836
+#, c-format
+msgid ""
+"Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
+"%s)\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:1295
+#, c-format
+msgid "%s (not bound)"
+msgstr "%s (nie związany)"
+
+#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:157
+#, c-format
+msgid "%s (%s)"
+msgstr "%s (%s)"
+
+#: qcsrc/client/View.qc:1165
+msgid "Revival progress"
+msgstr "Postęp regeneracji"
+
+#: qcsrc/client/hud.qc:186
+#, c-format
+msgid " (-%dL)"
+msgstr "(-%dL)"
+
+#: qcsrc/client/hud.qc:191
+#, c-format
+msgid " (+%dL)"
+msgstr "(+%dL)"
+
+#: qcsrc/client/hud.qc:210
+msgid "Start line"
+msgstr ""
+
+#: qcsrc/client/hud.qc:212 qcsrc/client/hud.qc:216
+msgid "Finish line"
+msgstr ""
+
+#: qcsrc/client/hud.qc:214
+#, c-format
+msgid "Intermediate %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:223
+#, c-format
+msgid "%s (%s %s)"
+msgstr "%s (%s %s)"
+
+#: qcsrc/client/hud.qc:832
+msgid "Out of ammo"
+msgstr ""
+
+#: qcsrc/client/hud.qc:836
+msgid "Don't have"
+msgstr "Nie masz"
+
+#: qcsrc/client/hud.qc:840
+msgid "Unavailable"
+msgstr "Niedostępne"
+
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
+#, c-format
+msgid "Player %d"
+msgstr "Gracz %d"
+
+#: qcsrc/client/hud.qc:2369
+msgid "^1Intermediate 1 (+15.42)"
+msgstr "^1Pośredni 1 (+15.42)"
+
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
+#, c-format
+msgid "^1PENALTY: %.1f (%s)"
+msgstr "^1KARA: %.1f (%s)"
+
+#: qcsrc/client/hud.qc:2456
+#, c-format
+msgid "^2PENALTY: %.1f (%s)"
+msgstr "^2KARA: %.1f (%s)"
+
+#: qcsrc/client/hud.qc:2486
+msgid "^1You must answer before entering hud configure mode\n"
+msgstr " ^1Musisz odpowiedzieć, przed przejściem w tryb konfiguracyjny HUD\n"
+
+#: qcsrc/client/hud.qc:2491
+msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
+msgstr "^2Nazwa ^7zamiast \"^1Anonimowy gracz^7\" w statystykach"
+
+#: qcsrc/client/hud.qc:2570
+msgid "A vote has been called for:"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2572
+msgid "Allow servers to store and display your name?"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2576
+msgid "^1Configure the HUD"
+msgstr "^1Konfiguracja HUD"
+
+#: qcsrc/client/hud.qc:2580
+#, c-format
+msgid "Yes (%s): %d"
+msgstr "Tak (%s): %d"
+
+#: qcsrc/client/hud.qc:2582
+#, c-format
+msgid "No (%s): %d"
+msgstr "Nie (%s): %d"
+
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
+msgid "Personal best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
+msgid "Server best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3528
+msgid "^3Player^7: This is the chat area."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3593
+#, c-format
+msgid "FPS: %.*f"
+msgstr "FPS: %.*f"
+
+#: qcsrc/client/hud.qc:3657
+msgid "^1Observing"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
+#, c-format
+msgid "^1Spectating: ^7%s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3667
+#, c-format
+msgid "^1Press ^3%s^1 to spectate"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3669
+#, c-format
+msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3673
+#, c-format
+msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3675
+#, c-format
+msgid "^1Press ^3%s^1 to observe"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3678
+#, c-format
+msgid "^1Press ^3%s^1 for gamemode info"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3686
+msgid "^1Match has already begun"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3688
+msgid "^1You have no more lives left"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
+#, c-format
+msgid "^1Press ^3%s^1 to join"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3701
+#, c-format
+msgid "^1Game starts in ^3%d^1 seconds"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3708
+msgid "^2Currently in ^1warmup^2 stage!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3723
+#, c-format
+msgid "%sPress ^3%s%s to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3725
+#, c-format
+msgid "%sPress ^3%s%s once you are ready"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3730
+msgid "^2Waiting for others to ready up to end warmup..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3732
+msgid "^2Waiting for others to ready up..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3738
+#, c-format
+msgid "^2Press ^3%s^2 to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3759
+msgid "Teamnumbers are unbalanced!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3764
+#, c-format
+msgid " Press ^3%s%s to adjust"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3772
+msgid "^7Press ^3ESC ^7to show HUD options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3774
+msgid "^3Doubleclick ^7a panel for panel-specific options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3776
+msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3778
+msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3825
+msgid " qu/s"
+msgstr "qu/s"
+
+#: qcsrc/client/hud.qc:3829
+msgid " m/s"
+msgstr "m/s"
+
+#: qcsrc/client/hud.qc:3833
+msgid " km/h"
+msgstr "km/h"
+
+#: qcsrc/client/hud.qc:3837
+msgid " mph"
+msgstr "mil/h"
+
+#: qcsrc/client/hud.qc:3841
+msgid " knots"
+msgstr "węzłów"
+
+#: qcsrc/client/hud.qc:4497
+msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
+msgstr ""
+
+#: qcsrc/client/hud_config.qc:196
+#, c-format
+msgid "^2Successfully exported to %s! (Note: It's saved in data/data/)\n"
+msgstr ""
+
+#: qcsrc/client/hud_config.qc:200
+#, c-format
+msgid "^1Couldn't write to %s\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:28
+msgid " (1 vote)"
+msgstr "(1 głos)"
+
+#: qcsrc/client/mapvoting.qc:30
+#, c-format
+msgid " (%d votes)"
+msgstr "(%d głosów)"
+
+#: qcsrc/client/mapvoting.qc:118
+msgid "Don't care"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:203
+msgid "Vote for a map"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:209
+#, c-format
+msgid "%d seconds left"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:273
+msgid ""
+"mv_mapdownload: ^3You're not supposed to use this command on your own!\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:283
+msgid "^1Error:^7 Couldn't find pak index.\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:292
+msgid "Requesting preview...\n"
+msgstr ""
+
+#: qcsrc/client/miscfunctions.qc:101
+msgid "Trying to remove a team which is not in the teamlist!"
+msgstr ""
+
+#: qcsrc/client/movetypes.qc:227
+#, c-format
+msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr ""
+
+#: qcsrc/client/movetypes.qc:230
+#, c-format
+msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:19
+msgid "SCO^bckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:20
+msgid "SCO^bctime"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:21
+msgid "SCO^caps"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:22
+msgid "SCO^captime"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:23
+msgid "SCO^deaths"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:24
+msgid "SCO^destroyed"
+msgstr "SCO^zniszczony"
+
+#: qcsrc/client/scoreboard.qc:25
+msgid "SCO^drops"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:26
+msgid "SCO^faults"
+msgstr "SCO^błędy"
+
+#: qcsrc/client/scoreboard.qc:27
+msgid "SCO^fckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:28
+msgid "SCO^goals"
+msgstr "SCO^cele"
+
+#: qcsrc/client/scoreboard.qc:29
+msgid "SCO^kckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:30
+msgid "SCO^kdratio"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:31
+msgid "SCO^k/d"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:32
+msgid "SCO^kd"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:33
+msgid "SCO^kdr"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:34
+msgid "SCO^kills"
+msgstr "SCO^zabici"
+
+#: qcsrc/client/scoreboard.qc:35
+msgid "SCO^laps"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:36
+msgid "SCO^lives"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:37
+msgid "SCO^losses"
+msgstr "SCO^straty"
+
+#: qcsrc/client/scoreboard.qc:38
+msgid "SCO^name"
+msgstr "SCO^nazwa"
+
+#: qcsrc/client/scoreboard.qc:39
+msgid "SCO^sum"
+msgstr "SCO^suma"
+
+#: qcsrc/client/scoreboard.qc:40
+msgid "SCO^nick"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:41
+msgid "SCO^objectives"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:42
+msgid "SCO^pickups"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:43
+msgid "SCO^ping"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:44
+msgid "SCO^pl"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:45
+msgid "SCO^pushes"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:46
+msgid "SCO^rank"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:47
+msgid "SCO^returns"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:48
+msgid "SCO^revivals"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:49
+msgid "SCO^score"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:50
+msgid "SCO^suicides"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:51
+msgid "SCO^takes"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:52
+msgid "SCO^ticks"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:237
+msgid ""
+"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:238
+msgid "^3|---------------------------------------------------------------|\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:239
+msgid "Usage:\n"
+msgstr " Stosowanie:\n"
+
+#: qcsrc/client/scoreboard.qc:240
+msgid "^2scoreboard_columns_set default\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:241
+msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:242
+msgid "The following field names are recognized (case insensitive):\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:243
+msgid ""
+"You can use a ^3|^7 to start the right-aligned fields.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:245
+msgid "^3name^7 or ^3nick^7             Name of a player\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:246
+msgid "^3ping^7                     Ping time\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:247
+msgid "^3pl^7                       Packet loss\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:248
+msgid "^3kills^7                    Number of kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:249
+msgid "^3deaths^7                   Number of deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:250
+msgid "^3suicides^7                 Number of suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:251
+msgid "^3frags^7                    kills - suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:252
+msgid "^3kd^7                       The kill-death ratio\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:253
+msgid "^3sum^7                      frags - deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:254
+msgid ""
+"^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
+"captured\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:255
+msgid ""
+"^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
+"ball (Keepaway) was picked up\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:256
+msgid "^3captime^7                  Time of fastest cap (CTF)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:257
+msgid "^3fckills^7                  Number of flag carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:258
+msgid "^3returns^7                  Number of flag returns\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:259
+msgid "^3drops^7                    Number of flag drops\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:260
+msgid "^3lives^7                    Number of lives (LMS)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:261
+msgid "^3rank^7                     Player rank\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:262
+msgid "^3pushes^7                   Number of players pushed into void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:263
+msgid ""
+"^3destroyed^7                Number of keys destroyed by pushing them into "
+"void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:264
+msgid "^3kckills^7                  Number of keys carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:265
+msgid "^3losses^7                   Number of times a key was lost\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:266
+msgid "^3laps^7                     Number of laps finished (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:267
+msgid "^3time^7                     Total time raced (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:268
+msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:269
+msgid "^3ticks^7                    Number of ticks (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:270
+msgid "^3takes^7                    Number of domination points taken (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:271
+msgid "^3bckills^7                  Number of ball carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:272
+msgid ""
+"^3bctime^7                   Total amount of time holding the ball in "
+"Keepaway\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:273
+msgid ""
+"^3score^7                    Total score\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:275
+msgid ""
+"Before a field you can put a + or - sign, then a comma separated list\n"
+"of game types, then a slash, to make the field show up only in these\n"
+"or in all but these game types. You can also specify 'all' as a\n"
+"field to show all fields available for the current game mode.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:280
+msgid ""
+"The special game type names 'teams' and 'noteams' can be used to\n"
+"include/exclude ALL teams/noteams game modes.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:283
+msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:284
+msgid ""
+"will display name, ping and pl aligned to the left, and the fields\n"
+"right of the vertical bar aligned to the right.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:286
+msgid ""
+"'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
+"other gamemodes except DM.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:240
+msgid "N/A"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:970
+#, c-format
+msgid "Accuracy stats (average %d%%)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1033
+#, c-format
+msgid "%d%%"
+msgstr "%d%%"
+
+#: qcsrc/client/scoreboard.qc:1099
+msgid "Map stats:"
+msgstr "Statystyka:"
+
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1124
+msgid "Secrets found:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1152
+msgid "Rankings"
+msgstr "Rankingi"
+
+#: qcsrc/client/scoreboard.qc:1248
+msgid "Scoreboard"
+msgstr "Tablica wyników"
+
+#: qcsrc/client/scoreboard.qc:1307
+#, c-format
+msgid "Speed award: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1311
+#, c-format
+msgid "All-time fastest: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1345
+msgid "Spectators"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1352
+#, c-format
+msgid "playing ^3%s^7 on ^2%s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
+#, c-format
+msgid " for up to ^1%1.0f minutes^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
+msgid " or"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
+#, c-format
+msgid " until ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
+msgid "SCO^points"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
+msgid "SCO^is beaten"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
+#, c-format
+msgid " until a lead of ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1419
+#, c-format
+msgid "^1Respawning in ^3%s^1..."
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1429
+#, c-format
+msgid "You are dead, wait ^3%s^7 before respawning"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1438
+#, c-format
+msgid "You are dead, press ^2%s^7 to respawn"
+msgstr ""
+
+#: qcsrc/client/target_music.qc:94 qcsrc/client/target_music.qc:183
+#, c-format
+msgid "Cannot initialize sound %s\n"
+msgstr ""
+
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
+msgid "Spam"
+msgstr ""
+
+#: qcsrc/client/tturrets.qc:308
+#, c-format
+msgid "%s under attack!"
+msgstr ""
+
+#: qcsrc/client/vehicles/vehicles.qc:331 qcsrc/client/vehicles/vehicles.qc:333
+msgid "No right gunner!"
+msgstr ""
+
+#: qcsrc/client/vehicles/vehicles.qc:353 qcsrc/client/vehicles/vehicles.qc:355
+msgid "No left gunner!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:246
+msgid "Push"
+msgstr "Pchnięcie"
+
+#: qcsrc/client/waypointsprites.qc:247
+msgid "Destroy"
+msgstr "Zniszczyć"
+
+#: qcsrc/client/waypointsprites.qc:248
+msgid "Defend"
+msgstr "Bronić"
+
+#: qcsrc/client/waypointsprites.qc:249
+msgid "Blue base"
+msgstr "Baza niebieska"
+
+#: qcsrc/client/waypointsprites.qc:250
+msgid "DANGER"
+msgstr "ZAGROŻENIE"
+
+#: qcsrc/client/waypointsprites.qc:251
+msgid "Enemy carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:252
+msgid "Flag carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:253
+msgid "Dropped flag"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:254
+msgid "Help me!"
+msgstr "Pomóż mi!"
+
+#: qcsrc/client/waypointsprites.qc:255
+msgid "Here"
+msgstr "Tutaj"
+
+#: qcsrc/client/waypointsprites.qc:256
+msgid "Dropped key"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
+msgid "Key carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:258
+msgid "Run here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:263
+msgid "Red base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:264
+msgid "Waypoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
+msgid "Generator"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
+msgid "Control point"
+msgstr "Punkt kontroli"
+
+#: qcsrc/client/waypointsprites.qc:276
+msgid "Checkpoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
+msgid "Finish"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
+msgid "Start"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
+msgid "Ball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:283
+msgid "Ball carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
+msgid "Laser"
+msgstr "Laser"
+
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
+msgid "Shotgun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
+msgid "Machine Gun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
+msgid "Mortar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
+msgid "Electro"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
+msgid "Crylink"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
+msgid "Nex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
+msgid "Hagar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
+msgid "Rocket Launcher"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
+msgid "Port-O-Launch"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:294
+msgid "Minstanex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:295
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
+msgid "Hook"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
+msgid "Fireball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:297
+msgid "HLAC"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
+msgid "Rifle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
+msgid "Mine Layer"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:305
+msgid "Invisibility"
+msgstr "Niewidzialność"
+
+#: qcsrc/client/waypointsprites.qc:306
+msgid "Extra life"
+msgstr "Dodatkowe życie "
+
+#: qcsrc/client/waypointsprites.qc:307
+msgid "Speed"
+msgstr "Prędkość"
+
+#: qcsrc/client/waypointsprites.qc:308
+msgid "Strength"
+msgstr "Siła"
+
+#: qcsrc/client/waypointsprites.qc:309
+msgid "Shield"
+msgstr "Tarcza"
+
+#: qcsrc/client/waypointsprites.qc:310
+msgid "Fuel regen"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:311
+msgid "Jet Pack"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:312
+msgid "Frozen!"
+msgstr "Zamrożone!"
+
+#: qcsrc/client/waypointsprites.qc:313
+msgid "Tagged"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:314
+msgid "Vehicle"
+msgstr "Pojazd"
+
+#: qcsrc/client/waypointsprites.qc:588
+#, c-format
+msgid "%s needing help!"
+msgstr "%s potrzebujących pomocy! "
+
+#: qcsrc/common/command/generic.qc:31
+#, c-format
+msgid "error: status is %d\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:159
+msgid "error creating curl handle\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:263
+msgid "Notification dump command only works with cl_cmd and sv_cmd.\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:457
+msgid "Notification restart command only works with cl_cmd and sv_cmd.\n"
+msgstr ""
+
+#: qcsrc/common/counting.qh:5
+#, c-format
+msgid "CI_DEC^%s years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:7
+#, c-format
+msgid "CI_ZER^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:8
+#, c-format
+msgid "CI_FIR^%d year"
+msgstr ""
+
+#: qcsrc/common/counting.qh:9
+#, c-format
+msgid "CI_SEC^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:10
+#, c-format
+msgid "CI_THI^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:11
+#, c-format
+msgid "CI_MUL^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:13
+#, c-format
+msgid "CI_DEC^%s weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:15
+#, c-format
+msgid "CI_ZER^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:16
+#, c-format
+msgid "CI_FIR^%d week"
+msgstr ""
+
+#: qcsrc/common/counting.qh:17
+#, c-format
+msgid "CI_SEC^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:18
+#, c-format
+msgid "CI_THI^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:19
+#, c-format
+msgid "CI_MUL^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:21
+#, c-format
+msgid "CI_DEC^%s days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:23
+#, c-format
+msgid "CI_ZER^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:24
+#, c-format
+msgid "CI_FIR^%d day"
+msgstr ""
+
+#: qcsrc/common/counting.qh:25
+#, c-format
+msgid "CI_SEC^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:26
+#, c-format
+msgid "CI_THI^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:27
+#, c-format
+msgid "CI_MUL^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:29
+#, c-format
+msgid "CI_DEC^%s hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:31
+#, c-format
+msgid "CI_ZER^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:32
+#, c-format
+msgid "CI_FIR^%d hour"
+msgstr ""
+
+#: qcsrc/common/counting.qh:33
+#, c-format
+msgid "CI_SEC^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:34
+#, c-format
+msgid "CI_THI^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:35
+#, c-format
+msgid "CI_MUL^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:38
+#, c-format
+msgid "CI_DEC^%s minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:40
+#, c-format
+msgid "CI_ZER^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:41
+#, c-format
+msgid "CI_FIR^%d minute"
+msgstr ""
+
+#: qcsrc/common/counting.qh:42
+#, c-format
+msgid "CI_SEC^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:43
+#, c-format
+msgid "CI_THI^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:44
+#, c-format
+msgid "CI_MUL^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:46
+#, c-format
+msgid "CI_DEC^%s seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:48
+#, c-format
+msgid "CI_ZER^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:49
+#, c-format
+msgid "CI_FIR^%d second"
+msgstr ""
+
+#: qcsrc/common/counting.qh:50
+#, c-format
+msgid "CI_SEC^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:51
+#, c-format
+msgid "CI_THI^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:52
+#, c-format
+msgid "CI_MUL^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:68
+#, c-format
+msgid "%dst"
+msgstr ""
+
+#: qcsrc/common/counting.qh:69
+#, c-format
+msgid "%dnd"
+msgstr ""
+
+#: qcsrc/common/counting.qh:70
+#, c-format
+msgid "%drd"
+msgstr ""
+
+#: qcsrc/common/counting.qh:71 qcsrc/common/counting.qh:74
+#, c-format
+msgid "%dth"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:717
+#, no-c-format
+msgid "@!#%'n Tuba Throwing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
+#, c-format
+msgid "%s: %s"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:36
+msgid "Deathmatch"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:39
+msgid "Last Man Standing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:42
+msgid "Race"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:45
+msgid "Race CTS"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:48
+msgid "Team Deathmatch"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:51
+msgid "Capture the Flag"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:54
+msgid "Clan Arena"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:57
+msgid "Domination"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:60
+msgid "Key Hunt"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:63
+msgid "Assault"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:66
+msgid "Onslaught"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:69
+msgid "Nexball"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:72
+msgid "Freeze Tag"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:75
+msgid "Keepaway"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr ""
+
+#: qcsrc/common/net_notice.qc:89
+msgid "^1Server notices:"
+msgstr ""
+
+#: qcsrc/common/net_notice.qc:95
+#, c-format
+msgid "^7%s (^3%d sec left)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:343
+#, c-format
+msgid "^BG%s^BG captured the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:344
+#, c-format
+msgid ""
+"^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"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:345
+#, c-format
+msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:346
+#, c-format
+msgid ""
+"^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"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:347
+msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:348
+msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:349
+msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:350
+msgid ""
+"^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
+"base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:351
+#, c-format
+msgid ""
+"^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
+"itself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:352
+msgid "^BGThe ^TC^TT^BG flag has returned to the base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:353
+#, c-format
+msgid "^BG%s^BG lost the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:354
+#, c-format
+msgid "^BG%s^BG got the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
+#, c-format
+msgid "^BG%s^BG returned the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:357
+#, c-format
+msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:358
+#, c-format
+msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:359
+#, c-format
+msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:360
+#, c-format
+msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:360
+#, c-format
+msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:361
+#, c-format
+msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:363
+#, c-format
+msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:364
+#, c-format
+msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:365
+#, c-format
+msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:366
+#, c-format
+msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:367
+#, c-format
+msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:367
+#, c-format
+msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:368
+#, c-format
+msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:369
+#, c-format
+msgid ""
+"^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:370
+#, c-format
+msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:371
+#, c-format
+msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:372
+#, c-format
+msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:373
+#, c-format
+msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:374
+#, c-format
+msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:375
+#, c-format
+msgid ""
+"^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:376
+#, c-format
+msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:377
+#, c-format
+msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:378
+#, c-format
+msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:379
+#, c-format
+msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:380
+#, c-format
+msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:381
+#, c-format
+msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:382
+#, c-format
+msgid "^BG%s^K1 was moved into the %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:383
+#, c-format
+msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:384
+#, c-format
+msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:385
+#, c-format
+msgid "^BG%s^K1 unfairly eliminated themself%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:386
+#, c-format
+msgid "^BG%s^K1 %s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:387
+#, c-format
+msgid "^BG%s^K1 couldn't catch their breath%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:387
+#, c-format
+msgid "^BG%s^K1 was in the water for too long%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:388
+#, c-format
+msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:388
+#, c-format
+msgid "^BG%s^K1 hit the ground with a crunch%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:389
+#, c-format
+msgid "^BG%s^K1 became a bit too crispy%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:389
+#, c-format
+msgid "^BG%s^K1 felt a little hot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:390
+#, c-format
+msgid "^BG%s^K1 died%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:391
+#, c-format
+msgid "^BG%s^K1 found a hot place%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:391
+#, c-format
+msgid "^BG%s^K1 turned into hot slag%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:392
+#, c-format
+msgid "^BG%s^K1 mastered the art of self-nading%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:393
+#, c-format
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:394
+#, c-format
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:395
+#, c-format
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:396
+#, c-format
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:397
+#, c-format
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:398
+#, c-format
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 ran out of ammo%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:402
+#, c-format
+msgid "^BG%s^K1 rotted away%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:403
+#, c-format
+msgid "^BG%s^K1 became a shooting star%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:404
+#, c-format
+msgid "^BG%s^K1 was slimed%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:405
+#, c-format
+msgid "^BG%s^K1 couldn't take it anymore%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:406
+#, c-format
+msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:407
+#, c-format
+msgid "^BG%s^K1 switched to the %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:408
+#, c-format
+msgid "^BG%s^K1 died in an accident%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:409
+#, c-format
+msgid "^BG%s^K1 ran into a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:410
+#, c-format
+msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:411
+#, c-format
+msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:412
+#, c-format
+msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:413
+#, c-format
+msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:414
+#, c-format
+msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:415
+#, c-format
+msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:416
+#, c-format
+msgid "^BG%s^K1 was phased out by a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:417
+#, c-format
+msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:418
+#, c-format
+msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:419
+#, c-format
+msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:420
+#, c-format
+msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:421
+#, c-format
+msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:422
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:423
+#, c-format
+msgid "^BG%s^K1 was crushed by a vehicle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:424
+#, c-format
+msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:425
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:426
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:427
+#, c-format
+msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:428
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:429
+#, c-format
+msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:430
+#, c-format
+msgid "^BG%s^K1 was in the wrong place%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:431
+#, c-format
+msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:432
+#, c-format
+msgid "^BG%s^K1 was frozen by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:433
+#, c-format
+msgid "^BG%s^K3 was revived by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:434
+#, c-format
+msgid "^BG%s^K3 was revived by falling"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:435
+#, c-format
+msgid "^BG%s^K3 was automatically revived after %s second(s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
+msgid "^TC^TT^BG team wins the round"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
+#, c-format
+msgid "^BG%s^BG wins the round"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
+msgid "^BGRound tied"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
+msgid "^BGRound over, there's no winner"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:440
+#, c-format
+msgid "^BG%s^K1 froze themself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:441
+#, c-format
+msgid "^BGGodmode saved you %s units of damage, cheater!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
+#, c-format
+msgid "^BGYou do not have the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
+#, c-format
+msgid "^BGYou dropped the ^F1%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
+#, c-format
+msgid "^BGYou got the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
+#, c-format
+msgid "^BGYou don't have enough ammo for the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
+#, c-format
+msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
+#, c-format
+msgid "^F1%s^BG is ^F4not available^BG on this map"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:448
+#, c-format
+msgid "^BG%s^F3 connected%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:449
+#, c-format
+msgid "^BG%s^F3 connected and joined the ^TC^TT team"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:450
+#, c-format
+msgid "^BG%s^F3 is now playing"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
+#, c-format
+msgid "^BG%s^BG has dropped the ball!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
+#, c-format
+msgid "^BG%s^BG has picked up the ball!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:453
+#, c-format
+msgid "^BG%s^BG captured the keys for the ^TC^TT team"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:454
+#, c-format
+msgid "^BG%s^BG dropped the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:455
+#, c-format
+msgid "^BG%s^BG lost the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:456
+#, c-format
+msgid "^BG%s^BG picked up the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:457
+#, c-format
+msgid "^BG%s^F3 forfeited"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:458
+#, c-format
+msgid "^BG%s^F3 has no more lives left"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:460
+#, c-format
+msgid "^BG%s^K1 picked up Invisibility"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:461
+#, c-format
+msgid "^BG%s^K1 picked up Shield"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:462
+#, c-format
+msgid "^BG%s^K1 picked up Speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:463
+#, c-format
+msgid "^BG%s^K1 picked up Strength"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:464
+#, c-format
+msgid "^BG%s^F3 disconnected"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:465
+#, c-format
+msgid "^BG%s^F3 was kicked for idling"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:466
+msgid ""
+"^F2You were kicked from the server because you are a spectator and "
+"spectators aren't allowed at the moment."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:467
+#, c-format
+msgid "^BG%s^F3 is now spectating"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:468
+#, c-format
+msgid "^BG%s^BG has abandoned the race"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:469
+#, c-format
+msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:470
+#, c-format
+msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:471
+#, c-format
+msgid "^BG%s^BG has finished the race"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:472
+#, c-format
+msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:473
+#, c-format
+msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:474
+#, c-format
+msgid ""
+"^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
+"and will be lost."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:475
+#, c-format
+msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:476
+msgid "^TC^TT ^BGteam scores!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:477
+#, c-format
+msgid ""
+"^F2You have to become a player within the next %s, otherwise you will be "
+"kicked, because spectating isn't allowed at this time!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:478
+#, c-format
+msgid "^BG%s^K1 picked up a Superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:479
+#, c-format
+msgid ""
+"^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
+"^F2Xonotic %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:480
+#, c-format
+msgid ""
+"^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:481
+#, c-format
+msgid ""
+"^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
+"the update from ^F3http://www.xonotic.org/^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:482
+#, c-format
+msgid "^F3SVQC Build information: ^F4%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:483
+#, c-format
+msgid ""
+"^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:484
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:485
+#, c-format
+msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:486
+#, c-format
+msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:487
+#, c-format
+msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:488
+#, c-format
+msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:489
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:490
+#, c-format
+msgid "^BG%s^K1 played with Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:491
+#, c-format
+msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:492
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:493
+#, c-format
+msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:494
+#, c-format
+msgid "^BG%s^K1 should have used a smaller gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:495
+#, c-format
+msgid "^BG%s^K1 forgot about their firemine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:496
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:497
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:498
+#, c-format
+msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:499
+#, c-format
+msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:500
+#, c-format
+msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:501
+#, c-format
+msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:502
+#, c-format
+msgid ""
+"^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:503
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:504
+#, c-format
+msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:505
+#, c-format
+msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:506
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:507
+#, c-format
+msgid "^BG%s^K1 forgot about their mine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:508
+#, c-format
+msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:509
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:510
+#, c-format
+msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:511
+#, c-format
+msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:512
+#, c-format
+msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:513
+#, c-format
+msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:514
+#, c-format
+msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:515
+#, c-format
+msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:516
+#, c-format
+msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:517
+#, c-format
+msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:518
+#, c-format
+msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:519
+#, c-format
+msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:520
+#, c-format
+msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:521
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:522
+#, c-format
+msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:523
+#, c-format
+msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:524
+#, c-format
+msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:525
+#, c-format
+msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:526
+#, c-format
+msgid "^BG%s^K1 is now thinking with portals%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:527
+#, c-format
+msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:528
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:529
+#, c-format
+msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:530
+#, c-format
+msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:548
+msgid "^BGYou are attacking!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:549
+msgid "^BGYou are defending!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:550
+msgid "^F4Begin!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:551
+msgid "^F4Game starts in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:552
+msgid "^F4Round starts in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:553
+msgid "^F4Round cannot start"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:556
+msgid "^F2Don't camp!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:557
+msgid ""
+"^BGYou are now free.\n"
+"^BGFeel free to ^F2try to capture^BG the flag again\n"
+"^BGif you think you will succeed."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:558
+msgid ""
+"^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."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:559
+msgid "^BGYou captured the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:560
+#, c-format
+msgid "^BGToo many flag throws! Throwing disabled for %s."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:561
+#, c-format
+msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:562
+#, c-format
+msgid "^BGYou received the ^TC^TT^BG flag from %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:563
+#, c-format
+msgid "^BG%s^BG requests you to pass the flag%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:564
+#, c-format
+msgid "^BGRequesting %s^BG to pass you the flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:565
+#, c-format
+msgid "^BGYou passed the ^TC^TT^BG flag to %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:566
+msgid "^BGYou got the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:567
+#, c-format
+msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:568
+#, c-format
+msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:569
+#, c-format
+msgid "^BGYour %steam mate^BG got the flag! Protect them!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:570
+#, c-format
+msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:571
+msgid "^BGYou returned the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:572
+msgid "^BGStalemate! Enemies can now see you on radar!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:573
+msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:574
+#, c-format
+msgid "^K3%sYou fragged ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:574
+#, c-format
+msgid "^K3%sYou scored against ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:575
+#, c-format
+msgid "^K1%sYou were fragged by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:575
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:576
+#, c-format
+msgid "^K1%sYou were fragged by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:576
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:577
+#, c-format
+msgid "^K3%sYou fragged ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:577
+#, c-format
+msgid "^K3%sYou scored against ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:578
+#, c-format
+msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:578
+#, c-format
+msgid "^K1%sYou typefragged ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:579
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:579
+#, c-format
+msgid "^K1%sYou were typefragged by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:580
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:580
+#, c-format
+msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:581
+#, c-format
+msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:581
+#, c-format
+msgid "^K1%sYou typefragged ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:582
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:583
+#, c-format
+msgid ""
+"^BGYou have been moved into a different team\n"
+"You are now on: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:584
+msgid "^K1Don't go against your team mates!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:584
+msgid "^K1Don't shoot your team mates!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:585
+msgid "^K1Die camper!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:585
+msgid "^K1Reconsider your tactics, camper!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:586
+msgid "^K1You unfairly eliminated yourself!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:587
+#, c-format
+msgid "^K1You were %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:588
+msgid "^K1You couldn't catch your breath!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:589
+msgid "^K1You hit the ground with a crunch!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:590
+msgid "^K1You felt a little too hot!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:590
+msgid "^K1You got a little bit too crispy!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:591
+msgid "^K1You killed your own dumb self!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:591
+msgid "^K1You need to be more careful!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:592
+msgid "^K1You couldn't stand the heat!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
+msgid "^K1Tastes like chicken!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
+msgid "^K1You forgot to put the pin back in!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:595
+msgid "^K1You are respawning for running out of ammo..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:595
+msgid "^K1You were killed for running out of ammo..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:596
+msgid "^K1You grew too old without taking your medicine"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:596
+msgid "^K1You need to preserve your health"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:597
+msgid "^K1You became a shooting star!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:598
+msgid "^K1You melted away in slime!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:599
+msgid "^K1You committed suicide!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:599
+msgid "^K1You ended it all!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:600
+msgid "^K1You got stuck in a swamp!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:601
+#, c-format
+msgid "^BGYou are now on: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:602
+msgid "^K1You died in an accident!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:603
+msgid "^K1You had an unfortunate run in with a turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:603
+msgid "^K1You were fragged by a turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:604
+msgid "^K1You had an unfortunate run in with an eWheel turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:604
+msgid "^K1You were fragged by an eWheel turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:605
+msgid "^K1You had an unfortunate run in with a Walker turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:605
+msgid "^K1You were fragged by a Walker turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:606
+msgid "^K1You got caught in the blast of a Bumblebee explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:607
+msgid "^K1You were crushed by a vehicle!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:608
+msgid "^K1You were caught in a Raptor cluster bomb!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:609
+msgid "^K1You got caught in the blast of a Raptor explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:610
+msgid "^K1You got caught in the blast of a Spiderbot explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:611
+msgid "^K1You were blasted to bits by a Spiderbot rocket!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:612
+msgid "^K1You got caught in the blast of a Racer explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:613
+msgid "^K1You couldn't find shelter from a Racer rocket!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:614
+msgid "^K1Watch your step!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:615
+#, c-format
+msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:615
+#, c-format
+msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:616
+#, c-format
+msgid "^K1You were fragged by ^BG%s^K1, a team mate"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:616
+#, c-format
+msgid "^K1You were scored against by ^BG%s^K1, a team mate"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:617
+msgid ""
+"^K1Stop idling!\n"
+"^BGDisconnecting in ^COUNT..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:618
+msgid "^F2You picked up some extra lives"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:619
+#, c-format
+msgid "^K3You froze ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:620
+#, c-format
+msgid "^K1You were frozen by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:621
+#, c-format
+msgid "^K3You revived ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:622
+msgid "^K3You revived yourself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:623
+#, c-format
+msgid "^K3You were revived by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:624
+#, c-format
+msgid "^K3You were automatically revived after %s second(s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:627
+msgid "^K1You froze yourself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:628
+msgid "^K1Round already started, you spawn as frozen"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:636
+msgid ""
+"^K1No spawnpoints available!\n"
+"Hope your team can fix it..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:637
+msgid ""
+"^K1You may not join the game at this time.\n"
+"The player limit reached maximum capacity."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
+msgid "^BGKilling people while you don't have the ball gives no points!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:642
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Help the key carriers to meet!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:643
+msgid ""
+"^BGAll keys are in ^TC^TT team^BG's hands!\n"
+"Interfere ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:644
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Meet the other key carriers ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:645
+msgid "^F4Round will start in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:646
+msgid "^BGScanning frequency range..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:647
+msgid "^BGYou are starting with the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
+#, c-format
+msgid ""
+"^BGWaiting for players to join...\n"
+"Need active players for: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:650
+#, c-format
+msgid "^BGWaiting for %s player(s) to join..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:651
+msgid "^F4^COUNT^BG left to find some ammo!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:653
+#, c-format
+msgid "^F2Extra lives remaining: ^K1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:654
+msgid "^BGSecondary fire inflicts no damage!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:655
+#, c-format
+msgid "^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:656
+#, c-format
+msgid ""
+"^F2^COUNT^BG until weapon change...\n"
+"Next weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:657
+#, c-format
+msgid "^F2Active weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:658
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep fragging until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep scoring until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:660
+#, c-format
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"^BGAdded ^F4%s^BG to the game!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:661
+msgid "^F2Invisibility has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:662
+msgid "^F2Shield has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:663
+msgid "^F2Speed has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:664
+msgid "^F2Strength has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:665
+msgid "^F2You are invisible"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:666
+msgid "^F2Shield surrounds you"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:667
+msgid "^F2You are on speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:668
+msgid "^F2Strength infuses your weapons with devastating power"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:669
+msgid "^F2The race is over, finish your lap!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:670
+msgid "^F2Superweapons have broken down"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:671
+msgid "^F2Superweapons have been lost"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:672
+msgid "^F2You now have a superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:673
+msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:674
+msgid "^K1Changing team in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:675
+msgid "^K1Spectating in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:676
+msgid "^K1Suicide in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:677
+msgid "^F4Timeout begins in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:678
+msgid "^F4Timeout ends in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
+#, c-format
+msgid " (near %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
+msgid "primary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
+msgid "secondary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:980
+#, c-format
+msgid " ^F1(Press %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:989
+#, c-format
+msgid " with %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+msgid "TRIPLE FRAG! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 unlocked RAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+msgid "RAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 started a MASSACRE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+msgid "MASSACRE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 executed MAYHEM! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+msgid "MAYHEM! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 is a BERSERKER! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+msgid "BERSERKER! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 inflicts CARNAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+msgid "CARNAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+#, c-format
+msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+#, c-format
+msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+msgid "ARMAGEDDON! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1010
+#, c-format
+msgid "%s(^F1Bot^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1012
+#, c-format
+msgid "%s(Ping ^F1%d^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1018
+#, c-format
+msgid ""
+"\n"
+"(Health ^1%d^BG / Armor ^2%d^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1020
+#, c-format
+msgid ""
+"\n"
+"(^F4Dead^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
+#, c-format
+msgid "%d score spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1069
+#, c-format
+msgid "%d frag spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1082
+msgid "First blood! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1082
+msgid "First score! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1086
+msgid "First casualty! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1086
+msgid "First victim! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1127
+#, c-format
+msgid "%s^K1 has %d frags in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1128
+#, c-format
+msgid "%s^K1 made %d scores in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1146
+#, c-format
+msgid "%s^K1 drew first blood! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1147
+#, c-format
+msgid "%s^K1 got the first score! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1163
+#, c-format
+msgid ", ending their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1164
+#, c-format
+msgid ", ending their %d score spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1178
+#, c-format
+msgid ", losing their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1179
+#, c-format
+msgid ", losing their %d score spree"
+msgstr ""
+
+#: qcsrc/common/teams.qh:26
+msgid "Red"
+msgstr ""
+
+#: qcsrc/common/teams.qh:27
+msgid "Blue"
+msgstr ""
+
+#: qcsrc/common/teams.qh:28
+msgid "Yellow"
+msgstr ""
+
+#: qcsrc/common/teams.qh:29
+msgid "Pink"
+msgstr ""
+
+#: qcsrc/common/teams.qh:30
+msgid "Team"
+msgstr ""
+
+#: qcsrc/common/teams.qh:31
+msgid "Neutral"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:35
+msgid "Usage: menu_cmd command..., where possible commands are:\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:36
+msgid "  sync - reloads all cvars on the current menu page\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:37
+msgid "  directmenu ITEM - select a menu item as main item\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:68
+msgid "Available options:\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:119
+msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
+msgstr ""
+
+#: qcsrc/menu/item/label.c:82
+#, c-format
+msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
+msgstr ""
+
+#: qcsrc/menu/item/listbox.c:382
+#, c-format
+msgid "Item %d"
+msgstr ""
+
+#: qcsrc/menu/item/slider.c:64
+#, c-format
+msgid "%d (%s)"
+msgstr ""
+
+#: qcsrc/menu/item/textslider.c:31 qcsrc/menu/item/textslider.c:33
+msgid "custom"
+msgstr ""
+
+#: qcsrc/menu/menu.qc:59
+#, c-format
+msgid "^4MQC Build information: ^1%s\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/campaign.c:286
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:123
+msgid "???"
+msgstr ""
+
+#: qcsrc/menu/xonotic/campaign.c:287
+#, c-format
+msgid "Level %d: %s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
+msgid "will not be saved"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
+msgid "private"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:95
+msgid "engine setting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:97
+msgid "read only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_credits.c:5
+msgid "Credits"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:99
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
+msgid "OK"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:4
+msgid "Welcome"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+msgid ""
+"Welcome to Xonotic, please select your language preference and enter your "
+"player name to get started.  You can change these options later through the "
+"menu system."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
+msgid "Name:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
+#: qcsrc/menu/xonotic/dialog_settings_user.c:65
+msgid "Text language:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+msgid "ALWU2N^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
+msgid "ALWU2N^No"
+msgstr "Nie"
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
+msgid "ALWU2N^Undecided"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
+msgid "Save settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:4
+msgid "Ammo Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:23
+msgid "Ammunition display:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:26
+msgid "Show only current ammo type"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:29
+msgid "Align icon:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:30
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:37
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:29
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:41
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:29
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:41
+msgid "Left"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:39
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:42
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:42
+msgid "Right"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:4
+msgid "Centerprint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:24
+msgid "Message duration:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:28
+msgid "Fade time:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:32
+msgid "Flip messages order"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:34
+msgid "Text alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:38
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:51
+msgid "Center"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:42
+msgid "Font scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4
+msgid "Chat Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:23
+msgid "Chat entries:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:26
+msgid "Chat size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:30
+msgid "Chat lifetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:34
+msgid "Chat beep sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:4
+msgid "Engine Info Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:23
+msgid "Engine info:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:26
+msgid "Use an averaging algorithm for fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:4
+msgid "Health/Armor Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:23
+msgid "Enable status bar"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:25
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:25
+msgid "Status bar alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:33
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:43
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:33
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:43
+msgid "Inward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:35
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:44
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:35
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:44
+msgid "Outward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:38
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:38
+msgid "Icon alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:46
+msgid "Flip health and armor positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:4
+msgid "Info Messages Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:23
+msgid "Info messages:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:26
+msgid "Flip align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_modicons.c:4
+msgid "Mod Icons Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:4
+msgid "Notification Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:23
+msgid "Notifications:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:26
+msgid "Also print notifications to the console"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:29
+msgid "Flip notify order"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:32
+msgid "Entry lifetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:36
+msgid "Entry fadetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:4
+msgid "Physics Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:22
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:22
+msgid "Panel disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:24
+msgid "Panel enabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:25
+msgid "Panel enabled even observing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:26
+msgid "Panel enabled only in Race/CTS"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:32
+msgid "Status bar"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:34
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:49
+msgid "Left align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:35
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:53
+msgid "Right align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:36
+msgid "Inward align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:37
+msgid "Outward align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:41
+msgid "Flip speed/acceleration positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:45
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:29
+msgid "Speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:46
+msgid "Include vertical speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:57
+msgid "Speed unit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:59
+msgid "qu/s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:60
+msgid "m/s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:61
+msgid "km/h"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:62
+msgid "mph"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:63
+msgid "knots"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:65
+msgid "Show"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:68
+msgid "Top speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:74
+msgid "Acceleration:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:75
+msgid "Include vertical acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4
+msgid "Powerups Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:46
+msgid "Flip strength and shield positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:4
+msgid "Pressed Keys Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:23
+msgid "Panel enabled when spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:24
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:24
+msgid "Panel always enabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:31
+msgid "Forced aspect:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_racetimer.c:4
+msgid "Race Timer Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:4
+msgid "Radar Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:23
+msgid "Panel enabled in teamgames"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:30
+msgid "Radar:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:33
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
+#: qcsrc/menu/xonotic/util.qc:758
+msgid "Alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:37
+msgid "Rotation:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:39
+msgid "Forward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:40
+msgid "West"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:41
+msgid "South"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:42
+msgid "East"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:43
+msgid "North"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:47
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:63
+msgid "Scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:51
+msgid "Zoom mode:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:53
+msgid "Zoomed in"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:54
+msgid "Zoomed out"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:55
+msgid "Always zoomed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:56
+msgid "Never zoomed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:4
+msgid "Score Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:23
+msgid "Score:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
+msgid "Rankings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:27
+msgid "Off"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
+msgid "And me"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:29
+msgid "Pure"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
+msgid "Timer Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:23
+msgid "Timer:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:26
+msgid "Show elapsed time"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:4
+msgid "Vote Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:23
+msgid "Alpha after voting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:4
+msgid "Weapons Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:25
+msgid "Fade out after:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:27
+msgid "Never"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:29
+#, c-format
+msgid "%ds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:33
+msgid "Fade effect:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:36
+msgid "EF^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:37
+msgid "Alpha"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:38
+msgid "Slide"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:39
+msgid "EF^Both"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:43
+msgid "Weapon icons:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46
+msgid "Show only owned weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49
+msgid "Show weapon ID as:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50
+msgid "SHOWAS^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51
+msgid "Number"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52
+msgid "Bind"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55
+msgid "Show Accuracy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:56
+msgid "Show Ammo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:59
+msgid "Ammo bar color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:65
+msgid "Ammo bar alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:4
+msgid "Panel HUD Setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:22
+msgid "Panel background defaults:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
+msgid "Background:"
+msgstr "Tło:"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
+msgid "Disable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
+msgid "Color:"
+msgstr "Kolor:"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
+msgid "Border size:"
+msgstr "Rozmiar ramki:"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:51
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:90
+msgid "Team color:"
+msgstr "Kolor drużyny:"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
+msgid "Test team color in configure mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
+msgid "Padding:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:69
+msgid "HUD Dock:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:71
+msgid "DOCK^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:72
+msgid "DOCK^Small"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:73
+msgid "DOCK^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:74
+msgid "DOCK^Large"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:97
+msgid "Grid settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:100
+msgid "Snap panels to grid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:103
+msgid "Grid size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:104
+msgid "X:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:110
+msgid "Y:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:118
+msgid "Exit setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr "Usunąć"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:4
+msgid "Multiplayer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:18
+msgid "Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:19
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:5
+msgid "Create"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:20
+msgid "Demos"
+msgstr "Demonstracja"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:21
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:5
+msgid "Player Setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:34
+msgid "Game type:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48
+msgid "Time limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:52
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:60
+msgid "Use map specified default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:55
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:155
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+msgid "Point limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63
+msgid "Player slots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66
+msgid "Number of bots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69
+msgid "Bot skill:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72
+msgid "Botlike"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73
+msgid "Beginner"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74
+msgid "You will win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75
+msgid "You can win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76
+msgid "You might win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77
+msgid "Advanced"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78
+msgid "Expert"
+msgstr "Ekspert"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79
+msgid "Pro"
+msgstr "Zawodowiec"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80
+msgid "Assassin"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81
+msgid "Unhuman"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82
+msgid "Godlike"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87
+msgid "Mutators..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
+msgid "Advanced settings..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103
+msgid "Map list:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109
+msgid "Select all"
+msgstr "Zaznacz wszystko"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112
+msgid "Select none"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118
+msgid "Start Multiplayer!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153
+msgid "Capture limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:156
+msgid "Lives:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157
+msgid "Laps:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158
+msgid "Goals:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
+msgid "Frag limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:6
+msgid "Advanced server settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:25
+msgid "Game settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:28
+msgid "Allow spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:31
+msgid "Spawn shield:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:36
+msgid "Game speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:40
+msgid "Teamplay settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:43
+msgid "Friendly fire scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:47
+msgid "Virtual friendly fire (effect only)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:50
+msgid "Friendly fire penalty:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:54
+msgid "Virtual penalty (effect only)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:57
+msgid "Teams:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:66
+msgid "Map voting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:68
+msgid "No voting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:69
+msgid "2 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:70
+msgid "3 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:71
+msgid "4 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:72
+msgid "5 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:73
+msgid "6 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:74
+msgid "7 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:75
+msgid "8 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:76
+msgid "9 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:79
+msgid "Simple majority wins vcall"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:5
+msgid "Map Information"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "Full item placement"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "MinstaGib only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81
+msgid "Title:"
+msgstr "Tytuł:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:87
+msgid "Author:"
+msgstr "Autor:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:93
+msgid "Features:"
+msgstr "Cechy:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98
+msgid "Game types:"
+msgstr "Typy gry:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:328
+msgid "Close"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124
+msgid "MAP^Play"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:7
+msgid "Mutators"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:33
+msgid "All Weapons Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:35
+msgid "Most Weapons Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:56
+#, c-format
+msgid "%s Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:68
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:162
+msgid "Dodging"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:70
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:254
+msgid "MinstaGib"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:72
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:208
+msgid "New Toys"
+msgstr "Nowe zabawki"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:74
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:258
+msgid "NIX"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:76
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:212
+msgid "Rocket Flying"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:78
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204
+msgid "Invincible Projectiles"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:266
+msgid "No start weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:189
+msgid "Low gravity"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:168
+msgid "Cloaked"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:90
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:171
+msgid "Midair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:92
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:174
+msgid "Vampire"
+msgstr "Wampir"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:94
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:216
+msgid "Piñata"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:96
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:220
+msgid "Weapons stay"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:179
+msgid "Blood loss"
+msgstr "Utrata krwi"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:100
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201
+msgid "Jet pack"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:102
+msgid "No powerups"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104
+msgid "Powerups"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:106
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:165
+msgid "Touch explode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:108
+msgid "MUT^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:159
+msgid "Gameplay mutators:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:195
+msgid "Weapon & item mutators:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:198
+msgid "Grappling hook"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:225
+msgid "Regular (no arena)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:227
+msgid "Weapon arenas:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:244
+msgid "Most weapons"
+msgstr "Większość broni"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:248
+msgid "All weapons"
+msgstr "Wszystkie bronie"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:251
+msgid "Special arenas:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:262
+msgid "with laser"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:4
+msgid "Demo"
+msgstr "Demonstracja"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:26
+msgid "Automatically record demos while playing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:29
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:28
+msgid "Filter:"
+msgstr "Filtr:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:40
+msgid "Timedemo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43
+msgid "DEMO^Play"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:4
+msgid "Join"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
+msgid "SRVS^Empty"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
+msgid "SRVS^Full"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
+msgid "Pause"
+msgstr "Przerwa"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
+msgid "Address:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
+msgid "Info..."
+msgstr "Informacje o ..."
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
+msgid "Join!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:5
+msgid "Server Information"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:174
+#, c-format
+msgid "%d/%d"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
+msgid "Default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
+#, c-format
+msgid "%d modified"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
+msgid "Official"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:201
+msgid "N/A (auth library missing, can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:203
+msgid "N/A (auth library missing)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:209
+msgid "Not supported (can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211
+msgid "Not supported (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:215
+msgid "Supported (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217
+msgid "Supported (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:221
+msgid "Requested (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223
+msgid "Requested (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:227
+msgid "Required (can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:229
+msgid "Required (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:249
+msgid "Hostname:"
+msgstr "Nazwa hosta:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:263
+msgid "Gametype:"
+msgstr "Rodzaj gry:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:268
+msgid "Map:"
+msgstr "Mapa:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:273
+msgid "Mod:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:278
+msgid "Version:"
+msgstr "Wersja:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:283
+msgid "Settings:"
+msgstr "Ustawienia:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:322
+msgid "Players:"
+msgstr "Gracze:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:295
+msgid "Bots:"
+msgstr "Boty:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:300
+msgid "Free slots:"
+msgstr "Wolne sloty:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:306
+msgid "Encryption:"
+msgstr "Szyfrowanie:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:311
+msgid "ID:"
+msgstr "identyfikator użytkownika:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:316
+msgid "Key:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:61
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:20
+msgid "Model:"
+msgstr "Model:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:73
+msgid "Glowing color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:82
+msgid "Detail color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93
+msgid "No crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:95
+msgid "Per weapon crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:98
+msgid "Custom crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117
+msgid "Crosshair size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:122
+msgid "Crosshair alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:128
+msgid "Crosshair color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130
+msgid "Per weapon"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:132
+msgid "By health"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:136
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:47
+msgid "Custom"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:144
+msgid "Other crosshair settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:152
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6
+msgid "Model settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6
+msgid "View settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:164
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6
+msgid "Weapon settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:174
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6
+msgid "HUD settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:180
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:164
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:200
+#: qcsrc/menu/xonotic/dialog_settings_input.c:90
+#: qcsrc/menu/xonotic/dialog_settings_user.c:88
+#: qcsrc/menu/xonotic/dialog_settings_video.c:143
+msgid "Apply immediately"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6
+msgid "Crosshair settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28
+msgid "Enable center crosshair dot"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31
+msgid "Dot size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36
+msgid "Dot alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41
+msgid "Dot color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43
+msgid "Use normal crosshair color"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54
+msgid "Crosshair animations:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57
+msgid "Smooth effects of crosshairs"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61
+msgid "Use rings to indicate weapon status"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67
+msgid "Hit testing:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69
+msgid "HTTST^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70
+msgid "HTTST^TrueAim"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71
+msgid "HTTST^Enemies"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76
+msgid "Blur crosshair if the shot is obstructed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81
+msgid "Animate when hitting an enemy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85
+msgid "Animate when picking up an item"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40
+msgid "Damage:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43
+msgid "Overlay:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:47
+msgid "Factor:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:53
+msgid "Fade rate:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:60
+msgid "Waypoints"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:75
+msgid "Edge offset:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83
+msgid "Show names above players"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:86
+msgid "Only when near crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:89
+msgid "Display health and armor"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:93
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:4
+msgid "Enter HUD editor"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:28
+msgid "In order for the HUD editor to show, you must first be in game."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30
+msgid "Do you wish to start a local game to set up the HUD?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33
+msgid "HDCNFRM^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36
+msgid "HDCNFRM^No"
+msgstr "Nie"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28
+msgid "Body fading:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31
+msgid "Gibs:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33
+msgid "GIBS^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34
+msgid "GIBS^Few"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35
+msgid "GIBS^Many"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36
+msgid "GIBS^Lots"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:41
+msgid "Force player models to mine"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:43
+msgid "Force player colors to mine"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28
+msgid "Field of view:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31
+msgid "Zoom:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33
+msgid "RETICLE^Fullscreen"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34
+msgid "RETICLE^With reticle"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38
+msgid "ZOOM^Factor:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42
+msgid "ZOOM^Speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52
+msgid "ZOOM^Instant"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56
+msgid "ZOOM^Sensitivity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59
+msgid "Velocity zoom:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61
+msgid "VZOOM^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62
+msgid "VZOOM^Forward only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63
+msgid "VZOOM^All directions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67
+msgid "VZOOM^Speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72
+msgid "Allow passing through walls while spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75
+msgid "1st person perspective"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79
+msgid "Smooth the view when landing from a jump"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83
+msgid "Smooth the view while crouching"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87
+msgid "View waving while idle"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91
+msgid "View bobbing while walking around"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96
+msgid "3rd person perspective"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100
+msgid "Back distance"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106
+msgid "Up distance"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29
+msgid "Weapon priority list:"
+msgstr "Bron, lista priorytetów:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33
+msgid "Up"
+msgstr "W górę"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36
+msgid "Down"
+msgstr "W dół"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41
+msgid "Use priority list for weapon cycling"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43
+msgid "Auto switch weapons on pickup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:46
+msgid "Draw 1st person weapon model"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:58
+msgid "Gun model swaying"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63
+msgid "Gun model bobbing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:4
+msgid "Quit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:18
+msgid "Are you sure you want to quit?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:21
+msgid "Yes"
+msgstr "Tak"
+
+#: qcsrc/menu/xonotic/dialog_quit.c:22
+msgid "No"
+msgstr "Nie"
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:4
+msgid "Sandbox Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
+msgid "Remove *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28
+msgid "Copy *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:29
+msgid "Paste"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:31
+msgid "Bone:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:36
+msgid "Set * as child"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:37
+msgid "Attach to *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:39
+msgid "Detach from *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:42
+msgid "Visual object properties for *:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
+msgid "Set alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:49
+msgid "Set color main:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:51
+msgid "Set color glow:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:55
+msgid "Set frame:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:59
+msgid "Physical object properties for *:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:61
+msgid "Set material:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:67
+msgid "Set solidity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:68
+msgid "Non-solid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:69
+msgid "Solid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:70
+msgid "Set physics:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:71
+msgid "Static"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:72
+msgid "Movable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:73
+msgid "Physical"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:75
+msgid "Set scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:77
+msgid "Set force:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:81
+msgid "Claim *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:83
+msgid "* object info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:84
+msgid "* mesh info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:85
+msgid "* attachment info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:86
+msgid "Show help"
+msgstr "Pokaż pomoc"
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:87
+msgid "* is the object you are facing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:4
+msgid "Settings"
+msgstr "Ustawienia"
+
+#: qcsrc/menu/xonotic/dialog_settings.c:18
+#: qcsrc/menu/xonotic/dialog_settings_input.c:4
+msgid "Input"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:19
+#: qcsrc/menu/xonotic/dialog_settings_video.c:4
+msgid "Video"
+msgstr "Wideo"
+
+#: qcsrc/menu/xonotic/dialog_settings.c:20
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:4
+msgid "Effects"
+msgstr "Efekty"
+
+#: qcsrc/menu/xonotic/dialog_settings.c:21
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:4
+msgid "Audio"
+msgstr "Audio"
+
+#: qcsrc/menu/xonotic/dialog_settings.c:22
+#: qcsrc/menu/xonotic/dialog_settings_user.c:4
+msgid "User"
+msgstr "Użytkownik"
+
+#: qcsrc/menu/xonotic/dialog_settings.c:23
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:4
+msgid "Misc"
+msgstr "Różne"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:27
+msgid "Master:"
+msgstr "Mistrz:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:33
+msgid "Music:"
+msgstr "Muzyka:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:41
+msgid "VOL^Ambient:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:48
+msgid "Info:"
+msgstr "Informacje:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:55
+msgid "Items:"
+msgstr "Pozycji:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:62
+msgid "Pain:"
+msgstr "Ból:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:69
+msgid "Player:"
+msgstr "Gracz:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:76
+msgid "Shots:"
+msgstr "Strzały:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:83
+msgid "Voice:"
+msgstr "Głos:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:91
+msgid "Weapons:"
+msgstr "Broń:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:97
+msgid "New style sound attenuation"
+msgstr "Tłumienie dźwięku w nowym stylu"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:99
+msgid "Mute sounds when not active"
+msgstr "Wycisz dźwięki, gdy nie jest aktywne"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:102
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:156
+msgid "Frequency:"
+msgstr "Częstotliwość:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:104
+msgid "8 kHz"
+msgstr "8 kHz"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:105
+msgid "11.025 kHz"
+msgstr "11.025 kHz"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:106
+msgid "16 kHz"
+msgstr "16 kHz"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:107
+msgid "22.05 kHz"
+msgstr "22.05 kHz"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:108
+msgid "24 kHz"
+msgstr "24 kHz"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:109
+msgid "32 kHz"
+msgstr "32 kHz "
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:110
+msgid "44.1 kHz"
+msgstr "44.1 kHz"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:111
+msgid "48 kHz"
+msgstr "48 kHz"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:114
+msgid "Channels:"
+msgstr "Kanały:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:116
+msgid "Mono"
+msgstr "Mono"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:117
+msgid "Stereo"
+msgstr "Stereo"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:118
+msgid "2.1"
+msgstr "2.1"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:119
+msgid "4"
+msgstr "4"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:120
+msgid "5"
+msgstr "5"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:121
+msgid "5.1"
+msgstr "5.1"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:122
+msgid "6.1"
+msgstr "6.1"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:123
+msgid "7.1"
+msgstr "7.1"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:126
+msgid "Swap Stereo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:128
+msgid "Headphone friendly mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:132
+msgid "Hit indication sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:134
+msgid "Chat message sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:136
+msgid "Menu sounds"
+msgstr "Menu dźwięki "
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:139
+msgid "Time announcer:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:141
+msgid "WRN^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:142
+msgid "1 minute"
+msgstr "1 minuta"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:143
+msgid "5 minutes"
+msgstr "5 minut"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:144
+msgid "WRN^Both"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:151
+msgid "Automatic taunts"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:161
+msgid "Debug info about sounds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:38
+msgid "Quality preset:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:41
+msgid "PRE^OMG!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:42
+msgid "PRE^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:43
+msgid "PRE^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:44
+msgid "PRE^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:45
+msgid "PRE^High"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:46
+msgid "PRE^Ultra"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:48
+msgid "PRE^Ultimate"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:52
+msgid "Geometry detail:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:54
+msgid "DET^Lowest"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:55
+msgid "DET^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:56
+msgid "DET^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:57
+msgid "DET^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:58
+msgid "DET^Best"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:59
+msgid "DET^Insane"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:62
+msgid "Player detail:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:65
+msgid "Texture resolution:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:69
+msgid "RES^Leet"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:70
+msgid "RES^Lowest"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:71
+msgid "RES^Very low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:72
+msgid "RES^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:73
+msgid "RES^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:74
+msgid "RES^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:75
+msgid "RES^Best"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:87
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:91
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:95
+msgid "Avoid lossy texture compression"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:105
+msgid "Show surfaces"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:108
+msgid "Use lightmaps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:109
+msgid "Deluxe mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:111
+msgid "Gloss"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:114
+msgid "Offset mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:116
+msgid "Relief mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:119
+msgid "Reflections:"
+msgstr "Refleksje:"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:122
+msgid "Blurred"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:123
+msgid "REFL^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:124
+msgid "Sharp"
+msgstr "Ostry"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:129
+msgid "Particles quality:"
+msgstr "Jakość cząstki:"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:132
+msgid "Particles distance:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:135
+msgid "Damage effects:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:137
+msgid "DMGPRTCLS^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:138
+msgid "DMGPRTCLS^Skeletal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:139
+msgid "DMGPRTCLS^All"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:142
+msgid "Particle effects for spawnpoints"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:146
+msgid "No dynamic lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:148
+msgid "Fake corona lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:151
+msgid "Realtime dynamic lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:153
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:157
+msgid "Shadows"
+msgstr "Shadows"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:156
+msgid "Realtime world lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:161
+msgid "Use normal maps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:163
+msgid "Soft shadows"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:167
+msgid "Fade corona according to visibility"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:171
+msgid "Bloom"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:172
+msgid "Extra postprocessing effects"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:177
+msgid "Motion blur:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:183
+msgid "Decals"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:184
+msgid "Decals on models"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:188
+msgid "Distance:"
+msgstr "Odległość: "
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:194
+msgid "Time:"
+msgstr "Czas:"
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:26
+msgid "Key bindings:"
+msgstr "Skróty klawiszowe:"
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:30
+msgid "Change key..."
+msgstr "Zmiana klucz...."
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:34
+msgid "Edit..."
+msgstr "Edycja ..."
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:40
+msgid "Clear"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:46
+msgid "Pressing \"enter console\" key also closes it"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:48
+msgid "Automatically repeat jumping if holding jump"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:52
+#: qcsrc/menu/xonotic/dialog_settings_input.c:54
+#: qcsrc/menu/xonotic/dialog_settings_input.c:57
+msgid "Use joystick input"
+msgstr "Użyj wejścia joysticka"
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:62
+msgid "Mouse:"
+msgstr "Mysz:"
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:65
+msgid "Sensitivity:"
+msgstr "Czułość:"
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:69
+msgid "Smooth aiming"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:72
+msgid "Invert aiming"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:76
+#: qcsrc/menu/xonotic/dialog_settings_input.c:78
+#: qcsrc/menu/xonotic/dialog_settings_input.c:81
+msgid "Disable system mouse acceleration"
+msgstr " Wyłącz przyspieszenie myszy "
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:86
+msgid "Enable built in mouse acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5
+msgid "User defined key bind"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:42
+msgid "Command when pressed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:45
+msgid "Command when released:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:48
+msgid "Save"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:51
+msgid "Cancel"
+msgstr "Anuluj"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:26
+msgid "Network:"
+msgstr "Sieć"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:31
+msgid "56k"
+msgstr "56k"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:32
+msgid "ISDN"
+msgstr "Sieć cyfrowa z integracją usług - ISDN"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:33
+msgid "Slow ADSL"
+msgstr "Powolna, asymetryczna cyfrowa linia abonencka - ADSL"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:34
+msgid "Fast ADSL"
+msgstr "Szybka, asymetryczna cyfrowa linia abonencka - ADSL"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:35
+msgid "Broadband"
+msgstr "Szerokopasmowy "
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:39
+msgid "Input packets/s:"
+msgstr "Pakiety wejściowe / s:"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:45
+msgid "Local latency:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:50
+msgid "Client UDP port:"
+msgstr "Klient UDP port:"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "Use encryption (AES) when available"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+msgid "Show netgraph"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
+msgid "Client-side movement prediction"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+msgid "Movement error compensation"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
+msgid "Downloads:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+msgid "Maximum:"
+msgstr "Maksymalna:"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
+msgid "Speed (kB/s):"
+msgstr "Prędkość (kB/s):"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
+msgid "Framerate:"
+msgstr "Liczba klatek na sekundę:"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+msgid "MAXFPS^5 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+msgid "MAXFPS^10 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+msgid "MAXFPS^20 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+msgid "MAXFPS^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+msgid "MAXFPS^40 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+msgid "MAXFPS^50 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+msgid "MAXFPS^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+msgid "MAXFPS^70 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
+msgid "MAXFPS^100 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
+msgid "MAXFPS^125 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
+msgid "MAXFPS^200 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+msgid "MAXFPS^Unlimited"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+msgid "Target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+msgid "TRGT^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+msgid "TRGT^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+msgid "TRGT^40 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+msgid "TRGT^50 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
+msgid "TRGT^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
+msgid "TRGT^100 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
+msgid "TRGT^125 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+msgid "TRGT^200 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+msgid "Idle limit:"
+msgstr "Brak limitu:"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+msgid "IDLFPS^10 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
+msgid "IDLFPS^20 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
+msgid "IDLFPS^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
+msgid "IDLFPS^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
+msgid "IDLFPS^Unlimited"
+msgstr "IDLFPS^Nieograniczony"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
+msgid "Show frames per second"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+msgid "Save processing time for other apps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+msgid "Menu tooltips:"
+msgstr "Podpowiedzi w menu:"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
+msgid "TLTIP^Disabled"
+msgstr " "
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
+msgid "TLTIP^Standard"
+msgstr "TLTIP^Standard"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+msgid "TLTIP^Advanced"
+msgstr "TLTIP^Zaawansowany"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+msgid "Show current time"
+msgstr "Pokaż aktualny czas"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
+msgid "Show current date"
+msgstr "Pokaż aktualną datę"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+msgid "Enable developer mode"
+msgstr "Włącz tryb dewelopera"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5
+msgid "Advanced settings"
+msgstr "Ustawienia zaawansowane"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:32
+msgid "Cvar filter:"
+msgstr "Filtry cvar:"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:45
+msgid "Setting:"
+msgstr "Ustawienia:"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:49
+msgid "Type:"
+msgstr "Typ:"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:53
+msgid "Value:"
+msgstr "Wartość:"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
+msgid "Description:"
+msgstr "Opis:"
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:27
+msgid "Menu skins:"
+msgstr "Menu skórek:"
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:31
+msgid "Set skin"
+msgstr "Ustaw skóry"
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:74
+msgid "Set language"
+msgstr "Ustaw język"
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:79
+msgid "Disable gore effects and harsh language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:82
+msgid "Allow player statistics to track your client"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:84
+msgid "Allow player statistics to use your nickname"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:26
+msgid "Resolution:"
+msgstr "Rozdzielczość: "
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:29
+msgid "Font/UI size:"
+msgstr "Rozmiar czcionki/UI:"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:31
+msgid "SZ^Unreadable"
+msgstr "SZ^Nieczytelny"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:32
+msgid "SZ^Tiny"
+msgstr "SZ^Malutki"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:33
+msgid "SZ^Little"
+msgstr "SZ^Mało"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:34
+msgid "SZ^Small"
+msgstr "SZ^Mały"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:35
+msgid "SZ^Medium"
+msgstr "SZ^Średni"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:36
+msgid "SZ^Large"
+msgstr "SZ^Duży"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:37
+msgid "SZ^Huge"
+msgstr "SZ^Ogromny"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:38
+msgid "SZ^Gigantic"
+msgstr "SZ^Gigantyczny"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:39
+msgid "SZ^Colossal"
+msgstr "SZ^Kolosalny"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:42
+msgid "Color depth:"
+msgstr "Głębia koloru:"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:44
+msgid "16bit"
+msgstr "16bit"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:45
+msgid "32bit"
+msgstr "32bit"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:48
+msgid "Full screen"
+msgstr "Pełny ekran"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:49
+msgid "Vertical Synchronization"
+msgstr "Synchronizacja pionowa"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:53
+msgid "Anisotropy:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:55
+msgid "ANISO^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:56
+#: qcsrc/menu/xonotic/dialog_settings_video.c:66
+msgid "2x"
+msgstr "2x"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:57
+#: qcsrc/menu/xonotic/dialog_settings_video.c:67
+msgid "4x"
+msgstr "4x"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:58
+msgid "8x"
+msgstr "8x "
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:59
+msgid "16x"
+msgstr "16x"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:62
+msgid "Antialiasing:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:65
+msgid "AA^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:71
+msgid "High-quality frame buffer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:76
+msgid "Depth first:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:78
+msgid "DF^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:79
+msgid "DF^World"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:80
+msgid "DF^All"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:83
+msgid "Vertex Buffer Objects (VBOs)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:86
+msgid "VBO^Off"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:87
+msgid "Vertices, some Tris (compatible)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:90
+msgid "Vertices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:91
+msgid "Vertices and Triangles"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:94
+msgid "Brightness:"
+msgstr "Jasność:"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:97
+msgid "Contrast:"
+msgstr "Kontrast:"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:100
+msgid "Gamma:"
+msgstr "Zakres:"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:105
+msgid "Contrast boost:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:110
+msgid "Saturation:"
+msgstr "Nasycenie:"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:116
+msgid "LIT^Ambient:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:119
+msgid "Intensity:"
+msgstr "Intensywność:"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:123
+msgid "Wait for GPU to finish each frame"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:125
+msgid "Use OpenGL 2.0 shaders (GLSL)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:128
+msgid "Use GLSL to handle color control"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:133
+msgid "Psycho coloring (easter egg)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:136
+msgid "Trippy vertices (easter egg)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:139
+msgid "Flip view horizontally"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:4
+msgid "Singleplayer"
+msgstr "Pojedynczy gracz"
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:116
+msgid "Instant action! (random map with bots)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:137
+msgid "Campaign Difficulty:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:138
+msgid "CSKL^Easy"
+msgstr "CSKL^Łatwy"
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:139
+msgid "CSKL^Medium"
+msgstr "CSKL^Średni "
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:140
+msgid "CSKL^Hard"
+msgstr "CSKL^ Trudny"
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:142
+msgid "Start Singleplayer!"
+msgstr "Rozpoczyna pojedynczy gracz!"
+
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:4
+msgid "Winner"
+msgstr "Zwycięzca"
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:5
+msgid "Team Selection"
+msgstr "Wybór drużyny "
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:42
+msgid "join 'best' team (auto-select)"
+msgstr "dołącz do 'najlepszego' zespołu (automatyczny-wybór) "
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:46
+msgid "red"
+msgstr "czerwony"
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:47
+msgid "blue"
+msgstr "niebieski"
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:48
+msgid "yellow"
+msgstr "żółty"
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:49
+msgid "pink"
+msgstr "różowy"
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:52
+msgid "spectate"
+msgstr ""
+
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
+msgid "Do not press this button again!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:280
+msgid ""
+"Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:288
+#, c-format
+msgid "%s's Xonotic Server"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:293
+msgid ""
+"Huh? Can't play this (invalid game type). Refiltering so this won't happen "
+"again.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128
+msgid "spectator"
+msgstr ""
+
+#: qcsrc/menu/xonotic/playermodel.c:177
+msgid "<no model found>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:923
+msgid "Ping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:924
+msgid "Host name"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:925
+msgid "Map"
+msgstr "Mapa"
+
+#: qcsrc/menu/xonotic/serverlist.c:926
+msgid "Type"
+msgstr "Typ"
+
+#: qcsrc/menu/xonotic/serverlist.c:927
+msgid "Players"
+msgstr "Gracze"
+
+#: qcsrc/menu/xonotic/skinlist.c:105
+msgid "<TITLE>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/skinlist.c:106
+msgid "<AUTHOR>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:77
+msgid "VOL^MAX"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:79
+msgid "VOL^OFF"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:81
+#, c-format
+msgid "%d %%"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:83
+#, c-format
+msgid "%.1f"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:85
+#, c-format
+msgid "%.2f %%"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:87
+#, c-format
+msgid "%s dB"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_resolution.c:116
+#, c-format
+msgid "%dx%d (%d:%d)"
+msgstr "%dx%d (%d:%d)"
+
+#: qcsrc/menu/xonotic/slider_resolution.c:119
+#, c-format
+msgid "%dx%d"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:308
+#, c-format
+msgid "error receiving update notification: status is %d\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:313
+msgid "error: received HTML instead of an update notification\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:318
+msgid "error: received carriage returns from update notification server\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:397
+#, c-format
+msgid ""
+"Update can be downloaded at:\n"
+"%s\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:497
+msgid "Autogenerating mapinfo for newly added maps..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:526
+#, c-format
+msgid "^1%s TEST BUILD"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:541
+#, c-format
+msgid "Update to %s now!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:626
+msgid ""
+"^1ERROR: Texture compression is required but not supported.\n"
+"^1Expect visual problems.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:746
+msgid "Use default"
+msgstr "Użyj domyślnego"
+
+#: qcsrc/menu/xonotic/util.qc:766
+msgid "Team Color:"
+msgstr "Kolor drużyny:"
+
+#: qcsrc/menu/xonotic/util.qh:43
+msgid "Enable panel"
+msgstr "Włącz panel"
+
+#: qcsrc/menu/xonotic/weaponslist.c:102
+#, c-format
+msgid "%s (mutator weapon)"
+msgstr ""
+
+#: qcsrc/server/w_hlac.qc:11
+msgid "Heavy Laser Assault Cannon"
+msgstr ""
+
+#: qcsrc/server/w_hook.qc:11
+msgid "Grappling Hook"
+msgstr ""
+
+#: qcsrc/server/w_minstanex.qc:11
+msgid "MinstaNex"
+msgstr ""
+
+#: qcsrc/server/w_seeker.qc:11
+msgid "T.A.G. Seeker"
+msgstr ""
+
+#: qcsrc/server/w_tuba.qc:12
+#, no-c-format
+msgid "@!#%'n Tuba"
+msgstr ""
index 97bdc92b743fe78d7d9a3430448a151662fcba04..e2c6d70ac4698c5077bc449eb194bb7b9a0b0279 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-03 11:55+0200\n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -32,12 +32,7 @@ msgstr ""
 msgid "^4CSQC Build information: ^1%s\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
-#, c-format
-msgid "trying to switch to unsupported team %d\n"
-msgstr ""
-
-#: qcsrc/client/Main.qc:835
+#: qcsrc/client/Main.qc:836
 #, c-format
 msgid ""
 "Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
@@ -55,7 +50,7 @@ msgstr ""
 msgid "%s (%s)"
 msgstr ""
 
-#: qcsrc/client/View.qc:1096
+#: qcsrc/client/View.qc:1165
 msgid "Revival progress"
 msgstr ""
 
@@ -87,213 +82,209 @@ msgstr ""
 msgid "%s (%s %s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:829
+#: qcsrc/client/hud.qc:832
 msgid "Out of ammo"
 msgstr ""
 
-#: qcsrc/client/hud.qc:833
+#: qcsrc/client/hud.qc:836
 msgid "Don't have"
 msgstr ""
 
-#: qcsrc/client/hud.qc:837
+#: qcsrc/client/hud.qc:840
 msgid "Unavailable"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
 #, c-format
 msgid "Player %d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2384
+#: qcsrc/client/hud.qc:2369
 msgid "^1Intermediate 1 (+15.42)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
 #, c-format
 msgid "^1PENALTY: %.1f (%s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2471
+#: qcsrc/client/hud.qc:2456
 #, c-format
 msgid "^2PENALTY: %.1f (%s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2501
+#: qcsrc/client/hud.qc:2486
 msgid "^1You must answer before entering hud configure mode\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2506
+#: qcsrc/client/hud.qc:2491
 msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2586
+#: qcsrc/client/hud.qc:2570
 msgid "A vote has been called for:"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2588
+#: qcsrc/client/hud.qc:2572
 msgid "Allow servers to store and display your name?"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2592
+#: qcsrc/client/hud.qc:2576
 msgid "^1Configure the HUD"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2596
+#: qcsrc/client/hud.qc:2580
 #, c-format
 msgid "Yes (%s): %d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2598
+#: qcsrc/client/hud.qc:2582
 #, c-format
 msgid "No (%s): %d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3169 qcsrc/client/hud.qc:3172 qcsrc/client/hud.qc:3174
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
 msgid "Personal best"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
 msgid "Server best"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3552
+#: qcsrc/client/hud.qc:3528
 msgid "^3Player^7: This is the chat area."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3618
+#: qcsrc/client/hud.qc:3593
 #, c-format
 msgid "FPS: %.*f"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3683
+#: qcsrc/client/hud.qc:3657
 msgid "^1Observing"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
 #, c-format
 msgid "^1Spectating: ^7%s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3693
+#: qcsrc/client/hud.qc:3667
 #, c-format
 msgid "^1Press ^3%s^1 to spectate"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3695
+#: qcsrc/client/hud.qc:3669
 #, c-format
 msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3699
+#: qcsrc/client/hud.qc:3673
 #, c-format
 msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3701
+#: qcsrc/client/hud.qc:3675
 #, c-format
 msgid "^1Press ^3%s^1 to observe"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3704
+#: qcsrc/client/hud.qc:3678
 #, c-format
 msgid "^1Press ^3%s^1 for gamemode info"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3708
-msgid "^1Wait for your turn to join"
-msgstr ""
-
-#: qcsrc/client/hud.qc:3714
+#: qcsrc/client/hud.qc:3686
 msgid "^1Match has already begun"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3688
 msgid "^1You have no more lives left"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
 #, c-format
 msgid "^1Press ^3%s^1 to join"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3701
 #, c-format
 msgid "^1Game starts in ^3%d^1 seconds"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3708
 msgid "^2Currently in ^1warmup^2 stage!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3723
 #, c-format
 msgid "%sPress ^3%s%s to end warmup"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3725
 #, c-format
 msgid "%sPress ^3%s%s once you are ready"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3758
+#: qcsrc/client/hud.qc:3730
 msgid "^2Waiting for others to ready up to end warmup..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3732
 msgid "^2Waiting for others to ready up..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3738
 #, c-format
 msgid "^2Press ^3%s^2 to end warmup"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3759
 msgid "Teamnumbers are unbalanced!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3764
 #, c-format
 msgid " Press ^3%s%s to adjust"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3772
 msgid "^7Press ^3ESC ^7to show HUD options."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3774
 msgid "^3Doubleclick ^7a panel for panel-specific options."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3776
 msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3778
 msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3825
 msgid " qu/s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3829
 msgid " m/s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3833
 msgid " km/h"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3837
 msgid " mph"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3841
 msgid " knots"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4497
 msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
 msgstr ""
 
@@ -342,16 +333,16 @@ msgstr ""
 msgid "Requesting preview...\n"
 msgstr ""
 
-#: qcsrc/client/miscfunctions.qc:98
+#: qcsrc/client/miscfunctions.qc:101
 msgid "Trying to remove a team which is not in the teamlist!"
 msgstr ""
 
-#: qcsrc/client/movetypes.qc:163
+#: qcsrc/client/movetypes.qc:227
 #, c-format
 msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
 
-#: qcsrc/client/movetypes.qc:166
+#: qcsrc/client/movetypes.qc:230
 #, c-format
 msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
@@ -492,164 +483,164 @@ msgstr ""
 msgid "SCO^ticks"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:251
+#: qcsrc/client/scoreboard.qc:237
 msgid ""
 "You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:252
+#: qcsrc/client/scoreboard.qc:238
 msgid "^3|---------------------------------------------------------------|\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:253
+#: qcsrc/client/scoreboard.qc:239
 msgid "Usage:\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:254
+#: qcsrc/client/scoreboard.qc:240
 msgid "^2scoreboard_columns_set default\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:255
+#: qcsrc/client/scoreboard.qc:241
 msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:256
+#: qcsrc/client/scoreboard.qc:242
 msgid "The following field names are recognized (case insensitive):\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:257
+#: qcsrc/client/scoreboard.qc:243
 msgid ""
 "You can use a ^3|^7 to start the right-aligned fields.\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:259
+#: qcsrc/client/scoreboard.qc:245
 msgid "^3name^7 or ^3nick^7             Name of a player\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:260
+#: qcsrc/client/scoreboard.qc:246
 msgid "^3ping^7                     Ping time\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:261
+#: qcsrc/client/scoreboard.qc:247
 msgid "^3pl^7                       Packet loss\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:262
+#: qcsrc/client/scoreboard.qc:248
 msgid "^3kills^7                    Number of kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:263
+#: qcsrc/client/scoreboard.qc:249
 msgid "^3deaths^7                   Number of deaths\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:264
+#: qcsrc/client/scoreboard.qc:250
 msgid "^3suicides^7                 Number of suicides\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:265
+#: qcsrc/client/scoreboard.qc:251
 msgid "^3frags^7                    kills - suicides\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:266
+#: qcsrc/client/scoreboard.qc:252
 msgid "^3kd^7                       The kill-death ratio\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:267
+#: qcsrc/client/scoreboard.qc:253
 msgid "^3sum^7                      frags - deaths\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:268
+#: qcsrc/client/scoreboard.qc:254
 msgid ""
 "^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
 "captured\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:269
+#: qcsrc/client/scoreboard.qc:255
 msgid ""
 "^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
 "ball (Keepaway) was picked up\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:270
+#: qcsrc/client/scoreboard.qc:256
 msgid "^3captime^7                  Time of fastest cap (CTF)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:271
+#: qcsrc/client/scoreboard.qc:257
 msgid "^3fckills^7                  Number of flag carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:272
+#: qcsrc/client/scoreboard.qc:258
 msgid "^3returns^7                  Number of flag returns\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:273
+#: qcsrc/client/scoreboard.qc:259
 msgid "^3drops^7                    Number of flag drops\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:274
+#: qcsrc/client/scoreboard.qc:260
 msgid "^3lives^7                    Number of lives (LMS)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:275
+#: qcsrc/client/scoreboard.qc:261
 msgid "^3rank^7                     Player rank\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:276
+#: qcsrc/client/scoreboard.qc:262
 msgid "^3pushes^7                   Number of players pushed into void\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:277
+#: qcsrc/client/scoreboard.qc:263
 msgid ""
 "^3destroyed^7                Number of keys destroyed by pushing them into "
 "void\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:278
+#: qcsrc/client/scoreboard.qc:264
 msgid "^3kckills^7                  Number of keys carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:279
+#: qcsrc/client/scoreboard.qc:265
 msgid "^3losses^7                   Number of times a key was lost\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:280
+#: qcsrc/client/scoreboard.qc:266
 msgid "^3laps^7                     Number of laps finished (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:281
+#: qcsrc/client/scoreboard.qc:267
 msgid "^3time^7                     Total time raced (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:282
+#: qcsrc/client/scoreboard.qc:268
 msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:283
+#: qcsrc/client/scoreboard.qc:269
 msgid "^3ticks^7                    Number of ticks (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:284
+#: qcsrc/client/scoreboard.qc:270
 msgid "^3takes^7                    Number of domination points taken (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:285
+#: qcsrc/client/scoreboard.qc:271
 msgid "^3bckills^7                  Number of ball carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:286
+#: qcsrc/client/scoreboard.qc:272
 msgid ""
 "^3bctime^7                   Total amount of time holding the ball in "
 "Keepaway\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:287
+#: qcsrc/client/scoreboard.qc:273
 msgid ""
 "^3score^7                    Total score\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:289
+#: qcsrc/client/scoreboard.qc:275
 msgid ""
 "Before a field you can put a + or - sign, then a comma separated list\n"
 "of game types, then a slash, to make the field show up only in these\n"
@@ -658,30 +649,30 @@ msgid ""
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:294
+#: qcsrc/client/scoreboard.qc:280
 msgid ""
 "The special game type names 'teams' and 'noteams' can be used to\n"
 "include/exclude ALL teams/noteams game modes.\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:297
+#: qcsrc/client/scoreboard.qc:283
 msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:298
+#: qcsrc/client/scoreboard.qc:284
 msgid ""
 "will display name, ping and pl aligned to the left, and the fields\n"
 "right of the vertical bar aligned to the right.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:300
+#: qcsrc/client/scoreboard.qc:286
 msgid ""
 "'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
 "other gamemodes except DM.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:534 qcsrc/client/scoreboard.qc:541
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
@@ -689,91 +680,95 @@ msgstr ""
 msgid "N/A"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:984
+#: qcsrc/client/scoreboard.qc:970
 #, c-format
 msgid "Accuracy stats (average %d%%)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1047
+#: qcsrc/client/scoreboard.qc:1033
 #, c-format
 msgid "%d%%"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1099
 msgid "Map stats:"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1124
 msgid "Secrets found:"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1152
 msgid "Rankings"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1248
 msgid "Scoreboard"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1307
 #, c-format
 msgid "Speed award: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1311
 #, c-format
 msgid "All-time fastest: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1345
 msgid "Spectators"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1352
 #, c-format
-msgid "playing on ^2%s^7"
+msgid "playing ^3%s^7 on ^2%s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
 #, c-format
 msgid " for up to ^1%1.0f minutes^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1364 qcsrc/client/scoreboard.qc:1383
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
 msgid " or"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
 #, c-format
 msgid " until ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1375
-#: qcsrc/client/scoreboard.qc:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
 msgid "SCO^points"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1369 qcsrc/client/scoreboard.qc:1376
-#: qcsrc/client/scoreboard.qc:1388 qcsrc/client/scoreboard.qc:1395
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
 msgid "SCO^is beaten"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
 #, c-format
 msgid " until a lead of ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1419
 #, c-format
 msgid "^1Respawning in ^3%s^1..."
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1429
 #, c-format
 msgid "You are dead, wait ^3%s^7 before respawning"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1438
 #, c-format
 msgid "You are dead, press ^2%s^7 to respawn"
 msgstr ""
@@ -783,7 +778,7 @@ msgstr ""
 msgid "Cannot initialize sound %s\n"
 msgstr ""
 
-#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:591
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
 msgid "Spam"
 msgstr ""
 
@@ -800,209 +795,213 @@ msgstr ""
 msgid "No left gunner!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:254
+#: qcsrc/client/waypointsprites.qc:246
 msgid "Push"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:255
+#: qcsrc/client/waypointsprites.qc:247
 msgid "Destroy"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:256
+#: qcsrc/client/waypointsprites.qc:248
 msgid "Defend"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:257
+#: qcsrc/client/waypointsprites.qc:249
 msgid "Blue base"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:258
+#: qcsrc/client/waypointsprites.qc:250
 msgid "DANGER"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:251
 msgid "Enemy carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:260
+#: qcsrc/client/waypointsprites.qc:252
 msgid "Flag carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:253
 msgid "Dropped flag"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:262
+#: qcsrc/client/waypointsprites.qc:254
 msgid "Help me!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:263
+#: qcsrc/client/waypointsprites.qc:255
 msgid "Here"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:264
+#: qcsrc/client/waypointsprites.qc:256
 msgid "Dropped key"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:267
-#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
-#: qcsrc/client/waypointsprites.qc:270
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
 msgid "Key carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:258
 msgid "Run here"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:263
 msgid "Red base"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:272
+#: qcsrc/client/waypointsprites.qc:264
 msgid "Waypoint"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
-#: qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
 msgid "Generator"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:276 qcsrc/client/waypointsprites.qc:277
-#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
-#: qcsrc/client/waypointsprites.qc:280 qcsrc/client/waypointsprites.qc:281
-#: qcsrc/client/waypointsprites.qc:282 qcsrc/client/waypointsprites.qc:283
-#: qcsrc/client/waypointsprites.qc:307 qcsrc/client/waypointsprites.qc:308
-#: qcsrc/client/waypointsprites.qc:309 qcsrc/client/waypointsprites.qc:310
-#: qcsrc/client/waypointsprites.qc:311
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
 msgid "Control point"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:284
+#: qcsrc/client/waypointsprites.qc:276
 msgid "Checkpoint"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
 msgid "Finish"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
 msgid "Start"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
 msgid "Ball"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:290
+#: qcsrc/client/waypointsprites.qc:283
 msgid "Ball carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
 msgid "Laser"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
 msgid "Shotgun"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
 msgid "Machine Gun"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
 msgid "Mortar"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
 msgid "Electro"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
 msgid "Crylink"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
 msgid "Nex"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
 msgid "Hagar"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
 msgid "Rocket Launcher"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
 msgid "Port-O-Launch"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:294
 msgid "Minstanex"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:302
+#: qcsrc/client/waypointsprites.qc:295
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
 msgid "Hook"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
 msgid "Fireball"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:304
+#: qcsrc/client/waypointsprites.qc:297
 msgid "HLAC"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
 msgid "Rifle"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
 msgid "Mine Layer"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:312
+#: qcsrc/client/waypointsprites.qc:305
 msgid "Invisibility"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:313
+#: qcsrc/client/waypointsprites.qc:306
 msgid "Extra life"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:314
+#: qcsrc/client/waypointsprites.qc:307
 msgid "Speed"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:315
+#: qcsrc/client/waypointsprites.qc:308
 msgid "Strength"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:316
+#: qcsrc/client/waypointsprites.qc:309
 msgid "Shield"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:317
+#: qcsrc/client/waypointsprites.qc:310
 msgid "Fuel regen"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:318
+#: qcsrc/client/waypointsprites.qc:311
 msgid "Jet Pack"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:319
+#: qcsrc/client/waypointsprites.qc:312
 msgid "Frozen!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:320
+#: qcsrc/client/waypointsprites.qc:313
 msgid "Tagged"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:321
+#: qcsrc/client/waypointsprites.qc:314
 msgid "Vehicle"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:595
+#: qcsrc/client/waypointsprites.qc:588
 #, c-format
 msgid "%s needing help!"
 msgstr ""
@@ -1224,12 +1223,12 @@ msgstr ""
 msgid "%dth"
 msgstr ""
 
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:717
 #, no-c-format
 msgid "@!#%'n Tuba Throwing"
 msgstr ""
 
-#: qcsrc/common/mapinfo.qc:1109 qcsrc/menu/xonotic/skinlist.c:166
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
 #, c-format
 msgid "%s: %s"
 msgstr ""
@@ -1243,55 +1242,80 @@ msgid "Last Man Standing"
 msgstr ""
 
 #: qcsrc/common/mapinfo.qh:42
-msgid "Arena"
+msgid "Race"
 msgstr ""
 
 #: qcsrc/common/mapinfo.qh:45
-msgid "Race"
+msgid "Race CTS"
 msgstr ""
 
 #: qcsrc/common/mapinfo.qh:48
-msgid "Race CTS"
+msgid "Team Deathmatch"
 msgstr ""
 
 #: qcsrc/common/mapinfo.qh:51
-msgid "Team Deathmatch"
+msgid "Capture the Flag"
 msgstr ""
 
 #: qcsrc/common/mapinfo.qh:54
-msgid "Capture the Flag"
+msgid "Clan Arena"
 msgstr ""
 
 #: qcsrc/common/mapinfo.qh:57
-msgid "Clan Arena"
+msgid "Domination"
 msgstr ""
 
 #: qcsrc/common/mapinfo.qh:60
-msgid "Domination"
+msgid "Key Hunt"
 msgstr ""
 
 #: qcsrc/common/mapinfo.qh:63
-msgid "Key Hunt"
+msgid "Assault"
 msgstr ""
 
 #: qcsrc/common/mapinfo.qh:66
-msgid "Assault"
+msgid "Onslaught"
 msgstr ""
 
 #: qcsrc/common/mapinfo.qh:69
-msgid "Onslaught"
+msgid "Nexball"
 msgstr ""
 
 #: qcsrc/common/mapinfo.qh:72
-msgid "Nexball"
+msgid "Freeze Tag"
 msgstr ""
 
 #: qcsrc/common/mapinfo.qh:75
-msgid "Freeze Tag"
+msgid "Keepaway"
 msgstr ""
 
 #: qcsrc/common/mapinfo.qh:78
-msgid "Keepaway"
+msgid "Invasion"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
 msgstr ""
 
 #: qcsrc/common/net_notice.qc:89
@@ -1304,1772 +1328,1842 @@ msgid "^7%s (^3%d sec left)"
 msgstr ""
 
 #: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:343
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:343
+#: qcsrc/common/notifications.qh:344
 #, c-format
 msgid ""
 "^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"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:344
+#: qcsrc/common/notifications.qh:345
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:345
+#: qcsrc/common/notifications.qh:346
 #, c-format
 msgid ""
 "^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"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:346
+#: qcsrc/common/notifications.qh:347
 msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:347
+#: qcsrc/common/notifications.qh:348
 msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:348
+#: qcsrc/common/notifications.qh:349
 msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:349
+#: qcsrc/common/notifications.qh:350
 msgid ""
 "^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
 "base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:350
+#: qcsrc/common/notifications.qh:351
 #, c-format
 msgid ""
 "^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
 "itself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:351
+#: qcsrc/common/notifications.qh:352
 msgid "^BGThe ^TC^TT^BG flag has returned to the base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:352
+#: qcsrc/common/notifications.qh:353
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:353
+#: qcsrc/common/notifications.qh:354
 #, c-format
 msgid "^BG%s^BG got the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:354
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
 #, c-format
 msgid "^BG%s^BG returned the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:355
+#: qcsrc/common/notifications.qh:357
 #, c-format
 msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:356
+#: qcsrc/common/notifications.qh:358
 #, c-format
 msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:357
+#: qcsrc/common/notifications.qh:359
 #, c-format
 msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:359
+#: qcsrc/common/notifications.qh:361
 #, c-format
 msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:360
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:363
 #, c-format
 msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:361
+#: qcsrc/common/notifications.qh:364
 #, c-format
 msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:362
+#: qcsrc/common/notifications.qh:365
 #, c-format
 msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:363
+#: qcsrc/common/notifications.qh:366
 #, c-format
 msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:365
+#: qcsrc/common/notifications.qh:368
 #, c-format
 msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:366
+#: qcsrc/common/notifications.qh:369
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:367
+#: qcsrc/common/notifications.qh:370
 #, c-format
 msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:368
+#: qcsrc/common/notifications.qh:371
 #, c-format
 msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:369
+#: qcsrc/common/notifications.qh:372
 #, c-format
 msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:370
+#: qcsrc/common/notifications.qh:373
 #, c-format
 msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:371
+#: qcsrc/common/notifications.qh:374
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:372
+#: qcsrc/common/notifications.qh:375
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:373
+#: qcsrc/common/notifications.qh:376
 #, c-format
 msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:374
+#: qcsrc/common/notifications.qh:377
 #, c-format
 msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:375
+#: qcsrc/common/notifications.qh:378
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:376
+#: qcsrc/common/notifications.qh:379
 #, c-format
 msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:377
+#: qcsrc/common/notifications.qh:380
 #, c-format
 msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:378
+#: qcsrc/common/notifications.qh:381
 #, c-format
 msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:379
+#: qcsrc/common/notifications.qh:382
 #, c-format
 msgid "^BG%s^K1 was moved into the %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:380
+#: qcsrc/common/notifications.qh:383
 #, c-format
 msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:381
+#: qcsrc/common/notifications.qh:384
 #, c-format
 msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:382
+#: qcsrc/common/notifications.qh:385
 #, c-format
 msgid "^BG%s^K1 unfairly eliminated themself%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:383
+#: qcsrc/common/notifications.qh:386
 #, c-format
 msgid "^BG%s^K1 %s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 couldn't catch their breath%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 was in the water for too long%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a crunch%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 became a bit too crispy%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 felt a little hot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:387
+#: qcsrc/common/notifications.qh:390
 #, c-format
 msgid "^BG%s^K1 died%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 found a hot place%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 turned into hot slag%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:389
+#: qcsrc/common/notifications.qh:392
 #, c-format
 msgid "^BG%s^K1 mastered the art of self-nading%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:393
 #, c-format
-msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:394
 #, c-format
-msgid "^BG%s^K1 ran out of ammo%s%s"
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:391
+#: qcsrc/common/notifications.qh:395
 #, c-format
-msgid "^BG%s^K1 rotted away%s%s"
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:392
+#: qcsrc/common/notifications.qh:396
 #, c-format
-msgid "^BG%s^K1 became a shooting star%s%s"
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:393
+#: qcsrc/common/notifications.qh:397
 #, c-format
-msgid "^BG%s^K1 was slimed%s%s"
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:394
+#: qcsrc/common/notifications.qh:398
+#, c-format
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 ran out of ammo%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:402
+#, c-format
+msgid "^BG%s^K1 rotted away%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:403
+#, c-format
+msgid "^BG%s^K1 became a shooting star%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:404
+#, c-format
+msgid "^BG%s^K1 was slimed%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:405
 #, c-format
 msgid "^BG%s^K1 couldn't take it anymore%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:395
+#: qcsrc/common/notifications.qh:406
 #, c-format
 msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:396
+#: qcsrc/common/notifications.qh:407
 #, c-format
 msgid "^BG%s^K1 switched to the %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:397
+#: qcsrc/common/notifications.qh:408
 #, c-format
 msgid "^BG%s^K1 died in an accident%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:398
+#: qcsrc/common/notifications.qh:409
 #, c-format
 msgid "^BG%s^K1 ran into a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:399
+#: qcsrc/common/notifications.qh:410
 #, c-format
 msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:400
+#: qcsrc/common/notifications.qh:411
 #, c-format
 msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:401
+#: qcsrc/common/notifications.qh:412
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:402
+#: qcsrc/common/notifications.qh:413
 #, c-format
 msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:403
+#: qcsrc/common/notifications.qh:414
 #, c-format
 msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:404
+#: qcsrc/common/notifications.qh:415
 #, c-format
 msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:405
+#: qcsrc/common/notifications.qh:416
 #, c-format
 msgid "^BG%s^K1 was phased out by a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:406
+#: qcsrc/common/notifications.qh:417
 #, c-format
 msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:407
+#: qcsrc/common/notifications.qh:418
 #, c-format
 msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:408
+#: qcsrc/common/notifications.qh:419
 #, c-format
 msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:409
+#: qcsrc/common/notifications.qh:420
 #, c-format
 msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:410
+#: qcsrc/common/notifications.qh:421
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:411
+#: qcsrc/common/notifications.qh:422
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:412
+#: qcsrc/common/notifications.qh:423
 #, c-format
 msgid "^BG%s^K1 was crushed by a vehicle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:413
+#: qcsrc/common/notifications.qh:424
 #, c-format
 msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:414
+#: qcsrc/common/notifications.qh:425
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:415
+#: qcsrc/common/notifications.qh:426
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:416
+#: qcsrc/common/notifications.qh:427
 #, c-format
 msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:417
+#: qcsrc/common/notifications.qh:428
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:418
+#: qcsrc/common/notifications.qh:429
 #, c-format
 msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:419
+#: qcsrc/common/notifications.qh:430
 #, c-format
 msgid "^BG%s^K1 was in the wrong place%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:420
+#: qcsrc/common/notifications.qh:431
 #, c-format
 msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:421
+#: qcsrc/common/notifications.qh:432
 #, c-format
 msgid "^BG%s^K1 was frozen by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:422
+#: qcsrc/common/notifications.qh:433
 #, c-format
 msgid "^BG%s^K3 was revived by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:423
+#: qcsrc/common/notifications.qh:434
 #, c-format
 msgid "^BG%s^K3 was revived by falling"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:424
+#: qcsrc/common/notifications.qh:435
 #, c-format
 msgid "^BG%s^K3 was automatically revived after %s second(s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:425 qcsrc/common/notifications.qh:612
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
 msgid "^TC^TT^BG team wins the round"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:426 qcsrc/common/notifications.qh:613
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
 #, c-format
 msgid "^BG%s^BG wins the round"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:427 qcsrc/common/notifications.qh:542
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
 msgid "^BGRound tied"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:428 qcsrc/common/notifications.qh:543
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
 msgid "^BGRound over, there's no winner"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:429
+#: qcsrc/common/notifications.qh:440
 #, c-format
 msgid "^BG%s^K1 froze themself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:430
+#: qcsrc/common/notifications.qh:441
 #, c-format
 msgid "^BGGodmode saved you %s units of damage, cheater!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:431 qcsrc/common/notifications.qh:616
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
 #, c-format
 msgid "^BGYou do not have the ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:432 qcsrc/common/notifications.qh:617
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
 #, c-format
 msgid "^BGYou dropped the ^F1%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:433 qcsrc/common/notifications.qh:618
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
 #, c-format
 msgid "^BGYou got the ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:434 qcsrc/common/notifications.qh:619
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
 #, c-format
 msgid "^BGYou don't have enough ammo for the ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:435 qcsrc/common/notifications.qh:620
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
 #, c-format
 msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:621
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
 #, c-format
 msgid "^F1%s^BG is ^F4not available^BG on this map"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:437
+#: qcsrc/common/notifications.qh:448
 #, c-format
 msgid "^BG%s^F3 connected%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:438
+#: qcsrc/common/notifications.qh:449
 #, c-format
 msgid "^BG%s^F3 connected and joined the ^TC^TT team"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:439
+#: qcsrc/common/notifications.qh:450
 #, c-format
 msgid "^BG%s^F3 is now playing"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:440 qcsrc/common/notifications.qh:624
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
 #, c-format
 msgid "^BG%s^BG has dropped the ball!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:441 qcsrc/common/notifications.qh:625
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
 #, c-format
 msgid "^BG%s^BG has picked up the ball!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:442
+#: qcsrc/common/notifications.qh:453
 #, c-format
 msgid "^BG%s^BG captured the keys for the ^TC^TT team"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:443
+#: qcsrc/common/notifications.qh:454
 #, c-format
 msgid "^BG%s^BG dropped the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:444
+#: qcsrc/common/notifications.qh:455
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:445
+#: qcsrc/common/notifications.qh:456
 #, c-format
 msgid "^BG%s^BG picked up the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:446
+#: qcsrc/common/notifications.qh:457
 #, c-format
 msgid "^BG%s^F3 forfeited"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:447
+#: qcsrc/common/notifications.qh:458
 #, c-format
 msgid "^BG%s^F3 has no more lives left"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:448
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:460
 #, c-format
 msgid "^BG%s^K1 picked up Invisibility"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:449
+#: qcsrc/common/notifications.qh:461
 #, c-format
 msgid "^BG%s^K1 picked up Shield"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:450
+#: qcsrc/common/notifications.qh:462
 #, c-format
 msgid "^BG%s^K1 picked up Speed"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:451
+#: qcsrc/common/notifications.qh:463
 #, c-format
 msgid "^BG%s^K1 picked up Strength"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:452
+#: qcsrc/common/notifications.qh:464
 #, c-format
 msgid "^BG%s^F3 disconnected"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:453
+#: qcsrc/common/notifications.qh:465
 #, c-format
 msgid "^BG%s^F3 was kicked for idling"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:454
+#: qcsrc/common/notifications.qh:466
 msgid ""
 "^F2You were kicked from the server because you are a spectator and "
 "spectators aren't allowed at the moment."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:455
+#: qcsrc/common/notifications.qh:467
 #, c-format
 msgid "^BG%s^F3 is now spectating"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:456
+#: qcsrc/common/notifications.qh:468
 #, c-format
 msgid "^BG%s^BG has abandoned the race"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:457
+#: qcsrc/common/notifications.qh:469
 #, c-format
 msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:458
+#: qcsrc/common/notifications.qh:470
 #, c-format
 msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:459
+#: qcsrc/common/notifications.qh:471
 #, c-format
 msgid "^BG%s^BG has finished the race"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:460
+#: qcsrc/common/notifications.qh:472
 #, c-format
 msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:461
+#: qcsrc/common/notifications.qh:473
 #, c-format
 msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:462
+#: qcsrc/common/notifications.qh:474
 #, c-format
 msgid ""
 "^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
 "and will be lost."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:463
+#: qcsrc/common/notifications.qh:475
 #, c-format
 msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:464
+#: qcsrc/common/notifications.qh:476
 msgid "^TC^TT ^BGteam scores!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:465
+#: qcsrc/common/notifications.qh:477
 #, c-format
 msgid ""
 "^F2You have to become a player within the next %s, otherwise you will be "
 "kicked, because spectating isn't allowed at this time!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:466
+#: qcsrc/common/notifications.qh:478
 #, c-format
 msgid "^BG%s^K1 picked up a Superweapon"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:467
+#: qcsrc/common/notifications.qh:479
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
 "^F2Xonotic %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:468
+#: qcsrc/common/notifications.qh:480
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:469
+#: qcsrc/common/notifications.qh:481
 #, c-format
 msgid ""
 "^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
 "the update from ^F3http://www.xonotic.org/^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:470
+#: qcsrc/common/notifications.qh:482
 #, c-format
 msgid "^F3SVQC Build information: ^F4%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:471
+#: qcsrc/common/notifications.qh:483
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:472
+#: qcsrc/common/notifications.qh:484
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:473
+#: qcsrc/common/notifications.qh:485
 #, c-format
 msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:474
+#: qcsrc/common/notifications.qh:486
 #, c-format
 msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:475
+#: qcsrc/common/notifications.qh:487
 #, c-format
 msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:476
+#: qcsrc/common/notifications.qh:488
 #, c-format
 msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:477
+#: qcsrc/common/notifications.qh:489
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:478
+#: qcsrc/common/notifications.qh:490
 #, c-format
 msgid "^BG%s^K1 played with Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:479
+#: qcsrc/common/notifications.qh:491
 #, c-format
 msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:480
+#: qcsrc/common/notifications.qh:492
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:481
+#: qcsrc/common/notifications.qh:493
 #, c-format
 msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:482
+#: qcsrc/common/notifications.qh:494
 #, c-format
 msgid "^BG%s^K1 should have used a smaller gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:483
+#: qcsrc/common/notifications.qh:495
 #, c-format
 msgid "^BG%s^K1 forgot about their firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:484
+#: qcsrc/common/notifications.qh:496
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:485
+#: qcsrc/common/notifications.qh:497
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:486
+#: qcsrc/common/notifications.qh:498
 #, c-format
 msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:487
+#: qcsrc/common/notifications.qh:499
 #, c-format
 msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:488
+#: qcsrc/common/notifications.qh:500
 #, c-format
 msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:489
+#: qcsrc/common/notifications.qh:501
 #, c-format
 msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:490
+#: qcsrc/common/notifications.qh:502
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:491
+#: qcsrc/common/notifications.qh:503
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:492
+#: qcsrc/common/notifications.qh:504
 #, c-format
 msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:493
+#: qcsrc/common/notifications.qh:505
 #, c-format
 msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:494
+#: qcsrc/common/notifications.qh:506
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:495
+#: qcsrc/common/notifications.qh:507
 #, c-format
 msgid "^BG%s^K1 forgot about their mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:496
+#: qcsrc/common/notifications.qh:508
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:497
+#: qcsrc/common/notifications.qh:509
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:498
+#: qcsrc/common/notifications.qh:510
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:499
+#: qcsrc/common/notifications.qh:511
 #, c-format
 msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:500
+#: qcsrc/common/notifications.qh:512
 #, c-format
 msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:501
+#: qcsrc/common/notifications.qh:513
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:502
+#: qcsrc/common/notifications.qh:514
 #, c-format
 msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:503
+#: qcsrc/common/notifications.qh:515
 #, c-format
 msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:504
+#: qcsrc/common/notifications.qh:516
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:505
+#: qcsrc/common/notifications.qh:517
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:506
+#: qcsrc/common/notifications.qh:518
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:507
+#: qcsrc/common/notifications.qh:519
 #, c-format
 msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:508
+#: qcsrc/common/notifications.qh:520
 #, c-format
 msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:509
+#: qcsrc/common/notifications.qh:521
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:510
+#: qcsrc/common/notifications.qh:522
 #, c-format
 msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:511
+#: qcsrc/common/notifications.qh:523
 #, c-format
 msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:512
+#: qcsrc/common/notifications.qh:524
 #, c-format
 msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:513
+#: qcsrc/common/notifications.qh:525
 #, c-format
 msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:514
+#: qcsrc/common/notifications.qh:526
 #, c-format
 msgid "^BG%s^K1 is now thinking with portals%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:515
+#: qcsrc/common/notifications.qh:527
 #, c-format
 msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:516
+#: qcsrc/common/notifications.qh:528
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:517
+#: qcsrc/common/notifications.qh:529
 #, c-format
 msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:518
+#: qcsrc/common/notifications.qh:530
 #, c-format
 msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:536
+#: qcsrc/common/notifications.qh:548
 msgid "^BGYou are attacking!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:537
+#: qcsrc/common/notifications.qh:549
 msgid "^BGYou are defending!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:538
+#: qcsrc/common/notifications.qh:550
 msgid "^F4Begin!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:539
+#: qcsrc/common/notifications.qh:551
 msgid "^F4Game starts in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:540
+#: qcsrc/common/notifications.qh:552
 msgid "^F4Round starts in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:541
+#: qcsrc/common/notifications.qh:553
 msgid "^F4Round cannot start"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:544
+#: qcsrc/common/notifications.qh:556
 msgid "^F2Don't camp!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:545
+#: qcsrc/common/notifications.qh:557
 msgid ""
 "^BGYou are now free.\n"
 "^BGFeel free to ^F2try to capture^BG the flag again\n"
 "^BGif you think you will succeed."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:546
+#: qcsrc/common/notifications.qh:558
 msgid ""
 "^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."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:547
+#: qcsrc/common/notifications.qh:559
 msgid "^BGYou captured the ^TC^TT^BG flag!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:548
+#: qcsrc/common/notifications.qh:560
 #, c-format
 msgid "^BGToo many flag throws! Throwing disabled for %s."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:549
+#: qcsrc/common/notifications.qh:561
 #, c-format
 msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:550
+#: qcsrc/common/notifications.qh:562
 #, c-format
 msgid "^BGYou received the ^TC^TT^BG flag from %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:551
+#: qcsrc/common/notifications.qh:563
 #, c-format
 msgid "^BG%s^BG requests you to pass the flag%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:552
+#: qcsrc/common/notifications.qh:564
 #, c-format
 msgid "^BGRequesting %s^BG to pass you the flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:553
+#: qcsrc/common/notifications.qh:565
 #, c-format
 msgid "^BGYou passed the ^TC^TT^BG flag to %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:554
+#: qcsrc/common/notifications.qh:566
 msgid "^BGYou got the ^TC^TT^BG flag!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:555
+#: qcsrc/common/notifications.qh:567
 #, c-format
 msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:556
+#: qcsrc/common/notifications.qh:568
 #, c-format
 msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:557
+#: qcsrc/common/notifications.qh:569
 #, c-format
 msgid "^BGYour %steam mate^BG got the flag! Protect them!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:558
+#: qcsrc/common/notifications.qh:570
 #, c-format
 msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:559
+#: qcsrc/common/notifications.qh:571
 msgid "^BGYou returned the ^TC^TT^BG flag!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:560
+#: qcsrc/common/notifications.qh:572
 msgid "^BGStalemate! Enemies can now see you on radar!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:561
+#: qcsrc/common/notifications.qh:573
 msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou fragged ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou scored against ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou fragged ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou scored against ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:570
+#: qcsrc/common/notifications.qh:582
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:571
+#: qcsrc/common/notifications.qh:583
 #, c-format
 msgid ""
 "^BGYou have been moved into a different team\n"
 "You are now on: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't go against your team mates!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't shoot your team mates!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Die camper!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Reconsider your tactics, camper!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:574
+#: qcsrc/common/notifications.qh:586
 msgid "^K1You unfairly eliminated yourself!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:575
+#: qcsrc/common/notifications.qh:587
 #, c-format
 msgid "^K1You were %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:576
+#: qcsrc/common/notifications.qh:588
 msgid "^K1You couldn't catch your breath!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:577
+#: qcsrc/common/notifications.qh:589
 msgid "^K1You hit the ground with a crunch!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You felt a little too hot!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You got a little bit too crispy!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You killed your own dumb self!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You need to be more careful!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:580
+#: qcsrc/common/notifications.qh:592
 msgid "^K1You couldn't stand the heat!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
 msgid "^K1Tastes like chicken!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:594
 msgid "^K1You forgot to put the pin back in!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You are respawning for running out of ammo..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You were killed for running out of ammo..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You grew too old without taking your medicine"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You need to preserve your health"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:584
+#: qcsrc/common/notifications.qh:597
 msgid "^K1You became a shooting star!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:585
+#: qcsrc/common/notifications.qh:598
 msgid "^K1You melted away in slime!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You committed suicide!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You ended it all!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:587
+#: qcsrc/common/notifications.qh:600
 msgid "^K1You got stuck in a swamp!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:588
+#: qcsrc/common/notifications.qh:601
 #, c-format
 msgid "^BGYou are now on: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:589
+#: qcsrc/common/notifications.qh:602
 msgid "^K1You died in an accident!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You had an unfortunate run in with a turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You were fragged by a turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You had an unfortunate run in with an eWheel turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You were fragged by an eWheel turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You had an unfortunate run in with a Walker turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You were fragged by a Walker turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:593
+#: qcsrc/common/notifications.qh:606
 msgid "^K1You got caught in the blast of a Bumblebee explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:594
+#: qcsrc/common/notifications.qh:607
 msgid "^K1You were crushed by a vehicle!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:595
+#: qcsrc/common/notifications.qh:608
 msgid "^K1You were caught in a Raptor cluster bomb!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:596
+#: qcsrc/common/notifications.qh:609
 msgid "^K1You got caught in the blast of a Raptor explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:597
+#: qcsrc/common/notifications.qh:610
 msgid "^K1You got caught in the blast of a Spiderbot explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:598
+#: qcsrc/common/notifications.qh:611
 msgid "^K1You were blasted to bits by a Spiderbot rocket!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:599
+#: qcsrc/common/notifications.qh:612
 msgid "^K1You got caught in the blast of a Racer explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:600
+#: qcsrc/common/notifications.qh:613
 msgid "^K1You couldn't find shelter from a Racer rocket!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:601
+#: qcsrc/common/notifications.qh:614
 msgid "^K1Watch your step!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were fragged by ^BG%s^K1, a team mate"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were scored against by ^BG%s^K1, a team mate"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:604
+#: qcsrc/common/notifications.qh:617
 msgid ""
 "^K1Stop idling!\n"
 "^BGDisconnecting in ^COUNT..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:605
+#: qcsrc/common/notifications.qh:618
 msgid "^F2You picked up some extra lives"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:606
+#: qcsrc/common/notifications.qh:619
 #, c-format
 msgid "^K3You froze ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:607
+#: qcsrc/common/notifications.qh:620
 #, c-format
 msgid "^K1You were frozen by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:608
+#: qcsrc/common/notifications.qh:621
 #, c-format
 msgid "^K3You revived ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:609
+#: qcsrc/common/notifications.qh:622
 msgid "^K3You revived yourself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:610
+#: qcsrc/common/notifications.qh:623
 #, c-format
 msgid "^K3You were revived by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:611
+#: qcsrc/common/notifications.qh:624
 #, c-format
 msgid "^K3You were automatically revived after %s second(s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:614
+#: qcsrc/common/notifications.qh:627
 msgid "^K1You froze yourself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:615
+#: qcsrc/common/notifications.qh:628
 msgid "^K1Round already started, you spawn as frozen"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:622
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:636
 msgid ""
 "^K1No spawnpoints available!\n"
 "Hope your team can fix it..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:623
+#: qcsrc/common/notifications.qh:637
 msgid ""
 "^K1You may not join the game at this time.\n"
 "The player limit reached maximum capacity."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:626
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
 msgid "^BGKilling people while you don't have the ball gives no points!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:642
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Help the key carriers to meet!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:628
+#: qcsrc/common/notifications.qh:643
 msgid ""
 "^BGAll keys are in ^TC^TT team^BG's hands!\n"
 "Interfere ^F4NOW^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:629
+#: qcsrc/common/notifications.qh:644
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Meet the other key carriers ^F4NOW^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:630
+#: qcsrc/common/notifications.qh:645
 msgid "^F4Round will start in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:646
 msgid "^BGScanning frequency range..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:647
 msgid "^BGYou are starting with the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
 #, c-format
 msgid ""
 "^BGWaiting for players to join...\n"
 "Need active players for: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:650
 #, c-format
 msgid "^BGWaiting for %s player(s) to join..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:651
 msgid "^F4^COUNT^BG left to find some ammo!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:653
 #, c-format
 msgid "^F2Extra lives remaining: ^K1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:654
 msgid "^BGSecondary fire inflicts no damage!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:655
 #, c-format
 msgid "^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:656
 #, c-format
 msgid ""
 "^F2^COUNT^BG until weapon change...\n"
 "Next weapon: ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:657
 #, c-format
 msgid "^F2Active weapon: ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:658
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep fragging until we have a winner!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep scoring until we have a winner!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:660
 #, c-format
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "^BGAdded ^F4%s^BG to the game!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:646
+#: qcsrc/common/notifications.qh:661
 msgid "^F2Invisibility has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:662
 msgid "^F2Shield has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:663
 msgid "^F2Speed has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:664
 msgid "^F2Strength has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:665
 msgid "^F2You are invisible"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:666
 msgid "^F2Shield surrounds you"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:667
 msgid "^F2You are on speed"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:668
 msgid "^F2Strength infuses your weapons with devastating power"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:669
 msgid "^F2The race is over, finish your lap!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:670
 msgid "^F2Superweapons have broken down"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:671
 msgid "^F2Superweapons have been lost"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:672
 msgid "^F2You now have a superweapon"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:673
 msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:674
 msgid "^K1Changing team in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:675
 msgid "^K1Spectating in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:676
 msgid "^K1Suicide in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:677
 msgid "^F4Timeout begins in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:678
 msgid "^F4Timeout ends in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
 #, c-format
 msgid " (near %s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "primary"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "secondary"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:980
 #, c-format
 msgid " ^F1(Press %s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:989
 #, c-format
 msgid " with %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 msgid "TRIPLE FRAG! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 unlocked RAGE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 msgid "RAGE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 started a MASSACRE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 msgid "MASSACRE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 executed MAYHEM! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 msgid "MAYHEM! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 is a BERSERKER! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 msgid "BERSERKER! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 inflicts CARNAGE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 msgid "CARNAGE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 msgid "ARMAGEDDON! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1010
 #, c-format
 msgid "%s(^F1Bot^BG)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1012
 #, c-format
 msgid "%s(Ping ^F1%d^BG)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1018
 #, c-format
 msgid ""
 "\n"
 "(Health ^1%d^BG / Armor ^2%d^BG)%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1020
 #, c-format
 msgid ""
 "\n"
 "(^F4Dead^BG)%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
 #, c-format
 msgid "%d score spree! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1069
 #, c-format
 msgid "%d frag spree! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First blood! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First score! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First casualty! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First victim! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1127
 #, c-format
 msgid "%s^K1 has %d frags in a row! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1128
 #, c-format
 msgid "%s^K1 made %d scores in a row! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1146
 #, c-format
 msgid "%s^K1 drew first blood! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1147
 #, c-format
 msgid "%s^K1 got the first score! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1163
 #, c-format
 msgid ", ending their %d frag spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1164
 #, c-format
 msgid ", ending their %d score spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1178
 #, c-format
 msgid ", losing their %d frag spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1179
 #, c-format
 msgid ", losing their %d score spree"
 msgstr ""
@@ -3110,11 +3204,11 @@ msgstr ""
 msgid "  directmenu ITEM - select a menu item as main item\n"
 msgstr ""
 
-#: qcsrc/menu/command/menu_cmd.qc:62
+#: qcsrc/menu/command/menu_cmd.qc:68
 msgid "Available options:\n"
 msgstr ""
 
-#: qcsrc/menu/command/menu_cmd.qc:113
+#: qcsrc/menu/command/menu_cmd.qc:119
 msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
 msgstr ""
 
@@ -3123,7 +3217,7 @@ msgstr ""
 msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
 msgstr ""
 
-#: qcsrc/menu/item/listbox.c:302
+#: qcsrc/menu/item/listbox.c:382
 #, c-format
 msgid "Item %d"
 msgstr ""
@@ -3152,23 +3246,27 @@ msgstr ""
 msgid "Level %d: %s"
 msgstr ""
 
-#: qcsrc/menu/xonotic/cvarlist.c:85
-msgid "will be saved to config.cfg"
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
 msgstr ""
 
-#: qcsrc/menu/xonotic/cvarlist.c:87
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
 msgid "will not be saved"
 msgstr ""
 
-#: qcsrc/menu/xonotic/cvarlist.c:89
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
 msgid "private"
 msgstr ""
 
-#: qcsrc/menu/xonotic/cvarlist.c:91
+#: qcsrc/menu/xonotic/cvarlist.c:95
 msgid "engine setting"
 msgstr ""
 
-#: qcsrc/menu/xonotic/cvarlist.c:93
+#: qcsrc/menu/xonotic/cvarlist.c:97
 msgid "read only"
 msgstr ""
 
@@ -3177,6 +3275,7 @@ msgid "Credits"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
@@ -3185,7 +3284,7 @@ msgstr ""
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:77
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
 #: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
 msgid "OK"
 msgstr ""
@@ -3194,41 +3293,41 @@ msgstr ""
 msgid "Welcome"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:40
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
 msgid ""
 "Welcome to Xonotic, please select your language preference and enter your "
 "player name to get started.  You can change these options later through the "
 "menu system."
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
 msgid "Name:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:68
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
 #: qcsrc/menu/xonotic/dialog_settings_user.c:65
 msgid "Text language:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
 msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
 msgid "ALWU2N^Yes"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
 msgid "ALWU2N^No"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
 msgid "ALWU2N^Undecided"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
 msgid "Save settings"
 msgstr ""
 
@@ -3546,7 +3645,7 @@ msgstr ""
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
-#: qcsrc/menu/xonotic/util.qc:708
+#: qcsrc/menu/xonotic/util.qc:758
 msgid "Alpha:"
 msgstr ""
 
@@ -3728,24 +3827,24 @@ msgstr ""
 msgid "Panel background defaults:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:683
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
 msgid "Background:"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:686
-#: qcsrc/menu/xonotic/util.qc:702 qcsrc/menu/xonotic/util.qc:719
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
 msgid "Disable"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:691
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
 msgid "Color:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:699
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
 msgid "Border size:"
 msgstr ""
 
@@ -3754,11 +3853,11 @@ msgstr ""
 msgid "Team color:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:725
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
 msgid "Test team color in configure mode"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:728
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
 msgid "Padding:"
 msgstr ""
 
@@ -3806,6 +3905,53 @@ msgstr ""
 msgid "Exit setup"
 msgstr ""
 
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr ""
+
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:4
 msgid "Multiplayer"
 msgstr ""
@@ -3847,6 +3993,7 @@ msgstr ""
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
 msgid "Point limit:"
 msgstr ""
 
@@ -3911,7 +4058,7 @@ msgid "Mutators..."
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
 msgid "Advanced settings..."
 msgstr ""
 
@@ -3947,7 +4094,7 @@ msgstr ""
 msgid "Goals:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
 msgid "Frag limit:"
 msgstr ""
 
@@ -4247,27 +4394,31 @@ msgid "Join"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
 msgid "SRVS^Empty"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:37
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
 msgid "SRVS^Full"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:41
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
 msgid "Pause"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:53
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
 msgid "Address:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:64
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
 msgid "Info..."
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:69
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
 msgid "Join!"
 msgstr ""
@@ -4282,9 +4433,9 @@ msgid "%d/%d"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
-#: qcsrc/menu/xonotic/util.qc:685 qcsrc/menu/xonotic/util.qc:701
-#: qcsrc/menu/xonotic/util.qc:710 qcsrc/menu/xonotic/util.qc:718
-#: qcsrc/menu/xonotic/util.qc:730
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
 msgid "Default"
 msgstr ""
 
@@ -4762,10 +4913,6 @@ msgstr ""
 msgid "Sandbox Tools"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
-msgid "Spawn"
-msgstr ""
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
 msgid "Remove *"
 msgstr ""
@@ -4798,10 +4945,6 @@ msgstr ""
 msgid "Visual object properties for *:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
-msgid "Set skin:"
-msgstr ""
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
 msgid "Set alpha:"
 msgstr ""
@@ -5433,175 +5576,179 @@ msgid "Client UDP port:"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:56
-msgid "Show netgraph"
+msgid "Use encryption (AES) when available"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+msgid "Show netgraph"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
 msgid "Client-side movement prediction"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:63
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
 msgid "Movement error compensation"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
 msgid "Downloads:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:70
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:82
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
 msgid "Maximum:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
 msgid "Speed (kB/s):"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:79
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
 msgid "Framerate:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:84
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
 msgid "MAXFPS^5 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:85
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
 msgid "MAXFPS^10 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
 msgid "MAXFPS^20 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:87
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
 msgid "MAXFPS^30 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
 msgid "MAXFPS^40 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
 msgid "MAXFPS^50 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
 msgid "MAXFPS^60 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
 msgid "MAXFPS^70 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
 msgid "MAXFPS^100 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
 msgid "MAXFPS^125 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
 msgid "MAXFPS^200 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
 msgid "MAXFPS^Unlimited"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
 msgid "Target:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:101
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
 msgid "TRGT^Disabled"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:102
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
 msgid "TRGT^30 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
 msgid "TRGT^40 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:104
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
 msgid "TRGT^50 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
 msgid "TRGT^60 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
 msgid "TRGT^100 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
 msgid "TRGT^125 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
 msgid "TRGT^200 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
 msgid "Idle limit:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:114
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
 msgid "IDLFPS^10 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:115
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
 msgid "IDLFPS^20 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
 msgid "IDLFPS^30 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:117
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
 msgid "IDLFPS^60 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
 msgid "IDLFPS^Unlimited"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:123
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
 msgid "Show frames per second"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:126
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
 msgid "Save processing time for other apps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
 msgid "Menu tooltips:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:132
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
 msgid "TLTIP^Disabled"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:133
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
 msgid "TLTIP^Standard"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
 msgid "TLTIP^Advanced"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
 msgid "Show current time"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:140
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
 msgid "Show current date"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
 msgid "Enable developer mode"
 msgstr ""
 
@@ -5625,7 +5772,7 @@ msgstr ""
 msgid "Value:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:72
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
 msgid "Description:"
 msgstr ""
 
@@ -5653,6 +5800,26 @@ msgstr ""
 msgid "Allow player statistics to use your nickname"
 msgstr ""
 
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
 #: qcsrc/menu/xonotic/dialog_settings_video.c:26
 msgid "Resolution:"
 msgstr ""
@@ -5903,7 +6070,7 @@ msgstr ""
 msgid "spectate"
 msgstr ""
 
-#: qcsrc/menu/xonotic/mainwindow.c:39 qcsrc/menu/xonotic/mainwindow.c:42
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
 msgid "Do not press this button again!"
 msgstr ""
 
@@ -5931,31 +6098,63 @@ msgstr ""
 msgid "<no model found>"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:190
-msgid "Remove"
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:192
-msgid "Bookmark"
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:553
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:923
 msgid "Ping"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:554
+#: qcsrc/menu/xonotic/serverlist.c:924
 msgid "Host name"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:555
+#: qcsrc/menu/xonotic/serverlist.c:925
 msgid "Map"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:556
+#: qcsrc/menu/xonotic/serverlist.c:926
 msgid "Type"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:557
+#: qcsrc/menu/xonotic/serverlist.c:927
 msgid "Players"
 msgstr ""
 
@@ -5995,61 +6194,61 @@ msgstr ""
 msgid "%s dB"
 msgstr ""
 
-#: qcsrc/menu/xonotic/slider_resolution.c:103
+#: qcsrc/menu/xonotic/slider_resolution.c:116
 #, c-format
 msgid "%dx%d (%d:%d)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/slider_resolution.c:106
+#: qcsrc/menu/xonotic/slider_resolution.c:119
 #, c-format
 msgid "%dx%d"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:298
+#: qcsrc/menu/xonotic/util.qc:308
 #, c-format
 msgid "error receiving update notification: status is %d\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:303
+#: qcsrc/menu/xonotic/util.qc:313
 msgid "error: received HTML instead of an update notification\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:308
+#: qcsrc/menu/xonotic/util.qc:318
 msgid "error: received carriage returns from update notification server\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:329
+#: qcsrc/menu/xonotic/util.qc:397
 #, c-format
 msgid ""
 "Update can be downloaded at:\n"
 "%s\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:447
+#: qcsrc/menu/xonotic/util.qc:497
 msgid "Autogenerating mapinfo for newly added maps..."
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:476
+#: qcsrc/menu/xonotic/util.qc:526
 #, c-format
 msgid "^1%s TEST BUILD"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:491
+#: qcsrc/menu/xonotic/util.qc:541
 #, c-format
 msgid "Update to %s now!"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:576
+#: qcsrc/menu/xonotic/util.qc:626
 msgid ""
 "^1ERROR: Texture compression is required but not supported.\n"
 "^1Expect visual problems.\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:696
+#: qcsrc/menu/xonotic/util.qc:746
 msgid "Use default"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:716
+#: qcsrc/menu/xonotic/util.qc:766
 msgid "Team Color:"
 msgstr ""
 
index 298c140b0a3782fb640f1ecb8d28b7a220d1f4cf..94d564e464d2300d7eff070be466d604313cbecc 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-03 11:55+0200\n"
-"PO-Revision-Date: 2013-10-03 10:08+0000\n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
 "Last-Translator: divVerent <divVerent@xonotic.org>\n"
 "Language-Team: Portuguese (http://www.transifex.com/projects/p/xonotic/"
 "language/pt/)\n"
@@ -33,12 +33,7 @@ msgstr ""
 msgid "^4CSQC Build information: ^1%s\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
-#, c-format
-msgid "trying to switch to unsupported team %d\n"
-msgstr ""
-
-#: qcsrc/client/Main.qc:835
+#: qcsrc/client/Main.qc:836
 #, c-format
 msgid ""
 "Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
@@ -56,7 +51,7 @@ msgstr ""
 msgid "%s (%s)"
 msgstr ""
 
-#: qcsrc/client/View.qc:1096
+#: qcsrc/client/View.qc:1165
 msgid "Revival progress"
 msgstr ""
 
@@ -88,213 +83,209 @@ msgstr ""
 msgid "%s (%s %s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:829
+#: qcsrc/client/hud.qc:832
 msgid "Out of ammo"
 msgstr ""
 
-#: qcsrc/client/hud.qc:833
+#: qcsrc/client/hud.qc:836
 msgid "Don't have"
 msgstr ""
 
-#: qcsrc/client/hud.qc:837
+#: qcsrc/client/hud.qc:840
 msgid "Unavailable"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
 #, c-format
 msgid "Player %d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2384
+#: qcsrc/client/hud.qc:2369
 msgid "^1Intermediate 1 (+15.42)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
 #, c-format
 msgid "^1PENALTY: %.1f (%s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2471
+#: qcsrc/client/hud.qc:2456
 #, c-format
 msgid "^2PENALTY: %.1f (%s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2501
+#: qcsrc/client/hud.qc:2486
 msgid "^1You must answer before entering hud configure mode\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2506
+#: qcsrc/client/hud.qc:2491
 msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2586
+#: qcsrc/client/hud.qc:2570
 msgid "A vote has been called for:"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2588
+#: qcsrc/client/hud.qc:2572
 msgid "Allow servers to store and display your name?"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2592
+#: qcsrc/client/hud.qc:2576
 msgid "^1Configure the HUD"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2596
+#: qcsrc/client/hud.qc:2580
 #, c-format
 msgid "Yes (%s): %d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2598
+#: qcsrc/client/hud.qc:2582
 #, c-format
 msgid "No (%s): %d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3169 qcsrc/client/hud.qc:3172 qcsrc/client/hud.qc:3174
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
 msgid "Personal best"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
 msgid "Server best"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3552
+#: qcsrc/client/hud.qc:3528
 msgid "^3Player^7: This is the chat area."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3618
+#: qcsrc/client/hud.qc:3593
 #, c-format
 msgid "FPS: %.*f"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3683
+#: qcsrc/client/hud.qc:3657
 msgid "^1Observing"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
 #, c-format
 msgid "^1Spectating: ^7%s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3693
+#: qcsrc/client/hud.qc:3667
 #, c-format
 msgid "^1Press ^3%s^1 to spectate"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3695
+#: qcsrc/client/hud.qc:3669
 #, c-format
 msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3699
+#: qcsrc/client/hud.qc:3673
 #, c-format
 msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3701
+#: qcsrc/client/hud.qc:3675
 #, c-format
 msgid "^1Press ^3%s^1 to observe"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3704
+#: qcsrc/client/hud.qc:3678
 #, c-format
 msgid "^1Press ^3%s^1 for gamemode info"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3708
-msgid "^1Wait for your turn to join"
-msgstr ""
-
-#: qcsrc/client/hud.qc:3714
+#: qcsrc/client/hud.qc:3686
 msgid "^1Match has already begun"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3688
 msgid "^1You have no more lives left"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
 #, c-format
 msgid "^1Press ^3%s^1 to join"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3701
 #, c-format
 msgid "^1Game starts in ^3%d^1 seconds"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3708
 msgid "^2Currently in ^1warmup^2 stage!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3723
 #, c-format
 msgid "%sPress ^3%s%s to end warmup"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3725
 #, c-format
 msgid "%sPress ^3%s%s once you are ready"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3758
+#: qcsrc/client/hud.qc:3730
 msgid "^2Waiting for others to ready up to end warmup..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3732
 msgid "^2Waiting for others to ready up..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3738
 #, c-format
 msgid "^2Press ^3%s^2 to end warmup"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3759
 msgid "Teamnumbers are unbalanced!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3764
 #, c-format
 msgid " Press ^3%s%s to adjust"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3772
 msgid "^7Press ^3ESC ^7to show HUD options."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3774
 msgid "^3Doubleclick ^7a panel for panel-specific options."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3776
 msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3778
 msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3825
 msgid " qu/s"
-msgstr ""
+msgstr "qu/s"
 
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3829
 msgid " m/s"
-msgstr ""
+msgstr "m/s"
 
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3833
 msgid " km/h"
-msgstr ""
+msgstr "km/h"
 
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3837
 msgid " mph"
-msgstr ""
+msgstr "mph"
 
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3841
 msgid " knots"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4497
 msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
 msgstr ""
 
@@ -343,16 +334,16 @@ msgstr ""
 msgid "Requesting preview...\n"
 msgstr ""
 
-#: qcsrc/client/miscfunctions.qc:98
+#: qcsrc/client/miscfunctions.qc:101
 msgid "Trying to remove a team which is not in the teamlist!"
 msgstr ""
 
-#: qcsrc/client/movetypes.qc:163
+#: qcsrc/client/movetypes.qc:227
 #, c-format
 msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
 
-#: qcsrc/client/movetypes.qc:166
+#: qcsrc/client/movetypes.qc:230
 #, c-format
 msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
@@ -455,7 +446,7 @@ msgstr ""
 
 #: qcsrc/client/scoreboard.qc:43
 msgid "SCO^ping"
-msgstr ""
+msgstr "Ping"
 
 #: qcsrc/client/scoreboard.qc:44
 msgid "SCO^pl"
@@ -493,164 +484,164 @@ msgstr ""
 msgid "SCO^ticks"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:251
+#: qcsrc/client/scoreboard.qc:237
 msgid ""
 "You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:252
+#: qcsrc/client/scoreboard.qc:238
 msgid "^3|---------------------------------------------------------------|\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:253
+#: qcsrc/client/scoreboard.qc:239
 msgid "Usage:\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:254
+#: qcsrc/client/scoreboard.qc:240
 msgid "^2scoreboard_columns_set default\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:255
+#: qcsrc/client/scoreboard.qc:241
 msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:256
+#: qcsrc/client/scoreboard.qc:242
 msgid "The following field names are recognized (case insensitive):\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:257
+#: qcsrc/client/scoreboard.qc:243
 msgid ""
 "You can use a ^3|^7 to start the right-aligned fields.\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:259
+#: qcsrc/client/scoreboard.qc:245
 msgid "^3name^7 or ^3nick^7             Name of a player\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:260
+#: qcsrc/client/scoreboard.qc:246
 msgid "^3ping^7                     Ping time\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:261
+#: qcsrc/client/scoreboard.qc:247
 msgid "^3pl^7                       Packet loss\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:262
+#: qcsrc/client/scoreboard.qc:248
 msgid "^3kills^7                    Number of kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:263
+#: qcsrc/client/scoreboard.qc:249
 msgid "^3deaths^7                   Number of deaths\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:264
+#: qcsrc/client/scoreboard.qc:250
 msgid "^3suicides^7                 Number of suicides\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:265
+#: qcsrc/client/scoreboard.qc:251
 msgid "^3frags^7                    kills - suicides\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:266
+#: qcsrc/client/scoreboard.qc:252
 msgid "^3kd^7                       The kill-death ratio\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:267
+#: qcsrc/client/scoreboard.qc:253
 msgid "^3sum^7                      frags - deaths\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:268
+#: qcsrc/client/scoreboard.qc:254
 msgid ""
 "^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
 "captured\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:269
+#: qcsrc/client/scoreboard.qc:255
 msgid ""
 "^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
 "ball (Keepaway) was picked up\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:270
+#: qcsrc/client/scoreboard.qc:256
 msgid "^3captime^7                  Time of fastest cap (CTF)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:271
+#: qcsrc/client/scoreboard.qc:257
 msgid "^3fckills^7                  Number of flag carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:272
+#: qcsrc/client/scoreboard.qc:258
 msgid "^3returns^7                  Number of flag returns\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:273
+#: qcsrc/client/scoreboard.qc:259
 msgid "^3drops^7                    Number of flag drops\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:274
+#: qcsrc/client/scoreboard.qc:260
 msgid "^3lives^7                    Number of lives (LMS)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:275
+#: qcsrc/client/scoreboard.qc:261
 msgid "^3rank^7                     Player rank\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:276
+#: qcsrc/client/scoreboard.qc:262
 msgid "^3pushes^7                   Number of players pushed into void\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:277
+#: qcsrc/client/scoreboard.qc:263
 msgid ""
 "^3destroyed^7                Number of keys destroyed by pushing them into "
 "void\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:278
+#: qcsrc/client/scoreboard.qc:264
 msgid "^3kckills^7                  Number of keys carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:279
+#: qcsrc/client/scoreboard.qc:265
 msgid "^3losses^7                   Number of times a key was lost\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:280
+#: qcsrc/client/scoreboard.qc:266
 msgid "^3laps^7                     Number of laps finished (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:281
+#: qcsrc/client/scoreboard.qc:267
 msgid "^3time^7                     Total time raced (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:282
+#: qcsrc/client/scoreboard.qc:268
 msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:283
+#: qcsrc/client/scoreboard.qc:269
 msgid "^3ticks^7                    Number of ticks (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:284
+#: qcsrc/client/scoreboard.qc:270
 msgid "^3takes^7                    Number of domination points taken (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:285
+#: qcsrc/client/scoreboard.qc:271
 msgid "^3bckills^7                  Number of ball carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:286
+#: qcsrc/client/scoreboard.qc:272
 msgid ""
 "^3bctime^7                   Total amount of time holding the ball in "
 "Keepaway\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:287
+#: qcsrc/client/scoreboard.qc:273
 msgid ""
 "^3score^7                    Total score\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:289
+#: qcsrc/client/scoreboard.qc:275
 msgid ""
 "Before a field you can put a + or - sign, then a comma separated list\n"
 "of game types, then a slash, to make the field show up only in these\n"
@@ -659,30 +650,30 @@ msgid ""
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:294
+#: qcsrc/client/scoreboard.qc:280
 msgid ""
 "The special game type names 'teams' and 'noteams' can be used to\n"
 "include/exclude ALL teams/noteams game modes.\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:297
+#: qcsrc/client/scoreboard.qc:283
 msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:298
+#: qcsrc/client/scoreboard.qc:284
 msgid ""
 "will display name, ping and pl aligned to the left, and the fields\n"
 "right of the vertical bar aligned to the right.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:300
+#: qcsrc/client/scoreboard.qc:286
 msgid ""
 "'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
 "other gamemodes except DM.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:534 qcsrc/client/scoreboard.qc:541
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
@@ -690,91 +681,95 @@ msgstr ""
 msgid "N/A"
 msgstr "N/A"
 
-#: qcsrc/client/scoreboard.qc:984
+#: qcsrc/client/scoreboard.qc:970
 #, c-format
 msgid "Accuracy stats (average %d%%)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1047
+#: qcsrc/client/scoreboard.qc:1033
 #, c-format
 msgid "%d%%"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1099
 msgid "Map stats:"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1124
 msgid "Secrets found:"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1152
 msgid "Rankings"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1248
 msgid "Scoreboard"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1307
 #, c-format
 msgid "Speed award: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1311
 #, c-format
 msgid "All-time fastest: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1345
 msgid "Spectators"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1352
 #, c-format
-msgid "playing on ^2%s^7"
+msgid "playing ^3%s^7 on ^2%s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
 #, c-format
 msgid " for up to ^1%1.0f minutes^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1364 qcsrc/client/scoreboard.qc:1383
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
 msgid " or"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
 #, c-format
 msgid " until ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1375
-#: qcsrc/client/scoreboard.qc:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
 msgid "SCO^points"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1369 qcsrc/client/scoreboard.qc:1376
-#: qcsrc/client/scoreboard.qc:1388 qcsrc/client/scoreboard.qc:1395
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
 msgid "SCO^is beaten"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
 #, c-format
 msgid " until a lead of ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1419
 #, c-format
 msgid "^1Respawning in ^3%s^1..."
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1429
 #, c-format
 msgid "You are dead, wait ^3%s^7 before respawning"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1438
 #, c-format
 msgid "You are dead, press ^2%s^7 to respawn"
 msgstr ""
@@ -784,7 +779,7 @@ msgstr ""
 msgid "Cannot initialize sound %s\n"
 msgstr ""
 
-#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:591
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
 msgid "Spam"
 msgstr ""
 
@@ -801,209 +796,213 @@ msgstr ""
 msgid "No left gunner!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:254
+#: qcsrc/client/waypointsprites.qc:246
 msgid "Push"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:255
+#: qcsrc/client/waypointsprites.qc:247
 msgid "Destroy"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:256
+#: qcsrc/client/waypointsprites.qc:248
 msgid "Defend"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:257
+#: qcsrc/client/waypointsprites.qc:249
 msgid "Blue base"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:258
+#: qcsrc/client/waypointsprites.qc:250
 msgid "DANGER"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:251
 msgid "Enemy carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:260
+#: qcsrc/client/waypointsprites.qc:252
 msgid "Flag carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:253
 msgid "Dropped flag"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:262
+#: qcsrc/client/waypointsprites.qc:254
 msgid "Help me!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:263
+#: qcsrc/client/waypointsprites.qc:255
 msgid "Here"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:264
+#: qcsrc/client/waypointsprites.qc:256
 msgid "Dropped key"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:267
-#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
-#: qcsrc/client/waypointsprites.qc:270
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
 msgid "Key carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:258
 msgid "Run here"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:263
 msgid "Red base"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:272
+#: qcsrc/client/waypointsprites.qc:264
 msgid "Waypoint"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
-#: qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
 msgid "Generator"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:276 qcsrc/client/waypointsprites.qc:277
-#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
-#: qcsrc/client/waypointsprites.qc:280 qcsrc/client/waypointsprites.qc:281
-#: qcsrc/client/waypointsprites.qc:282 qcsrc/client/waypointsprites.qc:283
-#: qcsrc/client/waypointsprites.qc:307 qcsrc/client/waypointsprites.qc:308
-#: qcsrc/client/waypointsprites.qc:309 qcsrc/client/waypointsprites.qc:310
-#: qcsrc/client/waypointsprites.qc:311
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
 msgid "Control point"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:284
+#: qcsrc/client/waypointsprites.qc:276
 msgid "Checkpoint"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
 msgid "Finish"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
 msgid "Start"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
 msgid "Ball"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:290
+#: qcsrc/client/waypointsprites.qc:283
 msgid "Ball carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
 msgid "Laser"
 msgstr "Laser"
 
-#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
 msgid "Shotgun"
 msgstr "Shotgun"
 
-#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
 msgid "Machine Gun"
 msgstr "Machine Gun"
 
-#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
 msgid "Mortar"
 msgstr "Mortar"
 
-#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
 msgid "Electro"
 msgstr "Electro"
 
-#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
 msgid "Crylink"
 msgstr "Crylink"
 
-#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
 msgid "Nex"
 msgstr "Nex"
 
-#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
 msgid "Hagar"
 msgstr "Hagar"
 
-#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
 msgid "Rocket Launcher"
 msgstr "Rocket Launcher"
 
-#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
 msgid "Port-O-Launch"
 msgstr "Port-O-Launch"
 
-#: qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:294
 msgid "Minstanex"
-msgstr ""
+msgstr "MinstaNex"
 
-#: qcsrc/client/waypointsprites.qc:302
+#: qcsrc/client/waypointsprites.qc:295
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
 msgid "Hook"
 msgstr "Gancho"
 
-#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
 msgid "Fireball"
 msgstr "Fireball"
 
-#: qcsrc/client/waypointsprites.qc:304
+#: qcsrc/client/waypointsprites.qc:297
 msgid "HLAC"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
 msgid "Rifle"
 msgstr "Espingarda"
 
-#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
 msgid "Mine Layer"
 msgstr "Mine Layer"
 
-#: qcsrc/client/waypointsprites.qc:312
+#: qcsrc/client/waypointsprites.qc:305
 msgid "Invisibility"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:313
+#: qcsrc/client/waypointsprites.qc:306
 msgid "Extra life"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:314
+#: qcsrc/client/waypointsprites.qc:307
 msgid "Speed"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:315
+#: qcsrc/client/waypointsprites.qc:308
 msgid "Strength"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:316
+#: qcsrc/client/waypointsprites.qc:309
 msgid "Shield"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:317
+#: qcsrc/client/waypointsprites.qc:310
 msgid "Fuel regen"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:318
+#: qcsrc/client/waypointsprites.qc:311
 msgid "Jet Pack"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:319
+#: qcsrc/client/waypointsprites.qc:312
 msgid "Frozen!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:320
+#: qcsrc/client/waypointsprites.qc:313
 msgid "Tagged"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:321
+#: qcsrc/client/waypointsprites.qc:314
 msgid "Vehicle"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:595
+#: qcsrc/client/waypointsprites.qc:588
 #, c-format
 msgid "%s needing help!"
 msgstr ""
@@ -1225,12 +1224,12 @@ msgstr ""
 msgid "%dth"
 msgstr ""
 
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:717
 #, no-c-format
 msgid "@!#%'n Tuba Throwing"
 msgstr "@!#%'n Tuba Throwing"
 
-#: qcsrc/common/mapinfo.qc:1109 qcsrc/menu/xonotic/skinlist.c:166
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
@@ -1244,57 +1243,82 @@ msgid "Last Man Standing"
 msgstr "O Ultimo a Cair"
 
 #: qcsrc/common/mapinfo.qh:42
-msgid "Arena"
-msgstr "Arena"
-
-#: qcsrc/common/mapinfo.qh:45
 msgid "Race"
 msgstr "Corrida"
 
-#: qcsrc/common/mapinfo.qh:48
+#: qcsrc/common/mapinfo.qh:45
 msgid "Race CTS"
 msgstr "Corrida CTS"
 
-#: qcsrc/common/mapinfo.qh:51
+#: qcsrc/common/mapinfo.qh:48
 msgid "Team Deathmatch"
 msgstr "Combate até à Morte por Equipas"
 
-#: qcsrc/common/mapinfo.qh:54
+#: qcsrc/common/mapinfo.qh:51
 msgid "Capture the Flag"
 msgstr "Captura a Bandeira"
 
-#: qcsrc/common/mapinfo.qh:57
+#: qcsrc/common/mapinfo.qh:54
 msgid "Clan Arena"
 msgstr "Clan Arena"
 
-#: qcsrc/common/mapinfo.qh:60
+#: qcsrc/common/mapinfo.qh:57
 msgid "Domination"
 msgstr "Domínio"
 
-#: qcsrc/common/mapinfo.qh:63
+#: qcsrc/common/mapinfo.qh:60
 msgid "Key Hunt"
 msgstr "Procura da Chave"
 
-#: qcsrc/common/mapinfo.qh:66
+#: qcsrc/common/mapinfo.qh:63
 msgid "Assault"
 msgstr "Assalto"
 
-#: qcsrc/common/mapinfo.qh:69
+#: qcsrc/common/mapinfo.qh:66
 msgid "Onslaught"
 msgstr "Investida"
 
-#: qcsrc/common/mapinfo.qh:72
+#: qcsrc/common/mapinfo.qh:69
 msgid "Nexball"
 msgstr "Nexball"
 
-#: qcsrc/common/mapinfo.qh:75
+#: qcsrc/common/mapinfo.qh:72
 msgid "Freeze Tag"
 msgstr "Freeze Tag"
 
-#: qcsrc/common/mapinfo.qh:78
+#: qcsrc/common/mapinfo.qh:75
 msgid "Keepaway"
 msgstr "Keepaway"
 
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr ""
+
 #: qcsrc/common/net_notice.qc:89
 msgid "^1Server notices:"
 msgstr ""
@@ -1305,1772 +1329,1842 @@ msgid "^7%s (^3%d sec left)"
 msgstr ""
 
 #: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:343
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:343
+#: qcsrc/common/notifications.qh:344
 #, c-format
 msgid ""
 "^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"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:344
+#: qcsrc/common/notifications.qh:345
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:345
+#: qcsrc/common/notifications.qh:346
 #, c-format
 msgid ""
 "^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"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:346
+#: qcsrc/common/notifications.qh:347
 msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:347
+#: qcsrc/common/notifications.qh:348
 msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:348
+#: qcsrc/common/notifications.qh:349
 msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:349
+#: qcsrc/common/notifications.qh:350
 msgid ""
 "^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
 "base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:350
+#: qcsrc/common/notifications.qh:351
 #, c-format
 msgid ""
 "^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
 "itself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:351
+#: qcsrc/common/notifications.qh:352
 msgid "^BGThe ^TC^TT^BG flag has returned to the base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:352
+#: qcsrc/common/notifications.qh:353
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:353
+#: qcsrc/common/notifications.qh:354
 #, c-format
 msgid "^BG%s^BG got the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:354
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
 #, c-format
 msgid "^BG%s^BG returned the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:355
+#: qcsrc/common/notifications.qh:357
 #, c-format
 msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:356
+#: qcsrc/common/notifications.qh:358
 #, c-format
 msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:357
+#: qcsrc/common/notifications.qh:359
 #, c-format
 msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:359
+#: qcsrc/common/notifications.qh:361
 #, c-format
 msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:360
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:363
 #, c-format
 msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:361
+#: qcsrc/common/notifications.qh:364
 #, c-format
 msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:362
+#: qcsrc/common/notifications.qh:365
 #, c-format
 msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:363
+#: qcsrc/common/notifications.qh:366
 #, c-format
 msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:365
+#: qcsrc/common/notifications.qh:368
 #, c-format
 msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:366
+#: qcsrc/common/notifications.qh:369
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:367
+#: qcsrc/common/notifications.qh:370
 #, c-format
 msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:368
+#: qcsrc/common/notifications.qh:371
 #, c-format
 msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:369
+#: qcsrc/common/notifications.qh:372
 #, c-format
 msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:370
+#: qcsrc/common/notifications.qh:373
 #, c-format
 msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:371
+#: qcsrc/common/notifications.qh:374
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:372
+#: qcsrc/common/notifications.qh:375
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:373
+#: qcsrc/common/notifications.qh:376
 #, c-format
 msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:374
+#: qcsrc/common/notifications.qh:377
 #, c-format
 msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:375
+#: qcsrc/common/notifications.qh:378
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:376
+#: qcsrc/common/notifications.qh:379
 #, c-format
 msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:377
+#: qcsrc/common/notifications.qh:380
 #, c-format
 msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:378
+#: qcsrc/common/notifications.qh:381
 #, c-format
 msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:379
+#: qcsrc/common/notifications.qh:382
 #, c-format
 msgid "^BG%s^K1 was moved into the %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:380
+#: qcsrc/common/notifications.qh:383
 #, c-format
 msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:381
+#: qcsrc/common/notifications.qh:384
 #, c-format
 msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:382
+#: qcsrc/common/notifications.qh:385
 #, c-format
 msgid "^BG%s^K1 unfairly eliminated themself%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:383
+#: qcsrc/common/notifications.qh:386
 #, c-format
 msgid "^BG%s^K1 %s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 couldn't catch their breath%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 was in the water for too long%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a crunch%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 became a bit too crispy%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 felt a little hot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:387
+#: qcsrc/common/notifications.qh:390
 #, c-format
 msgid "^BG%s^K1 died%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 found a hot place%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 turned into hot slag%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:389
+#: qcsrc/common/notifications.qh:392
 #, c-format
 msgid "^BG%s^K1 mastered the art of self-nading%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:393
+#, c-format
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:394
+#, c-format
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:395
+#, c-format
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:396
+#, c-format
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:397
+#, c-format
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:398
+#, c-format
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
 #, c-format
 msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:401
 #, c-format
 msgid "^BG%s^K1 ran out of ammo%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:391
+#: qcsrc/common/notifications.qh:402
 #, c-format
 msgid "^BG%s^K1 rotted away%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:392
+#: qcsrc/common/notifications.qh:403
 #, c-format
 msgid "^BG%s^K1 became a shooting star%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:393
+#: qcsrc/common/notifications.qh:404
 #, c-format
 msgid "^BG%s^K1 was slimed%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:394
+#: qcsrc/common/notifications.qh:405
 #, c-format
 msgid "^BG%s^K1 couldn't take it anymore%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:395
+#: qcsrc/common/notifications.qh:406
 #, c-format
 msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:396
+#: qcsrc/common/notifications.qh:407
 #, c-format
 msgid "^BG%s^K1 switched to the %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:397
+#: qcsrc/common/notifications.qh:408
 #, c-format
 msgid "^BG%s^K1 died in an accident%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:398
+#: qcsrc/common/notifications.qh:409
 #, c-format
 msgid "^BG%s^K1 ran into a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:399
+#: qcsrc/common/notifications.qh:410
 #, c-format
 msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:400
+#: qcsrc/common/notifications.qh:411
 #, c-format
 msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:401
+#: qcsrc/common/notifications.qh:412
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:402
+#: qcsrc/common/notifications.qh:413
 #, c-format
 msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:403
+#: qcsrc/common/notifications.qh:414
 #, c-format
 msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:404
+#: qcsrc/common/notifications.qh:415
 #, c-format
 msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:405
+#: qcsrc/common/notifications.qh:416
 #, c-format
 msgid "^BG%s^K1 was phased out by a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:406
+#: qcsrc/common/notifications.qh:417
 #, c-format
 msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:407
+#: qcsrc/common/notifications.qh:418
 #, c-format
 msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:408
+#: qcsrc/common/notifications.qh:419
 #, c-format
 msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:409
+#: qcsrc/common/notifications.qh:420
 #, c-format
 msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:410
+#: qcsrc/common/notifications.qh:421
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:411
+#: qcsrc/common/notifications.qh:422
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:412
+#: qcsrc/common/notifications.qh:423
 #, c-format
 msgid "^BG%s^K1 was crushed by a vehicle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:413
+#: qcsrc/common/notifications.qh:424
 #, c-format
 msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:414
+#: qcsrc/common/notifications.qh:425
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:415
+#: qcsrc/common/notifications.qh:426
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:416
+#: qcsrc/common/notifications.qh:427
 #, c-format
 msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:417
+#: qcsrc/common/notifications.qh:428
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:418
+#: qcsrc/common/notifications.qh:429
 #, c-format
 msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:419
+#: qcsrc/common/notifications.qh:430
 #, c-format
 msgid "^BG%s^K1 was in the wrong place%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:420
+#: qcsrc/common/notifications.qh:431
 #, c-format
 msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:421
+#: qcsrc/common/notifications.qh:432
 #, c-format
 msgid "^BG%s^K1 was frozen by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:422
+#: qcsrc/common/notifications.qh:433
 #, c-format
 msgid "^BG%s^K3 was revived by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:423
+#: qcsrc/common/notifications.qh:434
 #, c-format
 msgid "^BG%s^K3 was revived by falling"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:424
+#: qcsrc/common/notifications.qh:435
 #, c-format
 msgid "^BG%s^K3 was automatically revived after %s second(s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:425 qcsrc/common/notifications.qh:612
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
 msgid "^TC^TT^BG team wins the round"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:426 qcsrc/common/notifications.qh:613
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
 #, c-format
 msgid "^BG%s^BG wins the round"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:427 qcsrc/common/notifications.qh:542
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
 msgid "^BGRound tied"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:428 qcsrc/common/notifications.qh:543
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
 msgid "^BGRound over, there's no winner"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:429
+#: qcsrc/common/notifications.qh:440
 #, c-format
 msgid "^BG%s^K1 froze themself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:430
+#: qcsrc/common/notifications.qh:441
 #, c-format
 msgid "^BGGodmode saved you %s units of damage, cheater!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:431 qcsrc/common/notifications.qh:616
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
 #, c-format
 msgid "^BGYou do not have the ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:432 qcsrc/common/notifications.qh:617
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
 #, c-format
 msgid "^BGYou dropped the ^F1%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:433 qcsrc/common/notifications.qh:618
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
 #, c-format
 msgid "^BGYou got the ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:434 qcsrc/common/notifications.qh:619
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
 #, c-format
 msgid "^BGYou don't have enough ammo for the ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:435 qcsrc/common/notifications.qh:620
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
 #, c-format
 msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:621
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
 #, c-format
 msgid "^F1%s^BG is ^F4not available^BG on this map"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:437
+#: qcsrc/common/notifications.qh:448
 #, c-format
 msgid "^BG%s^F3 connected%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:438
+#: qcsrc/common/notifications.qh:449
 #, c-format
 msgid "^BG%s^F3 connected and joined the ^TC^TT team"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:439
+#: qcsrc/common/notifications.qh:450
 #, c-format
 msgid "^BG%s^F3 is now playing"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:440 qcsrc/common/notifications.qh:624
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
 #, c-format
 msgid "^BG%s^BG has dropped the ball!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:441 qcsrc/common/notifications.qh:625
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
 #, c-format
 msgid "^BG%s^BG has picked up the ball!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:442
+#: qcsrc/common/notifications.qh:453
 #, c-format
 msgid "^BG%s^BG captured the keys for the ^TC^TT team"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:443
+#: qcsrc/common/notifications.qh:454
 #, c-format
 msgid "^BG%s^BG dropped the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:444
+#: qcsrc/common/notifications.qh:455
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:445
+#: qcsrc/common/notifications.qh:456
 #, c-format
 msgid "^BG%s^BG picked up the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:446
+#: qcsrc/common/notifications.qh:457
 #, c-format
 msgid "^BG%s^F3 forfeited"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:447
+#: qcsrc/common/notifications.qh:458
 #, c-format
 msgid "^BG%s^F3 has no more lives left"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:448
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:460
 #, c-format
 msgid "^BG%s^K1 picked up Invisibility"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:449
+#: qcsrc/common/notifications.qh:461
 #, c-format
 msgid "^BG%s^K1 picked up Shield"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:450
+#: qcsrc/common/notifications.qh:462
 #, c-format
 msgid "^BG%s^K1 picked up Speed"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:451
+#: qcsrc/common/notifications.qh:463
 #, c-format
 msgid "^BG%s^K1 picked up Strength"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:452
+#: qcsrc/common/notifications.qh:464
 #, c-format
 msgid "^BG%s^F3 disconnected"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:453
+#: qcsrc/common/notifications.qh:465
 #, c-format
 msgid "^BG%s^F3 was kicked for idling"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:454
+#: qcsrc/common/notifications.qh:466
 msgid ""
 "^F2You were kicked from the server because you are a spectator and "
 "spectators aren't allowed at the moment."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:455
+#: qcsrc/common/notifications.qh:467
 #, c-format
 msgid "^BG%s^F3 is now spectating"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:456
+#: qcsrc/common/notifications.qh:468
 #, c-format
 msgid "^BG%s^BG has abandoned the race"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:457
+#: qcsrc/common/notifications.qh:469
 #, c-format
 msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:458
+#: qcsrc/common/notifications.qh:470
 #, c-format
 msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:459
+#: qcsrc/common/notifications.qh:471
 #, c-format
 msgid "^BG%s^BG has finished the race"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:460
+#: qcsrc/common/notifications.qh:472
 #, c-format
 msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:461
+#: qcsrc/common/notifications.qh:473
 #, c-format
 msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:462
+#: qcsrc/common/notifications.qh:474
 #, c-format
 msgid ""
 "^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
 "and will be lost."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:463
+#: qcsrc/common/notifications.qh:475
 #, c-format
 msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:464
+#: qcsrc/common/notifications.qh:476
 msgid "^TC^TT ^BGteam scores!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:465
+#: qcsrc/common/notifications.qh:477
 #, c-format
 msgid ""
 "^F2You have to become a player within the next %s, otherwise you will be "
 "kicked, because spectating isn't allowed at this time!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:466
+#: qcsrc/common/notifications.qh:478
 #, c-format
 msgid "^BG%s^K1 picked up a Superweapon"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:467
+#: qcsrc/common/notifications.qh:479
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
 "^F2Xonotic %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:468
+#: qcsrc/common/notifications.qh:480
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:469
+#: qcsrc/common/notifications.qh:481
 #, c-format
 msgid ""
 "^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
 "the update from ^F3http://www.xonotic.org/^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:470
+#: qcsrc/common/notifications.qh:482
 #, c-format
 msgid "^F3SVQC Build information: ^F4%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:471
+#: qcsrc/common/notifications.qh:483
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:472
+#: qcsrc/common/notifications.qh:484
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:473
+#: qcsrc/common/notifications.qh:485
 #, c-format
 msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:474
+#: qcsrc/common/notifications.qh:486
 #, c-format
 msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:475
+#: qcsrc/common/notifications.qh:487
 #, c-format
 msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:476
+#: qcsrc/common/notifications.qh:488
 #, c-format
 msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:477
+#: qcsrc/common/notifications.qh:489
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:478
+#: qcsrc/common/notifications.qh:490
 #, c-format
 msgid "^BG%s^K1 played with Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:479
+#: qcsrc/common/notifications.qh:491
 #, c-format
 msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:480
+#: qcsrc/common/notifications.qh:492
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:481
+#: qcsrc/common/notifications.qh:493
 #, c-format
 msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:482
+#: qcsrc/common/notifications.qh:494
 #, c-format
 msgid "^BG%s^K1 should have used a smaller gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:483
+#: qcsrc/common/notifications.qh:495
 #, c-format
 msgid "^BG%s^K1 forgot about their firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:484
+#: qcsrc/common/notifications.qh:496
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:485
+#: qcsrc/common/notifications.qh:497
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:486
+#: qcsrc/common/notifications.qh:498
 #, c-format
 msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:487
+#: qcsrc/common/notifications.qh:499
 #, c-format
 msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:488
+#: qcsrc/common/notifications.qh:500
 #, c-format
 msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:489
+#: qcsrc/common/notifications.qh:501
 #, c-format
 msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:490
+#: qcsrc/common/notifications.qh:502
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:491
+#: qcsrc/common/notifications.qh:503
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:492
+#: qcsrc/common/notifications.qh:504
 #, c-format
 msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:493
+#: qcsrc/common/notifications.qh:505
 #, c-format
 msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:494
+#: qcsrc/common/notifications.qh:506
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:495
+#: qcsrc/common/notifications.qh:507
 #, c-format
 msgid "^BG%s^K1 forgot about their mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:496
+#: qcsrc/common/notifications.qh:508
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:497
+#: qcsrc/common/notifications.qh:509
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:498
+#: qcsrc/common/notifications.qh:510
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:499
+#: qcsrc/common/notifications.qh:511
 #, c-format
 msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:500
+#: qcsrc/common/notifications.qh:512
 #, c-format
 msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:501
+#: qcsrc/common/notifications.qh:513
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:502
+#: qcsrc/common/notifications.qh:514
 #, c-format
 msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:503
+#: qcsrc/common/notifications.qh:515
 #, c-format
 msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:504
+#: qcsrc/common/notifications.qh:516
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:505
+#: qcsrc/common/notifications.qh:517
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:506
+#: qcsrc/common/notifications.qh:518
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:507
+#: qcsrc/common/notifications.qh:519
 #, c-format
 msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:508
+#: qcsrc/common/notifications.qh:520
 #, c-format
 msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:509
+#: qcsrc/common/notifications.qh:521
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:510
+#: qcsrc/common/notifications.qh:522
 #, c-format
 msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:511
+#: qcsrc/common/notifications.qh:523
 #, c-format
 msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:512
+#: qcsrc/common/notifications.qh:524
 #, c-format
 msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:513
+#: qcsrc/common/notifications.qh:525
 #, c-format
 msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:514
+#: qcsrc/common/notifications.qh:526
 #, c-format
 msgid "^BG%s^K1 is now thinking with portals%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:515
+#: qcsrc/common/notifications.qh:527
 #, c-format
 msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:516
+#: qcsrc/common/notifications.qh:528
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:517
+#: qcsrc/common/notifications.qh:529
 #, c-format
 msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:518
+#: qcsrc/common/notifications.qh:530
 #, c-format
 msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:536
+#: qcsrc/common/notifications.qh:548
 msgid "^BGYou are attacking!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:537
+#: qcsrc/common/notifications.qh:549
 msgid "^BGYou are defending!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:538
+#: qcsrc/common/notifications.qh:550
 msgid "^F4Begin!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:539
+#: qcsrc/common/notifications.qh:551
 msgid "^F4Game starts in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:540
+#: qcsrc/common/notifications.qh:552
 msgid "^F4Round starts in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:541
+#: qcsrc/common/notifications.qh:553
 msgid "^F4Round cannot start"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:544
+#: qcsrc/common/notifications.qh:556
 msgid "^F2Don't camp!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:545
+#: qcsrc/common/notifications.qh:557
 msgid ""
 "^BGYou are now free.\n"
 "^BGFeel free to ^F2try to capture^BG the flag again\n"
 "^BGif you think you will succeed."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:546
+#: qcsrc/common/notifications.qh:558
 msgid ""
 "^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."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:547
+#: qcsrc/common/notifications.qh:559
 msgid "^BGYou captured the ^TC^TT^BG flag!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:548
+#: qcsrc/common/notifications.qh:560
 #, c-format
 msgid "^BGToo many flag throws! Throwing disabled for %s."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:549
+#: qcsrc/common/notifications.qh:561
 #, c-format
 msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:550
+#: qcsrc/common/notifications.qh:562
 #, c-format
 msgid "^BGYou received the ^TC^TT^BG flag from %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:551
+#: qcsrc/common/notifications.qh:563
 #, c-format
 msgid "^BG%s^BG requests you to pass the flag%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:552
+#: qcsrc/common/notifications.qh:564
 #, c-format
 msgid "^BGRequesting %s^BG to pass you the flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:553
+#: qcsrc/common/notifications.qh:565
 #, c-format
 msgid "^BGYou passed the ^TC^TT^BG flag to %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:554
+#: qcsrc/common/notifications.qh:566
 msgid "^BGYou got the ^TC^TT^BG flag!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:555
+#: qcsrc/common/notifications.qh:567
 #, c-format
 msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:556
+#: qcsrc/common/notifications.qh:568
 #, c-format
 msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:557
+#: qcsrc/common/notifications.qh:569
 #, c-format
 msgid "^BGYour %steam mate^BG got the flag! Protect them!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:558
+#: qcsrc/common/notifications.qh:570
 #, c-format
 msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:559
+#: qcsrc/common/notifications.qh:571
 msgid "^BGYou returned the ^TC^TT^BG flag!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:560
+#: qcsrc/common/notifications.qh:572
 msgid "^BGStalemate! Enemies can now see you on radar!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:561
+#: qcsrc/common/notifications.qh:573
 msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou fragged ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou scored against ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou fragged ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou scored against ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:570
+#: qcsrc/common/notifications.qh:582
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:571
+#: qcsrc/common/notifications.qh:583
 #, c-format
 msgid ""
 "^BGYou have been moved into a different team\n"
 "You are now on: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't go against your team mates!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't shoot your team mates!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Die camper!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Reconsider your tactics, camper!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:574
+#: qcsrc/common/notifications.qh:586
 msgid "^K1You unfairly eliminated yourself!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:575
+#: qcsrc/common/notifications.qh:587
 #, c-format
 msgid "^K1You were %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:576
+#: qcsrc/common/notifications.qh:588
 msgid "^K1You couldn't catch your breath!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:577
+#: qcsrc/common/notifications.qh:589
 msgid "^K1You hit the ground with a crunch!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You felt a little too hot!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You got a little bit too crispy!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You killed your own dumb self!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You need to be more careful!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:580
+#: qcsrc/common/notifications.qh:592
 msgid "^K1You couldn't stand the heat!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
 msgid "^K1Tastes like chicken!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:594
 msgid "^K1You forgot to put the pin back in!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You are respawning for running out of ammo..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You were killed for running out of ammo..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You grew too old without taking your medicine"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You need to preserve your health"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:584
+#: qcsrc/common/notifications.qh:597
 msgid "^K1You became a shooting star!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:585
+#: qcsrc/common/notifications.qh:598
 msgid "^K1You melted away in slime!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You committed suicide!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You ended it all!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:587
+#: qcsrc/common/notifications.qh:600
 msgid "^K1You got stuck in a swamp!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:588
+#: qcsrc/common/notifications.qh:601
 #, c-format
 msgid "^BGYou are now on: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:589
+#: qcsrc/common/notifications.qh:602
 msgid "^K1You died in an accident!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You had an unfortunate run in with a turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You were fragged by a turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You had an unfortunate run in with an eWheel turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You were fragged by an eWheel turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You had an unfortunate run in with a Walker turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You were fragged by a Walker turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:593
+#: qcsrc/common/notifications.qh:606
 msgid "^K1You got caught in the blast of a Bumblebee explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:594
+#: qcsrc/common/notifications.qh:607
 msgid "^K1You were crushed by a vehicle!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:595
+#: qcsrc/common/notifications.qh:608
 msgid "^K1You were caught in a Raptor cluster bomb!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:596
+#: qcsrc/common/notifications.qh:609
 msgid "^K1You got caught in the blast of a Raptor explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:597
+#: qcsrc/common/notifications.qh:610
 msgid "^K1You got caught in the blast of a Spiderbot explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:598
+#: qcsrc/common/notifications.qh:611
 msgid "^K1You were blasted to bits by a Spiderbot rocket!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:599
+#: qcsrc/common/notifications.qh:612
 msgid "^K1You got caught in the blast of a Racer explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:600
+#: qcsrc/common/notifications.qh:613
 msgid "^K1You couldn't find shelter from a Racer rocket!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:601
+#: qcsrc/common/notifications.qh:614
 msgid "^K1Watch your step!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were fragged by ^BG%s^K1, a team mate"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were scored against by ^BG%s^K1, a team mate"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:604
+#: qcsrc/common/notifications.qh:617
 msgid ""
 "^K1Stop idling!\n"
 "^BGDisconnecting in ^COUNT..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:605
+#: qcsrc/common/notifications.qh:618
 msgid "^F2You picked up some extra lives"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:606
+#: qcsrc/common/notifications.qh:619
 #, c-format
 msgid "^K3You froze ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:607
+#: qcsrc/common/notifications.qh:620
 #, c-format
 msgid "^K1You were frozen by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:608
+#: qcsrc/common/notifications.qh:621
 #, c-format
 msgid "^K3You revived ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:609
+#: qcsrc/common/notifications.qh:622
 msgid "^K3You revived yourself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:610
+#: qcsrc/common/notifications.qh:623
 #, c-format
 msgid "^K3You were revived by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:611
+#: qcsrc/common/notifications.qh:624
 #, c-format
 msgid "^K3You were automatically revived after %s second(s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:614
+#: qcsrc/common/notifications.qh:627
 msgid "^K1You froze yourself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:615
+#: qcsrc/common/notifications.qh:628
 msgid "^K1Round already started, you spawn as frozen"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:622
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:636
 msgid ""
 "^K1No spawnpoints available!\n"
 "Hope your team can fix it..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:623
+#: qcsrc/common/notifications.qh:637
 msgid ""
 "^K1You may not join the game at this time.\n"
 "The player limit reached maximum capacity."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:626
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
 msgid "^BGKilling people while you don't have the ball gives no points!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:642
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Help the key carriers to meet!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:628
+#: qcsrc/common/notifications.qh:643
 msgid ""
 "^BGAll keys are in ^TC^TT team^BG's hands!\n"
 "Interfere ^F4NOW^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:629
+#: qcsrc/common/notifications.qh:644
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Meet the other key carriers ^F4NOW^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:630
+#: qcsrc/common/notifications.qh:645
 msgid "^F4Round will start in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:646
 msgid "^BGScanning frequency range..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:647
 msgid "^BGYou are starting with the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
 #, c-format
 msgid ""
 "^BGWaiting for players to join...\n"
 "Need active players for: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:650
 #, c-format
 msgid "^BGWaiting for %s player(s) to join..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:651
 msgid "^F4^COUNT^BG left to find some ammo!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:653
 #, c-format
 msgid "^F2Extra lives remaining: ^K1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:654
 msgid "^BGSecondary fire inflicts no damage!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:655
 #, c-format
 msgid "^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:656
 #, c-format
 msgid ""
 "^F2^COUNT^BG until weapon change...\n"
 "Next weapon: ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:657
 #, c-format
 msgid "^F2Active weapon: ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:658
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep fragging until we have a winner!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep scoring until we have a winner!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:660
 #, c-format
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "^BGAdded ^F4%s^BG to the game!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:646
+#: qcsrc/common/notifications.qh:661
 msgid "^F2Invisibility has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:662
 msgid "^F2Shield has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:663
 msgid "^F2Speed has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:664
 msgid "^F2Strength has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:665
 msgid "^F2You are invisible"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:666
 msgid "^F2Shield surrounds you"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:667
 msgid "^F2You are on speed"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:668
 msgid "^F2Strength infuses your weapons with devastating power"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:669
 msgid "^F2The race is over, finish your lap!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:670
 msgid "^F2Superweapons have broken down"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:671
 msgid "^F2Superweapons have been lost"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:672
 msgid "^F2You now have a superweapon"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:673
 msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:674
 msgid "^K1Changing team in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:675
 msgid "^K1Spectating in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:676
 msgid "^K1Suicide in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:677
 msgid "^F4Timeout begins in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:678
 msgid "^F4Timeout ends in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
 #, c-format
 msgid " (near %s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "primary"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "secondary"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:980
 #, c-format
 msgid " ^F1(Press %s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:989
 #, c-format
 msgid " with %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 msgid "TRIPLE FRAG! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 unlocked RAGE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 msgid "RAGE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 started a MASSACRE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 msgid "MASSACRE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 executed MAYHEM! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 msgid "MAYHEM! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 is a BERSERKER! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 msgid "BERSERKER! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 inflicts CARNAGE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 msgid "CARNAGE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 msgid "ARMAGEDDON! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1010
 #, c-format
 msgid "%s(^F1Bot^BG)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1012
 #, c-format
 msgid "%s(Ping ^F1%d^BG)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1018
 #, c-format
 msgid ""
 "\n"
 "(Health ^1%d^BG / Armor ^2%d^BG)%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1020
 #, c-format
 msgid ""
 "\n"
 "(^F4Dead^BG)%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
 #, c-format
 msgid "%d score spree! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1069
 #, c-format
 msgid "%d frag spree! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First blood! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First score! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First casualty! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First victim! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1127
 #, c-format
 msgid "%s^K1 has %d frags in a row! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1128
 #, c-format
 msgid "%s^K1 made %d scores in a row! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1146
 #, c-format
 msgid "%s^K1 drew first blood! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1147
 #, c-format
 msgid "%s^K1 got the first score! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1163
 #, c-format
 msgid ", ending their %d frag spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1164
 #, c-format
 msgid ", ending their %d score spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1178
 #, c-format
 msgid ", losing their %d frag spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1179
 #, c-format
 msgid ", losing their %d score spree"
 msgstr ""
@@ -3111,11 +3205,11 @@ msgstr " sync - recarrega todas as cvars no menu actual\n"
 msgid "  directmenu ITEM - select a menu item as main item\n"
 msgstr " directmenu ITEM - selecciona um item do menu como o principal\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:62
+#: qcsrc/menu/command/menu_cmd.qc:68
 msgid "Available options:\n"
 msgstr "Opções disponíveis:\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:113
+#: qcsrc/menu/command/menu_cmd.qc:119
 msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
 msgstr ""
 "Comando inválido. Para uma lista de comandos suportados, escrever menu_cmd "
@@ -3128,7 +3222,7 @@ msgstr ""
 "NOTA: marca texto %s demasiado larga para etiqueta, condensada por factor "
 "%f\n"
 
-#: qcsrc/menu/item/listbox.c:302
+#: qcsrc/menu/item/listbox.c:382
 #, c-format
 msgid "Item %d"
 msgstr "Item %d"
@@ -3157,23 +3251,27 @@ msgstr "???"
 msgid "Level %d: %s"
 msgstr "Nível %d: %s"
 
-#: qcsrc/menu/xonotic/cvarlist.c:85
-msgid "will be saved to config.cfg"
-msgstr "vai ser guardado para config.cfg"
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr ""
 
-#: qcsrc/menu/xonotic/cvarlist.c:87
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
 msgid "will not be saved"
 msgstr "não será guardado"
 
-#: qcsrc/menu/xonotic/cvarlist.c:89
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr "vai ser guardado para config.cfg"
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
 msgid "private"
 msgstr "privado"
 
-#: qcsrc/menu/xonotic/cvarlist.c:91
+#: qcsrc/menu/xonotic/cvarlist.c:95
 msgid "engine setting"
 msgstr "definição do motor"
 
-#: qcsrc/menu/xonotic/cvarlist.c:93
+#: qcsrc/menu/xonotic/cvarlist.c:97
 msgid "read only"
 msgstr "apenas ler"
 
@@ -3182,6 +3280,7 @@ msgid "Credits"
 msgstr "Créditos"
 
 #: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
@@ -3190,7 +3289,7 @@ msgstr "Créditos"
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:77
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
 #: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
 msgid "OK"
 msgstr "OK"
@@ -3199,7 +3298,7 @@ msgstr "OK"
 msgid "Welcome"
 msgstr "Bem-Vindo"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:40
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
 msgid ""
 "Welcome to Xonotic, please select your language preference and enter your "
 "player name to get started.  You can change these options later through the "
@@ -3208,34 +3307,34 @@ msgstr ""
 "Bem-vindo ao Xonotic, por favor escolhe a linguagem de preferência e insere "
 "o nick para começar. Pode mudar as opções mais tarde nas opções."
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
 msgid "Name:"
 msgstr "Nome:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:68
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
 #: qcsrc/menu/xonotic/dialog_settings_user.c:65
 msgid "Text language:"
 msgstr "Linguagem do texto:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
 msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
 msgstr "Permitir utilizacao do nick nas estatisticas em stats.xonotic.org?"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
 msgid "ALWU2N^Yes"
 msgstr "ALWU2N^Sim"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
 msgid "ALWU2N^No"
 msgstr "ALWU2N^Nao"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
 msgid "ALWU2N^Undecided"
 msgstr "ALWU2N^Nao decidido"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
 msgid "Save settings"
 msgstr "Guardar Definições"
 
@@ -3553,7 +3652,7 @@ msgstr "Radar:"
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
-#: qcsrc/menu/xonotic/util.qc:708
+#: qcsrc/menu/xonotic/util.qc:758
 msgid "Alpha:"
 msgstr "Alfa:"
 
@@ -3735,24 +3834,24 @@ msgstr "Configuração do painel do HUD"
 msgid "Panel background defaults:"
 msgstr "Fundo do painel por defeito:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:683
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
 msgid "Background:"
 msgstr "Fundo:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:686
-#: qcsrc/menu/xonotic/util.qc:702 qcsrc/menu/xonotic/util.qc:719
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
 msgid "Disable"
 msgstr "Desactivar"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:691
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
 msgid "Color:"
 msgstr "Cor:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:699
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
 msgid "Border size:"
 msgstr "Tamanho do limite:"
 
@@ -3761,11 +3860,11 @@ msgstr "Tamanho do limite:"
 msgid "Team color:"
 msgstr "Cor da Equipa:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:725
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
 msgid "Test team color in configure mode"
 msgstr "Testa cor da equipa no modo de configuração"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:728
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
 msgid "Padding:"
 msgstr "Padding:"
 
@@ -3813,6 +3912,53 @@ msgstr "Y:"
 msgid "Exit setup"
 msgstr "Sair da configuração"
 
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr "Spawn"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr "Remover"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr "Skin:"
+
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:4
 msgid "Multiplayer"
 msgstr "Multi-jogador"
@@ -3854,6 +4000,7 @@ msgstr "Usar definição específica do mapa"
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
 msgid "Point limit:"
 msgstr "Limite de pontos:"
 
@@ -3918,7 +4065,7 @@ msgid "Mutators..."
 msgstr "Mutators..."
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
 msgid "Advanced settings..."
 msgstr "Definições avançadas..."
 
@@ -3954,7 +4101,7 @@ msgstr "Voltas:"
 msgid "Goals:"
 msgstr "Golos:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
 msgid "Frag limit:"
 msgstr "Limite de Frags:"
 
@@ -4254,27 +4401,31 @@ msgid "Join"
 msgstr "Juntar"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
 msgid "SRVS^Empty"
 msgstr "Vazio"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:37
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
 msgid "SRVS^Full"
 msgstr "Total"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:41
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
 msgid "Pause"
 msgstr "Pausar"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:53
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
 msgid "Address:"
 msgstr "Endereço:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:64
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
 msgid "Info..."
 msgstr "Informação..."
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:69
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
 msgid "Join!"
 msgstr "Juntar!"
@@ -4289,9 +4440,9 @@ msgid "%d/%d"
 msgstr "%d/%d"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
-#: qcsrc/menu/xonotic/util.qc:685 qcsrc/menu/xonotic/util.qc:701
-#: qcsrc/menu/xonotic/util.qc:710 qcsrc/menu/xonotic/util.qc:718
-#: qcsrc/menu/xonotic/util.qc:730
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
 msgid "Default"
 msgstr "Por Defeito"
 
@@ -4769,10 +4920,6 @@ msgstr "Não"
 msgid "Sandbox Tools"
 msgstr "Ferramentas Sandbox"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
-msgid "Spawn"
-msgstr "Spawn"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
 msgid "Remove *"
 msgstr "Remover *"
@@ -4805,10 +4952,6 @@ msgstr "Separar de *"
 msgid "Visual object properties for *:"
 msgstr "Propriedades de objecto visual para *"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
-msgid "Set skin:"
-msgstr "Skin:"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
 msgid "Set alpha:"
 msgstr "Definir alfa:"
@@ -5440,175 +5583,179 @@ msgid "Client UDP port:"
 msgstr "Port UDP do Cliente:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "Use encryption (AES) when available"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
 msgid "Show netgraph"
 msgstr "Mostrar gráfico-net"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
 msgid "Client-side movement prediction"
 msgstr "Previsão de movimento pelo Cliente"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:63
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
 msgid "Movement error compensation"
 msgstr "Compensação do erro do movimento"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
 msgid "Downloads:"
 msgstr "Transferências:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:70
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:82
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
 msgid "Maximum:"
 msgstr "Máximo:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
 msgid "Speed (kB/s):"
 msgstr "Velocidade (kB/s):"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:79
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
 msgid "Framerate:"
 msgstr "Imagens por segundo:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:84
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
 msgid "MAXFPS^5 fps"
 msgstr "MAXFPS^5 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:85
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
 msgid "MAXFPS^10 fps"
 msgstr "MAXFPS^10 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
 msgid "MAXFPS^20 fps"
 msgstr "MAXFPS^20 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:87
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
 msgid "MAXFPS^30 fps"
 msgstr "MAXFPS^30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
 msgid "MAXFPS^40 fps"
 msgstr "MAXFPS^40 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
 msgid "MAXFPS^50 fps"
 msgstr "MAXFPS^50 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
 msgid "MAXFPS^60 fps"
 msgstr "MAXFPS^60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
 msgid "MAXFPS^70 fps"
 msgstr "MAXFPS^70 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
 msgid "MAXFPS^100 fps"
 msgstr "MAXFPS^100 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
 msgid "MAXFPS^125 fps"
 msgstr "MAXFPS^125 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
 msgid "MAXFPS^200 fps"
 msgstr "MAXFPS^200 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
 msgid "MAXFPS^Unlimited"
 msgstr "MAXFPS^Ilimitado fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
 msgid "Target:"
 msgstr "Alvo:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:101
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
 msgid "TRGT^Disabled"
 msgstr "TRGT^Desligado"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:102
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
 msgid "TRGT^30 fps"
 msgstr "TRGT^30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
 msgid "TRGT^40 fps"
 msgstr "TRGT^40 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:104
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
 msgid "TRGT^50 fps"
 msgstr "TRGT^50 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
 msgid "TRGT^60 fps"
 msgstr "TRGT^60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
 msgid "TRGT^100 fps"
 msgstr "TRGT^100 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
 msgid "TRGT^125 fps"
 msgstr "TRGT^125 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
 msgid "TRGT^200 fps"
 msgstr "TRGT^200 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
 msgid "Idle limit:"
 msgstr "Tempo parado limite:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:114
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
 msgid "IDLFPS^10 fps"
 msgstr "IDLFPS^10 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:115
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
 msgid "IDLFPS^20 fps"
 msgstr "IDLFPS^20 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
 msgid "IDLFPS^30 fps"
 msgstr "IDLFPS^30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:117
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
 msgid "IDLFPS^60 fps"
 msgstr "IDLFPS^60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
 msgid "IDLFPS^Unlimited"
 msgstr "IDLFPS^Unlimited"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:123
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
 msgid "Show frames per second"
 msgstr "Mostrar Frames por Segundo"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:126
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
 msgid "Save processing time for other apps"
 msgstr "Salvar tempo de processamento para outras aplicações"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
 msgid "Menu tooltips:"
 msgstr "Pistas de Menu:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:132
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
 msgid "TLTIP^Disabled"
 msgstr "TLTIP^Desligado"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:133
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
 msgid "TLTIP^Standard"
 msgstr "TLTIP^Normal"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
 msgid "TLTIP^Advanced"
 msgstr "TLTIP^Avançado"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
 msgid "Show current time"
 msgstr "Mostrar tempo corrente"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:140
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
 msgid "Show current date"
 msgstr "Mostrar data corrente"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
 msgid "Enable developer mode"
 msgstr "Activar modo de criador"
 
@@ -5632,7 +5779,7 @@ msgstr "Tipo:"
 msgid "Value:"
 msgstr "Valor:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:72
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
 msgid "Description:"
 msgstr "Descrição:"
 
@@ -5660,6 +5807,26 @@ msgstr "Permitir estatísticas seguir o cliente"
 msgid "Allow player statistics to use your nickname"
 msgstr "Permitir que utilização de estatísticas use nickname"
 
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
 #: qcsrc/menu/xonotic/dialog_settings_video.c:26
 msgid "Resolution:"
 msgstr "Resolução:"
@@ -5910,7 +6077,7 @@ msgstr "rosa"
 msgid "spectate"
 msgstr "espectador"
 
-#: qcsrc/menu/xonotic/mainwindow.c:39 qcsrc/menu/xonotic/mainwindow.c:42
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
 msgid "Do not press this button again!"
 msgstr "Não voltar a carregar neste botão!"
 
@@ -5942,31 +6109,63 @@ msgstr "espectador"
 msgid "<no model found>"
 msgstr "<nenhum modelo encontrado>"
 
-#: qcsrc/menu/xonotic/serverlist.c:190
-msgid "Remove"
-msgstr "Remover"
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:192
-msgid "Bookmark"
-msgstr "Marcar"
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:553
+#: qcsrc/menu/xonotic/serverlist.c:923
 msgid "Ping"
 msgstr "Ping"
 
-#: qcsrc/menu/xonotic/serverlist.c:554
+#: qcsrc/menu/xonotic/serverlist.c:924
 msgid "Host name"
 msgstr "Nome do Host"
 
-#: qcsrc/menu/xonotic/serverlist.c:555
+#: qcsrc/menu/xonotic/serverlist.c:925
 msgid "Map"
 msgstr "Mapa"
 
-#: qcsrc/menu/xonotic/serverlist.c:556
+#: qcsrc/menu/xonotic/serverlist.c:926
 msgid "Type"
 msgstr "Tipo"
 
-#: qcsrc/menu/xonotic/serverlist.c:557
+#: qcsrc/menu/xonotic/serverlist.c:927
 msgid "Players"
 msgstr "Jogadores"
 
@@ -6006,32 +6205,32 @@ msgstr ""
 msgid "%s dB"
 msgstr "%s dB"
 
-#: qcsrc/menu/xonotic/slider_resolution.c:103
+#: qcsrc/menu/xonotic/slider_resolution.c:116
 #, c-format
 msgid "%dx%d (%d:%d)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/slider_resolution.c:106
+#: qcsrc/menu/xonotic/slider_resolution.c:119
 #, c-format
 msgid "%dx%d"
 msgstr "%dx%d"
 
-#: qcsrc/menu/xonotic/util.qc:298
+#: qcsrc/menu/xonotic/util.qc:308
 #, c-format
 msgid "error receiving update notification: status is %d\n"
 msgstr "erro ao receber notificação: o estado e %d\n"
 
-#: qcsrc/menu/xonotic/util.qc:303
+#: qcsrc/menu/xonotic/util.qc:313
 msgid "error: received HTML instead of an update notification\n"
 msgstr "erro: recebido HTML em vez de notificação de actualização\n"
 
-#: qcsrc/menu/xonotic/util.qc:308
+#: qcsrc/menu/xonotic/util.qc:318
 msgid "error: received carriage returns from update notification server\n"
 msgstr ""
 "erro: recebido 'carriage return' de um servidor de notificação de "
 "actualização\n"
 
-#: qcsrc/menu/xonotic/util.qc:329
+#: qcsrc/menu/xonotic/util.qc:397
 #, c-format
 msgid ""
 "Update can be downloaded at:\n"
@@ -6040,21 +6239,21 @@ msgstr ""
 "Actualização pode ser transferida em:\n"
 "%s\n"
 
-#: qcsrc/menu/xonotic/util.qc:447
+#: qcsrc/menu/xonotic/util.qc:497
 msgid "Autogenerating mapinfo for newly added maps..."
 msgstr "Informação de mapas auto-gerada para novos mapas..."
 
-#: qcsrc/menu/xonotic/util.qc:476
+#: qcsrc/menu/xonotic/util.qc:526
 #, c-format
 msgid "^1%s TEST BUILD"
 msgstr "^1%s VERSAO DE TESTE"
 
-#: qcsrc/menu/xonotic/util.qc:491
+#: qcsrc/menu/xonotic/util.qc:541
 #, c-format
 msgid "Update to %s now!"
 msgstr "Actualize para %s agora!"
 
-#: qcsrc/menu/xonotic/util.qc:576
+#: qcsrc/menu/xonotic/util.qc:626
 msgid ""
 "^1ERROR: Texture compression is required but not supported.\n"
 "^1Expect visual problems.\n"
@@ -6062,11 +6261,11 @@ msgstr ""
 "^1ERRO: A compressão de texturas é necessária mas não é suportada.\n"
 "^1Possíveis problemas visuais.\n"
 
-#: qcsrc/menu/xonotic/util.qc:696
+#: qcsrc/menu/xonotic/util.qc:746
 msgid "Use default"
 msgstr "Usar defeito"
 
-#: qcsrc/menu/xonotic/util.qc:716
+#: qcsrc/menu/xonotic/util.qc:766
 msgid "Team Color:"
 msgstr "Cor da Equipa:"
 
index 5842a38dbaf634ea3ba8250ef173cd52c5c14e8f..3611887733625dcb5756d6dea1438980c276065d 100644 (file)
@@ -3,13 +3,15 @@
 # This file is distributed under the same license as the PACKAGE package.
 #
 # Translators:
+# busterdbk <busterdbk@gmail.com>, 2013
+# busterdbk <busterdbk@gmail.com>, 2013
 # MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>, 2011
 msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-03 11:55+0200\n"
-"PO-Revision-Date: 2013-10-03 10:08+0000\n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
 "Last-Translator: divVerent <divVerent@xonotic.org>\n"
 "Language-Team: Romanian (http://www.transifex.com/projects/p/xonotic/"
 "language/ro/)\n"
@@ -22,7 +24,7 @@ msgstr ""
 
 #: qcsrc/client/Main.qc:21
 msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!"
-msgstr ""
+msgstr "EROARE - MENIUL ESTE VIZIBIL DAR NU S-A DEFINIT NICIUN MENIU!"
 
 #: qcsrc/client/Main.qc:46
 msgid ""
@@ -35,12 +37,7 @@ msgstr ""
 msgid "^4CSQC Build information: ^1%s\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
-#, c-format
-msgid "trying to switch to unsupported team %d\n"
-msgstr ""
-
-#: qcsrc/client/Main.qc:835
+#: qcsrc/client/Main.qc:836
 #, c-format
 msgid ""
 "Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
@@ -58,27 +55,27 @@ msgstr ""
 msgid "%s (%s)"
 msgstr ""
 
-#: qcsrc/client/View.qc:1096
+#: qcsrc/client/View.qc:1165
 msgid "Revival progress"
 msgstr ""
 
 #: qcsrc/client/hud.qc:186
 #, c-format
 msgid " (-%dL)"
-msgstr ""
+msgstr "(-%dL)"
 
 #: qcsrc/client/hud.qc:191
 #, c-format
 msgid " (+%dL)"
-msgstr ""
+msgstr "(+%dL)"
 
 #: qcsrc/client/hud.qc:210
 msgid "Start line"
-msgstr ""
+msgstr "Linie de start"
 
 #: qcsrc/client/hud.qc:212 qcsrc/client/hud.qc:216
 msgid "Finish line"
-msgstr ""
+msgstr "Linie de sosire"
 
 #: qcsrc/client/hud.qc:214
 #, c-format
@@ -90,213 +87,209 @@ msgstr ""
 msgid "%s (%s %s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:829
+#: qcsrc/client/hud.qc:832
 msgid "Out of ammo"
 msgstr ""
 
-#: qcsrc/client/hud.qc:833
+#: qcsrc/client/hud.qc:836
 msgid "Don't have"
 msgstr ""
 
-#: qcsrc/client/hud.qc:837
+#: qcsrc/client/hud.qc:840
 msgid "Unavailable"
-msgstr ""
+msgstr "Indisponibil"
 
-#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
 #, c-format
 msgid "Player %d"
-msgstr ""
+msgstr "Jucator: %d"
 
-#: qcsrc/client/hud.qc:2384
+#: qcsrc/client/hud.qc:2369
 msgid "^1Intermediate 1 (+15.42)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
 #, c-format
 msgid "^1PENALTY: %.1f (%s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2471
+#: qcsrc/client/hud.qc:2456
 #, c-format
 msgid "^2PENALTY: %.1f (%s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2501
+#: qcsrc/client/hud.qc:2486
 msgid "^1You must answer before entering hud configure mode\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2506
+#: qcsrc/client/hud.qc:2491
 msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2586
+#: qcsrc/client/hud.qc:2570
 msgid "A vote has been called for:"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2588
+#: qcsrc/client/hud.qc:2572
 msgid "Allow servers to store and display your name?"
-msgstr ""
+msgstr "Permiti serverelor sa-ti stocheze si afiseze numele? "
 
-#: qcsrc/client/hud.qc:2592
+#: qcsrc/client/hud.qc:2576
 msgid "^1Configure the HUD"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2596
+#: qcsrc/client/hud.qc:2580
 #, c-format
 msgid "Yes (%s): %d"
-msgstr ""
+msgstr "Da (%s): %d"
 
-#: qcsrc/client/hud.qc:2598
+#: qcsrc/client/hud.qc:2582
 #, c-format
 msgid "No (%s): %d"
-msgstr ""
+msgstr "Nu (%s): %d"
 
-#: qcsrc/client/hud.qc:3169 qcsrc/client/hud.qc:3172 qcsrc/client/hud.qc:3174
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
 msgid "Personal best"
-msgstr ""
+msgstr "Record personal"
 
-#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
 msgid "Server best"
-msgstr ""
+msgstr "Record server"
 
-#: qcsrc/client/hud.qc:3552
+#: qcsrc/client/hud.qc:3528
 msgid "^3Player^7: This is the chat area."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3618
+#: qcsrc/client/hud.qc:3593
 #, c-format
 msgid "FPS: %.*f"
-msgstr ""
+msgstr "FPS: %.*f"
 
-#: qcsrc/client/hud.qc:3683
+#: qcsrc/client/hud.qc:3657
 msgid "^1Observing"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
 #, c-format
 msgid "^1Spectating: ^7%s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3693
+#: qcsrc/client/hud.qc:3667
 #, c-format
 msgid "^1Press ^3%s^1 to spectate"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3695
+#: qcsrc/client/hud.qc:3669
 #, c-format
 msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3699
+#: qcsrc/client/hud.qc:3673
 #, c-format
 msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3701
+#: qcsrc/client/hud.qc:3675
 #, c-format
 msgid "^1Press ^3%s^1 to observe"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3704
+#: qcsrc/client/hud.qc:3678
 #, c-format
 msgid "^1Press ^3%s^1 for gamemode info"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3708
-msgid "^1Wait for your turn to join"
-msgstr ""
-
-#: qcsrc/client/hud.qc:3714
+#: qcsrc/client/hud.qc:3686
 msgid "^1Match has already begun"
-msgstr ""
+msgstr "^1Meciul deja a inceput"
 
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3688
 msgid "^1You have no more lives left"
-msgstr ""
+msgstr "^1Nu mai ai vieti ramase"
 
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
 #, c-format
 msgid "^1Press ^3%s^1 to join"
-msgstr ""
+msgstr "^1Apasa ^3%s^1 pentru a te alatura jocului"
 
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3701
 #, c-format
 msgid "^1Game starts in ^3%d^1 seconds"
-msgstr ""
+msgstr "^1Jocul incepe in ^3%d^1 secunde"
 
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3708
 msgid "^2Currently in ^1warmup^2 stage!"
-msgstr ""
+msgstr "^2Momentan in ^1incalzire^2!"
 
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3723
 #, c-format
 msgid "%sPress ^3%s%s to end warmup"
-msgstr ""
+msgstr "%sApasa ^3%s%s pentru a termina incalzirea"
 
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3725
 #, c-format
 msgid "%sPress ^3%s%s once you are ready"
-msgstr ""
+msgstr "%sApasa ^3%s%s cand esti pregatit"
 
-#: qcsrc/client/hud.qc:3758
+#: qcsrc/client/hud.qc:3730
 msgid "^2Waiting for others to ready up to end warmup..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3732
 msgid "^2Waiting for others to ready up..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3738
 #, c-format
 msgid "^2Press ^3%s^2 to end warmup"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3759
 msgid "Teamnumbers are unbalanced!"
-msgstr ""
+msgstr "Numarul de jucatori din echipe nu este echilibrat! "
 
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3764
 #, c-format
 msgid " Press ^3%s%s to adjust"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3772
 msgid "^7Press ^3ESC ^7to show HUD options."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3774
 msgid "^3Doubleclick ^7a panel for panel-specific options."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3776
 msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3778
 msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3825
 msgid " qu/s"
-msgstr ""
+msgstr "qu/s"
 
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3829
 msgid " m/s"
-msgstr ""
+msgstr "m/s"
 
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3833
 msgid " km/h"
-msgstr ""
+msgstr "km/h"
 
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3837
 msgid " mph"
-msgstr ""
+msgstr "mph"
 
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3841
 msgid " knots"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4497
 msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
 msgstr ""
 
@@ -312,25 +305,25 @@ msgstr ""
 
 #: qcsrc/client/mapvoting.qc:28
 msgid " (1 vote)"
-msgstr ""
+msgstr "(1 vot)"
 
 #: qcsrc/client/mapvoting.qc:30
 #, c-format
 msgid " (%d votes)"
-msgstr ""
+msgstr "(%d voturi)"
 
 #: qcsrc/client/mapvoting.qc:118
 msgid "Don't care"
-msgstr ""
+msgstr "Nu-mi pasa"
 
 #: qcsrc/client/mapvoting.qc:203
 msgid "Vote for a map"
-msgstr ""
+msgstr "Voteaza o harta"
 
 #: qcsrc/client/mapvoting.qc:209
 #, c-format
 msgid "%d seconds left"
-msgstr ""
+msgstr "%d secunde ramase"
 
 #: qcsrc/client/mapvoting.qc:273
 msgid ""
@@ -345,16 +338,16 @@ msgstr ""
 msgid "Requesting preview...\n"
 msgstr ""
 
-#: qcsrc/client/miscfunctions.qc:98
+#: qcsrc/client/miscfunctions.qc:101
 msgid "Trying to remove a team which is not in the teamlist!"
 msgstr ""
 
-#: qcsrc/client/movetypes.qc:163
+#: qcsrc/client/movetypes.qc:227
 #, c-format
 msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
 
-#: qcsrc/client/movetypes.qc:166
+#: qcsrc/client/movetypes.qc:230
 #, c-format
 msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
@@ -377,7 +370,7 @@ msgstr ""
 
 #: qcsrc/client/scoreboard.qc:23
 msgid "SCO^deaths"
-msgstr ""
+msgstr "SCO^morti"
 
 #: qcsrc/client/scoreboard.qc:24
 msgid "SCO^destroyed"
@@ -457,7 +450,7 @@ msgstr ""
 
 #: qcsrc/client/scoreboard.qc:43
 msgid "SCO^ping"
-msgstr ""
+msgstr "Latenta"
 
 #: qcsrc/client/scoreboard.qc:44
 msgid "SCO^pl"
@@ -495,164 +488,164 @@ msgstr ""
 msgid "SCO^ticks"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:251
+#: qcsrc/client/scoreboard.qc:237
 msgid ""
 "You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:252
+#: qcsrc/client/scoreboard.qc:238
 msgid "^3|---------------------------------------------------------------|\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:253
+#: qcsrc/client/scoreboard.qc:239
 msgid "Usage:\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:254
+#: qcsrc/client/scoreboard.qc:240
 msgid "^2scoreboard_columns_set default\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:255
+#: qcsrc/client/scoreboard.qc:241
 msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:256
+#: qcsrc/client/scoreboard.qc:242
 msgid "The following field names are recognized (case insensitive):\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:257
+#: qcsrc/client/scoreboard.qc:243
 msgid ""
 "You can use a ^3|^7 to start the right-aligned fields.\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:259
+#: qcsrc/client/scoreboard.qc:245
 msgid "^3name^7 or ^3nick^7             Name of a player\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:260
+#: qcsrc/client/scoreboard.qc:246
 msgid "^3ping^7                     Ping time\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:261
+#: qcsrc/client/scoreboard.qc:247
 msgid "^3pl^7                       Packet loss\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:262
+#: qcsrc/client/scoreboard.qc:248
 msgid "^3kills^7                    Number of kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:263
+#: qcsrc/client/scoreboard.qc:249
 msgid "^3deaths^7                   Number of deaths\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:264
+#: qcsrc/client/scoreboard.qc:250
 msgid "^3suicides^7                 Number of suicides\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:265
+#: qcsrc/client/scoreboard.qc:251
 msgid "^3frags^7                    kills - suicides\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:266
+#: qcsrc/client/scoreboard.qc:252
 msgid "^3kd^7                       The kill-death ratio\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:267
+#: qcsrc/client/scoreboard.qc:253
 msgid "^3sum^7                      frags - deaths\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:268
+#: qcsrc/client/scoreboard.qc:254
 msgid ""
 "^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
 "captured\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:269
+#: qcsrc/client/scoreboard.qc:255
 msgid ""
 "^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
 "ball (Keepaway) was picked up\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:270
+#: qcsrc/client/scoreboard.qc:256
 msgid "^3captime^7                  Time of fastest cap (CTF)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:271
+#: qcsrc/client/scoreboard.qc:257
 msgid "^3fckills^7                  Number of flag carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:272
+#: qcsrc/client/scoreboard.qc:258
 msgid "^3returns^7                  Number of flag returns\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:273
+#: qcsrc/client/scoreboard.qc:259
 msgid "^3drops^7                    Number of flag drops\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:274
+#: qcsrc/client/scoreboard.qc:260
 msgid "^3lives^7                    Number of lives (LMS)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:275
+#: qcsrc/client/scoreboard.qc:261
 msgid "^3rank^7                     Player rank\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:276
+#: qcsrc/client/scoreboard.qc:262
 msgid "^3pushes^7                   Number of players pushed into void\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:277
+#: qcsrc/client/scoreboard.qc:263
 msgid ""
 "^3destroyed^7                Number of keys destroyed by pushing them into "
 "void\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:278
+#: qcsrc/client/scoreboard.qc:264
 msgid "^3kckills^7                  Number of keys carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:279
+#: qcsrc/client/scoreboard.qc:265
 msgid "^3losses^7                   Number of times a key was lost\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:280
+#: qcsrc/client/scoreboard.qc:266
 msgid "^3laps^7                     Number of laps finished (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:281
+#: qcsrc/client/scoreboard.qc:267
 msgid "^3time^7                     Total time raced (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:282
+#: qcsrc/client/scoreboard.qc:268
 msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:283
+#: qcsrc/client/scoreboard.qc:269
 msgid "^3ticks^7                    Number of ticks (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:284
+#: qcsrc/client/scoreboard.qc:270
 msgid "^3takes^7                    Number of domination points taken (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:285
+#: qcsrc/client/scoreboard.qc:271
 msgid "^3bckills^7                  Number of ball carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:286
+#: qcsrc/client/scoreboard.qc:272
 msgid ""
 "^3bctime^7                   Total amount of time holding the ball in "
 "Keepaway\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:287
+#: qcsrc/client/scoreboard.qc:273
 msgid ""
 "^3score^7                    Total score\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:289
+#: qcsrc/client/scoreboard.qc:275
 msgid ""
 "Before a field you can put a + or - sign, then a comma separated list\n"
 "of game types, then a slash, to make the field show up only in these\n"
@@ -661,30 +654,30 @@ msgid ""
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:294
+#: qcsrc/client/scoreboard.qc:280
 msgid ""
 "The special game type names 'teams' and 'noteams' can be used to\n"
 "include/exclude ALL teams/noteams game modes.\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:297
+#: qcsrc/client/scoreboard.qc:283
 msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:298
+#: qcsrc/client/scoreboard.qc:284
 msgid ""
 "will display name, ping and pl aligned to the left, and the fields\n"
 "right of the vertical bar aligned to the right.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:300
+#: qcsrc/client/scoreboard.qc:286
 msgid ""
 "'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
 "other gamemodes except DM.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:534 qcsrc/client/scoreboard.qc:541
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
@@ -692,91 +685,95 @@ msgstr ""
 msgid "N/A"
 msgstr "N/A"
 
-#: qcsrc/client/scoreboard.qc:984
+#: qcsrc/client/scoreboard.qc:970
 #, c-format
 msgid "Accuracy stats (average %d%%)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1047
+#: qcsrc/client/scoreboard.qc:1033
 #, c-format
 msgid "%d%%"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1099
 msgid "Map stats:"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1124
 msgid "Secrets found:"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1152
 msgid "Rankings"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1248
 msgid "Scoreboard"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1307
 #, c-format
 msgid "Speed award: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1311
 #, c-format
 msgid "All-time fastest: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1345
 msgid "Spectators"
-msgstr ""
+msgstr "Spectatori"
 
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1352
 #, c-format
-msgid "playing on ^2%s^7"
+msgid "playing ^3%s^7 on ^2%s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
 #, c-format
 msgid " for up to ^1%1.0f minutes^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1364 qcsrc/client/scoreboard.qc:1383
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
 msgid " or"
-msgstr ""
+msgstr "sau"
 
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
 #, c-format
 msgid " until ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1375
-#: qcsrc/client/scoreboard.qc:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
 msgid "SCO^points"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1369 qcsrc/client/scoreboard.qc:1376
-#: qcsrc/client/scoreboard.qc:1388 qcsrc/client/scoreboard.qc:1395
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
 msgid "SCO^is beaten"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
 #, c-format
 msgid " until a lead of ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1419
 #, c-format
 msgid "^1Respawning in ^3%s^1..."
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1429
 #, c-format
 msgid "You are dead, wait ^3%s^7 before respawning"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1438
 #, c-format
 msgid "You are dead, press ^2%s^7 to respawn"
 msgstr ""
@@ -786,7 +783,7 @@ msgstr ""
 msgid "Cannot initialize sound %s\n"
 msgstr ""
 
-#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:591
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
 msgid "Spam"
 msgstr ""
 
@@ -803,209 +800,213 @@ msgstr ""
 msgid "No left gunner!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:254
+#: qcsrc/client/waypointsprites.qc:246
 msgid "Push"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:255
+#: qcsrc/client/waypointsprites.qc:247
 msgid "Destroy"
-msgstr ""
+msgstr "Distruge"
 
-#: qcsrc/client/waypointsprites.qc:256
+#: qcsrc/client/waypointsprites.qc:248
 msgid "Defend"
-msgstr ""
+msgstr "Apara"
 
-#: qcsrc/client/waypointsprites.qc:257
+#: qcsrc/client/waypointsprites.qc:249
 msgid "Blue base"
-msgstr ""
+msgstr "Baza albastra"
 
-#: qcsrc/client/waypointsprites.qc:258
+#: qcsrc/client/waypointsprites.qc:250
 msgid "DANGER"
-msgstr ""
+msgstr "PERICOL"
 
-#: qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:251
 msgid "Enemy carrier"
-msgstr ""
+msgstr "Purtator inamic"
 
-#: qcsrc/client/waypointsprites.qc:260
+#: qcsrc/client/waypointsprites.qc:252
 msgid "Flag carrier"
-msgstr ""
+msgstr "Purtator steag"
 
-#: qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:253
 msgid "Dropped flag"
-msgstr ""
+msgstr "Steag scapat"
 
-#: qcsrc/client/waypointsprites.qc:262
+#: qcsrc/client/waypointsprites.qc:254
 msgid "Help me!"
-msgstr ""
+msgstr "Ajutor! "
 
-#: qcsrc/client/waypointsprites.qc:263
+#: qcsrc/client/waypointsprites.qc:255
 msgid "Here"
-msgstr ""
+msgstr "Aici"
 
-#: qcsrc/client/waypointsprites.qc:264
+#: qcsrc/client/waypointsprites.qc:256
 msgid "Dropped key"
-msgstr ""
+msgstr "Cheie scapata"
 
-#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:267
-#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
-#: qcsrc/client/waypointsprites.qc:270
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
 msgid "Key carrier"
-msgstr ""
+msgstr "Purtator cheie"
 
-#: qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:258
 msgid "Run here"
-msgstr ""
+msgstr "Fugi aici"
 
-#: qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:263
 msgid "Red base"
-msgstr ""
+msgstr "Baza rosie"
 
-#: qcsrc/client/waypointsprites.qc:272
+#: qcsrc/client/waypointsprites.qc:264
 msgid "Waypoint"
-msgstr ""
+msgstr "Indicator"
 
-#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
-#: qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
 msgid "Generator"
-msgstr ""
+msgstr "Generator"
 
-#: qcsrc/client/waypointsprites.qc:276 qcsrc/client/waypointsprites.qc:277
-#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
-#: qcsrc/client/waypointsprites.qc:280 qcsrc/client/waypointsprites.qc:281
-#: qcsrc/client/waypointsprites.qc:282 qcsrc/client/waypointsprites.qc:283
-#: qcsrc/client/waypointsprites.qc:307 qcsrc/client/waypointsprites.qc:308
-#: qcsrc/client/waypointsprites.qc:309 qcsrc/client/waypointsprites.qc:310
-#: qcsrc/client/waypointsprites.qc:311
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
 msgid "Control point"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:284
+#: qcsrc/client/waypointsprites.qc:276
 msgid "Checkpoint"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
 msgid "Finish"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
 msgid "Start"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
-msgid "Ball"
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:290
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
+msgid "Ball"
+msgstr "Minge"
+
+#: qcsrc/client/waypointsprites.qc:283
 msgid "Ball carrier"
-msgstr ""
+msgstr "Purtator minge"
 
-#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
 msgid "Laser"
 msgstr "Laser"
 
-#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
 msgid "Shotgun"
-msgstr "Shotgun"
+msgstr "Pusca"
 
-#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
 msgid "Machine Gun"
-msgstr "Machine Gun"
+msgstr "Mitraliera"
 
-#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
 msgid "Mortar"
 msgstr "Mortar"
 
-#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
 msgid "Electro"
 msgstr "Electro"
 
-#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
 msgid "Crylink"
 msgstr "Crylink"
 
-#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
 msgid "Nex"
 msgstr "Nex"
 
-#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
 msgid "Hagar"
 msgstr "Hagar"
 
-#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
 msgid "Rocket Launcher"
-msgstr "Rocket Launcher"
+msgstr "Lansator de rachete"
 
-#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
 msgid "Port-O-Launch"
 msgstr "Port-O-Launch"
 
-#: qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:294
 msgid "Minstanex"
-msgstr ""
+msgstr "Minstanex"
 
-#: qcsrc/client/waypointsprites.qc:302
+#: qcsrc/client/waypointsprites.qc:295
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
 msgid "Hook"
 msgstr "Carlig"
 
-#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
 msgid "Fireball"
-msgstr "Fireball"
+msgstr "Minge de foc"
 
-#: qcsrc/client/waypointsprites.qc:304
+#: qcsrc/client/waypointsprites.qc:297
 msgid "HLAC"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
 msgid "Rifle"
 msgstr "Luneta"
 
-#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
 msgid "Mine Layer"
 msgstr "Mine Layer"
 
-#: qcsrc/client/waypointsprites.qc:312
+#: qcsrc/client/waypointsprites.qc:305
 msgid "Invisibility"
-msgstr ""
+msgstr "Invizibilitate"
 
-#: qcsrc/client/waypointsprites.qc:313
+#: qcsrc/client/waypointsprites.qc:306
 msgid "Extra life"
-msgstr ""
+msgstr "Viata aditionala"
 
-#: qcsrc/client/waypointsprites.qc:314
+#: qcsrc/client/waypointsprites.qc:307
 msgid "Speed"
-msgstr ""
+msgstr "Viteza"
 
-#: qcsrc/client/waypointsprites.qc:315
+#: qcsrc/client/waypointsprites.qc:308
 msgid "Strength"
-msgstr ""
+msgstr "Forta"
 
-#: qcsrc/client/waypointsprites.qc:316
+#: qcsrc/client/waypointsprites.qc:309
 msgid "Shield"
-msgstr ""
+msgstr "Scut"
 
-#: qcsrc/client/waypointsprites.qc:317
+#: qcsrc/client/waypointsprites.qc:310
 msgid "Fuel regen"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:318
+#: qcsrc/client/waypointsprites.qc:311
 msgid "Jet Pack"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:319
+#: qcsrc/client/waypointsprites.qc:312
 msgid "Frozen!"
-msgstr ""
+msgstr "Inghetat!"
 
-#: qcsrc/client/waypointsprites.qc:320
+#: qcsrc/client/waypointsprites.qc:313
 msgid "Tagged"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:321
+#: qcsrc/client/waypointsprites.qc:314
 msgid "Vehicle"
-msgstr ""
+msgstr "Vehicul"
 
-#: qcsrc/client/waypointsprites.qc:595
+#: qcsrc/client/waypointsprites.qc:588
 #, c-format
 msgid "%s needing help!"
 msgstr ""
@@ -1227,12 +1228,12 @@ msgstr ""
 msgid "%dth"
 msgstr ""
 
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:717
 #, no-c-format
 msgid "@!#%'n Tuba Throwing"
 msgstr "Arunca @!#%'n Tuba"
 
-#: qcsrc/common/mapinfo.qc:1109 qcsrc/menu/xonotic/skinlist.c:166
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
@@ -1246,57 +1247,82 @@ msgid "Last Man Standing"
 msgstr "Ultimul Supravietuitor"
 
 #: qcsrc/common/mapinfo.qh:42
-msgid "Arena"
-msgstr "Arena"
-
-#: qcsrc/common/mapinfo.qh:45
 msgid "Race"
 msgstr "Cursa"
 
-#: qcsrc/common/mapinfo.qh:48
+#: qcsrc/common/mapinfo.qh:45
 msgid "Race CTS"
 msgstr "Cursa CTS"
 
-#: qcsrc/common/mapinfo.qh:51
+#: qcsrc/common/mapinfo.qh:48
 msgid "Team Deathmatch"
 msgstr "Meciul Mortii (in echipa)"
 
-#: qcsrc/common/mapinfo.qh:54
+#: qcsrc/common/mapinfo.qh:51
 msgid "Capture the Flag"
 msgstr "Captureaza Steagul"
 
-#: qcsrc/common/mapinfo.qh:57
+#: qcsrc/common/mapinfo.qh:54
 msgid "Clan Arena"
 msgstr "Clan Arena"
 
-#: qcsrc/common/mapinfo.qh:60
+#: qcsrc/common/mapinfo.qh:57
 msgid "Domination"
 msgstr "Dominatie"
 
-#: qcsrc/common/mapinfo.qh:63
+#: qcsrc/common/mapinfo.qh:60
 msgid "Key Hunt"
 msgstr "Vanatoarea Cheilor"
 
-#: qcsrc/common/mapinfo.qh:66
+#: qcsrc/common/mapinfo.qh:63
 msgid "Assault"
 msgstr "Asalt"
 
-#: qcsrc/common/mapinfo.qh:69
+#: qcsrc/common/mapinfo.qh:66
 msgid "Onslaught"
 msgstr "Onslaught"
 
-#: qcsrc/common/mapinfo.qh:72
+#: qcsrc/common/mapinfo.qh:69
 msgid "Nexball"
 msgstr "Nexball"
 
-#: qcsrc/common/mapinfo.qh:75
+#: qcsrc/common/mapinfo.qh:72
 msgid "Freeze Tag"
 msgstr "Inghet"
 
-#: qcsrc/common/mapinfo.qh:78
+#: qcsrc/common/mapinfo.qh:75
 msgid "Keepaway"
 msgstr "Keepaway"
 
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr ""
+
 #: qcsrc/common/net_notice.qc:89
 msgid "^1Server notices:"
 msgstr ""
@@ -1307,1772 +1333,1842 @@ msgid "^7%s (^3%d sec left)"
 msgstr ""
 
 #: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:343
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:343
+#: qcsrc/common/notifications.qh:344
 #, c-format
 msgid ""
 "^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"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:344
+#: qcsrc/common/notifications.qh:345
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:345
+#: qcsrc/common/notifications.qh:346
 #, c-format
 msgid ""
 "^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"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:346
+#: qcsrc/common/notifications.qh:347
 msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:347
+#: qcsrc/common/notifications.qh:348
 msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:348
+#: qcsrc/common/notifications.qh:349
 msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:349
+#: qcsrc/common/notifications.qh:350
 msgid ""
 "^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
 "base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:350
+#: qcsrc/common/notifications.qh:351
 #, c-format
 msgid ""
 "^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
 "itself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:351
+#: qcsrc/common/notifications.qh:352
 msgid "^BGThe ^TC^TT^BG flag has returned to the base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:352
+#: qcsrc/common/notifications.qh:353
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:353
+#: qcsrc/common/notifications.qh:354
 #, c-format
 msgid "^BG%s^BG got the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:354
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
 #, c-format
 msgid "^BG%s^BG returned the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:355
+#: qcsrc/common/notifications.qh:357
 #, c-format
 msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:356
+#: qcsrc/common/notifications.qh:358
 #, c-format
 msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:357
+#: qcsrc/common/notifications.qh:359
 #, c-format
 msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:359
+#: qcsrc/common/notifications.qh:361
 #, c-format
 msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:360
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:363
 #, c-format
 msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:361
+#: qcsrc/common/notifications.qh:364
 #, c-format
 msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:362
+#: qcsrc/common/notifications.qh:365
 #, c-format
 msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:363
+#: qcsrc/common/notifications.qh:366
 #, c-format
 msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:365
+#: qcsrc/common/notifications.qh:368
 #, c-format
 msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:366
+#: qcsrc/common/notifications.qh:369
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:367
+#: qcsrc/common/notifications.qh:370
 #, c-format
 msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:368
+#: qcsrc/common/notifications.qh:371
 #, c-format
 msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:369
+#: qcsrc/common/notifications.qh:372
 #, c-format
 msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:370
+#: qcsrc/common/notifications.qh:373
 #, c-format
 msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:371
+#: qcsrc/common/notifications.qh:374
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:372
+#: qcsrc/common/notifications.qh:375
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:373
+#: qcsrc/common/notifications.qh:376
 #, c-format
 msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:374
+#: qcsrc/common/notifications.qh:377
 #, c-format
 msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:375
+#: qcsrc/common/notifications.qh:378
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:376
+#: qcsrc/common/notifications.qh:379
 #, c-format
 msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:377
+#: qcsrc/common/notifications.qh:380
 #, c-format
 msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:378
+#: qcsrc/common/notifications.qh:381
 #, c-format
 msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:379
+#: qcsrc/common/notifications.qh:382
 #, c-format
 msgid "^BG%s^K1 was moved into the %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:380
+#: qcsrc/common/notifications.qh:383
 #, c-format
 msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:381
+#: qcsrc/common/notifications.qh:384
 #, c-format
 msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:382
+#: qcsrc/common/notifications.qh:385
 #, c-format
 msgid "^BG%s^K1 unfairly eliminated themself%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:383
+#: qcsrc/common/notifications.qh:386
 #, c-format
 msgid "^BG%s^K1 %s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 couldn't catch their breath%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 was in the water for too long%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a crunch%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 became a bit too crispy%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 felt a little hot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:387
+#: qcsrc/common/notifications.qh:390
 #, c-format
 msgid "^BG%s^K1 died%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 found a hot place%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 turned into hot slag%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:389
+#: qcsrc/common/notifications.qh:392
 #, c-format
 msgid "^BG%s^K1 mastered the art of self-nading%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:393
+#, c-format
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:394
+#, c-format
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:395
+#, c-format
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:396
+#, c-format
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:397
+#, c-format
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:398
+#, c-format
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
 #, c-format
 msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:401
 #, c-format
 msgid "^BG%s^K1 ran out of ammo%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:391
+#: qcsrc/common/notifications.qh:402
 #, c-format
 msgid "^BG%s^K1 rotted away%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:392
+#: qcsrc/common/notifications.qh:403
 #, c-format
 msgid "^BG%s^K1 became a shooting star%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:393
+#: qcsrc/common/notifications.qh:404
 #, c-format
 msgid "^BG%s^K1 was slimed%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:394
+#: qcsrc/common/notifications.qh:405
 #, c-format
 msgid "^BG%s^K1 couldn't take it anymore%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:395
+#: qcsrc/common/notifications.qh:406
 #, c-format
 msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:396
+#: qcsrc/common/notifications.qh:407
 #, c-format
 msgid "^BG%s^K1 switched to the %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:397
+#: qcsrc/common/notifications.qh:408
 #, c-format
 msgid "^BG%s^K1 died in an accident%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:398
+#: qcsrc/common/notifications.qh:409
 #, c-format
 msgid "^BG%s^K1 ran into a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:399
+#: qcsrc/common/notifications.qh:410
 #, c-format
 msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:400
+#: qcsrc/common/notifications.qh:411
 #, c-format
 msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:401
+#: qcsrc/common/notifications.qh:412
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:402
+#: qcsrc/common/notifications.qh:413
 #, c-format
 msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:403
+#: qcsrc/common/notifications.qh:414
 #, c-format
 msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:404
+#: qcsrc/common/notifications.qh:415
 #, c-format
 msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:405
+#: qcsrc/common/notifications.qh:416
 #, c-format
 msgid "^BG%s^K1 was phased out by a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:406
+#: qcsrc/common/notifications.qh:417
 #, c-format
 msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:407
+#: qcsrc/common/notifications.qh:418
 #, c-format
 msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:408
+#: qcsrc/common/notifications.qh:419
 #, c-format
 msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:409
+#: qcsrc/common/notifications.qh:420
 #, c-format
 msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:410
+#: qcsrc/common/notifications.qh:421
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:411
+#: qcsrc/common/notifications.qh:422
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:412
+#: qcsrc/common/notifications.qh:423
 #, c-format
 msgid "^BG%s^K1 was crushed by a vehicle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:413
+#: qcsrc/common/notifications.qh:424
 #, c-format
 msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:414
+#: qcsrc/common/notifications.qh:425
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:415
+#: qcsrc/common/notifications.qh:426
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:416
+#: qcsrc/common/notifications.qh:427
 #, c-format
 msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:417
+#: qcsrc/common/notifications.qh:428
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:418
+#: qcsrc/common/notifications.qh:429
 #, c-format
 msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:419
+#: qcsrc/common/notifications.qh:430
 #, c-format
 msgid "^BG%s^K1 was in the wrong place%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:420
+#: qcsrc/common/notifications.qh:431
 #, c-format
 msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:421
+#: qcsrc/common/notifications.qh:432
 #, c-format
 msgid "^BG%s^K1 was frozen by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:422
+#: qcsrc/common/notifications.qh:433
 #, c-format
 msgid "^BG%s^K3 was revived by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:423
+#: qcsrc/common/notifications.qh:434
 #, c-format
 msgid "^BG%s^K3 was revived by falling"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:424
+#: qcsrc/common/notifications.qh:435
 #, c-format
 msgid "^BG%s^K3 was automatically revived after %s second(s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:425 qcsrc/common/notifications.qh:612
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
 msgid "^TC^TT^BG team wins the round"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:426 qcsrc/common/notifications.qh:613
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
 #, c-format
 msgid "^BG%s^BG wins the round"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:427 qcsrc/common/notifications.qh:542
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
 msgid "^BGRound tied"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:428 qcsrc/common/notifications.qh:543
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
 msgid "^BGRound over, there's no winner"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:429
+#: qcsrc/common/notifications.qh:440
 #, c-format
 msgid "^BG%s^K1 froze themself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:430
+#: qcsrc/common/notifications.qh:441
 #, c-format
 msgid "^BGGodmode saved you %s units of damage, cheater!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:431 qcsrc/common/notifications.qh:616
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
 #, c-format
 msgid "^BGYou do not have the ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:432 qcsrc/common/notifications.qh:617
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
 #, c-format
 msgid "^BGYou dropped the ^F1%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:433 qcsrc/common/notifications.qh:618
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
 #, c-format
 msgid "^BGYou got the ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:434 qcsrc/common/notifications.qh:619
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
 #, c-format
 msgid "^BGYou don't have enough ammo for the ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:435 qcsrc/common/notifications.qh:620
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
 #, c-format
 msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:621
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
 #, c-format
 msgid "^F1%s^BG is ^F4not available^BG on this map"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:437
+#: qcsrc/common/notifications.qh:448
 #, c-format
 msgid "^BG%s^F3 connected%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:438
+#: qcsrc/common/notifications.qh:449
 #, c-format
 msgid "^BG%s^F3 connected and joined the ^TC^TT team"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:439
+#: qcsrc/common/notifications.qh:450
 #, c-format
 msgid "^BG%s^F3 is now playing"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:440 qcsrc/common/notifications.qh:624
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
 #, c-format
 msgid "^BG%s^BG has dropped the ball!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:441 qcsrc/common/notifications.qh:625
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
 #, c-format
 msgid "^BG%s^BG has picked up the ball!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:442
+#: qcsrc/common/notifications.qh:453
 #, c-format
 msgid "^BG%s^BG captured the keys for the ^TC^TT team"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:443
+#: qcsrc/common/notifications.qh:454
 #, c-format
 msgid "^BG%s^BG dropped the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:444
+#: qcsrc/common/notifications.qh:455
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:445
+#: qcsrc/common/notifications.qh:456
 #, c-format
 msgid "^BG%s^BG picked up the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:446
+#: qcsrc/common/notifications.qh:457
 #, c-format
 msgid "^BG%s^F3 forfeited"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:447
+#: qcsrc/common/notifications.qh:458
 #, c-format
 msgid "^BG%s^F3 has no more lives left"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:448
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:460
 #, c-format
 msgid "^BG%s^K1 picked up Invisibility"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:449
+#: qcsrc/common/notifications.qh:461
 #, c-format
 msgid "^BG%s^K1 picked up Shield"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:450
+#: qcsrc/common/notifications.qh:462
 #, c-format
 msgid "^BG%s^K1 picked up Speed"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:451
+#: qcsrc/common/notifications.qh:463
 #, c-format
 msgid "^BG%s^K1 picked up Strength"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:452
+#: qcsrc/common/notifications.qh:464
 #, c-format
 msgid "^BG%s^F3 disconnected"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:453
+#: qcsrc/common/notifications.qh:465
 #, c-format
 msgid "^BG%s^F3 was kicked for idling"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:454
+#: qcsrc/common/notifications.qh:466
 msgid ""
 "^F2You were kicked from the server because you are a spectator and "
 "spectators aren't allowed at the moment."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:455
+#: qcsrc/common/notifications.qh:467
 #, c-format
 msgid "^BG%s^F3 is now spectating"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:456
+#: qcsrc/common/notifications.qh:468
 #, c-format
 msgid "^BG%s^BG has abandoned the race"
-msgstr ""
+msgstr "^BG%s^BG abandonat cursa"
 
-#: qcsrc/common/notifications.qh:457
+#: qcsrc/common/notifications.qh:469
 #, c-format
 msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:458
+#: qcsrc/common/notifications.qh:470
 #, c-format
 msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:459
+#: qcsrc/common/notifications.qh:471
 #, c-format
 msgid "^BG%s^BG has finished the race"
-msgstr ""
+msgstr "^BG%s^BG a terminat cursa"
 
-#: qcsrc/common/notifications.qh:460
+#: qcsrc/common/notifications.qh:472
 #, c-format
 msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:461
+#: qcsrc/common/notifications.qh:473
 #, c-format
 msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:462
+#: qcsrc/common/notifications.qh:474
 #, c-format
 msgid ""
 "^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
 "and will be lost."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:463
+#: qcsrc/common/notifications.qh:475
 #, c-format
 msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:464
+#: qcsrc/common/notifications.qh:476
 msgid "^TC^TT ^BGteam scores!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:465
+#: qcsrc/common/notifications.qh:477
 #, c-format
 msgid ""
 "^F2You have to become a player within the next %s, otherwise you will be "
 "kicked, because spectating isn't allowed at this time!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:466
+#: qcsrc/common/notifications.qh:478
 #, c-format
 msgid "^BG%s^K1 picked up a Superweapon"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:467
+#: qcsrc/common/notifications.qh:479
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
 "^F2Xonotic %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:468
+#: qcsrc/common/notifications.qh:480
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:469
+#: qcsrc/common/notifications.qh:481
 #, c-format
 msgid ""
 "^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
 "the update from ^F3http://www.xonotic.org/^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:470
+#: qcsrc/common/notifications.qh:482
 #, c-format
 msgid "^F3SVQC Build information: ^F4%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:471
+#: qcsrc/common/notifications.qh:483
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:472
+#: qcsrc/common/notifications.qh:484
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:473
+#: qcsrc/common/notifications.qh:485
 #, c-format
 msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:474
+#: qcsrc/common/notifications.qh:486
 #, c-format
 msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:475
+#: qcsrc/common/notifications.qh:487
 #, c-format
 msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:476
+#: qcsrc/common/notifications.qh:488
 #, c-format
 msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:477
+#: qcsrc/common/notifications.qh:489
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:478
+#: qcsrc/common/notifications.qh:490
 #, c-format
 msgid "^BG%s^K1 played with Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:479
+#: qcsrc/common/notifications.qh:491
 #, c-format
 msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:480
+#: qcsrc/common/notifications.qh:492
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:481
+#: qcsrc/common/notifications.qh:493
 #, c-format
 msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:482
+#: qcsrc/common/notifications.qh:494
 #, c-format
 msgid "^BG%s^K1 should have used a smaller gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:483
+#: qcsrc/common/notifications.qh:495
 #, c-format
 msgid "^BG%s^K1 forgot about their firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:484
+#: qcsrc/common/notifications.qh:496
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:485
+#: qcsrc/common/notifications.qh:497
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:486
+#: qcsrc/common/notifications.qh:498
 #, c-format
 msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:487
+#: qcsrc/common/notifications.qh:499
 #, c-format
 msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:488
+#: qcsrc/common/notifications.qh:500
 #, c-format
 msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:489
+#: qcsrc/common/notifications.qh:501
 #, c-format
 msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:490
+#: qcsrc/common/notifications.qh:502
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:491
+#: qcsrc/common/notifications.qh:503
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:492
+#: qcsrc/common/notifications.qh:504
 #, c-format
 msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:493
+#: qcsrc/common/notifications.qh:505
 #, c-format
 msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:494
+#: qcsrc/common/notifications.qh:506
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:495
+#: qcsrc/common/notifications.qh:507
 #, c-format
 msgid "^BG%s^K1 forgot about their mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:496
+#: qcsrc/common/notifications.qh:508
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:497
+#: qcsrc/common/notifications.qh:509
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:498
+#: qcsrc/common/notifications.qh:510
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:499
+#: qcsrc/common/notifications.qh:511
 #, c-format
 msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:500
+#: qcsrc/common/notifications.qh:512
 #, c-format
 msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:501
+#: qcsrc/common/notifications.qh:513
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:502
+#: qcsrc/common/notifications.qh:514
 #, c-format
 msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:503
+#: qcsrc/common/notifications.qh:515
 #, c-format
 msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:504
+#: qcsrc/common/notifications.qh:516
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:505
+#: qcsrc/common/notifications.qh:517
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:506
+#: qcsrc/common/notifications.qh:518
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:507
+#: qcsrc/common/notifications.qh:519
 #, c-format
 msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:508
+#: qcsrc/common/notifications.qh:520
 #, c-format
 msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:509
+#: qcsrc/common/notifications.qh:521
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:510
+#: qcsrc/common/notifications.qh:522
 #, c-format
 msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:511
+#: qcsrc/common/notifications.qh:523
 #, c-format
 msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:512
+#: qcsrc/common/notifications.qh:524
 #, c-format
 msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:513
+#: qcsrc/common/notifications.qh:525
 #, c-format
 msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:514
+#: qcsrc/common/notifications.qh:526
 #, c-format
 msgid "^BG%s^K1 is now thinking with portals%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:515
+#: qcsrc/common/notifications.qh:527
 #, c-format
 msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:516
+#: qcsrc/common/notifications.qh:528
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:517
+#: qcsrc/common/notifications.qh:529
 #, c-format
 msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:518
+#: qcsrc/common/notifications.qh:530
 #, c-format
 msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:536
+#: qcsrc/common/notifications.qh:548
 msgid "^BGYou are attacking!"
-msgstr ""
+msgstr "^BGJoci in atac!"
 
-#: qcsrc/common/notifications.qh:537
+#: qcsrc/common/notifications.qh:549
 msgid "^BGYou are defending!"
-msgstr ""
+msgstr "^BGJoci in defensiva!"
 
-#: qcsrc/common/notifications.qh:538
+#: qcsrc/common/notifications.qh:550
 msgid "^F4Begin!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:539
+#: qcsrc/common/notifications.qh:551
 msgid "^F4Game starts in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:540
+#: qcsrc/common/notifications.qh:552
 msgid "^F4Round starts in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:541
+#: qcsrc/common/notifications.qh:553
 msgid "^F4Round cannot start"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:544
+#: qcsrc/common/notifications.qh:556
 msgid "^F2Don't camp!"
-msgstr ""
+msgstr "^F2Nu sta la panda!"
 
-#: qcsrc/common/notifications.qh:545
+#: qcsrc/common/notifications.qh:557
 msgid ""
 "^BGYou are now free.\n"
 "^BGFeel free to ^F2try to capture^BG the flag again\n"
 "^BGif you think you will succeed."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:546
+#: qcsrc/common/notifications.qh:558
 msgid ""
 "^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."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:547
+#: qcsrc/common/notifications.qh:559
 msgid "^BGYou captured the ^TC^TT^BG flag!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:548
+#: qcsrc/common/notifications.qh:560
 #, c-format
 msgid "^BGToo many flag throws! Throwing disabled for %s."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:549
+#: qcsrc/common/notifications.qh:561
 #, c-format
 msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:550
+#: qcsrc/common/notifications.qh:562
 #, c-format
 msgid "^BGYou received the ^TC^TT^BG flag from %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:551
+#: qcsrc/common/notifications.qh:563
 #, c-format
 msgid "^BG%s^BG requests you to pass the flag%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:552
+#: qcsrc/common/notifications.qh:564
 #, c-format
 msgid "^BGRequesting %s^BG to pass you the flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:553
+#: qcsrc/common/notifications.qh:565
 #, c-format
 msgid "^BGYou passed the ^TC^TT^BG flag to %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:554
+#: qcsrc/common/notifications.qh:566
 msgid "^BGYou got the ^TC^TT^BG flag!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:555
+#: qcsrc/common/notifications.qh:567
 #, c-format
 msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:556
+#: qcsrc/common/notifications.qh:568
 #, c-format
 msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:557
+#: qcsrc/common/notifications.qh:569
 #, c-format
 msgid "^BGYour %steam mate^BG got the flag! Protect them!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:558
+#: qcsrc/common/notifications.qh:570
 #, c-format
 msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:559
+#: qcsrc/common/notifications.qh:571
 msgid "^BGYou returned the ^TC^TT^BG flag!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:560
+#: qcsrc/common/notifications.qh:572
 msgid "^BGStalemate! Enemies can now see you on radar!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:561
+#: qcsrc/common/notifications.qh:573
 msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou fragged ^BG%s"
-msgstr ""
+msgstr "^K3%sL-ai ucis pe ^BG%s"
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou scored against ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s"
-msgstr ""
+msgstr "^K1%sAi fost ucis de ^BG%s"
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou fragged ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou scored against ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:570
+#: qcsrc/common/notifications.qh:582
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:571
+#: qcsrc/common/notifications.qh:583
 #, c-format
 msgid ""
 "^BGYou have been moved into a different team\n"
 "You are now on: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't go against your team mates!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't shoot your team mates!"
-msgstr ""
+msgstr "^K1Nu trage in colegii tai de echipa!"
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Die camper!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Reconsider your tactics, camper!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:574
+#: qcsrc/common/notifications.qh:586
 msgid "^K1You unfairly eliminated yourself!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:575
+#: qcsrc/common/notifications.qh:587
 #, c-format
 msgid "^K1You were %s"
-msgstr ""
+msgstr "^K1Ai fost %s"
 
-#: qcsrc/common/notifications.qh:576
+#: qcsrc/common/notifications.qh:588
 msgid "^K1You couldn't catch your breath!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:577
+#: qcsrc/common/notifications.qh:589
 msgid "^K1You hit the ground with a crunch!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You felt a little too hot!"
-msgstr ""
+msgstr "^K1Ti s-a facut un pic prea cald! "
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You got a little bit too crispy!"
-msgstr ""
+msgstr "^K1Ai devenit un pic prea crocant!"
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You killed your own dumb self!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You need to be more careful!"
-msgstr ""
+msgstr "^K1Trebuie sa fii mai atent!"
 
-#: qcsrc/common/notifications.qh:580
+#: qcsrc/common/notifications.qh:592
 msgid "^K1You couldn't stand the heat!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
 msgid "^K1Tastes like chicken!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:594
 msgid "^K1You forgot to put the pin back in!"
-msgstr ""
+msgstr "^K1Ai uitat sa pui cuiul inapoi! "
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You are respawning for running out of ammo..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You were killed for running out of ammo..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You grew too old without taking your medicine"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You need to preserve your health"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:584
+#: qcsrc/common/notifications.qh:597
 msgid "^K1You became a shooting star!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:585
+#: qcsrc/common/notifications.qh:598
 msgid "^K1You melted away in slime!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You committed suicide!"
-msgstr ""
+msgstr "^K1Te-ai sinucis!"
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You ended it all!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:587
+#: qcsrc/common/notifications.qh:600
 msgid "^K1You got stuck in a swamp!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:588
+#: qcsrc/common/notifications.qh:601
 #, c-format
 msgid "^BGYou are now on: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:589
+#: qcsrc/common/notifications.qh:602
 msgid "^K1You died in an accident!"
-msgstr ""
+msgstr "^K1Ai murit intr-un accident!"
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You had an unfortunate run in with a turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You were fragged by a turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You had an unfortunate run in with an eWheel turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You were fragged by an eWheel turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You had an unfortunate run in with a Walker turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You were fragged by a Walker turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:593
+#: qcsrc/common/notifications.qh:606
 msgid "^K1You got caught in the blast of a Bumblebee explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:594
+#: qcsrc/common/notifications.qh:607
 msgid "^K1You were crushed by a vehicle!"
-msgstr ""
+msgstr "^K1Ai fost zdrobit de un vehicul! "
 
-#: qcsrc/common/notifications.qh:595
+#: qcsrc/common/notifications.qh:608
 msgid "^K1You were caught in a Raptor cluster bomb!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:596
+#: qcsrc/common/notifications.qh:609
 msgid "^K1You got caught in the blast of a Raptor explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:597
+#: qcsrc/common/notifications.qh:610
 msgid "^K1You got caught in the blast of a Spiderbot explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:598
+#: qcsrc/common/notifications.qh:611
 msgid "^K1You were blasted to bits by a Spiderbot rocket!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:599
+#: qcsrc/common/notifications.qh:612
 msgid "^K1You got caught in the blast of a Racer explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:600
+#: qcsrc/common/notifications.qh:613
 msgid "^K1You couldn't find shelter from a Racer rocket!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:601
+#: qcsrc/common/notifications.qh:614
 msgid "^K1Watch your step!"
-msgstr ""
+msgstr "^K1Ai grija unde calci!"
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were fragged by ^BG%s^K1, a team mate"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were scored against by ^BG%s^K1, a team mate"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:604
+#: qcsrc/common/notifications.qh:617
 msgid ""
 "^K1Stop idling!\n"
 "^BGDisconnecting in ^COUNT..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:605
+#: qcsrc/common/notifications.qh:618
 msgid "^F2You picked up some extra lives"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:606
+#: qcsrc/common/notifications.qh:619
 #, c-format
 msgid "^K3You froze ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:607
+#: qcsrc/common/notifications.qh:620
 #, c-format
 msgid "^K1You were frozen by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:608
+#: qcsrc/common/notifications.qh:621
 #, c-format
 msgid "^K3You revived ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:609
+#: qcsrc/common/notifications.qh:622
 msgid "^K3You revived yourself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:610
+#: qcsrc/common/notifications.qh:623
 #, c-format
 msgid "^K3You were revived by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:611
+#: qcsrc/common/notifications.qh:624
 #, c-format
 msgid "^K3You were automatically revived after %s second(s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:614
+#: qcsrc/common/notifications.qh:627
 msgid "^K1You froze yourself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:615
+#: qcsrc/common/notifications.qh:628
 msgid "^K1Round already started, you spawn as frozen"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:622
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:636
 msgid ""
 "^K1No spawnpoints available!\n"
 "Hope your team can fix it..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:623
+#: qcsrc/common/notifications.qh:637
 msgid ""
 "^K1You may not join the game at this time.\n"
 "The player limit reached maximum capacity."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:626
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
 msgid "^BGKilling people while you don't have the ball gives no points!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:642
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Help the key carriers to meet!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:628
+#: qcsrc/common/notifications.qh:643
 msgid ""
 "^BGAll keys are in ^TC^TT team^BG's hands!\n"
 "Interfere ^F4NOW^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:629
+#: qcsrc/common/notifications.qh:644
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Meet the other key carriers ^F4NOW^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:630
+#: qcsrc/common/notifications.qh:645
 msgid "^F4Round will start in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:646
 msgid "^BGScanning frequency range..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:647
 msgid "^BGYou are starting with the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
 #, c-format
 msgid ""
 "^BGWaiting for players to join...\n"
 "Need active players for: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:650
 #, c-format
 msgid "^BGWaiting for %s player(s) to join..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:651
 msgid "^F4^COUNT^BG left to find some ammo!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:653
 #, c-format
 msgid "^F2Extra lives remaining: ^K1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:654
 msgid "^BGSecondary fire inflicts no damage!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:655
 #, c-format
 msgid "^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:656
 #, c-format
 msgid ""
 "^F2^COUNT^BG until weapon change...\n"
 "Next weapon: ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:657
 #, c-format
 msgid "^F2Active weapon: ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:658
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep fragging until we have a winner!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep scoring until we have a winner!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:660
 #, c-format
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "^BGAdded ^F4%s^BG to the game!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:646
+#: qcsrc/common/notifications.qh:661
 msgid "^F2Invisibility has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:662
 msgid "^F2Shield has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:663
 msgid "^F2Speed has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:664
 msgid "^F2Strength has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:665
 msgid "^F2You are invisible"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:666
 msgid "^F2Shield surrounds you"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:667
 msgid "^F2You are on speed"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:668
 msgid "^F2Strength infuses your weapons with devastating power"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:669
 msgid "^F2The race is over, finish your lap!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:670
 msgid "^F2Superweapons have broken down"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:671
 msgid "^F2Superweapons have been lost"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:672
 msgid "^F2You now have a superweapon"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:673
 msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:674
 msgid "^K1Changing team in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:675
 msgid "^K1Spectating in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:676
 msgid "^K1Suicide in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:677
 msgid "^F4Timeout begins in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:678
 msgid "^F4Timeout ends in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
 #, c-format
 msgid " (near %s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "primary"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "secondary"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:980
 #, c-format
 msgid " ^F1(Press %s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:989
 #, c-format
 msgid " with %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 msgid "TRIPLE FRAG! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 unlocked RAGE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 msgid "RAGE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 started a MASSACRE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 msgid "MASSACRE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 executed MAYHEM! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 msgid "MAYHEM! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 is a BERSERKER! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 msgid "BERSERKER! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 inflicts CARNAGE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 msgid "CARNAGE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 msgid "ARMAGEDDON! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1010
 #, c-format
 msgid "%s(^F1Bot^BG)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1012
 #, c-format
 msgid "%s(Ping ^F1%d^BG)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1018
 #, c-format
 msgid ""
 "\n"
 "(Health ^1%d^BG / Armor ^2%d^BG)%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1020
 #, c-format
 msgid ""
 "\n"
 "(^F4Dead^BG)%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
 #, c-format
 msgid "%d score spree! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1069
 #, c-format
 msgid "%d frag spree! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First blood! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First score! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First casualty! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First victim! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1127
 #, c-format
 msgid "%s^K1 has %d frags in a row! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1128
 #, c-format
 msgid "%s^K1 made %d scores in a row! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1146
 #, c-format
 msgid "%s^K1 drew first blood! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1147
 #, c-format
 msgid "%s^K1 got the first score! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1163
 #, c-format
 msgid ", ending their %d frag spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1164
 #, c-format
 msgid ", ending their %d score spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1178
 #, c-format
 msgid ", losing their %d frag spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1179
 #, c-format
 msgid ", losing their %d score spree"
 msgstr ""
@@ -3114,11 +3210,11 @@ msgid "  directmenu ITEM - select a menu item as main item\n"
 msgstr ""
 "  directmenu OBIECT - selecteaza un obiect din meniu ca obiect principal\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:62
+#: qcsrc/menu/command/menu_cmd.qc:68
 msgid "Available options:\n"
 msgstr ""
 
-#: qcsrc/menu/command/menu_cmd.qc:113
+#: qcsrc/menu/command/menu_cmd.qc:119
 msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
 msgstr ""
 "Comanda invalida. Pentru o lista cu comenzile suportate, scrieti menu_cmd "
@@ -3129,7 +3225,7 @@ msgstr ""
 msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
 msgstr "ATENTIE: eticheta text %s este prea mare, condensata cu %f\n"
 
-#: qcsrc/menu/item/listbox.c:302
+#: qcsrc/menu/item/listbox.c:382
 #, c-format
 msgid "Item %d"
 msgstr "Obiect %d"
@@ -3158,23 +3254,27 @@ msgstr "???"
 msgid "Level %d: %s"
 msgstr "Nivelul %d: %s"
 
-#: qcsrc/menu/xonotic/cvarlist.c:85
-msgid "will be saved to config.cfg"
-msgstr "se va salva catre config.cfg"
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr ""
 
-#: qcsrc/menu/xonotic/cvarlist.c:87
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
 msgid "will not be saved"
 msgstr "nu se va salva"
 
-#: qcsrc/menu/xonotic/cvarlist.c:89
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr "se va salva catre config.cfg"
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
 msgid "private"
 msgstr "privat"
 
-#: qcsrc/menu/xonotic/cvarlist.c:91
+#: qcsrc/menu/xonotic/cvarlist.c:95
 msgid "engine setting"
 msgstr "setari motor"
 
-#: qcsrc/menu/xonotic/cvarlist.c:93
+#: qcsrc/menu/xonotic/cvarlist.c:97
 msgid "read only"
 msgstr "numai de citit"
 
@@ -3183,6 +3283,7 @@ msgid "Credits"
 msgstr "Credite"
 
 #: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
@@ -3191,7 +3292,7 @@ msgstr "Credite"
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:77
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
 #: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
 msgid "OK"
 msgstr "OK"
@@ -3200,7 +3301,7 @@ msgstr "OK"
 msgid "Welcome"
 msgstr "Bun venit"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:40
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
 msgid ""
 "Welcome to Xonotic, please select your language preference and enter your "
 "player name to get started.  You can change these options later through the "
@@ -3210,34 +3311,34 @@ msgstr ""
 "dumneavoastra de jucator pentru a incepe. Puteti schimba aceste preferinte "
 "mai tarziu din cadrul meniului."
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
 msgid "Name:"
 msgstr "Nume:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:68
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
 #: qcsrc/menu/xonotic/dialog_settings_user.c:65
 msgid "Text language:"
 msgstr "Limba text:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
 msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
 msgstr "Permite statisticilor sa foloseasca numele tau pe stats.xonotic.org?"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
 msgid "ALWU2N^Yes"
 msgstr "ALWU2N^Da"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
 msgid "ALWU2N^No"
 msgstr "ALWU2N^Nu"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
 msgid "ALWU2N^Undecided"
 msgstr "ALWU2N^Nedecis"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
 msgid "Save settings"
 msgstr "Salvare setari"
 
@@ -3555,7 +3656,7 @@ msgstr "Radar:"
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
-#: qcsrc/menu/xonotic/util.qc:708
+#: qcsrc/menu/xonotic/util.qc:758
 msgid "Alpha:"
 msgstr "Opacitate:"
 
@@ -3737,24 +3838,24 @@ msgstr "Configurate Interfata (HUD)"
 msgid "Panel background defaults:"
 msgstr "Setari normale fond:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:683
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
 msgid "Background:"
 msgstr "Fundal:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:686
-#: qcsrc/menu/xonotic/util.qc:702 qcsrc/menu/xonotic/util.qc:719
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
 msgid "Disable"
 msgstr "Dezactivat"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:691
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
 msgid "Color:"
 msgstr "Culoare:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:699
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
 msgid "Border size:"
 msgstr "Marime borduri:"
 
@@ -3763,11 +3864,11 @@ msgstr "Marime borduri:"
 msgid "Team color:"
 msgstr "Culoare echipa:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:725
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
 msgid "Test team color in configure mode"
 msgstr "Testare culoare echipa in timpul configurarii"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:728
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
 msgid "Padding:"
 msgstr "Ajustare:"
 
@@ -3815,6 +3916,53 @@ msgstr "Y:"
 msgid "Exit setup"
 msgstr "Iesire configurare"
 
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr "Creaza"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr "Stergere"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr "Seteaza skin:"
+
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:4
 msgid "Multiplayer"
 msgstr "Multiplayer"
@@ -3856,6 +4004,7 @@ msgstr "Utilizare setari harta"
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
 msgid "Point limit:"
 msgstr "Limita de puncte:"
 
@@ -3920,7 +4069,7 @@ msgid "Mutators..."
 msgstr "Modificari speciale..."
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
 msgid "Advanced settings..."
 msgstr "Setari avansate..."
 
@@ -3956,7 +4105,7 @@ msgstr "Ture:"
 msgid "Goals:"
 msgstr "Goluri:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
 msgid "Frag limit:"
 msgstr "Limita de omoruri:"
 
@@ -4256,27 +4405,31 @@ msgid "Join"
 msgstr "Alaturare"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
 msgid "SRVS^Empty"
 msgstr "Gol"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:37
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
 msgid "SRVS^Full"
 msgstr "Plin"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:41
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
 msgid "Pause"
 msgstr "Pauza"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:53
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
 msgid "Address:"
 msgstr "Adresa:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:64
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
 msgid "Info..."
 msgstr "Informatii..."
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:69
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
 msgid "Join!"
 msgstr "Alaturare!"
@@ -4291,9 +4444,9 @@ msgid "%d/%d"
 msgstr "%d/%d"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
-#: qcsrc/menu/xonotic/util.qc:685 qcsrc/menu/xonotic/util.qc:701
-#: qcsrc/menu/xonotic/util.qc:710 qcsrc/menu/xonotic/util.qc:718
-#: qcsrc/menu/xonotic/util.qc:730
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
 msgid "Default"
 msgstr "Setare normala"
 
@@ -4771,10 +4924,6 @@ msgstr "Nu"
 msgid "Sandbox Tools"
 msgstr "Utilitati Sandbox"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
-msgid "Spawn"
-msgstr "Creaza"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
 msgid "Remove *"
 msgstr "Sterge *"
@@ -4807,10 +4956,6 @@ msgstr "Detaseaza de pe *"
 msgid "Visual object properties for *:"
 msgstr "Propietati vizuale pentru *:"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
-msgid "Set skin:"
-msgstr "Seteaza skin:"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
 msgid "Set alpha:"
 msgstr "Seteaza opacitate:"
@@ -5442,175 +5587,179 @@ msgid "Client UDP port:"
 msgstr "Port UDP client:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "Use encryption (AES) when available"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
 msgid "Show netgraph"
 msgstr "Afisaj grafic retea"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
 msgid "Client-side movement prediction"
 msgstr "Predictie miscare"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:63
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
 msgid "Movement error compensation"
 msgstr "Compensare eroare miscare"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
 msgid "Downloads:"
 msgstr "Descarcari simultane:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:70
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:82
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
 msgid "Maximum:"
 msgstr "Maxim:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
 msgid "Speed (kB/s):"
 msgstr "Viteza (kB/s):"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:79
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
 msgid "Framerate:"
 msgstr "Cadre:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:84
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
 msgid "MAXFPS^5 fps"
 msgstr "MAXFPS^5 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:85
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
 msgid "MAXFPS^10 fps"
 msgstr "MAXFPS^10 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
 msgid "MAXFPS^20 fps"
 msgstr "MAXFPS^20 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:87
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
 msgid "MAXFPS^30 fps"
 msgstr "MAXFPS^30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
 msgid "MAXFPS^40 fps"
 msgstr "MAXFPS^40 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
 msgid "MAXFPS^50 fps"
 msgstr "MAXFPS^50 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
 msgid "MAXFPS^60 fps"
 msgstr "MAXFPS^60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
 msgid "MAXFPS^70 fps"
 msgstr "MAXFPS^70 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
 msgid "MAXFPS^100 fps"
 msgstr "MAXFPS^100 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
 msgid "MAXFPS^125 fps"
 msgstr "MAXFPS^125 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
 msgid "MAXFPS^200 fps"
 msgstr "MAXFPS^200 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
 msgid "MAXFPS^Unlimited"
 msgstr "MAXFPS^Nelimitat"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
 msgid "Target:"
 msgstr "Tinta:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:101
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
 msgid "TRGT^Disabled"
 msgstr "TRGT^Dezactivat"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:102
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
 msgid "TRGT^30 fps"
 msgstr "TRGT^30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
 msgid "TRGT^40 fps"
 msgstr "TRGT^40 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:104
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
 msgid "TRGT^50 fps"
 msgstr "TRGT^50 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
 msgid "TRGT^60 fps"
 msgstr "TRGT^60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
 msgid "TRGT^100 fps"
 msgstr "TRGT^100 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
 msgid "TRGT^125 fps"
 msgstr "TRGT^125 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
 msgid "TRGT^200 fps"
 msgstr "TRGT^200 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
 msgid "Idle limit:"
 msgstr "Limita de timp:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:114
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
 msgid "IDLFPS^10 fps"
 msgstr "IDLFPS^10 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:115
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
 msgid "IDLFPS^20 fps"
 msgstr "IDLFPS^20 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
 msgid "IDLFPS^30 fps"
 msgstr "IDLFPS^30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:117
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
 msgid "IDLFPS^60 fps"
 msgstr "IDLFPS^60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
 msgid "IDLFPS^Unlimited"
 msgstr "IDLFPS^Nelimitat"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:123
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
 msgid "Show frames per second"
 msgstr "Afisaj cadre pe secunda"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:126
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
 msgid "Save processing time for other apps"
 msgstr "Salveaza timpul de procesare pentru alte aplicatii"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
 msgid "Menu tooltips:"
 msgstr "Etichete meniu:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:132
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
 msgid "TLTIP^Disabled"
 msgstr "TLTIP^Dezactivat"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:133
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
 msgid "TLTIP^Standard"
 msgstr "TLTIP^Standard"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
 msgid "TLTIP^Advanced"
 msgstr "TLTIP^Avansat"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
 msgid "Show current time"
 msgstr "Afisaj ora"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:140
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
 msgid "Show current date"
 msgstr "Afisaj data"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
 msgid "Enable developer mode"
 msgstr "Activare mod programator"
 
@@ -5634,7 +5783,7 @@ msgstr "Tip:"
 msgid "Value:"
 msgstr "Valoare:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:72
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
 msgid "Description:"
 msgstr "Descriere:"
 
@@ -5662,6 +5811,26 @@ msgstr "Permite statisticilor sa-ti urmareasca clientul"
 msgid "Allow player statistics to use your nickname"
 msgstr "Permite statisticilor sa-ti foloseasca numele"
 
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
 #: qcsrc/menu/xonotic/dialog_settings_video.c:26
 msgid "Resolution:"
 msgstr "Rezolutie:"
@@ -5912,7 +6081,7 @@ msgstr "roz"
 msgid "spectate"
 msgstr "spectator"
 
-#: qcsrc/menu/xonotic/mainwindow.c:39 qcsrc/menu/xonotic/mainwindow.c:42
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
 msgid "Do not press this button again!"
 msgstr "Nu mai apasati acest buton din nou!"
 
@@ -5944,31 +6113,63 @@ msgstr "spectator"
 msgid "<no model found>"
 msgstr "<nu a fost gasit nici un model>"
 
-#: qcsrc/menu/xonotic/serverlist.c:190
-msgid "Remove"
-msgstr "Stergere"
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:192
-msgid "Bookmark"
-msgstr "Favorit"
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:553
+#: qcsrc/menu/xonotic/serverlist.c:923
 msgid "Ping"
 msgstr "Latenta"
 
-#: qcsrc/menu/xonotic/serverlist.c:554
+#: qcsrc/menu/xonotic/serverlist.c:924
 msgid "Host name"
 msgstr "Nume server"
 
-#: qcsrc/menu/xonotic/serverlist.c:555
+#: qcsrc/menu/xonotic/serverlist.c:925
 msgid "Map"
 msgstr "Harta"
 
-#: qcsrc/menu/xonotic/serverlist.c:556
+#: qcsrc/menu/xonotic/serverlist.c:926
 msgid "Type"
 msgstr "Mod"
 
-#: qcsrc/menu/xonotic/serverlist.c:557
+#: qcsrc/menu/xonotic/serverlist.c:927
 msgid "Players"
 msgstr "Jucatori"
 
@@ -6008,30 +6209,30 @@ msgstr ""
 msgid "%s dB"
 msgstr "%s dB"
 
-#: qcsrc/menu/xonotic/slider_resolution.c:103
+#: qcsrc/menu/xonotic/slider_resolution.c:116
 #, c-format
 msgid "%dx%d (%d:%d)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/slider_resolution.c:106
+#: qcsrc/menu/xonotic/slider_resolution.c:119
 #, c-format
 msgid "%dx%d"
 msgstr "%dx%d"
 
-#: qcsrc/menu/xonotic/util.qc:298
+#: qcsrc/menu/xonotic/util.qc:308
 #, c-format
 msgid "error receiving update notification: status is %d\n"
 msgstr "eroare primire notificare update: statutul este %d\n"
 
-#: qcsrc/menu/xonotic/util.qc:303
+#: qcsrc/menu/xonotic/util.qc:313
 msgid "error: received HTML instead of an update notification\n"
 msgstr "eroare: primit HTML in schimbul unei notificari de update\n"
 
-#: qcsrc/menu/xonotic/util.qc:308
+#: qcsrc/menu/xonotic/util.qc:318
 msgid "error: received carriage returns from update notification server\n"
 msgstr "eroare: primit un mesaj eronat de la serverul de notificari update\n"
 
-#: qcsrc/menu/xonotic/util.qc:329
+#: qcsrc/menu/xonotic/util.qc:397
 #, c-format
 msgid ""
 "Update can be downloaded at:\n"
@@ -6040,21 +6241,21 @@ msgstr ""
 "Un update se poate descarca aici:\n"
 "%s\n"
 
-#: qcsrc/menu/xonotic/util.qc:447
+#: qcsrc/menu/xonotic/util.qc:497
 msgid "Autogenerating mapinfo for newly added maps..."
 msgstr "Auto-generare mapinfo pentru hartile proaspat adaugate..."
 
-#: qcsrc/menu/xonotic/util.qc:476
+#: qcsrc/menu/xonotic/util.qc:526
 #, c-format
 msgid "^1%s TEST BUILD"
 msgstr "^1%s VERSIUNE TESTARE"
 
-#: qcsrc/menu/xonotic/util.qc:491
+#: qcsrc/menu/xonotic/util.qc:541
 #, c-format
 msgid "Update to %s now!"
 msgstr "Updatati la %s acum!"
 
-#: qcsrc/menu/xonotic/util.qc:576
+#: qcsrc/menu/xonotic/util.qc:626
 msgid ""
 "^1ERROR: Texture compression is required but not supported.\n"
 "^1Expect visual problems.\n"
@@ -6062,11 +6263,11 @@ msgstr ""
 "^1EROARE: Comprimarea texturilor este necesara dar nu si suportata.\n"
 "^1Asteptati-va la probleme vizuale.\n"
 
-#: qcsrc/menu/xonotic/util.qc:696
+#: qcsrc/menu/xonotic/util.qc:746
 msgid "Use default"
 msgstr "Utilizare setare normala"
 
-#: qcsrc/menu/xonotic/util.qc:716
+#: qcsrc/menu/xonotic/util.qc:766
 msgid "Team Color:"
 msgstr "Culoare echipa:"
 
index f01625e079918f2ffe33ba978504b6e23c8894ea..171d2db281f1e19a6d514150a65586c10f2219fd 100644 (file)
@@ -3,13 +3,16 @@
 # This file is distributed under the same license as the PACKAGE package.
 #
 # Translators:
+# adem4ik, 2014
+# Alex Talker <alextalker7@gmail.com>, 2014
+# adem4ik, 2014
 # Lord Canistra <lordcanistra@gmail.com>, 2011
 msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-03 11:55+0200\n"
-"PO-Revision-Date: 2013-10-03 10:08+0000\n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
 "Last-Translator: divVerent <divVerent@xonotic.org>\n"
 "Language-Team: Russian (http://www.transifex.com/projects/p/xonotic/language/"
 "ru/)\n"
@@ -22,35 +25,34 @@ msgstr ""
 
 #: qcsrc/client/Main.qc:21
 msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!"
-msgstr ""
+msgstr "ОШИБКА - МЕНЮ ВИДИМО, НО НИ КАКОЕ МЕНЮ НЕ БЫЛО ОПРЕДЕЛЕНО!"
 
 #: qcsrc/client/Main.qc:46
 msgid ""
 "^3Your engine build is outdated\n"
 "^3This Server uses a newer QC VM. Please update!\n"
 msgstr ""
+"^3Ваша версия движка устарела\n"
+"^3Этот сервер использует свежую версию QC VM. Пожалуйста, обновитесь!\n"
 
 #: qcsrc/client/Main.qc:56
 #, c-format
 msgid "^4CSQC Build information: ^1%s\n"
-msgstr ""
-
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
-#, c-format
-msgid "trying to switch to unsupported team %d\n"
-msgstr ""
+msgstr "^4CSQC Информация о сборке: ^1%s\n"
 
-#: qcsrc/client/Main.qc:835
+#: qcsrc/client/Main.qc:836
 #, c-format
 msgid ""
 "Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
 "%s)\n"
 msgstr ""
+"Неизвестный примитивный тип в CSQC_Ent_Update (enttype: %d, edict: %d, "
+"classname: %s)\n"
 
 #: qcsrc/client/Main.qc:1295
 #, c-format
 msgid "%s (not bound)"
-msgstr ""
+msgstr "%s (не связаны)"
 
 #: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:157
@@ -58,601 +60,609 @@ msgstr ""
 msgid "%s (%s)"
 msgstr "%s (%s)"
 
-#: qcsrc/client/View.qc:1096
+#: qcsrc/client/View.qc:1165
 msgid "Revival progress"
-msgstr ""
+msgstr "Прогресс возрождения"
 
 #: qcsrc/client/hud.qc:186
 #, c-format
 msgid " (-%dL)"
-msgstr ""
+msgstr " (-%dL)"
 
 #: qcsrc/client/hud.qc:191
 #, c-format
 msgid " (+%dL)"
-msgstr ""
+msgstr " (+%dL)"
 
 #: qcsrc/client/hud.qc:210
 msgid "Start line"
-msgstr ""
+msgstr "Линия старта"
 
 #: qcsrc/client/hud.qc:212 qcsrc/client/hud.qc:216
 msgid "Finish line"
-msgstr ""
+msgstr "Линия финиша"
 
 #: qcsrc/client/hud.qc:214
 #, c-format
 msgid "Intermediate %d"
-msgstr ""
+msgstr "Среднее %d"
 
 #: qcsrc/client/hud.qc:223
 #, c-format
 msgid "%s (%s %s)"
-msgstr ""
+msgstr "%s (%s %s)"
 
-#: qcsrc/client/hud.qc:829
+#: qcsrc/client/hud.qc:832
 msgid "Out of ammo"
-msgstr ""
+msgstr "Нет патронов"
 
-#: qcsrc/client/hud.qc:833
+#: qcsrc/client/hud.qc:836
 msgid "Don't have"
-msgstr ""
+msgstr "Отсутствует"
 
-#: qcsrc/client/hud.qc:837
+#: qcsrc/client/hud.qc:840
 msgid "Unavailable"
-msgstr ""
+msgstr "Недоступен"
 
-#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
 #, c-format
 msgid "Player %d"
-msgstr ""
+msgstr "Игрок %d"
 
-#: qcsrc/client/hud.qc:2384
+#: qcsrc/client/hud.qc:2369
 msgid "^1Intermediate 1 (+15.42)"
-msgstr ""
+msgstr "^1Среднее 1 (+15.42)"
 
-#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
 #, c-format
 msgid "^1PENALTY: %.1f (%s)"
-msgstr ""
+msgstr "^1ШТРАФ: %.1f (%s)"
 
-#: qcsrc/client/hud.qc:2471
+#: qcsrc/client/hud.qc:2456
 #, c-format
 msgid "^2PENALTY: %.1f (%s)"
-msgstr ""
+msgstr "^2ШТРАФ: %.1f (%s)"
 
-#: qcsrc/client/hud.qc:2501
+#: qcsrc/client/hud.qc:2486
 msgid "^1You must answer before entering hud configure mode\n"
-msgstr ""
+msgstr "^1Вы должны ответить перед входом в режим настройки HUD\n"
 
-#: qcsrc/client/hud.qc:2506
+#: qcsrc/client/hud.qc:2491
 msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
-msgstr ""
+msgstr "^2Имя ^7вместо \"^1Anonymous player^7\" в статистике"
 
-#: qcsrc/client/hud.qc:2586
+#: qcsrc/client/hud.qc:2570
 msgid "A vote has been called for:"
-msgstr ""
+msgstr "Голосование было создано для:"
 
-#: qcsrc/client/hud.qc:2588
+#: qcsrc/client/hud.qc:2572
 msgid "Allow servers to store and display your name?"
-msgstr ""
+msgstr "Позволить серверам хранить и отображать ваше имя?"
 
-#: qcsrc/client/hud.qc:2592
+#: qcsrc/client/hud.qc:2576
 msgid "^1Configure the HUD"
-msgstr ""
+msgstr "^1Настроить HUD"
 
-#: qcsrc/client/hud.qc:2596
+#: qcsrc/client/hud.qc:2580
 #, c-format
 msgid "Yes (%s): %d"
-msgstr ""
+msgstr "Да (%s): %d"
 
-#: qcsrc/client/hud.qc:2598
+#: qcsrc/client/hud.qc:2582
 #, c-format
 msgid "No (%s): %d"
-msgstr ""
+msgstr "Нет (%s): %d"
 
-#: qcsrc/client/hud.qc:3169 qcsrc/client/hud.qc:3172 qcsrc/client/hud.qc:3174
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
 msgid "Personal best"
-msgstr ""
+msgstr "Личный рекорд"
 
-#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
 msgid "Server best"
-msgstr ""
+msgstr "Рекорд на сервере"
 
-#: qcsrc/client/hud.qc:3552
+#: qcsrc/client/hud.qc:3528
 msgid "^3Player^7: This is the chat area."
-msgstr ""
+msgstr "^3Игрок^7: Это чат."
 
-#: qcsrc/client/hud.qc:3618
+#: qcsrc/client/hud.qc:3593
 #, c-format
 msgid "FPS: %.*f"
-msgstr ""
+msgstr "FPS: %.*f"
 
-#: qcsrc/client/hud.qc:3683
+#: qcsrc/client/hud.qc:3657
 msgid "^1Observing"
-msgstr ""
+msgstr "^1Свободный обзор"
 
-#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
 #, c-format
 msgid "^1Spectating: ^7%s"
-msgstr ""
+msgstr "^1Наблюдает: ^7%s"
 
-#: qcsrc/client/hud.qc:3693
+#: qcsrc/client/hud.qc:3667
 #, c-format
 msgid "^1Press ^3%s^1 to spectate"
-msgstr ""
+msgstr "^1Нажмите ^3%s^1 для наблюдения"
 
-#: qcsrc/client/hud.qc:3695
+#: qcsrc/client/hud.qc:3669
 #, c-format
 msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
-msgstr ""
+msgstr "^1Нажмите ^3%s^1 или ^3%s^1 для следующего или предыдущего игрока"
 
-#: qcsrc/client/hud.qc:3699
+#: qcsrc/client/hud.qc:3673
 #, c-format
 msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
-msgstr ""
+msgstr "^1Используйте ^3%s^1 или ^3%s^1 для изменения скорости"
 
-#: qcsrc/client/hud.qc:3701
+#: qcsrc/client/hud.qc:3675
 #, c-format
 msgid "^1Press ^3%s^1 to observe"
-msgstr ""
+msgstr "^1Нажмите ^3%s^1 для свободного обзора"
 
-#: qcsrc/client/hud.qc:3704
+#: qcsrc/client/hud.qc:3678
 #, c-format
 msgid "^1Press ^3%s^1 for gamemode info"
-msgstr ""
+msgstr "^1Нажмите ^3%s^1 для информации о игровом режиме"
 
-#: qcsrc/client/hud.qc:3708
-msgid "^1Wait for your turn to join"
-msgstr ""
-
-#: qcsrc/client/hud.qc:3714
+#: qcsrc/client/hud.qc:3686
 msgid "^1Match has already begun"
-msgstr ""
+msgstr "^1Матч уже начался"
 
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3688
 msgid "^1You have no more lives left"
-msgstr ""
+msgstr "^1У вас закончились жизни"
 
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
 #, c-format
 msgid "^1Press ^3%s^1 to join"
-msgstr ""
+msgstr "^1Нажмите ^3%s^1 для входа"
 
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3701
 #, c-format
 msgid "^1Game starts in ^3%d^1 seconds"
-msgstr ""
+msgstr "^1Игра начнется через ^3%d^1 секунд"
 
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3708
 msgid "^2Currently in ^1warmup^2 stage!"
-msgstr ""
+msgstr "^2Сейчас в ^1разминочном^2 этапе!"
 
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3723
 #, c-format
 msgid "%sPress ^3%s%s to end warmup"
-msgstr ""
+msgstr "%sНажмите ^3%s%s для завершения разминки"
 
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3725
 #, c-format
 msgid "%sPress ^3%s%s once you are ready"
-msgstr ""
+msgstr "%sНажмите ^3%s%s когда вы будете готовы"
 
-#: qcsrc/client/hud.qc:3758
+#: qcsrc/client/hud.qc:3730
 msgid "^2Waiting for others to ready up to end warmup..."
-msgstr ""
+msgstr "^2Ожидание других игроков для окончания разминки..."
 
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3732
 msgid "^2Waiting for others to ready up..."
-msgstr ""
+msgstr "^2Ожидание других игроков..."
 
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3738
 #, c-format
 msgid "^2Press ^3%s^2 to end warmup"
-msgstr ""
+msgstr "^2Нажмите ^3%s^2 для завершения разминки"
 
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3759
 msgid "Teamnumbers are unbalanced!"
-msgstr ""
+msgstr "Неравенство в числе участников команд!"
 
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3764
 #, c-format
 msgid " Press ^3%s%s to adjust"
-msgstr ""
+msgstr " Нажмите ^3%s%s для настройки"
 
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3772
 msgid "^7Press ^3ESC ^7to show HUD options."
-msgstr ""
+msgstr "^7Нажмите ^3ESC ^7для просмотра настроек HUD."
 
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3774
 msgid "^3Doubleclick ^7a panel for panel-specific options."
-msgstr ""
+msgstr "^3Дважды кликните ^7по панели для панельно-спецефичных настроек."
 
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3776
 msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
-msgstr ""
+msgstr "^3CTRL ^7для отключения теста коллизий, ^3SHIFT ^7и"
 
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3778
 msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
-msgstr ""
+msgstr "^3ALT ^7+ ^3СТРЕЛКИ ^7для точной настройки."
 
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3825
 msgid " qu/s"
-msgstr ""
+msgstr "qu/s"
 
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3829
 msgid " m/s"
-msgstr ""
+msgstr "м/с"
 
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3833
 msgid " km/h"
-msgstr ""
+msgstr "км/ч"
 
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3837
 msgid " mph"
-msgstr ""
+msgstr "м/ч"
 
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3841
 msgid " knots"
-msgstr ""
+msgstr "узлы"
 
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4497
 msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
 msgstr ""
+"Ошибочные/пропущенные номера панели были исправлены в _hud_panelorder\n"
 
 #: qcsrc/client/hud_config.qc:196
 #, c-format
 msgid "^2Successfully exported to %s! (Note: It's saved in data/data/)\n"
-msgstr ""
+msgstr "^2Удачно экспортировано в %s! (Примечание: записано в data/data/)\n"
 
 #: qcsrc/client/hud_config.qc:200
 #, c-format
 msgid "^1Couldn't write to %s\n"
-msgstr ""
+msgstr "^1Невозможно записать в %s\n"
 
 #: qcsrc/client/mapvoting.qc:28
 msgid " (1 vote)"
-msgstr ""
+msgstr "(1 голос)"
 
 #: qcsrc/client/mapvoting.qc:30
 #, c-format
 msgid " (%d votes)"
-msgstr ""
+msgstr "(%d голосов)"
 
 #: qcsrc/client/mapvoting.qc:118
 msgid "Don't care"
-msgstr ""
+msgstr "Не волнуйтесь"
 
 #: qcsrc/client/mapvoting.qc:203
 msgid "Vote for a map"
-msgstr ""
+msgstr "Голосование за карту"
 
 #: qcsrc/client/mapvoting.qc:209
 #, c-format
 msgid "%d seconds left"
-msgstr ""
+msgstr "%d секунд осталось"
 
 #: qcsrc/client/mapvoting.qc:273
 msgid ""
 "mv_mapdownload: ^3You're not supposed to use this command on your own!\n"
 msgstr ""
+"mv_mapdownload: ^3Вы не должены использовать эту команду по своему "
+"усмотрению!\n"
 
 #: qcsrc/client/mapvoting.qc:283
 msgid "^1Error:^7 Couldn't find pak index.\n"
-msgstr ""
+msgstr "^1Error:^7 Невозможно найти индекс пака.\n"
 
 #: qcsrc/client/mapvoting.qc:292
 msgid "Requesting preview...\n"
-msgstr ""
+msgstr "Запрос эскиза...\n"
 
-#: qcsrc/client/miscfunctions.qc:98
+#: qcsrc/client/miscfunctions.qc:101
 msgid "Trying to remove a team which is not in the teamlist!"
-msgstr ""
+msgstr "Старайтесь избавится от команды, которой нет в списке команд!"
 
-#: qcsrc/client/movetypes.qc:163
+#: qcsrc/client/movetypes.qc:227
 #, c-format
 msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
+"Не могу разделить примитив (указатель: %d, имя класса: %s, источник: %s)\n"
 
-#: qcsrc/client/movetypes.qc:166
+#: qcsrc/client/movetypes.qc:230
 #, c-format
 msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
+"Удачное разделение примитива (указатель: %d, класс: %s, источник: %s)\n"
 
 #: qcsrc/client/scoreboard.qc:19
 msgid "SCO^bckills"
-msgstr ""
+msgstr "нмубийства"
 
 #: qcsrc/client/scoreboard.qc:20
 msgid "SCO^bctime"
-msgstr ""
+msgstr "время"
 
 #: qcsrc/client/scoreboard.qc:21
 msgid "SCO^caps"
-msgstr ""
+msgstr "захваты"
 
 #: qcsrc/client/scoreboard.qc:22
 msgid "SCO^captime"
-msgstr ""
+msgstr "время захвата"
 
 #: qcsrc/client/scoreboard.qc:23
 msgid "SCO^deaths"
-msgstr ""
+msgstr "смерти"
 
 #: qcsrc/client/scoreboard.qc:24
 msgid "SCO^destroyed"
-msgstr ""
+msgstr "разрушено"
 
 #: qcsrc/client/scoreboard.qc:25
 msgid "SCO^drops"
-msgstr ""
+msgstr "потери"
 
 #: qcsrc/client/scoreboard.qc:26
 msgid "SCO^faults"
-msgstr ""
+msgstr "ошибок"
 
 #: qcsrc/client/scoreboard.qc:27
 msgid "SCO^fckills"
-msgstr ""
+msgstr "фнубийства"
 
 #: qcsrc/client/scoreboard.qc:28
 msgid "SCO^goals"
-msgstr ""
+msgstr "голы"
 
 #: qcsrc/client/scoreboard.qc:29
 msgid "SCO^kckills"
-msgstr ""
+msgstr "нкубийства"
 
 #: qcsrc/client/scoreboard.qc:30
 msgid "SCO^kdratio"
-msgstr ""
+msgstr "см/уб"
 
 #: qcsrc/client/scoreboard.qc:31
 msgid "SCO^k/d"
-msgstr ""
+msgstr "см/уб"
 
 #: qcsrc/client/scoreboard.qc:32
 msgid "SCO^kd"
-msgstr ""
+msgstr "см/уб"
 
 #: qcsrc/client/scoreboard.qc:33
 msgid "SCO^kdr"
-msgstr ""
+msgstr "см/уб"
 
 #: qcsrc/client/scoreboard.qc:34
 msgid "SCO^kills"
-msgstr ""
+msgstr "убийства"
 
 #: qcsrc/client/scoreboard.qc:35
 msgid "SCO^laps"
-msgstr ""
+msgstr "круги"
 
 #: qcsrc/client/scoreboard.qc:36
 msgid "SCO^lives"
-msgstr ""
+msgstr "жизни"
 
 #: qcsrc/client/scoreboard.qc:37
 msgid "SCO^losses"
-msgstr ""
+msgstr "поражений"
 
 #: qcsrc/client/scoreboard.qc:38
 msgid "SCO^name"
-msgstr ""
+msgstr "имя"
 
 #: qcsrc/client/scoreboard.qc:39
 msgid "SCO^sum"
-msgstr ""
+msgstr "сум"
 
 #: qcsrc/client/scoreboard.qc:40
 msgid "SCO^nick"
-msgstr ""
+msgstr "ник"
 
 #: qcsrc/client/scoreboard.qc:41
 msgid "SCO^objectives"
-msgstr ""
+msgstr "целей"
 
 #: qcsrc/client/scoreboard.qc:42
 msgid "SCO^pickups"
-msgstr ""
+msgstr "поднятия"
 
 #: qcsrc/client/scoreboard.qc:43
 msgid "SCO^ping"
-msgstr ""
+msgstr "пинг"
 
 #: qcsrc/client/scoreboard.qc:44
 msgid "SCO^pl"
-msgstr ""
+msgstr "пл"
 
 #: qcsrc/client/scoreboard.qc:45
 msgid "SCO^pushes"
-msgstr ""
+msgstr "толчков"
 
 #: qcsrc/client/scoreboard.qc:46
 msgid "SCO^rank"
-msgstr ""
+msgstr "ранг"
 
 #: qcsrc/client/scoreboard.qc:47
 msgid "SCO^returns"
-msgstr ""
+msgstr "возвраты"
 
 #: qcsrc/client/scoreboard.qc:48
 msgid "SCO^revivals"
-msgstr ""
+msgstr "возрождения"
 
 #: qcsrc/client/scoreboard.qc:49
 msgid "SCO^score"
-msgstr ""
+msgstr "счёт"
 
 #: qcsrc/client/scoreboard.qc:50
 msgid "SCO^suicides"
-msgstr ""
+msgstr "суициды"
 
 #: qcsrc/client/scoreboard.qc:51
 msgid "SCO^takes"
-msgstr ""
+msgstr "подборов"
 
 #: qcsrc/client/scoreboard.qc:52
 msgid "SCO^ticks"
-msgstr ""
+msgstr "тиков"
 
-#: qcsrc/client/scoreboard.qc:251
+#: qcsrc/client/scoreboard.qc:237
 msgid ""
 "You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
 msgstr ""
+"Вы можете изменить табло счета, используя команду ^2scoreboard_columns_set.\n"
 
-#: qcsrc/client/scoreboard.qc:252
+#: qcsrc/client/scoreboard.qc:238
 msgid "^3|---------------------------------------------------------------|\n"
-msgstr ""
+msgstr "^3|---------------------------------------------------------------|\n"
 
-#: qcsrc/client/scoreboard.qc:253
+#: qcsrc/client/scoreboard.qc:239
 msgid "Usage:\n"
-msgstr ""
+msgstr "Использование:\n"
 
-#: qcsrc/client/scoreboard.qc:254
+#: qcsrc/client/scoreboard.qc:240
 msgid "^2scoreboard_columns_set default\n"
-msgstr ""
+msgstr "^2scoreboard_columns_set по-умолчанию\n"
 
-#: qcsrc/client/scoreboard.qc:255
+#: qcsrc/client/scoreboard.qc:241
 msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
-msgstr ""
+msgstr "^2scoreboard_columns_set ^7поле1 поле2 ...\n"
 
-#: qcsrc/client/scoreboard.qc:256
+#: qcsrc/client/scoreboard.qc:242
 msgid "The following field names are recognized (case insensitive):\n"
-msgstr ""
+msgstr "Были распознаны следующие имена полей (без учета регистра):\n"
 
-#: qcsrc/client/scoreboard.qc:257
+#: qcsrc/client/scoreboard.qc:243
 msgid ""
 "You can use a ^3|^7 to start the right-aligned fields.\n"
 "\n"
 msgstr ""
+"Вы можете использовать ^3|^7  для выравнивания полей по правому краю.\n"
+"\n"
 
-#: qcsrc/client/scoreboard.qc:259
+#: qcsrc/client/scoreboard.qc:245
 msgid "^3name^7 or ^3nick^7             Name of a player\n"
-msgstr ""
+msgstr "^3имя^7 или ^3ник^7 Имя игрока\n"
 
-#: qcsrc/client/scoreboard.qc:260
+#: qcsrc/client/scoreboard.qc:246
 msgid "^3ping^7                     Ping time\n"
-msgstr ""
+msgstr "^3ping^7 время пинга\n"
 
-#: qcsrc/client/scoreboard.qc:261
+#: qcsrc/client/scoreboard.qc:247
 msgid "^3pl^7                       Packet loss\n"
-msgstr ""
+msgstr "^3pl^7 Потеря пакетов\n"
 
-#: qcsrc/client/scoreboard.qc:262
+#: qcsrc/client/scoreboard.qc:248
 msgid "^3kills^7                    Number of kills\n"
-msgstr ""
+msgstr "^3убитые^7 Число убитых\n"
 
-#: qcsrc/client/scoreboard.qc:263
+#: qcsrc/client/scoreboard.qc:249
 msgid "^3deaths^7                   Number of deaths\n"
-msgstr ""
+msgstr "^3deaths^7 Число смертей\n"
 
-#: qcsrc/client/scoreboard.qc:264
+#: qcsrc/client/scoreboard.qc:250
 msgid "^3suicides^7                 Number of suicides\n"
-msgstr ""
+msgstr "^3suicides^7 Число суицидов\n"
 
-#: qcsrc/client/scoreboard.qc:265
+#: qcsrc/client/scoreboard.qc:251
 msgid "^3frags^7                    kills - suicides\n"
-msgstr ""
+msgstr "^3фраги^7 убийств - суицидов\n"
 
-#: qcsrc/client/scoreboard.qc:266
+#: qcsrc/client/scoreboard.qc:252
 msgid "^3kd^7                       The kill-death ratio\n"
-msgstr ""
+msgstr "^3kd^7 Отношение убийств/смертей\n"
 
-#: qcsrc/client/scoreboard.qc:267
+#: qcsrc/client/scoreboard.qc:253
 msgid "^3sum^7                      frags - deaths\n"
-msgstr ""
+msgstr "^3сумма^7 фраги - смерти\n"
 
-#: qcsrc/client/scoreboard.qc:268
+#: qcsrc/client/scoreboard.qc:254
 msgid ""
 "^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
 "captured\n"
-msgstr ""
+msgstr "^3caps^7 Как часто флаг (CTF) или ключ (KeyHunt) был захвачен\n"
 
-#: qcsrc/client/scoreboard.qc:269
+#: qcsrc/client/scoreboard.qc:255
 msgid ""
 "^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
 "ball (Keepaway) was picked up\n"
 msgstr ""
+"^3pickups^7 Как часто флаг (CTF) или ключ (KeyHunt) или мяч (Keepaway) были "
+"подобраны\n"
 
-#: qcsrc/client/scoreboard.qc:270
+#: qcsrc/client/scoreboard.qc:256
 msgid "^3captime^7                  Time of fastest cap (CTF)\n"
-msgstr ""
+msgstr "^3captime^7 Время наибыстрейшего захвата(CTF)\n"
 
-#: qcsrc/client/scoreboard.qc:271
+#: qcsrc/client/scoreboard.qc:257
 msgid "^3fckills^7                  Number of flag carrier kills\n"
-msgstr ""
+msgstr "^3фубийств^7 Число убийств флагоносцев\n"
 
-#: qcsrc/client/scoreboard.qc:272
+#: qcsrc/client/scoreboard.qc:258
 msgid "^3returns^7                  Number of flag returns\n"
-msgstr ""
+msgstr "^3returns^7 Число возращённых флагов\n"
 
-#: qcsrc/client/scoreboard.qc:273
+#: qcsrc/client/scoreboard.qc:259
 msgid "^3drops^7                    Number of flag drops\n"
-msgstr ""
+msgstr "^3drops^7 Число выроненных флагов\n"
 
-#: qcsrc/client/scoreboard.qc:274
+#: qcsrc/client/scoreboard.qc:260
 msgid "^3lives^7                    Number of lives (LMS)\n"
-msgstr ""
+msgstr "^3lives^7 Число жизней (LMS)\n"
 
-#: qcsrc/client/scoreboard.qc:275
+#: qcsrc/client/scoreboard.qc:261
 msgid "^3rank^7                     Player rank\n"
-msgstr ""
+msgstr "^3ранг^7 Ранг игрока\n"
 
-#: qcsrc/client/scoreboard.qc:276
+#: qcsrc/client/scoreboard.qc:262
 msgid "^3pushes^7                   Number of players pushed into void\n"
-msgstr ""
+msgstr "^3pushes^7 Число игроков отправленных в пустоту\n"
 
-#: qcsrc/client/scoreboard.qc:277
+#: qcsrc/client/scoreboard.qc:263
 msgid ""
 "^3destroyed^7                Number of keys destroyed by pushing them into "
 "void\n"
-msgstr ""
+msgstr "^3destroyed^7 Число ключей разрушенных толчком в пустоту\n"
 
-#: qcsrc/client/scoreboard.qc:278
+#: qcsrc/client/scoreboard.qc:264
 msgid "^3kckills^7                  Number of keys carrier kills\n"
-msgstr ""
+msgstr "^3нкубийства^7 Число убийств носителей ключей\n"
 
-#: qcsrc/client/scoreboard.qc:279
+#: qcsrc/client/scoreboard.qc:265
 msgid "^3losses^7                   Number of times a key was lost\n"
-msgstr ""
+msgstr "^3losses^7 Число потерянных ключей\n"
 
-#: qcsrc/client/scoreboard.qc:280
+#: qcsrc/client/scoreboard.qc:266
 msgid "^3laps^7                     Number of laps finished (race/cts)\n"
-msgstr ""
+msgstr "^3laps^7 Число законченных кругов (race/cts)\n"
 
-#: qcsrc/client/scoreboard.qc:281
+#: qcsrc/client/scoreboard.qc:267
 msgid "^3time^7                     Total time raced (race/cts)\n"
-msgstr ""
+msgstr "^3time^7 Общее время гонок (race/cts)\n"
 
-#: qcsrc/client/scoreboard.qc:282
+#: qcsrc/client/scoreboard.qc:268
 msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
-msgstr ""
+msgstr "^3fastest^7 Время лучшего круга (race/cts)\n"
 
-#: qcsrc/client/scoreboard.qc:283
+#: qcsrc/client/scoreboard.qc:269
 msgid "^3ticks^7                    Number of ticks (DOM)\n"
-msgstr ""
+msgstr "^3ticks^7 Число тиков (DOM)\n"
 
-#: qcsrc/client/scoreboard.qc:284
+#: qcsrc/client/scoreboard.qc:270
 msgid "^3takes^7                    Number of domination points taken (DOM)\n"
-msgstr ""
+msgstr "^3takes^7 Число полученных очков доминации (DOM)\n"
 
-#: qcsrc/client/scoreboard.qc:285
+#: qcsrc/client/scoreboard.qc:271
 msgid "^3bckills^7                  Number of ball carrier kills\n"
-msgstr ""
+msgstr "^3нмубийств^7 Число убийств носителей мячей\n"
 
-#: qcsrc/client/scoreboard.qc:286
+#: qcsrc/client/scoreboard.qc:272
 msgid ""
 "^3bctime^7                   Total amount of time holding the ball in "
 "Keepaway\n"
-msgstr ""
+msgstr "^3bctime^7 Общее число продержанных мячей в режиме Keepaway\n"
 
-#: qcsrc/client/scoreboard.qc:287
+#: qcsrc/client/scoreboard.qc:273
 msgid ""
 "^3score^7                    Total score\n"
 "\n"
 msgstr ""
+"^3score^7 Общий счёт\n"
+"\n"
 
-#: qcsrc/client/scoreboard.qc:289
+#: qcsrc/client/scoreboard.qc:275
 msgid ""
 "Before a field you can put a + or - sign, then a comma separated list\n"
 "of game types, then a slash, to make the field show up only in these\n"
@@ -660,31 +670,43 @@ msgid ""
 "field to show all fields available for the current game mode.\n"
 "\n"
 msgstr ""
+"Вы можете написать '+' или '-' перед полем, а затем список режимов\n"
+"через запятую, затем слешку '/' для показа только этих или не этих\n"
+"режимов. Вы так же можете указать 'all' как поле для показа всех\n"
+"полей текущего игрового режима.\n"
 
-#: qcsrc/client/scoreboard.qc:294
+#: qcsrc/client/scoreboard.qc:280
 msgid ""
 "The special game type names 'teams' and 'noteams' can be used to\n"
 "include/exclude ALL teams/noteams game modes.\n"
 "\n"
 msgstr ""
+"Специальные имена режимов 'teams' и 'noteams' могут быть\n"
+"использованы для включения/выключения ВСЕХ командных/не\n"
+"командных игровых режимов.\n"
 
-#: qcsrc/client/scoreboard.qc:297
+#: qcsrc/client/scoreboard.qc:283
 msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
 msgstr ""
+"Например: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
 
-#: qcsrc/client/scoreboard.qc:298
+#: qcsrc/client/scoreboard.qc:284
 msgid ""
 "will display name, ping and pl aligned to the left, and the fields\n"
 "right of the vertical bar aligned to the right.\n"
 msgstr ""
+"отобразит имя, пинг и потери пакетов выровненными слева, и поля\n"
+"вертикальной панели справа.\n"
 
-#: qcsrc/client/scoreboard.qc:300
+#: qcsrc/client/scoreboard.qc:286
 msgid ""
 "'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
 "other gamemodes except DM.\n"
 msgstr ""
+"'field3' будет отображаться только в CTF, и 'field4' во всех других режимах "
+"кроме DM.\n"
 
-#: qcsrc/client/scoreboard.qc:534 qcsrc/client/scoreboard.qc:541
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
@@ -692,323 +714,331 @@ msgstr ""
 msgid "N/A"
 msgstr "Н/Д"
 
-#: qcsrc/client/scoreboard.qc:984
+#: qcsrc/client/scoreboard.qc:970
 #, c-format
 msgid "Accuracy stats (average %d%%)"
-msgstr ""
+msgstr "Статистика точности (средняя %d%%)"
 
-#: qcsrc/client/scoreboard.qc:1047
+#: qcsrc/client/scoreboard.qc:1033
 #, c-format
 msgid "%d%%"
-msgstr ""
+msgstr "%d%%"
 
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1099
 msgid "Map stats:"
-msgstr ""
+msgstr "Статистика карты:"
 
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr "Монстров убито:"
+
+#: qcsrc/client/scoreboard.qc:1124
 msgid "Secrets found:"
-msgstr ""
+msgstr "Секретов найдено:"
 
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1152
 msgid "Rankings"
-msgstr ""
+msgstr "Ранг"
 
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1248
 msgid "Scoreboard"
-msgstr ""
+msgstr "Табло счета:"
 
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1307
 #, c-format
 msgid "Speed award: %d ^7(%s^7)"
-msgstr ""
+msgstr "Награда за скорость: %d ^7(%s^7)"
 
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1311
 #, c-format
 msgid "All-time fastest: %d ^7(%s^7)"
-msgstr ""
+msgstr "Быстрейший за все время: %d ^7(%s^7)"
 
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1345
 msgid "Spectators"
-msgstr ""
+msgstr "Зрители"
 
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1352
 #, c-format
-msgid "playing on ^2%s^7"
+msgid "playing ^3%s^7 on ^2%s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
 #, c-format
 msgid " for up to ^1%1.0f minutes^7"
-msgstr ""
+msgstr "на время ^1%1.0f minutes^7"
 
-#: qcsrc/client/scoreboard.qc:1364 qcsrc/client/scoreboard.qc:1383
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
 msgid " or"
-msgstr ""
+msgstr "или"
 
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
 #, c-format
 msgid " until ^3%s %s^7"
-msgstr ""
+msgstr "до  ^3%s %s^7"
 
-#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1375
-#: qcsrc/client/scoreboard.qc:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
 msgid "SCO^points"
-msgstr ""
+msgstr "точки"
 
-#: qcsrc/client/scoreboard.qc:1369 qcsrc/client/scoreboard.qc:1376
-#: qcsrc/client/scoreboard.qc:1388 qcsrc/client/scoreboard.qc:1395
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
 msgid "SCO^is beaten"
-msgstr ""
+msgstr "побит"
 
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
 #, c-format
 msgid " until a lead of ^3%s %s^7"
-msgstr ""
+msgstr "по достижению лидерства в ^3%s %s^7"
 
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1419
 #, c-format
 msgid "^1Respawning in ^3%s^1..."
-msgstr ""
+msgstr "^1Возрождение после ^3%s^1..."
 
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1429
 #, c-format
 msgid "You are dead, wait ^3%s^7 before respawning"
-msgstr ""
+msgstr "Вы мертвы, подождите ^3%s^7 до возрождения"
 
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1438
 #, c-format
 msgid "You are dead, press ^2%s^7 to respawn"
-msgstr ""
+msgstr "Вы мертвы, нажмите ^2%s^7 для возрождения"
 
 #: qcsrc/client/target_music.qc:94 qcsrc/client/target_music.qc:183
 #, c-format
 msgid "Cannot initialize sound %s\n"
-msgstr ""
+msgstr "Невозможно инициализировать звук %s\n"
 
-#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:591
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
 msgid "Spam"
-msgstr ""
+msgstr "Спам"
 
 #: qcsrc/client/tturrets.qc:308
 #, c-format
 msgid "%s under attack!"
-msgstr ""
+msgstr "%s под атакой!"
 
 #: qcsrc/client/vehicles/vehicles.qc:331 qcsrc/client/vehicles/vehicles.qc:333
 msgid "No right gunner!"
-msgstr ""
+msgstr "Нет наводчика справа!"
 
 #: qcsrc/client/vehicles/vehicles.qc:353 qcsrc/client/vehicles/vehicles.qc:355
 msgid "No left gunner!"
-msgstr ""
+msgstr "Нет наводчика слева!"
 
-#: qcsrc/client/waypointsprites.qc:254
+#: qcsrc/client/waypointsprites.qc:246
 msgid "Push"
-msgstr ""
+msgstr "Нажать"
 
-#: qcsrc/client/waypointsprites.qc:255
+#: qcsrc/client/waypointsprites.qc:247
 msgid "Destroy"
-msgstr ""
+msgstr "Уничтожить"
 
-#: qcsrc/client/waypointsprites.qc:256
+#: qcsrc/client/waypointsprites.qc:248
 msgid "Defend"
-msgstr ""
+msgstr "Защитить"
 
-#: qcsrc/client/waypointsprites.qc:257
+#: qcsrc/client/waypointsprites.qc:249
 msgid "Blue base"
-msgstr ""
+msgstr "Синяя база"
 
-#: qcsrc/client/waypointsprites.qc:258
+#: qcsrc/client/waypointsprites.qc:250
 msgid "DANGER"
-msgstr ""
+msgstr "ОПАСНОСТЬ"
 
-#: qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:251
 msgid "Enemy carrier"
-msgstr ""
+msgstr "Вражеский знаменосец"
 
-#: qcsrc/client/waypointsprites.qc:260
+#: qcsrc/client/waypointsprites.qc:252
 msgid "Flag carrier"
-msgstr ""
+msgstr "Знаменосец"
 
-#: qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:253
 msgid "Dropped flag"
-msgstr ""
+msgstr "Флаг брошен"
 
-#: qcsrc/client/waypointsprites.qc:262
+#: qcsrc/client/waypointsprites.qc:254
 msgid "Help me!"
-msgstr ""
+msgstr "Помогите мне!"
 
-#: qcsrc/client/waypointsprites.qc:263
+#: qcsrc/client/waypointsprites.qc:255
 msgid "Here"
-msgstr ""
+msgstr "Здесь"
 
-#: qcsrc/client/waypointsprites.qc:264
+#: qcsrc/client/waypointsprites.qc:256
 msgid "Dropped key"
-msgstr ""
+msgstr "Брошенный ключ"
 
-#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:267
-#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
-#: qcsrc/client/waypointsprites.qc:270
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
 msgid "Key carrier"
-msgstr ""
+msgstr "Носитель ключа"
 
-#: qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:258
 msgid "Run here"
-msgstr ""
+msgstr "Беги сюда"
 
-#: qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:263
 msgid "Red base"
-msgstr ""
+msgstr "Красная база"
 
-#: qcsrc/client/waypointsprites.qc:272
+#: qcsrc/client/waypointsprites.qc:264
 msgid "Waypoint"
-msgstr ""
+msgstr "Точка маршрута"
 
-#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
-#: qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
 msgid "Generator"
-msgstr ""
+msgstr "Генератор"
 
-#: qcsrc/client/waypointsprites.qc:276 qcsrc/client/waypointsprites.qc:277
-#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
-#: qcsrc/client/waypointsprites.qc:280 qcsrc/client/waypointsprites.qc:281
-#: qcsrc/client/waypointsprites.qc:282 qcsrc/client/waypointsprites.qc:283
-#: qcsrc/client/waypointsprites.qc:307 qcsrc/client/waypointsprites.qc:308
-#: qcsrc/client/waypointsprites.qc:309 qcsrc/client/waypointsprites.qc:310
-#: qcsrc/client/waypointsprites.qc:311
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
 msgid "Control point"
-msgstr ""
+msgstr "Контрольная точка"
 
-#: qcsrc/client/waypointsprites.qc:284
+#: qcsrc/client/waypointsprites.qc:276
 msgid "Checkpoint"
-msgstr ""
+msgstr "Контрольная точка"
 
-#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
 msgid "Finish"
-msgstr ""
+msgstr "Конец"
 
-#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
 msgid "Start"
+msgstr "Начало"
+
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
 msgid "Ball"
-msgstr ""
+msgstr "Мяч"
 
-#: qcsrc/client/waypointsprites.qc:290
+#: qcsrc/client/waypointsprites.qc:283
 msgid "Ball carrier"
-msgstr ""
+msgstr "Носитель мяча"
 
-#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
 msgid "Laser"
 msgstr "Laser"
 
-#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
 msgid "Shotgun"
 msgstr "Shotgun"
 
-#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
 msgid "Machine Gun"
 msgstr "Machine Gun"
 
-#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
 msgid "Mortar"
 msgstr "Mortar"
 
-#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
 msgid "Electro"
 msgstr "Electro"
 
-#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
 msgid "Crylink"
 msgstr "Crylink"
 
-#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
 msgid "Nex"
 msgstr "Nex"
 
-#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
 msgid "Hagar"
 msgstr "Hagar"
 
-#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
 msgid "Rocket Launcher"
 msgstr "Rocket Launcher"
 
-#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
 msgid "Port-O-Launch"
 msgstr "Port-O-Launch"
 
-#: qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:294
 msgid "Minstanex"
-msgstr ""
+msgstr "MinstaNex"
 
-#: qcsrc/client/waypointsprites.qc:302
+#: qcsrc/client/waypointsprites.qc:295
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
 msgid "Hook"
 msgstr "Крюк"
 
-#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
 msgid "Fireball"
 msgstr "Fireball"
 
-#: qcsrc/client/waypointsprites.qc:304
+#: qcsrc/client/waypointsprites.qc:297
 msgid "HLAC"
-msgstr ""
+msgstr "HLAC"
 
-#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
 msgid "Rifle"
-msgstr "Оружие"
+msgstr "Rifle"
 
-#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
 msgid "Mine Layer"
 msgstr "Mine Layer"
 
-#: qcsrc/client/waypointsprites.qc:312
+#: qcsrc/client/waypointsprites.qc:305
 msgid "Invisibility"
-msgstr ""
+msgstr "Невидимость"
 
-#: qcsrc/client/waypointsprites.qc:313
+#: qcsrc/client/waypointsprites.qc:306
 msgid "Extra life"
-msgstr ""
+msgstr "Экстра жизнь"
 
-#: qcsrc/client/waypointsprites.qc:314
+#: qcsrc/client/waypointsprites.qc:307
 msgid "Speed"
-msgstr ""
+msgstr "Скорость"
 
-#: qcsrc/client/waypointsprites.qc:315
+#: qcsrc/client/waypointsprites.qc:308
 msgid "Strength"
-msgstr ""
+msgstr "Сила"
 
-#: qcsrc/client/waypointsprites.qc:316
+#: qcsrc/client/waypointsprites.qc:309
 msgid "Shield"
-msgstr ""
+msgstr "Щит"
 
-#: qcsrc/client/waypointsprites.qc:317
+#: qcsrc/client/waypointsprites.qc:310
 msgid "Fuel regen"
-msgstr ""
+msgstr "Энергия регенерации"
 
-#: qcsrc/client/waypointsprites.qc:318
+#: qcsrc/client/waypointsprites.qc:311
 msgid "Jet Pack"
-msgstr ""
+msgstr "Реактивный ранец"
 
-#: qcsrc/client/waypointsprites.qc:319
+#: qcsrc/client/waypointsprites.qc:312
 msgid "Frozen!"
-msgstr ""
+msgstr "Заморожен!"
 
-#: qcsrc/client/waypointsprites.qc:320
+#: qcsrc/client/waypointsprites.qc:313
 msgid "Tagged"
-msgstr ""
+msgstr "Отмечен"
 
-#: qcsrc/client/waypointsprites.qc:321
+#: qcsrc/client/waypointsprites.qc:314
 msgid "Vehicle"
-msgstr ""
+msgstr "Транспорт"
 
-#: qcsrc/client/waypointsprites.qc:595
+#: qcsrc/client/waypointsprites.qc:588
 #, c-format
 msgid "%s needing help!"
-msgstr ""
+msgstr "%s требуется помощь!"
 
 #: qcsrc/common/command/generic.qc:31
 #, c-format
@@ -1040,22 +1070,22 @@ msgstr "%d лет"
 #: qcsrc/common/counting.qh:8
 #, c-format
 msgid "CI_FIR^%d year"
-msgstr "%d Ð»ÐµÑ\82"
+msgstr "%d Ð³Ð¾Ð´"
 
 #: qcsrc/common/counting.qh:9
 #, c-format
 msgid "CI_SEC^%d years"
-msgstr "%d Ð³Ð¾Ð´"
+msgstr "%d Ð»ÐµÑ\82"
 
 #: qcsrc/common/counting.qh:10
 #, c-format
 msgid "CI_THI^%d years"
-msgstr "%d Ð³Ð¾Ð´Ð°"
+msgstr "%d Ð»ÐµÑ\82"
 
 #: qcsrc/common/counting.qh:11
 #, c-format
 msgid "CI_MUL^%d years"
-msgstr "%d Ð³Ð¾Ð´Ð°"
+msgstr "%d Ð»ÐµÑ\82"
 
 #: qcsrc/common/counting.qh:13
 #, c-format
@@ -1065,7 +1095,7 @@ msgstr "%s недель"
 #: qcsrc/common/counting.qh:15
 #, c-format
 msgid "CI_ZER^%d weeks"
-msgstr "%d Ð½ÐµÐ´ÐµÐ»Ñ\8f"
+msgstr "%d Ð½ÐµÐ´ÐµÐ»Ñ\8c"
 
 #: qcsrc/common/counting.qh:16
 #, c-format
@@ -1080,7 +1110,7 @@ msgstr "%d недели"
 #: qcsrc/common/counting.qh:18
 #, c-format
 msgid "CI_THI^%d weeks"
-msgstr "%d недели"
+msgstr "%d недель"
 
 #: qcsrc/common/counting.qh:19
 #, c-format
@@ -1105,12 +1135,12 @@ msgstr "%d день"
 #: qcsrc/common/counting.qh:25
 #, c-format
 msgid "CI_SEC^%d days"
-msgstr "%d дня"
+msgstr "%d дней"
 
 #: qcsrc/common/counting.qh:26
 #, c-format
 msgid "CI_THI^%d days"
-msgstr "%d дня"
+msgstr "%d дней"
 
 #: qcsrc/common/counting.qh:27
 #, c-format
@@ -1205,7 +1235,7 @@ msgstr "%d секунды"
 #: qcsrc/common/counting.qh:52
 #, c-format
 msgid "CI_MUL^%d seconds"
-msgstr "%d минут"
+msgstr "%d секунд"
 
 #: qcsrc/common/counting.qh:68
 #, c-format
@@ -1227,12 +1257,12 @@ msgstr "%dй"
 msgid "%dth"
 msgstr "%dй"
 
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:717
 #, no-c-format
 msgid "@!#%'n Tuba Throwing"
 msgstr "@!#%'n Швыряние Тубой"
 
-#: qcsrc/common/mapinfo.qc:1109 qcsrc/menu/xonotic/skinlist.c:166
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
@@ -1246,57 +1276,82 @@ msgid "Last Man Standing"
 msgstr "Last Man Standing"
 
 #: qcsrc/common/mapinfo.qh:42
-msgid "Arena"
-msgstr "Arena"
-
-#: qcsrc/common/mapinfo.qh:45
 msgid "Race"
 msgstr "Race"
 
-#: qcsrc/common/mapinfo.qh:48
+#: qcsrc/common/mapinfo.qh:45
 msgid "Race CTS"
 msgstr "Race CTS"
 
-#: qcsrc/common/mapinfo.qh:51
+#: qcsrc/common/mapinfo.qh:48
 msgid "Team Deathmatch"
 msgstr "Team Deathmatch"
 
-#: qcsrc/common/mapinfo.qh:54
+#: qcsrc/common/mapinfo.qh:51
 msgid "Capture the Flag"
 msgstr "Capture The Flag"
 
-#: qcsrc/common/mapinfo.qh:57
+#: qcsrc/common/mapinfo.qh:54
 msgid "Clan Arena"
 msgstr "Clan Arena"
 
-#: qcsrc/common/mapinfo.qh:60
+#: qcsrc/common/mapinfo.qh:57
 msgid "Domination"
 msgstr "Domination"
 
-#: qcsrc/common/mapinfo.qh:63
+#: qcsrc/common/mapinfo.qh:60
 msgid "Key Hunt"
 msgstr "Key Hunt"
 
-#: qcsrc/common/mapinfo.qh:66
+#: qcsrc/common/mapinfo.qh:63
 msgid "Assault"
 msgstr "Assault"
 
-#: qcsrc/common/mapinfo.qh:69
+#: qcsrc/common/mapinfo.qh:66
 msgid "Onslaught"
 msgstr "Onslaught"
 
-#: qcsrc/common/mapinfo.qh:72
+#: qcsrc/common/mapinfo.qh:69
 msgid "Nexball"
 msgstr "Nexball"
 
-#: qcsrc/common/mapinfo.qh:75
+#: qcsrc/common/mapinfo.qh:72
 msgid "Freeze Tag"
 msgstr "Freeze Tag"
 
-#: qcsrc/common/mapinfo.qh:78
+#: qcsrc/common/mapinfo.qh:75
 msgid "Keepaway"
 msgstr "Keepaway"
 
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr "Вторжение"
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr "Маг"
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr "Шамблер"
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr "Паук"
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr "Виверн"
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr "Зомби"
+
 #: qcsrc/common/net_notice.qc:89
 msgid "^1Server notices:"
 msgstr "^1Уведомления от сервера:"
@@ -1307,967 +1362,1055 @@ msgid "^7%s (^3%d sec left)"
 msgstr "^7%s (^3%d секунд осталось)"
 
 #: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr "^F4ПРИМЕЧАНИЕ: ^BGЧат наблюдателей не видим для игроков во время матча"
+
+#: qcsrc/common/notifications.qh:343
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag"
-msgstr ""
+msgstr "^BG%s^BG захватили ^TC^TT^BG флаг"
 
-#: qcsrc/common/notifications.qh:343
+#: qcsrc/common/notifications.qh:344
 #, c-format
 msgid ""
 "^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"
 msgstr ""
+"^BG%s^BG захватили ^TC^TT^BG флаг за ^F1%s^BG секунд, сбросив предыдущий "
+"рекорд ^BG%s^BG  - ^F2%s^BG секунды"
 
-#: qcsrc/common/notifications.qh:344
+#: qcsrc/common/notifications.qh:345
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
-msgstr ""
+msgstr "^BG%s^BG захватили ^TC^TT^BG флаг за ^F1%s^BG секунд"
 
-#: qcsrc/common/notifications.qh:345
+#: qcsrc/common/notifications.qh:346
 #, c-format
 msgid ""
 "^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"
 msgstr ""
+"^BG%s^BG захватили ^TC^TT^BG флаг за ^F2%s^BG секунд, не сумев побить ^BG"
+"%s^BG's предыдущий рекорд в ^F1%s^BG секунд"
 
-#: qcsrc/common/notifications.qh:346
+#: qcsrc/common/notifications.qh:347
 msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
-msgstr ""
+msgstr "^BG ^TC^TT^BG флаг был возвращен на базу владельцами"
 
-#: qcsrc/common/notifications.qh:347
+#: qcsrc/common/notifications.qh:348
 msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
-msgstr ""
+msgstr "^BG ^TC^TT^BG флаг был уничтожен и возвращен на базу"
 
-#: qcsrc/common/notifications.qh:348
+#: qcsrc/common/notifications.qh:349
 msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
-msgstr ""
+msgstr "^BG ^TC^TT^BG флаг был брошен в базе и возвращен на нее"
 
-#: qcsrc/common/notifications.qh:349
+#: qcsrc/common/notifications.qh:350
 msgid ""
 "^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
 "base"
-msgstr ""
+msgstr "^BG^TC^TT^BG флаг упал в недостижимое место и был возвращён на базу"
 
-#: qcsrc/common/notifications.qh:350
+#: qcsrc/common/notifications.qh:351
 #, c-format
 msgid ""
 "^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
 "itself"
 msgstr ""
+"^BG^TC^TT^BG У флага кончилось терпение, и после ^F1%.2f^BG секунд ожидания "
+"он вернулся на базу"
 
-#: qcsrc/common/notifications.qh:351
+#: qcsrc/common/notifications.qh:352
 msgid "^BGThe ^TC^TT^BG flag has returned to the base"
-msgstr ""
+msgstr "^BG^TC^TT^BG флаг вернулся на свою базу"
 
-#: qcsrc/common/notifications.qh:352
+#: qcsrc/common/notifications.qh:353
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT^BG flag"
-msgstr ""
+msgstr "^BG%s^BG потерял ^TC^TT^BG флаг"
 
-#: qcsrc/common/notifications.qh:353
+#: qcsrc/common/notifications.qh:354
 #, c-format
 msgid "^BG%s^BG got the ^TC^TT^BG flag"
-msgstr ""
+msgstr "^BG%s^BG забрал ^TC^TT^BG флаг"
 
-#: qcsrc/common/notifications.qh:354
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
 #, c-format
 msgid "^BG%s^BG returned the ^TC^TT^BG flag"
-msgstr ""
+msgstr "^BG%s^BG вернул ^TC^TT^BG флаг"
 
-#: qcsrc/common/notifications.qh:355
+#: qcsrc/common/notifications.qh:357
 #, c-format
 msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был подло ликвидирован ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:356
+#: qcsrc/common/notifications.qh:358
 #, c-format
 msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был утоплен ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:357
+#: qcsrc/common/notifications.qh:359
 #, c-format
 msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был впечатан в землю ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был немного подожжен ^BG%s^K1^K1%s%s"
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был прожарен до хрустящей корочки ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:359
+#: qcsrc/common/notifications.qh:361
 #, c-format
 msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был испечён с помощью ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:360
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr "^BG%s%s^K1 был отправлен к монстрам рукой ^BG%s^K1%s%s"
+
+#: qcsrc/common/notifications.qh:363
 #, c-format
 msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был взорван ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:361
+#: qcsrc/common/notifications.qh:364
 #, c-format
 msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был отправлен в открытый космос ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:362
+#: qcsrc/common/notifications.qh:365
 #, c-format
 msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был утоплен в слизи ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:363
+#: qcsrc/common/notifications.qh:366
 #, c-format
 msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был мумифицирован ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
 msgstr ""
+"^BG%s%s^K1 попытался занять место телепорта, принадлежащее ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был убит ^BG%s^K1%s%s в процессе телепортации"
 
-#: qcsrc/common/notifications.qh:365
+#: qcsrc/common/notifications.qh:368
 #, c-format
 msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
 msgstr ""
+"^BG%s%s^K1 погиб в результате несчастного случая с участием ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:366
+#: qcsrc/common/notifications.qh:369
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
 msgstr ""
+"^BG%s%s^K1 зацепило взрывной волной от подорвавшегося с Bumblebee ^BG%s^K1%s"
+"%s"
 
-#: qcsrc/common/notifications.qh:367
+#: qcsrc/common/notifications.qh:370
 #, c-format
 msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
 msgstr ""
+"^BG%s%s^K1 долюбовался огоньками из пушки Bumblebee, управляемого ^BG%s^K1%s"
+"%s"
 
-#: qcsrc/common/notifications.qh:368
+#: qcsrc/common/notifications.qh:371
 #, c-format
 msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был раздавлен ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:369
+#: qcsrc/common/notifications.qh:372
 #, c-format
 msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был завален кассетными бомбами с Raptor'а ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:370
+#: qcsrc/common/notifications.qh:373
 #, c-format
 msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 не смог устоять перед пурпурными шариками ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:371
+#: qcsrc/common/notifications.qh:374
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
 msgstr ""
+"^BG%s%s^K1 зацепило взрывной волной от взорвавшегося на Raptor'e ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:372
+#: qcsrc/common/notifications.qh:375
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
 msgstr ""
+"^BG%s%s^K1 зацепило взрывной волной от взорвавшегося на Spiderbot'e ^BG"
+"%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:373
+#: qcsrc/common/notifications.qh:376
 #, c-format
 msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был измельчён Spiderbot'ом, управляемым ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:374
+#: qcsrc/common/notifications.qh:377
 #, c-format
 msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
+"^BG%s%s^K1 был разорван на куски Spiderbot'ом, управляемым ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:375
+#: qcsrc/common/notifications.qh:378
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
 msgstr ""
+"^BG%s%s^K1 зацепило взрывной волной от взорвавшегося на Racer'e ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:376
+#: qcsrc/common/notifications.qh:379
 #, c-format
 msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 пригвоздило Racer'ом, управляемым ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:377
+#: qcsrc/common/notifications.qh:380
 #, c-format
 msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 не смог скрыться от Racer'а, управляемого ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:378
+#: qcsrc/common/notifications.qh:381
 #, c-format
 msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был отправлен в мир боли рукой ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:379
+#: qcsrc/common/notifications.qh:382
 #, c-format
 msgid "^BG%s^K1 was moved into the %s%s"
-msgstr ""
+msgstr "^BG%s^K1 был перемещён в %s%s"
 
-#: qcsrc/common/notifications.qh:380
+#: qcsrc/common/notifications.qh:383
 #, c-format
 msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
-msgstr ""
+msgstr "^BG%s^K1 не подружился с Богом Командной Игры%s%s"
 
-#: qcsrc/common/notifications.qh:381
+#: qcsrc/common/notifications.qh:384
 #, c-format
 msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
-msgstr ""
+msgstr "^BG%s^K1 думал, что нашёл хорошее место для отдыха%s%s"
 
-#: qcsrc/common/notifications.qh:382
+#: qcsrc/common/notifications.qh:385
 #, c-format
 msgid "^BG%s^K1 unfairly eliminated themself%s%s"
-msgstr ""
+msgstr "^BG%s^K1 коварно самоликвидировался%s%s"
 
-#: qcsrc/common/notifications.qh:383
+#: qcsrc/common/notifications.qh:386
 #, c-format
 msgid "^BG%s^K1 %s^K1%s%s"
-msgstr ""
+msgstr "^BG%s^K1 %s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 couldn't catch their breath%s%s"
-msgstr ""
+msgstr "^BG%s^K1 не смог отдышаться%s%s"
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 was in the water for too long%s%s"
-msgstr ""
+msgstr "^BG%s^K1 находился слишком долго под водой%s%s"
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
-msgstr ""
+msgstr "^BG%s^K1 слишком сильно ударился о землю%s%s"
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a crunch%s%s"
-msgstr ""
+msgstr "^BG%s^K1 с хрустом ударился о землю%s%s"
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 became a bit too crispy%s%s"
-msgstr ""
+msgstr "^BG%s^K1 слишком сильно хрустнул%s%s"
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 felt a little hot%s%s"
-msgstr ""
+msgstr "^BG%s^K1 немного подгорел%s%s"
 
-#: qcsrc/common/notifications.qh:387
+#: qcsrc/common/notifications.qh:390
 #, c-format
 msgid "^BG%s^K1 died%s%s"
-msgstr ""
+msgstr "^BG%s^K1 умер%s%s"
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 found a hot place%s%s"
-msgstr ""
+msgstr "^BG%s^K1 нашёл жаркое местечко%s%s"
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 turned into hot slag%s%s"
-msgstr ""
+msgstr "^BG%s^K1 сгорел дотла%s%s"
 
-#: qcsrc/common/notifications.qh:389
+#: qcsrc/common/notifications.qh:392
 #, c-format
 msgid "^BG%s^K1 mastered the art of self-nading%s%s"
-msgstr ""
+msgstr "^BG%s^K1 освоил мастерство камикадзе%s%s"
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:393
 #, c-format
-msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
-msgstr ""
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
+msgstr "^BG%s^K1 был взорван Магом%s%s"
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:394
 #, c-format
-msgid "^BG%s^K1 ran out of ammo%s%s"
-msgstr ""
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
+msgstr "^BG%s^K1's был вывернут наизнанку Шамблером%s%s"
 
-#: qcsrc/common/notifications.qh:391
+#: qcsrc/common/notifications.qh:395
 #, c-format
-msgid "^BG%s^K1 rotted away%s%s"
-msgstr ""
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr "^BG%s^K1 был раздавлен Шаблером%s%s"
 
-#: qcsrc/common/notifications.qh:392
+#: qcsrc/common/notifications.qh:396
 #, c-format
-msgid "^BG%s^K1 became a shooting star%s%s"
-msgstr ""
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
+msgstr "^BG%s^K1 был стёрт в порошок Шамблером%s%s"
 
-#: qcsrc/common/notifications.qh:393
+#: qcsrc/common/notifications.qh:397
 #, c-format
-msgid "^BG%s^K1 was slimed%s%s"
-msgstr ""
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr "^BG%s^K1 был побит Пауком%s%s"
 
-#: qcsrc/common/notifications.qh:394
+#: qcsrc/common/notifications.qh:398
 #, c-format
-msgid "^BG%s^K1 couldn't take it anymore%s%s"
-msgstr ""
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr "^BG%s^K1 был поражён огненым шаром Виверна%s%s"
 
-#: qcsrc/common/notifications.qh:395
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr "^BG%s^K1 присоединился к Зомбиs%s%s"
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr "^BG%s^K1 получил урок кунг-фу от Зомби%s%s"
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgstr "^BG%s^K1 умер%s%s. Какой смысл жить без патронов?"
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 ran out of ammo%s%s"
+msgstr "^BG%s^K1 расстрелял все патроны%s%s"
+
+#: qcsrc/common/notifications.qh:402
+#, c-format
+msgid "^BG%s^K1 rotted away%s%s"
+msgstr "^BG%s^K1 сгинул%s%s"
+
+#: qcsrc/common/notifications.qh:403
+#, c-format
+msgid "^BG%s^K1 became a shooting star%s%s"
+msgstr "^BG%s^K1 стал падующей звездой%s%s"
+
+#: qcsrc/common/notifications.qh:404
+#, c-format
+msgid "^BG%s^K1 was slimed%s%s"
+msgstr "^BG%s^K1 утопился в слизи%s%s"
+
+#: qcsrc/common/notifications.qh:405
+#, c-format
+msgid "^BG%s^K1 couldn't take it anymore%s%s"
+msgstr "^BG%s^K1 устал от жизни%s%s"
+
+#: qcsrc/common/notifications.qh:406
 #, c-format
 msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
-msgstr ""
+msgstr "^BG%s^K1 мумифицирован на века%s%s"
 
-#: qcsrc/common/notifications.qh:396
+#: qcsrc/common/notifications.qh:407
 #, c-format
 msgid "^BG%s^K1 switched to the %s%s"
-msgstr ""
+msgstr "^BG%s^K1 перешёл в %s%s"
 
-#: qcsrc/common/notifications.qh:397
+#: qcsrc/common/notifications.qh:408
 #, c-format
 msgid "^BG%s^K1 died in an accident%s%s"
-msgstr ""
+msgstr "^BG%s^K1 погиб в результате несчастного случая%s%s"
 
-#: qcsrc/common/notifications.qh:398
+#: qcsrc/common/notifications.qh:409
 #, c-format
 msgid "^BG%s^K1 ran into a turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 налетел на турель%s%s"
 
-#: qcsrc/common/notifications.qh:399
+#: qcsrc/common/notifications.qh:410
 #, c-format
 msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 был разорван в клочья турелью eWheel%s%s"
 
-#: qcsrc/common/notifications.qh:400
+#: qcsrc/common/notifications.qh:411
 #, c-format
 msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
-msgstr ""
+msgstr "^BG%s^K1 попал под огонь зенитки FLAC%s%s"
 
-#: qcsrc/common/notifications.qh:401
+#: qcsrc/common/notifications.qh:412
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 был разорван в клочья турелью Hellion%s%s"
 
-#: qcsrc/common/notifications.qh:402
+#: qcsrc/common/notifications.qh:413
 #, c-format
 msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 не смог спрятаться от турели Hunter%s%s"
 
-#: qcsrc/common/notifications.qh:403
+#: qcsrc/common/notifications.qh:414
 #, c-format
 msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 был изрешечен турелью Machinegun%s%s"
 
-#: qcsrc/common/notifications.qh:404
+#: qcsrc/common/notifications.qh:415
 #, c-format
 msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 был разорван на тлеющие кусочки турелью MLRS%s%s"
 
-#: qcsrc/common/notifications.qh:405
+#: qcsrc/common/notifications.qh:416
 #, c-format
 msgid "^BG%s^K1 was phased out by a turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 был отменён турелью%s%s"
 
-#: qcsrc/common/notifications.qh:406
+#: qcsrc/common/notifications.qh:417
 #, c-format
 msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 отведал перегретой плазмы из турели%s%s"
 
-#: qcsrc/common/notifications.qh:407
+#: qcsrc/common/notifications.qh:418
 #, c-format
 msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 был убит электрическим током турели Tesla%s%s"
 
-#: qcsrc/common/notifications.qh:408
+#: qcsrc/common/notifications.qh:419
 #, c-format
 msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 был обогащён свинцом из турели Walker'a%s%s"
 
-#: qcsrc/common/notifications.qh:409
+#: qcsrc/common/notifications.qh:420
 #, c-format
 msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 был пронзён турелью Walker'а%s%s"
 
-#: qcsrc/common/notifications.qh:410
+#: qcsrc/common/notifications.qh:421
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 был разорван в клочья турелью Walker'а%s%s"
 
-#: qcsrc/common/notifications.qh:411
+#: qcsrc/common/notifications.qh:422
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
-msgstr ""
+msgstr "^BG%s^K1 зацепило взрывной волной от Bumblebee%s%s"
 
-#: qcsrc/common/notifications.qh:412
+#: qcsrc/common/notifications.qh:423
 #, c-format
 msgid "^BG%s^K1 was crushed by a vehicle%s%s"
-msgstr ""
+msgstr "^BG%s^K1 был раздавлен весом тяжёлой машины%s%s"
 
-#: qcsrc/common/notifications.qh:413
+#: qcsrc/common/notifications.qh:424
 #, c-format
 msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
-msgstr ""
+msgstr "^BG%s^K1 был накрыт кассетными бомбами с Raptor'а%s%s"
 
-#: qcsrc/common/notifications.qh:414
+#: qcsrc/common/notifications.qh:425
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
-msgstr ""
+msgstr "^BG%s^K1 задело взрывной волной от Raptor'a%s%s"
 
-#: qcsrc/common/notifications.qh:415
+#: qcsrc/common/notifications.qh:426
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
-msgstr ""
+msgstr "^BG%s^K1 задело взрывной волной от Spiderbot'а%s%s"
 
-#: qcsrc/common/notifications.qh:416
+#: qcsrc/common/notifications.qh:427
 #, c-format
 msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
-msgstr ""
+msgstr "^BG%s^K1 был разорван на кусочки ракетой Spiderbot'а%s%s"
 
-#: qcsrc/common/notifications.qh:417
+#: qcsrc/common/notifications.qh:428
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
-msgstr ""
+msgstr "^BG%s^K1 задело взрывной волной от Racer'а%s%s"
 
-#: qcsrc/common/notifications.qh:418
+#: qcsrc/common/notifications.qh:429
 #, c-format
 msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
-msgstr ""
+msgstr "^BG%s^K1 не смог укрыться от ракеты Racer'а%s%s"
 
-#: qcsrc/common/notifications.qh:419
+#: qcsrc/common/notifications.qh:430
 #, c-format
 msgid "^BG%s^K1 was in the wrong place%s%s"
-msgstr ""
+msgstr "^BG%s^K1 попал не в то место%s%s"
 
-#: qcsrc/common/notifications.qh:420
+#: qcsrc/common/notifications.qh:431
 #, c-format
 msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s^K1 был предан ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:421
+#: qcsrc/common/notifications.qh:432
 #, c-format
 msgid "^BG%s^K1 was frozen by ^BG%s"
-msgstr ""
+msgstr "^BG%s^K1 был заморожен ^BG%s"
 
-#: qcsrc/common/notifications.qh:422
+#: qcsrc/common/notifications.qh:433
 #, c-format
 msgid "^BG%s^K3 was revived by ^BG%s"
-msgstr ""
+msgstr "^BG%s^K3 был оживлён ^BG%s"
 
-#: qcsrc/common/notifications.qh:423
+#: qcsrc/common/notifications.qh:434
 #, c-format
 msgid "^BG%s^K3 was revived by falling"
-msgstr ""
+msgstr "^BG%s^K3 воскрес после падения"
 
-#: qcsrc/common/notifications.qh:424
+#: qcsrc/common/notifications.qh:435
 #, c-format
 msgid "^BG%s^K3 was automatically revived after %s second(s)"
-msgstr ""
+msgstr "^BG%s^K3 был автоматически оживлён после %s секунд(ы)"
 
-#: qcsrc/common/notifications.qh:425 qcsrc/common/notifications.qh:612
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
 msgid "^TC^TT^BG team wins the round"
 msgstr "^TC^TT^BG команда выиграла этот раунд"
 
-#: qcsrc/common/notifications.qh:426 qcsrc/common/notifications.qh:613
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
 #, c-format
 msgid "^BG%s^BG wins the round"
 msgstr "^BG%s^BG выиграл этот раунд"
 
-#: qcsrc/common/notifications.qh:427 qcsrc/common/notifications.qh:542
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
 msgid "^BGRound tied"
 msgstr "^BGНичья"
 
-#: qcsrc/common/notifications.qh:428 qcsrc/common/notifications.qh:543
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
 msgid "^BGRound over, there's no winner"
 msgstr "^BGРаунд окончен, победитель не определён"
 
-#: qcsrc/common/notifications.qh:429
+#: qcsrc/common/notifications.qh:440
 #, c-format
 msgid "^BG%s^K1 froze themself"
-msgstr ""
+msgstr "^BG%s^K1 заморозил сам себя"
 
-#: qcsrc/common/notifications.qh:430
+#: qcsrc/common/notifications.qh:441
 #, c-format
 msgid "^BGGodmode saved you %s units of damage, cheater!"
-msgstr ""
+msgstr "^BGРежим Бога спас тебя от %s очков урона, читер!"
 
-#: qcsrc/common/notifications.qh:431 qcsrc/common/notifications.qh:616
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
 #, c-format
 msgid "^BGYou do not have the ^F1%s"
 msgstr "^BGУ вас отсутствует ^F1%s"
 
-#: qcsrc/common/notifications.qh:432 qcsrc/common/notifications.qh:617
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
 #, c-format
 msgid "^BGYou dropped the ^F1%s^BG%s"
 msgstr "^BGВы выбросили ^F1%s^BG%s"
 
-#: qcsrc/common/notifications.qh:433 qcsrc/common/notifications.qh:618
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
 #, c-format
 msgid "^BGYou got the ^F1%s"
 msgstr "^BGВы подобрали ^F1%s"
 
-#: qcsrc/common/notifications.qh:434 qcsrc/common/notifications.qh:619
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
 #, c-format
 msgid "^BGYou don't have enough ammo for the ^F1%s"
 msgstr "^BGУ вас недостаточно патронов для ^F1%s"
 
-#: qcsrc/common/notifications.qh:435 qcsrc/common/notifications.qh:620
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
 #, c-format
 msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
 msgstr "^F1%s %s^BG режим огня невозможен, но вы можете использовать ^F1%s^BG"
 
-#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:621
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
 #, c-format
 msgid "^F1%s^BG is ^F4not available^BG on this map"
 msgstr "^F1%s^BG ^F4отсутствует^BG на этой карте"
 
-#: qcsrc/common/notifications.qh:437
+#: qcsrc/common/notifications.qh:448
 #, c-format
 msgid "^BG%s^F3 connected%s"
-msgstr ""
+msgstr "^BG%s^F3 подключился %s"
 
-#: qcsrc/common/notifications.qh:438
+#: qcsrc/common/notifications.qh:449
 #, c-format
 msgid "^BG%s^F3 connected and joined the ^TC^TT team"
-msgstr ""
+msgstr "^BG%s^F3 подключен и присоединен к ^TC^TT коменде"
 
-#: qcsrc/common/notifications.qh:439
+#: qcsrc/common/notifications.qh:450
 #, c-format
 msgid "^BG%s^F3 is now playing"
-msgstr ""
+msgstr "^BG%s^F3 сейчас играет"
 
-#: qcsrc/common/notifications.qh:440 qcsrc/common/notifications.qh:624
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
 #, c-format
 msgid "^BG%s^BG has dropped the ball!"
 msgstr "^BG%s^BG Потерял мяч!"
 
-#: qcsrc/common/notifications.qh:441 qcsrc/common/notifications.qh:625
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
 #, c-format
 msgid "^BG%s^BG has picked up the ball!"
 msgstr "^BG%s^BG Завладел мячом!"
 
-#: qcsrc/common/notifications.qh:442
+#: qcsrc/common/notifications.qh:453
 #, c-format
 msgid "^BG%s^BG captured the keys for the ^TC^TT team"
-msgstr ""
+msgstr "^BG%s^BG захватил ключ ^TC^TT команды"
 
-#: qcsrc/common/notifications.qh:443
+#: qcsrc/common/notifications.qh:454
 #, c-format
 msgid "^BG%s^BG dropped the ^TC^TT Key"
-msgstr ""
+msgstr "^BG%s^BG выбросил ^TC^TT Ключ"
 
-#: qcsrc/common/notifications.qh:444
+#: qcsrc/common/notifications.qh:455
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT Key"
-msgstr ""
+msgstr "^BG%s^BG потерял ^TC^TT Ключ"
 
-#: qcsrc/common/notifications.qh:445
+#: qcsrc/common/notifications.qh:456
 #, c-format
 msgid "^BG%s^BG picked up the ^TC^TT Key"
-msgstr ""
+msgstr "^BG%s^BG подобрал ^TC^TT Ключ"
 
-#: qcsrc/common/notifications.qh:446
+#: qcsrc/common/notifications.qh:457
 #, c-format
 msgid "^BG%s^F3 forfeited"
-msgstr ""
+msgstr "^BG%s^F3 аннулирован"
 
-#: qcsrc/common/notifications.qh:447
+#: qcsrc/common/notifications.qh:458
 #, c-format
 msgid "^BG%s^F3 has no more lives left"
-msgstr ""
+msgstr " У ^BG%s^F3 закончились жизни"
 
-#: qcsrc/common/notifications.qh:448
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr "^BGМонстры в данный момент отключены"
+
+#: qcsrc/common/notifications.qh:460
 #, c-format
 msgid "^BG%s^K1 picked up Invisibility"
-msgstr ""
+msgstr "^BG%s^K1 подобрал Невидимость"
 
-#: qcsrc/common/notifications.qh:449
+#: qcsrc/common/notifications.qh:461
 #, c-format
 msgid "^BG%s^K1 picked up Shield"
-msgstr ""
+msgstr "^BG%s^K1 подобрал Щит"
 
-#: qcsrc/common/notifications.qh:450
+#: qcsrc/common/notifications.qh:462
 #, c-format
 msgid "^BG%s^K1 picked up Speed"
-msgstr ""
+msgstr "^BG%s^K1 подобрал Скорость"
 
-#: qcsrc/common/notifications.qh:451
+#: qcsrc/common/notifications.qh:463
 #, c-format
 msgid "^BG%s^K1 picked up Strength"
-msgstr ""
+msgstr "^BG%s^K1 подобрал Силу"
 
-#: qcsrc/common/notifications.qh:452
+#: qcsrc/common/notifications.qh:464
 #, c-format
 msgid "^BG%s^F3 disconnected"
-msgstr ""
+msgstr "^BG%s^F3 отключился"
 
-#: qcsrc/common/notifications.qh:453
+#: qcsrc/common/notifications.qh:465
 #, c-format
 msgid "^BG%s^F3 was kicked for idling"
-msgstr ""
+msgstr "^BG%s^F3 выкинут за бездействие"
 
-#: qcsrc/common/notifications.qh:454
+#: qcsrc/common/notifications.qh:466
 msgid ""
 "^F2You were kicked from the server because you are a spectator and "
 "spectators aren't allowed at the moment."
 msgstr ""
+"^F2 Ты был выкинут с сервера, потому что ты наблюдатель, и наблюдатели не "
+"допускаются на данный момент."
 
-#: qcsrc/common/notifications.qh:455
+#: qcsrc/common/notifications.qh:467
 #, c-format
 msgid "^BG%s^F3 is now spectating"
-msgstr ""
+msgstr "^BG%s^F3 теперь наблюдатель"
 
-#: qcsrc/common/notifications.qh:456
+#: qcsrc/common/notifications.qh:468
 #, c-format
 msgid "^BG%s^BG has abandoned the race"
-msgstr ""
+msgstr "^BG%s^BG отказался от гонки"
 
-#: qcsrc/common/notifications.qh:457
+#: qcsrc/common/notifications.qh:469
 #, c-format
 msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
-msgstr ""
+msgstr "^BG%s^BG не смог побить рекорд %s%s^BG места со временем %s%s %s"
 
-#: qcsrc/common/notifications.qh:458
+#: qcsrc/common/notifications.qh:470
 #, c-format
 msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
-msgstr ""
+msgstr "^BG%s^BG не смог побить рекорд %s%s^BG места со временем %s%s %s"
 
-#: qcsrc/common/notifications.qh:459
+#: qcsrc/common/notifications.qh:471
 #, c-format
 msgid "^BG%s^BG has finished the race"
-msgstr ""
+msgstr "^BG%s^BG закончил гонку"
 
-#: qcsrc/common/notifications.qh:460
+#: qcsrc/common/notifications.qh:472
 #, c-format
 msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
-msgstr ""
+msgstr "^BG%s^BG побил рекорд %s^BG's %s%s^BG места со временем %s%s %s"
 
-#: qcsrc/common/notifications.qh:461
+#: qcsrc/common/notifications.qh:473
 #, c-format
 msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
-msgstr ""
+msgstr "^BG%s^BG улучшил свой рекорд %s%s^BG места со временем %s%s %s"
 
-#: qcsrc/common/notifications.qh:462
+#: qcsrc/common/notifications.qh:474
 #, c-format
 msgid ""
 "^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
 "and will be lost."
 msgstr ""
+"^BG%s^BG Установил новый рекорд в ^F2%s^BG, но, к сожалению, у него "
+"отсутствует UID, поэтому рекорд не будет сохранен."
 
-#: qcsrc/common/notifications.qh:463
+#: qcsrc/common/notifications.qh:475
 #, c-format
 msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
-msgstr ""
+msgstr "^BG%s^BG установил рекорд %s%s^BG места со временем %s%s"
 
-#: qcsrc/common/notifications.qh:464
+#: qcsrc/common/notifications.qh:476
 msgid "^TC^TT ^BGteam scores!"
-msgstr ""
+msgstr "^TC^TT ^BG команда увеличивает счет!"
 
-#: qcsrc/common/notifications.qh:465
+#: qcsrc/common/notifications.qh:477
 #, c-format
 msgid ""
 "^F2You have to become a player within the next %s, otherwise you will be "
 "kicked, because spectating isn't allowed at this time!"
 msgstr ""
+"^F2Вы должны присоединиться к игре в течение %s, в противном случае вы "
+"будете отсоединены от сервера, так как быть наблюдателем временно запрещено!"
 
-#: qcsrc/common/notifications.qh:466
+#: qcsrc/common/notifications.qh:478
 #, c-format
 msgid "^BG%s^K1 picked up a Superweapon"
-msgstr ""
+msgstr "^BG%s^K1 подобрал Супероружие"
 
-#: qcsrc/common/notifications.qh:467
+#: qcsrc/common/notifications.qh:479
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
 "^F2Xonotic %s"
 msgstr ""
+"^F4ПРИМЕЧАНИЕ: ^BGСервер запущен с версией ^F1Xonotic %s (бета)^BG, ваша "
+"версия ^F2Xonotic %s"
 
-#: qcsrc/common/notifications.qh:468
+#: qcsrc/common/notifications.qh:480
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
 msgstr ""
+"^F4ПРИМЕЧАНИЕ: ^BGСервер запущен с версией ^F1Xonotic %s^BG, ваша версия "
+"^F2Xonotic %s"
 
-#: qcsrc/common/notifications.qh:469
+#: qcsrc/common/notifications.qh:481
 #, c-format
 msgid ""
 "^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
 "the update from ^F3http://www.xonotic.org/^BG!"
 msgstr ""
+"^F4ПРИМЕЧАНИЕ: ^BGВышла новая версия ^F1Xonotic %s^BG, а у вас всё ещё "
+"установлен ^F2Xonotic %s^BG - скачайте последнюю версию с ^F3http://www."
+"xonotic.org/^BG!"
 
-#: qcsrc/common/notifications.qh:470
+#: qcsrc/common/notifications.qh:482
 #, c-format
 msgid "^F3SVQC Build information: ^F4%s"
-msgstr ""
+msgstr "^F3Сведения о сборке SVQC: ^F4%s"
 
-#: qcsrc/common/notifications.qh:471
+#: qcsrc/common/notifications.qh:483
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 умер от убийственной игры ^BG%s^K1's на @!#%%м Баяне%s%s"
 
-#: qcsrc/common/notifications.qh:472
+#: qcsrc/common/notifications.qh:484
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
-msgstr ""
+msgstr "^BGУ %s^K1 завяли уши от игры на @!#%%м Баяне%s%s"
 
-#: qcsrc/common/notifications.qh:473
+#: qcsrc/common/notifications.qh:485
 #, c-format
 msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 испытал на себе силу Crylink'а ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:474
+#: qcsrc/common/notifications.qh:486
 #, c-format
 msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
-msgstr ""
+msgstr "^BG%s^K1 испытал на себе силу собственного Crylink'а%s%s"
 
-#: qcsrc/common/notifications.qh:475
+#: qcsrc/common/notifications.qh:487
 #, c-format
 msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был разорван зарядом Electro от ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:476
+#: qcsrc/common/notifications.qh:488
 #, c-format
 msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 почуял запах озона от Electro комбо ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:477
+#: qcsrc/common/notifications.qh:489
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 оказался слишком близко к плазме из Electro ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:478
+#: qcsrc/common/notifications.qh:490
 #, c-format
 msgid "^BG%s^K1 played with Electro plasma%s%s"
-msgstr ""
+msgstr "^BG%s^K1 доигрался с плазмой из Electro%s%s"
 
-#: qcsrc/common/notifications.qh:479
+#: qcsrc/common/notifications.qh:491
 #, c-format
 msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
-msgstr ""
+msgstr "^BG%s^K1 забыл куда стрелял плазмой из своего Electro%s%s"
 
-#: qcsrc/common/notifications.qh:480
+#: qcsrc/common/notifications.qh:492
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 оказался слишком близко к огненному шару ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:481
+#: qcsrc/common/notifications.qh:493
 #, c-format
 msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был сожжён зажигательной миной ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:482
+#: qcsrc/common/notifications.qh:494
 #, c-format
 msgid "^BG%s^K1 should have used a smaller gun%s%s"
-msgstr ""
+msgstr "^BG%s^K1 должен был выбрать пушку поменьше%s%s"
 
-#: qcsrc/common/notifications.qh:483
+#: qcsrc/common/notifications.qh:495
 #, c-format
 msgid "^BG%s^K1 forgot about their firemine%s%s"
-msgstr ""
+msgstr "^BG%s^K1 забыл где оставил свою зажигательную мину ds%s%s"
 
-#: qcsrc/common/notifications.qh:484
+#: qcsrc/common/notifications.qh:496
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был утрамбован очередью из Hagar'а от ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:485
+#: qcsrc/common/notifications.qh:497
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был обстрелян из Hagar'а со стороны ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:486
+#: qcsrc/common/notifications.qh:498
 #, c-format
 msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
-msgstr ""
+msgstr "^BG%s^K1 доигрался с ракетками из Hagar'а%s%s"
 
-#: qcsrc/common/notifications.qh:487
+#: qcsrc/common/notifications.qh:499
 #, c-format
 msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был порезан HLAC'ом ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:488
+#: qcsrc/common/notifications.qh:500
 #, c-format
 msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
-msgstr ""
+msgstr "^BG%s^K1 не соблюдал технику безопасности при обращении с HLAC%s%s"
 
-#: qcsrc/common/notifications.qh:489
+#: qcsrc/common/notifications.qh:501
 #, c-format
 msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 засосало в воронку гравитационной бомбы ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:490
+#: qcsrc/common/notifications.qh:502
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
 msgstr ""
+"^BG%s%s^K1 умер от убийственной игры ^BG%s^K1's на @!#%%й Бутылке Клейна%s%s"
 
-#: qcsrc/common/notifications.qh:491
+#: qcsrc/common/notifications.qh:503
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
-msgstr ""
+msgstr "^BGУ %s^K1 завяли уши от игры на @!#%%й Бутылке Клейна%s%s"
 
-#: qcsrc/common/notifications.qh:492
+#: qcsrc/common/notifications.qh:504
 #, c-format
 msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был застрелен из Laser'a ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:493
+#: qcsrc/common/notifications.qh:505
 #, c-format
 msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
-msgstr ""
+msgstr "^BG%s^K1 отправился себя в ад с помощью Лазера%s%s"
 
-#: qcsrc/common/notifications.qh:494
+#: qcsrc/common/notifications.qh:506
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 подошёл слишком близко к мине ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:495
+#: qcsrc/common/notifications.qh:507
 #, c-format
 msgid "^BG%s^K1 forgot about their mine%s%s"
-msgstr ""
+msgstr "^BG%s^K1 забыл где установил свою мину%s%s"
 
-#: qcsrc/common/notifications.qh:496
+#: qcsrc/common/notifications.qh:508
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был испарён Minstanex'ом ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:497
+#: qcsrc/common/notifications.qh:509
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
+"^BG%s%s^K1 оказался в зоне поражения гранаты, выпущенной из Mortar'a ^BG"
+"%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:498
+#: qcsrc/common/notifications.qh:510
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 отведал гранаты из Mortar'a ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:499
+#: qcsrc/common/notifications.qh:511
 #, c-format
 msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
-msgstr ""
+msgstr "^BG%s^K1 не уследил за гранатой, выпущенной из своего Mortar'a%s%s"
 
-#: qcsrc/common/notifications.qh:500
+#: qcsrc/common/notifications.qh:512
 #, c-format
 msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
-msgstr ""
+msgstr "^BG%s^K1 взорвал сам себя с помощью Mortar'a%s%s"
 
-#: qcsrc/common/notifications.qh:501
+#: qcsrc/common/notifications.qh:513
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был испарён Nex'ом ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:502
+#: qcsrc/common/notifications.qh:514
 #, c-format
 msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был расстрелян из Rifle ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:503
+#: qcsrc/common/notifications.qh:515
 #, c-format
 msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 погиб после знакомства с пулей из Rifle ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:504
+#: qcsrc/common/notifications.qh:516
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 не смог избежать знакомства с пулей из Rifle ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:505
+#: qcsrc/common/notifications.qh:517
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 не смог спрятаться от Rifle ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:506
+#: qcsrc/common/notifications.qh:518
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 скушал ракету ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:507
+#: qcsrc/common/notifications.qh:519
 #, c-format
 msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 оказался слишком близко к ракете ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:508
+#: qcsrc/common/notifications.qh:520
 #, c-format
 msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
-msgstr ""
+msgstr "^BG%s^K1 взорвал себя собственным Rocketlauncher'ом%s%s"
 
-#: qcsrc/common/notifications.qh:509
+#: qcsrc/common/notifications.qh:521
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
 msgstr ""
+"^BG%s%s^K1 подвергся усиленному обстрелу ракетами из Seeker'а со стороны ^BG"
+"%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:510
+#: qcsrc/common/notifications.qh:522
 #, c-format
 msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был захвачен системой самонаведения Seeker'а ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:511
+#: qcsrc/common/notifications.qh:523
 #, c-format
 msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
-msgstr ""
+msgstr "^BG%s^K1 доигрался с ракетками из Seeker'а%s%s"
 
-#: qcsrc/common/notifications.qh:512
+#: qcsrc/common/notifications.qh:524
 #, c-format
 msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был пристрелен из Shotgun'a ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:513
+#: qcsrc/common/notifications.qh:525
 #, c-format
 msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 отшлёпал ^BG%s^K1 своим большим Shotgun'ом%s%s"
 
-#: qcsrc/common/notifications.qh:514
+#: qcsrc/common/notifications.qh:526
 #, c-format
 msgid "^BG%s^K1 is now thinking with portals%s%s"
-msgstr ""
+msgstr "^BG%s^K1 теперь будет относиться к порталам серьёзнее%s%s"
 
-#: qcsrc/common/notifications.qh:515
+#: qcsrc/common/notifications.qh:527
 #, c-format
 msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 умер от убийственной игры ^BG%s^K1 на @!#%%й Тубе%s%s"
 
-#: qcsrc/common/notifications.qh:516
+#: qcsrc/common/notifications.qh:528
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
-msgstr ""
+msgstr "^BGУ %s^K1 завяли уши от собственной игры @!#%%й Тубе%s%s"
 
-#: qcsrc/common/notifications.qh:517
+#: qcsrc/common/notifications.qh:529
 #, c-format
 msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был расстрелян из Machine Gun'a ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:518
+#: qcsrc/common/notifications.qh:530
 #, c-format
 msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 был изрешечен Machine Gun'ом ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:536
+#: qcsrc/common/notifications.qh:548
 msgid "^BGYou are attacking!"
 msgstr "^BGВы атакуете!"
 
-#: qcsrc/common/notifications.qh:537
+#: qcsrc/common/notifications.qh:549
 msgid "^BGYou are defending!"
 msgstr "^BGВы защищаете!"
 
-#: qcsrc/common/notifications.qh:538
+#: qcsrc/common/notifications.qh:550
 msgid "^F4Begin!"
 msgstr "^F4Начали!"
 
-#: qcsrc/common/notifications.qh:539
+#: qcsrc/common/notifications.qh:551
 msgid "^F4Game starts in ^COUNT"
 msgstr "^F4Игра начнётся через ^COUNT"
 
-#: qcsrc/common/notifications.qh:540
+#: qcsrc/common/notifications.qh:552
 msgid "^F4Round starts in ^COUNT"
-msgstr "^F4РаÑ\83нд Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82 Ð±Ñ\8bÑ\82Ñ\8c Ð½Ð°Ñ\87аÑ\82"
+msgstr "^F4РаÑ\83нд Ð½Ð°Ñ\87неÑ\82Ñ\81Ñ\8f Ñ\87еÑ\80ез ^COUNT"
 
-#: qcsrc/common/notifications.qh:541
+#: qcsrc/common/notifications.qh:553
 msgid "^F4Round cannot start"
 msgstr "^F4Раунд не может быть начат"
 
-#: qcsrc/common/notifications.qh:544
+#: qcsrc/common/notifications.qh:556
 msgid "^F2Don't camp!"
 msgstr "^F2Не кемперите!"
 
-#: qcsrc/common/notifications.qh:545
+#: qcsrc/common/notifications.qh:557
 msgid ""
 "^BGYou are now free.\n"
 "^BGFeel free to ^F2try to capture^BG the flag again\n"
@@ -2277,7 +2420,7 @@ msgstr ""
 "^BGВы можете ^F2попробовать захватить^BG флаг снова,\n"
 "^BGесли вы уверены в своих силах."
 
-#: qcsrc/common/notifications.qh:546
+#: qcsrc/common/notifications.qh:558
 msgid ""
 "^BGYou are now ^F1shielded^BG from the flag\n"
 "^BGfor ^F2too many unsuccessful attempts^BG to capture.\n"
@@ -2287,163 +2430,163 @@ msgstr ""
 "^BGтак как вы^F2провалили множество попыток^BG захватить его.\n"
 "^BGПрежде чем попытаться снова, вы должны заработать очки в защите."
 
-#: qcsrc/common/notifications.qh:547
+#: qcsrc/common/notifications.qh:559
 msgid "^BGYou captured the ^TC^TT^BG flag!"
 msgstr "^BGВы захватили ^TC^TT^BG флаг!"
 
-#: qcsrc/common/notifications.qh:548
+#: qcsrc/common/notifications.qh:560
 #, c-format
 msgid "^BGToo many flag throws! Throwing disabled for %s."
 msgstr "^BGВы бросали флаг слишком часто! Бросить снова можно будет через %s."
 
-#: qcsrc/common/notifications.qh:549
+#: qcsrc/common/notifications.qh:561
 #, c-format
 msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
 msgstr "^BG%s^BG передал ^TC^TT^BG флаг %s"
 
-#: qcsrc/common/notifications.qh:550
+#: qcsrc/common/notifications.qh:562
 #, c-format
 msgid "^BGYou received the ^TC^TT^BG flag from %s"
 msgstr "^BGВы получили ^TC^TT^BG флаг от %s"
 
-#: qcsrc/common/notifications.qh:551
+#: qcsrc/common/notifications.qh:563
 #, c-format
 msgid "^BG%s^BG requests you to pass the flag%s"
 msgstr "^BG%s^BG просит вас передать флаг%s"
 
-#: qcsrc/common/notifications.qh:552
+#: qcsrc/common/notifications.qh:564
 #, c-format
 msgid "^BGRequesting %s^BG to pass you the flag"
 msgstr "^BGВы просите %s^BG передать вам флаг"
 
-#: qcsrc/common/notifications.qh:553
+#: qcsrc/common/notifications.qh:565
 #, c-format
 msgid "^BGYou passed the ^TC^TT^BG flag to %s"
 msgstr "^BGВы передали ^TC^TT^BG флаг %s"
 
-#: qcsrc/common/notifications.qh:554
+#: qcsrc/common/notifications.qh:566
 msgid "^BGYou got the ^TC^TT^BG flag!"
 msgstr "^BGВы забрали ^TC^TT^BG флаг!"
 
-#: qcsrc/common/notifications.qh:555
+#: qcsrc/common/notifications.qh:567
 #, c-format
 msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
 msgstr "^BG%sпротивник^BG забрал ваш флаг! Верните его!"
 
-#: qcsrc/common/notifications.qh:556
+#: qcsrc/common/notifications.qh:568
 #, c-format
 msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
 msgstr "^BG%sпротивник (^BG%s%s)^BG забрал ваш флаг! Верните его!"
 
-#: qcsrc/common/notifications.qh:557
+#: qcsrc/common/notifications.qh:569
 #, c-format
 msgid "^BGYour %steam mate^BG got the flag! Protect them!"
 msgstr "^BGВаш %sтоварищ по команде^BG заполучил флаг! Защищайте его!"
 
-#: qcsrc/common/notifications.qh:558
+#: qcsrc/common/notifications.qh:570
 #, c-format
 msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
 msgstr ""
 "^BGВаш %sтоварищ по команде (^BG%s%s)^BG заполучил флаг! Защищайте его!"
 
-#: qcsrc/common/notifications.qh:559
+#: qcsrc/common/notifications.qh:571
 msgid "^BGYou returned the ^TC^TT^BG flag!"
 msgstr "^BGВы вернули ^TC^TT^BG флаг!"
 
-#: qcsrc/common/notifications.qh:560
+#: qcsrc/common/notifications.qh:572
 msgid "^BGStalemate! Enemies can now see you on radar!"
 msgstr "^BGПат! Теперь противники могут видеть вас на карте!"
 
-#: qcsrc/common/notifications.qh:561
+#: qcsrc/common/notifications.qh:573
 msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
 msgstr ""
 "^BGПат! Теперь противники могут видет тех, кто забрал их флаг на карте!"
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou fragged ^BG%s"
 msgstr "^K3%sВы убили ^BG%s"
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou scored against ^BG%s"
 msgstr "^K3%sВы отыграли очко у ^BG%s"
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s"
 msgstr "^K1%sВы были убиты ^BG%s"
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s"
 msgstr "^K1%sВы проиграли очко ^BG%s"
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s^BG%s"
 msgstr "^K1%sВы были убиты ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^BG%s"
 msgstr "^K1%sВы проиграли очко ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou fragged ^BG%s^BG%s"
 msgstr "^K3%sВы убили ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou scored against ^BG%s^BG%s"
 msgstr "^K3%sВы отыграли очко у ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
 msgstr "^K1%sВы отыграли очко у ^BG%s^K1 пока они писали"
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s"
 msgstr "^K1%sВы убили ^BG%s ^BGпока он писал"
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
 msgstr "^K1%sВы проиграли очко ^BG%s^K1 пока писали!"
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s"
 msgstr "^K1%sПока вы писали, вас убил ^BG%s"
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
 msgstr "^K1%sВы проиграли очко ^BG%s^K1 пока писали^BG%s"
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
 msgstr "^K1%sПока вы писали, вас убил ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
 msgstr "^K1%sВы убили ^BG%s^K1 пока они писали^BG%s"
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s^BG%s"
 msgstr "^K1%sВы убили ^BG%s^BG%s пока он писал"
 
-#: qcsrc/common/notifications.qh:570
+#: qcsrc/common/notifications.qh:582
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
 msgstr "^BGНажмите кнопку ^F2БРОСИТЬ ОРУЖИЕ^BG снова чтобы бросить гранату!"
 
-#: qcsrc/common/notifications.qh:571
+#: qcsrc/common/notifications.qh:583
 #, c-format
 msgid ""
 "^BGYou have been moved into a different team\n"
@@ -2452,193 +2595,201 @@ msgstr ""
 "^BGВы были перемещены в другую команду\n"
 "Теперь вы в: %s"
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't go against your team mates!"
 msgstr "^K1Не убивайте товарищей по команде!"
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't shoot your team mates!"
 msgstr "^K1Не стреляйте в своих товарищей по команде!"
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Die camper!"
 msgstr "^K1Умри, кемпер!"
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Reconsider your tactics, camper!"
 msgstr "^K1Хорошо подумай над своей тактикой, кемпер!"
 
-#: qcsrc/common/notifications.qh:574
+#: qcsrc/common/notifications.qh:586
 msgid "^K1You unfairly eliminated yourself!"
 msgstr "^K1Вы коварно самоликвидировались !"
 
-#: qcsrc/common/notifications.qh:575
+#: qcsrc/common/notifications.qh:587
 #, c-format
 msgid "^K1You were %s"
 msgstr "^K1Вы были %s"
 
-#: qcsrc/common/notifications.qh:576
+#: qcsrc/common/notifications.qh:588
 msgid "^K1You couldn't catch your breath!"
 msgstr "^K1Вы не смогли отдышаться!"
 
-#: qcsrc/common/notifications.qh:577
+#: qcsrc/common/notifications.qh:589
 msgid "^K1You hit the ground with a crunch!"
 msgstr "^K1Вас с хрустом расплющило по земле!"
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You felt a little too hot!"
 msgstr "^K1Вам немного жарковато!"
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You got a little bit too crispy!"
 msgstr "^K1Кажется, вы немного хрустите!"
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You killed your own dumb self!"
 msgstr "^K1Вы совершили бессмысленное самоубийство!"
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You need to be more careful!"
 msgstr "^K1Вам нужно быть поосторожнее!"
 
-#: qcsrc/common/notifications.qh:580
+#: qcsrc/common/notifications.qh:592
 msgid "^K1You couldn't stand the heat!"
 msgstr "^K1У вас нет сил терпеть такой жар!"
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr "^K1Вы должны остерегаться монстров!"
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr "^K1Вы были убиты монстром!"
+
+#: qcsrc/common/notifications.qh:594
 msgid "^K1Tastes like chicken!"
 msgstr "^K1На вкус как цыплёнок!"
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:594
 msgid "^K1You forgot to put the pin back in!"
 msgstr "^K1Вы забыли вставить чеку обратно в гранату!"
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You are respawning for running out of ammo..."
 msgstr "^K1Вы будете перерождены, так как у вас закончились патроны..."
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You were killed for running out of ammo..."
 msgstr "^K1Вы были убиты за то, что у вас кончились патроны..."
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You grew too old without taking your medicine"
 msgstr "^K1Вы прожили слишком долго, для человека не принимающего лекарств"
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You need to preserve your health"
 msgstr "^K1Берегите своё здоровье"
 
-#: qcsrc/common/notifications.qh:584
+#: qcsrc/common/notifications.qh:597
 msgid "^K1You became a shooting star!"
 msgstr "^K1Вы окочурились!"
 
-#: qcsrc/common/notifications.qh:585
+#: qcsrc/common/notifications.qh:598
 msgid "^K1You melted away in slime!"
 msgstr "^K1Вас растворило в слизи!"
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You committed suicide!"
 msgstr "^K1Вы совершили самоубийство!"
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You ended it all!"
 msgstr "^K1Вы расстались с жизнью!"
 
-#: qcsrc/common/notifications.qh:587
+#: qcsrc/common/notifications.qh:600
 msgid "^K1You got stuck in a swamp!"
 msgstr "^K1Вы застряли в болоте!"
 
-#: qcsrc/common/notifications.qh:588
+#: qcsrc/common/notifications.qh:601
 #, c-format
 msgid "^BGYou are now on: %s"
 msgstr "^BGСейчас вы на: %s"
 
-#: qcsrc/common/notifications.qh:589
+#: qcsrc/common/notifications.qh:602
 msgid "^K1You died in an accident!"
 msgstr "^K1ВЫ погибли в результате несчастного случая!"
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You had an unfortunate run in with a turret!"
 msgstr "^K1Ваша встреча с турелью закончилась неудачно!"
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You were fragged by a turret!"
 msgstr "^K1Вы были убиты турелью!"
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You had an unfortunate run in with an eWheel turret!"
 msgstr "^K1Ваша встреча с турелью eWheel закончилась неудачно!"
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You were fragged by an eWheel turret!"
 msgstr "^K1Вы были убиты турелью eWheel!"
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You had an unfortunate run in with a Walker turret!"
 msgstr "^K1Ваша встреча с турелью Walker закончилась неудачно!"
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You were fragged by a Walker turret!"
 msgstr "^K1Вы были убиты турелью Walker!"
 
-#: qcsrc/common/notifications.qh:593
+#: qcsrc/common/notifications.qh:606
 msgid "^K1You got caught in the blast of a Bumblebee explosion!"
 msgstr "^K1Вас задело взрывной волной от Bumblebee!"
 
-#: qcsrc/common/notifications.qh:594
+#: qcsrc/common/notifications.qh:607
 msgid "^K1You were crushed by a vehicle!"
 msgstr "^K1Вы были раздавлены весом тяжёлой машины!"
 
-#: qcsrc/common/notifications.qh:595
+#: qcsrc/common/notifications.qh:608
 msgid "^K1You were caught in a Raptor cluster bomb!"
 msgstr "^K1Вас накрыло кассетными бомбами с Raptor'а!"
 
-#: qcsrc/common/notifications.qh:596
+#: qcsrc/common/notifications.qh:609
 msgid "^K1You got caught in the blast of a Raptor explosion!"
 msgstr "^K1Вас задело взрывной волной от Raptor'a!"
 
-#: qcsrc/common/notifications.qh:597
+#: qcsrc/common/notifications.qh:610
 msgid "^K1You got caught in the blast of a Spiderbot explosion!"
 msgstr "^K1Вас задело взрывной волной от Spiderbot'a!"
 
-#: qcsrc/common/notifications.qh:598
+#: qcsrc/common/notifications.qh:611
 msgid "^K1You were blasted to bits by a Spiderbot rocket!"
 msgstr "^K1Ракета Spiderbot'а порвала вас на мелкие кусочки!"
 
-#: qcsrc/common/notifications.qh:599
+#: qcsrc/common/notifications.qh:612
 msgid "^K1You got caught in the blast of a Racer explosion!"
 msgstr "^K1Вас задело взрывной волной от Racer'а!"
 
-#: qcsrc/common/notifications.qh:600
+#: qcsrc/common/notifications.qh:613
 msgid "^K1You couldn't find shelter from a Racer rocket!"
 msgstr "^K1Вы не смогли укрыться от ракеты Racer'а!"
 
-#: qcsrc/common/notifications.qh:601
+#: qcsrc/common/notifications.qh:614
 msgid "^K1Watch your step!"
 msgstr "^K1Смотри куда идёшь!"
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
 msgstr "^K1Кретин! Ты убил ^BG%s^K1, своего товарища по команде!"
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
 msgstr "^K1Кретин! Ты напал на ^BG%s^K1, своего товарища по команде!"
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were fragged by ^BG%s^K1, a team mate"
 msgstr "^K1Вы были убиты ^BG%s^K1, вашим товарищем по команде"
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were scored against by ^BG%s^K1, a team mate"
 msgstr "^K1Вы проиграли очко ^BG%s^K1, своему товарищу по команде"
 
-#: qcsrc/common/notifications.qh:604
+#: qcsrc/common/notifications.qh:617
 msgid ""
 "^K1Stop idling!\n"
 "^BGDisconnecting in ^COUNT..."
@@ -2646,48 +2797,53 @@ msgstr ""
 "^K1Хватит бездельничать!\n"
 "^BGРассоединение через ^COUNT..."
 
-#: qcsrc/common/notifications.qh:605
+#: qcsrc/common/notifications.qh:618
 msgid "^F2You picked up some extra lives"
 msgstr "^F2Вы подобрали несколько дополнительных жизней"
 
-#: qcsrc/common/notifications.qh:606
+#: qcsrc/common/notifications.qh:619
 #, c-format
 msgid "^K3You froze ^BG%s"
 msgstr "^K3Вы заморозили ^BG%s"
 
-#: qcsrc/common/notifications.qh:607
+#: qcsrc/common/notifications.qh:620
 #, c-format
 msgid "^K1You were frozen by ^BG%s"
 msgstr "^K1Вы были заморожены ^BG%s"
 
-#: qcsrc/common/notifications.qh:608
+#: qcsrc/common/notifications.qh:621
 #, c-format
 msgid "^K3You revived ^BG%s"
 msgstr "^K3Вы оживили ^BG%s"
 
-#: qcsrc/common/notifications.qh:609
+#: qcsrc/common/notifications.qh:622
 msgid "^K3You revived yourself"
 msgstr "^K3Вы оживили сами себя"
 
-#: qcsrc/common/notifications.qh:610
+#: qcsrc/common/notifications.qh:623
 #, c-format
 msgid "^K3You were revived by ^BG%s"
 msgstr "^K3Вы были оживлены ^BG%s"
 
-#: qcsrc/common/notifications.qh:611
+#: qcsrc/common/notifications.qh:624
 #, c-format
 msgid "^K3You were automatically revived after %s second(s)"
 msgstr "^K3Вы были автоматически оживлены после %s секунд(ы) ожидания"
 
-#: qcsrc/common/notifications.qh:614
+#: qcsrc/common/notifications.qh:627
 msgid "^K1You froze yourself"
 msgstr "^K1Вы заморозили сами себя"
 
-#: qcsrc/common/notifications.qh:615
+#: qcsrc/common/notifications.qh:628
 msgid "^K1Round already started, you spawn as frozen"
 msgstr "^K1Раунд уже начался, вы были возрождены замороженным"
 
-#: qcsrc/common/notifications.qh:622
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr "^K1A %s прибыл!"
+
+#: qcsrc/common/notifications.qh:636
 msgid ""
 "^K1No spawnpoints available!\n"
 "Hope your team can fix it..."
@@ -2695,7 +2851,7 @@ msgstr ""
 "^K1Вас негде возродить!\n"
 "Остаётся надеяться что ваша команда сможет это исправить..."
 
-#: qcsrc/common/notifications.qh:623
+#: qcsrc/common/notifications.qh:637
 msgid ""
 "^K1You may not join the game at this time.\n"
 "The player limit reached maximum capacity."
@@ -2703,11 +2859,15 @@ msgstr ""
 "^K1Вы не можете присоединиться к игре в данный момент.\n"
 "Превышено максимальное количество игроков."
 
-#: qcsrc/common/notifications.qh:626
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
 msgid "^BGKilling people while you don't have the ball gives no points!"
 msgstr "^BGПока мяч находится не у вас, вы очки за убийства не начисляются!"
 
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:642
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Help the key carriers to meet!"
@@ -2715,7 +2875,7 @@ msgstr ""
 "^BGВсе ключи у членов вашей команды!\n"
 "Теперь вам нужно встретиться!"
 
-#: qcsrc/common/notifications.qh:628
+#: qcsrc/common/notifications.qh:643
 msgid ""
 "^BGAll keys are in ^TC^TT team^BG's hands!\n"
 "Interfere ^F4NOW^BG!"
@@ -2723,7 +2883,7 @@ msgstr ""
 "^BG^TC^TT команда^BG собрала все ключи!\n"
 "Помешайте им встретиться. ^F4БЫСТРО^BG!"
 
-#: qcsrc/common/notifications.qh:629
+#: qcsrc/common/notifications.qh:644
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Meet the other key carriers ^F4NOW^BG!"
@@ -2731,19 +2891,19 @@ msgstr ""
 "^BGВсе ключи у членов вашей команды\n"
 "Встретьтесь с ними. ^F4БЫСТРО^BG!"
 
-#: qcsrc/common/notifications.qh:630
+#: qcsrc/common/notifications.qh:645
 msgid "^F4Round will start in ^COUNT"
 msgstr "^F4Раунд начнётся через ^COUNT"
 
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:646
 msgid "^BGScanning frequency range..."
 msgstr "^BGСканирование частотного диапазона..."
 
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:647
 msgid "^BGYou are starting with the ^TC^TT Key"
 msgstr "^BGВы держите ^TC^TT Ключ"
 
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
 #, c-format
 msgid ""
 "^BGWaiting for players to join...\n"
@@ -2752,38 +2912,38 @@ msgstr ""
 "^BGОжидание игроков...\n"
 "Активные игроки необходимы для: %s"
 
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:650
 #, c-format
 msgid "^BGWaiting for %s player(s) to join..."
 msgstr "^BGОжидаем присоединения %s игроков(а)..."
 
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:651
 msgid "^F4^COUNT^BG left to find some ammo!"
 msgstr "^F4^COUNT^BG осталось на поиск патронов!"
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
 msgstr "^BGНайдите патронов, иначе вы умрёте через ^F4^COUNT^BG!"
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
 msgstr "^BGРаздобудьте патронов! Осталось ^F4^COUNT^BG!"
 
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:653
 #, c-format
 msgid "^F2Extra lives remaining: ^K1%s"
 msgstr "^F2Осталось дополнительных жизней: ^K1%s"
 
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:654
 msgid "^BGSecondary fire inflicts no damage!"
 msgstr "^BGАльтернативный режим огня не наносит урона!"
 
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:655
 #, c-format
 msgid "^BG%s"
 msgstr "^BG%s"
 
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:656
 #, c-format
 msgid ""
 "^F2^COUNT^BG until weapon change...\n"
@@ -2792,16 +2952,16 @@ msgstr ""
 "^F2^COUNT^BG до смены оружия...\n"
 "Следующее оружие: ^F1%s"
 
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:657
 #, c-format
 msgid "^F2Active weapon: ^F1%s"
 msgstr "^F2Текущее оружие: ^F1%s"
 
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:658
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
 msgstr "^BGНажмите кнопку ^F2БРОСИТЬ ОРУЖИЕ^BG снова чтобы бросить гранату!"
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep fragging until we have a winner!"
@@ -2809,7 +2969,7 @@ msgstr ""
 "^F2Продолжаем играть в ^F4ОВЕРТАЙМЕ^F2!\n"
 "Убивайте противников, пока не определится победитель!"
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep scoring until we have a winner!"
@@ -2817,7 +2977,7 @@ msgstr ""
 "^F2Продолжаем играть в ^F4ОВЕРТАЙМЕ^F2!\n"
 "Зарабатывайте очки, пока не определится победитель!"
 
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:660
 #, c-format
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
@@ -2826,210 +2986,210 @@ msgstr ""
 "^F2Продолжаем играть в ^F4ОВЕРТАЙМЕ^F2!\n"
 "^BGК игровому времени добавлено ^F4%s^BG!"
 
-#: qcsrc/common/notifications.qh:646
+#: qcsrc/common/notifications.qh:661
 msgid "^F2Invisibility has worn off"
 msgstr "^F2Действие Невидимости закончилось"
 
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:662
 msgid "^F2Shield has worn off"
 msgstr "^F2Действие Щита закончилось"
 
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:663
 msgid "^F2Speed has worn off"
 msgstr "^F2Действие Скорости закончилось"
 
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:664
 msgid "^F2Strength has worn off"
 msgstr "^F2Действие Силы закончилось"
 
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:665
 msgid "^F2You are invisible"
 msgstr "^F2Вы невидимы"
 
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:666
 msgid "^F2Shield surrounds you"
 msgstr "^F2Вас окружает щит"
 
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:667
 msgid "^F2You are on speed"
 msgstr "^F2Ваша скорость передвижения повышена"
 
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:668
 msgid "^F2Strength infuses your weapons with devastating power"
 msgstr "^F2Сила придаёт разрушительную мощь вашему оружие"
 
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:669
 msgid "^F2The race is over, finish your lap!"
 msgstr "^F2Гонка окончена, завершите ваш круг!"
 
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:670
 msgid "^F2Superweapons have broken down"
 msgstr "^F2Супероружие разрушилось"
 
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:671
 msgid "^F2Superweapons have been lost"
 msgstr "^F2Супероружие потеряно"
 
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:672
 msgid "^F2You now have a superweapon"
 msgstr "^F2Вы получили супероружие"
 
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:673
 msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
 msgstr "^K1Переход в ^TC^TT^K1 через ^COUNT"
 
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:674
 msgid "^K1Changing team in ^COUNT"
 msgstr "^K1Смена команды через ^COUNT"
 
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:675
 msgid "^K1Spectating in ^COUNT"
 msgstr "^K1Вы станете наблюдателем через ^COUNT"
 
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:676
 msgid "^K1Suicide in ^COUNT"
 msgstr "^K1Вы совершите самоубийство через ^COUNT"
 
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:677
 msgid "^F4Timeout begins in ^COUNT"
 msgstr "^F4Тайм-аут начнётся через ^COUNT"
 
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:678
 msgid "^F4Timeout ends in ^COUNT"
 msgstr "^F4Тайм-аут законится через ^COUNT"
 
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
 #, c-format
 msgid " (near %s)"
 msgstr " (возле %s)"
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "primary"
 msgstr "основной"
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "secondary"
 msgstr "альтернативный"
 
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:980
 #, c-format
 msgid " ^F1(Press %s)"
 msgstr " ^F1(Нажмите %s)"
 
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:989
 #, c-format
 msgid " with %s"
 msgstr " с %s"
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
 msgstr "%s^K1 совершил ТРОЙНОЕ УБИЙСТВО! %s^BG"
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
 msgstr "%s^K1 набрал ТРИ ОЧКА! %s^BG"
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 msgid "TRIPLE FRAG! "
 msgstr "ТРОЙНОЕ УБИЙСТВО! "
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 набрал ПЯТЬ ОЧКОВ ПОДРЯД! %s^BG"
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 unlocked RAGE! %s^BG"
 msgstr "%s^K1 высвободил свою ЯРОСТЬ! %s^BG"
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 msgid "RAGE! "
 msgstr "ЯРОСТЬ! "
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 набрал ДЕСЯТЬ ОЧКОВ ПОДРЯД! %s^BG"
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 started a MASSACRE! %s^BG"
 msgstr "%s^K1 начал РЕЗНЮ! %s^BG"
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 msgid "MASSACRE! "
-msgstr "РЕЗНЯ! "
+msgstr "РЕЗНЯ!"
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 executed MAYHEM! %s^BG"
 msgstr "%s^K1 творит БЕСПРЕДЕЛ! %s^BG"
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 набрал ПЯТНАДЦАТЬ ОЧКОВ ПОДРЯД! %s^BG"
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 msgid "MAYHEM! "
 msgstr "БЕСПРЕДЕЛ! "
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 is a BERSERKER! %s^BG"
 msgstr "%s^K1 БЕРСЕРКЕР! %s^BG"
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 набрал ДВАДЦАТЬ ОЧКОВ ПОДРЯД! %s^BG"
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 msgid "BERSERKER! "
 msgstr "БЕРСЕРКЕР! "
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 inflicts CARNAGE! %s^BG"
 msgstr "%s^K1 начинает БОЙНЮ! %s^BG"
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 набрал ДВАДЦАТЬ ПЯТЬ ОЧКОВ ПОДРЯД! %s^BG"
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 msgid "CARNAGE! "
-msgstr "БОЙНЯ! "
+msgstr "БОЙНЯ!"
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 набрал ТРИДЦАТЬ ОЧКОВ ПОДРЯД! %s^BG"
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
 msgstr "%s^K1 предрекает АРМАГЕДДОН! %s^BG"
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 msgid "ARMAGEDDON! "
-msgstr "АРМАГЕДДОН! "
+msgstr "АРМАГЕДДОН!"
 
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1010
 #, c-format
 msgid "%s(^F1Bot^BG)"
 msgstr "%s(^F1Бот^BG)"
 
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1012
 #, c-format
 msgid "%s(Ping ^F1%d^BG)"
 msgstr "%s(Пинг ^F1%d^BG)"
 
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1018
 #, c-format
 msgid ""
 "\n"
@@ -3038,7 +3198,7 @@ msgstr ""
 "\n"
 "(Здоровье ^1%d^BG / Броня ^2%d^BG)%s"
 
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1020
 #, c-format
 msgid ""
 "\n"
@@ -3047,68 +3207,68 @@ msgstr ""
 "\n"
 "(^F4Мёртв^BG)%s"
 
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
 #, c-format
 msgid "%d score spree! "
 msgstr "%d очков подряд! "
 
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1069
 #, c-format
 msgid "%d frag spree! "
 msgstr "%d убийств подряд! "
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First blood! "
 msgstr "Первая кровь! "
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First score! "
 msgstr "Первое очко! "
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First casualty! "
 msgstr "Первая смерть! "
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First victim! "
 msgstr "Первая жертва! "
 
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1127
 #, c-format
 msgid "%s^K1 has %d frags in a row! %s^BG"
-msgstr "%s^K1 Ñ\81овеÑ\80Ñ\88ил %d Ñ\83бийÑ\81Ñ\82в подряд! %s^BG"
+msgstr "%s^K1 Ñ\81овеÑ\80Ñ\88ил %d Ñ\84Ñ\80агов подряд! %s^BG"
 
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1128
 #, c-format
 msgid "%s^K1 made %d scores in a row! %s^BG"
 msgstr "%s^K1 набрал %d очков подряд! %s^BG"
 
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1146
 #, c-format
 msgid "%s^K1 drew first blood! %s^BG"
 msgstr "%s^K1 пролил первую кровь! %s^BG"
 
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1147
 #, c-format
 msgid "%s^K1 got the first score! %s^BG"
 msgstr "%s^K1 получил первое очко! %s^BG"
 
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1163
 #, c-format
 msgid ", ending their %d frag spree"
 msgstr ", прервав серию из %d убийств подряд"
 
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1164
 #, c-format
 msgid ", ending their %d score spree"
 msgstr ", прервав серию из %d очков подряд"
 
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1178
 #, c-format
 msgid ", losing their %d frag spree"
 msgstr ", окончив свою серию из %d убийств подряд"
 
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1179
 #, c-format
 msgid ", losing their %d score spree"
 msgstr ", прервав свою серию из %d очков подряд"
@@ -3149,11 +3309,11 @@ msgstr "  sync - обновляет все cvar'ы на текущей стра
 msgid "  directmenu ITEM - select a menu item as main item\n"
 msgstr "  directmenu ITEM - определить элемент меню как главный элемент\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:62
+#: qcsrc/menu/command/menu_cmd.qc:68
 msgid "Available options:\n"
 msgstr "Доступные параметры:\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:113
+#: qcsrc/menu/command/menu_cmd.qc:119
 msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
 msgstr ""
 "Неверная команда. Попробуйте menu_cmd help, чтобы получить список доступных "
@@ -3164,7 +3324,7 @@ msgstr ""
 msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
 msgstr "ВНИМАНИЕ: текст %s слишком широк для надписи, сжат в %f раз\n"
 
-#: qcsrc/menu/item/listbox.c:302
+#: qcsrc/menu/item/listbox.c:382
 #, c-format
 msgid "Item %d"
 msgstr "Предмет %d"
@@ -3193,23 +3353,27 @@ msgstr "???"
 msgid "Level %d: %s"
 msgstr "Уровень %d: %s"
 
-#: qcsrc/menu/xonotic/cvarlist.c:85
-msgid "will be saved to config.cfg"
-msgstr "бÑ\83деÑ\82 Ñ\81оÑ\85Ñ\80анено в config.cfg"
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr "пÑ\80инÑ\83диÑ\82елÑ\8cно Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8bваеÑ\82Ñ\81Ñ\8f в config.cfg"
 
-#: qcsrc/menu/xonotic/cvarlist.c:87
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
 msgid "will not be saved"
 msgstr "не будет сохранено"
 
-#: qcsrc/menu/xonotic/cvarlist.c:89
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr "будет сохранено в config.cfg"
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
 msgid "private"
 msgstr "личное"
 
-#: qcsrc/menu/xonotic/cvarlist.c:91
+#: qcsrc/menu/xonotic/cvarlist.c:95
 msgid "engine setting"
 msgstr "установка движка"
 
-#: qcsrc/menu/xonotic/cvarlist.c:93
+#: qcsrc/menu/xonotic/cvarlist.c:97
 msgid "read only"
 msgstr "только чтение"
 
@@ -3218,6 +3382,7 @@ msgid "Credits"
 msgstr "Разработчики"
 
 #: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
@@ -3226,7 +3391,7 @@ msgstr "Разработчики"
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:77
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
 #: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
 msgid "OK"
 msgstr "ОК"
@@ -3235,7 +3400,7 @@ msgstr "ОК"
 msgid "Welcome"
 msgstr "Добро пожаловать"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:40
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
 msgid ""
 "Welcome to Xonotic, please select your language preference and enter your "
 "player name to get started.  You can change these options later through the "
@@ -3244,52 +3409,52 @@ msgstr ""
 "Добро пожаловать в Xonotic. Для начала, пожалуйста, выберите ваш язык и "
 "введите ваше имя.  Позже вы сможете изменить эти настройки в меню."
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
 msgid "Name:"
 msgstr "Имя:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:68
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
 #: qcsrc/menu/xonotic/dialog_settings_user.c:65
 msgid "Text language:"
 msgstr "Язык меню:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
 msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
 msgstr "Разрешить при сборе статистики игры использовать имя игрока?"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
 msgid "ALWU2N^Yes"
 msgstr "Да"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
 msgid "ALWU2N^No"
 msgstr "Нет"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
 msgid "ALWU2N^Undecided"
 msgstr "Спросить позже"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
 msgid "Save settings"
 msgstr "Сохранить настройки"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:4
 msgid "Ammo Panel"
-msgstr "Ð\9fанелÑ\8c Ð±Ð¾ÐµÐ¿Ñ\80ипаÑ\81ов"
+msgstr "Ð\9fанелÑ\8c Ð¿Ð°Ñ\82Ñ\80онов"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:23
 msgid "Ammunition display:"
-msgstr "Ð\9fоказ Ð±Ð¾ÐµÐ¿Ñ\80ипаÑ\81ов:"
+msgstr "Ð\9fоказ Ð¿Ð°Ñ\82Ñ\80онов:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:26
 msgid "Show only current ammo type"
-msgstr "Ð\9fоказÑ\8bваÑ\82Ñ\8c Ñ\82олÑ\8cко Ñ\82екÑ\83Ñ\89ий Ð²Ð¸Ð´ Ð±Ð¾ÐµÐ¿Ñ\80ипаÑ\81ов"
+msgstr "Ð\9fоказÑ\8bваÑ\82Ñ\8c Ñ\82олÑ\8cко Ñ\82екÑ\83Ñ\89ий Ð²Ð¸Ð´ Ð¿Ð°Ñ\82Ñ\80онов"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:29
 msgid "Align icon:"
-msgstr "Ð\92Ñ\8bÑ\80овнÑ\8fÑ\82Ñ\8c Ð¸ÐºÐ¾Ð½ÐºÐ¸:"
+msgstr "Ð\92Ñ\8bÑ\80овнÑ\8fÑ\82Ñ\8c Ð·Ð½Ð°Ñ\87ок:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:30
 #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:37
@@ -3352,7 +3517,7 @@ msgstr "Размер чата:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:30
 msgid "Chat lifetime:"
-msgstr "Время жизни:"
+msgstr "Время жизни чата:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:34
 msgid "Chat beep sound"
@@ -3401,7 +3566,7 @@ msgstr "Наружу"
 #: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:38
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:38
 msgid "Icon alignment:"
-msgstr "Ð\92Ñ\8bÑ\80авнивание Ð¸ÐºÐ¾Ð½Ð¾Ðº:"
+msgstr "Ð\92Ñ\8bÑ\80авнивание Ð·Ð½Ð°Ñ\87ков:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:46
 msgid "Flip health and armor positions"
@@ -3417,11 +3582,11 @@ msgstr "Инф. сообщения:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:26
 msgid "Flip align"
-msgstr "Ð\9fеÑ\80евеÑ\80нÑ\83ть выравнивание"
+msgstr "Ð\9eбÑ\80аÑ\82ить выравнивание"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_modicons.c:4
 msgid "Mod Icons Panel"
-msgstr "Ð\9fанелÑ\8c Ð¸ÐºÐ¾Ð½Ð¾Ðº мода"
+msgstr "Ð\9fанелÑ\8c Ð·Ð½Ð°Ñ\87ков мода"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:4
 msgid "Notification Panel"
@@ -3467,11 +3632,11 @@ msgstr "Включена при наблюдении"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:26
 msgid "Panel enabled only in Race/CTS"
-msgstr "Панель включена в командных играх"
+msgstr "Панель включена в Race/CTS"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:32
 msgid "Status bar"
-msgstr "Ð\92клÑ\8eÑ\87иÑ\82Ñ\8c Ð¿Ð¾Ð»Ð¾Ñ\81Ñ\83 состояния"
+msgstr "Ð\9fолоÑ\81а состояния"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:34
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:49
@@ -3589,7 +3754,7 @@ msgstr "Радар:"
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
-#: qcsrc/menu/xonotic/util.qc:708
+#: qcsrc/menu/xonotic/util.qc:758
 msgid "Alpha:"
 msgstr "Прозрачность:"
 
@@ -3771,24 +3936,24 @@ msgstr "Настройка панелей HUD"
 msgid "Panel background defaults:"
 msgstr "Фон по умолчанию:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:683
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
 msgid "Background:"
 msgstr "Фон:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:686
-#: qcsrc/menu/xonotic/util.qc:702 qcsrc/menu/xonotic/util.qc:719
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
 msgid "Disable"
 msgstr "Отключить"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:691
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
 msgid "Color:"
 msgstr "Цвет:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:699
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
 msgid "Border size:"
 msgstr "Ширина краёв:"
 
@@ -3797,11 +3962,11 @@ msgstr "Ширина краёв:"
 msgid "Team color:"
 msgstr "Цвет команды:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:725
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
 msgid "Test team color in configure mode"
 msgstr "Проверить цвет команды в режиме настройки"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:728
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
 msgid "Padding:"
 msgstr "Отступ:"
 
@@ -3849,6 +4014,53 @@ msgstr "Y:"
 msgid "Exit setup"
 msgstr "Выйти из настроек"
 
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr "Инструменты Монстров"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr "Монстр:"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr "Новое"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr "Убрать"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr "Переместить цель:"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr "Следовать"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr "Блуждать"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr "Точка возрождения"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr "Движений нет"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr "Цвета:"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr "Оформления:"
+
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:4
 msgid "Multiplayer"
 msgstr "Игра по сети"
@@ -3864,7 +4076,7 @@ msgstr "Создать"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:20
 msgid "Demos"
-msgstr "Ð\94емо"
+msgstr "Ð\94емки"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:21
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:5
@@ -3890,12 +4102,13 @@ msgstr "Исп. предел карты"
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
 msgid "Point limit:"
 msgstr "Предел очков:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63
 msgid "Player slots:"
-msgstr "Ð\9aол-во игроков:"
+msgstr "СлоÑ\82Ñ\8b игроков:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66
 msgid "Number of bots:"
@@ -3947,14 +4160,14 @@ msgstr "Сверхчеловек"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82
 msgid "Godlike"
-msgstr "Ð\91огоподобный"
+msgstr "Ð\91ожеÑ\81Ñ\82венный"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87
 msgid "Mutators..."
 msgstr "Мутаторы..."
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
 msgid "Advanced settings..."
 msgstr "Доп. настройки..."
 
@@ -3990,7 +4203,7 @@ msgstr "Круги:"
 msgid "Goals:"
 msgstr "Цели:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
 msgid "Frag limit:"
 msgstr "Предел убийств:"
 
@@ -4290,27 +4503,31 @@ msgid "Join"
 msgstr "Присоединиться"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr "SRVS^Категории"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
 msgid "SRVS^Empty"
 msgstr "Пустые"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:37
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
 msgid "SRVS^Full"
 msgstr "Полные"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:41
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
 msgid "Pause"
 msgstr "Пауза"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:53
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
 msgid "Address:"
 msgstr "Адрес:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:64
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
 msgid "Info..."
 msgstr "Сведения..."
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:69
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
 msgid "Join!"
 msgstr "Присоединиться!"
@@ -4325,9 +4542,9 @@ msgid "%d/%d"
 msgstr "%d/%d"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
-#: qcsrc/menu/xonotic/util.qc:685 qcsrc/menu/xonotic/util.qc:701
-#: qcsrc/menu/xonotic/util.qc:710 qcsrc/menu/xonotic/util.qc:718
-#: qcsrc/menu/xonotic/util.qc:730
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
 msgid "Default"
 msgstr "По умолчанию"
 
@@ -4566,11 +4783,11 @@ msgstr "Враги"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76
 msgid "Blur crosshair if the shot is obstructed"
-msgstr "Расплывчатий прицел при препятствиях выстрелу"
+msgstr "Расплывчатый прицел на препятствиях"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81
 msgid "Animate when hitting an enemy"
-msgstr "Анимировать, если прицел на враге"
+msgstr "Анимировать при попадании по врагу"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85
 msgid "Animate when picking up an item"
@@ -4805,10 +5022,6 @@ msgstr "Нет"
 msgid "Sandbox Tools"
 msgstr "Инструменты песочницы"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
-msgid "Spawn"
-msgstr "Новое"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
 msgid "Remove *"
 msgstr "Убрать"
@@ -4841,10 +5054,6 @@ msgstr "Открепить от *"
 msgid "Visual object properties for *:"
 msgstr "Визуальные свойства для *:"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
-msgid "Set skin:"
-msgstr "Оформления:"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
 msgid "Set alpha:"
 msgstr "Установить прозрачность:"
@@ -5086,15 +5295,15 @@ msgstr "7.1"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:126
 msgid "Swap Stereo"
-msgstr "Ð\9eбмен Ð¼ÐµÑ\81Ñ\82ами ÐºÐ°Ð½Ð°Ð»Ð¾Ð²"
+msgstr "Ð\9eбмен ÐºÐ°Ð½Ð°Ð»Ð¾Ð² Ð¼ÐµÑ\81Ñ\82ами"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:128
 msgid "Headphone friendly mode"
-msgstr "Ð\9eÑ\80иенÑ\82иÑ\80ованнÑ\8bй Ð½Ð° Ð½Ð°Ñ\83Ñ\88ники Ñ\80ежим"
+msgstr "Режим Ð´Ð»Ñ\8f Ð½Ð°Ñ\83Ñ\88ников"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:132
 msgid "Hit indication sound"
-msgstr "Ð\9eповеÑ\89аÑ\82Ñ\8c Ð¾ Ð¿Ð¾Ð¿Ð°Ð´Ð°Ð½Ð¸Ð¸"
+msgstr "Ð\97вÑ\83коваÑ\8f Ð¸Ð½Ð´Ð¸ÐºÐ°Ñ\86иÑ\8f Ð¿Ð¾Ð¿Ð°Ð´Ð°Ð½Ð¸Ñ\8f"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:134
 msgid "Chat message sound"
@@ -5166,7 +5375,7 @@ msgstr "Предельное"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:52
 msgid "Geometry detail:"
-msgstr "Ð\94еÑ\82ализаÑ\86иÑ\8f Ð¾ÐºÑ\80Ñ\83жениÑ\8f:"
+msgstr "Ð\94еÑ\82ализаÑ\86иÑ\8f Ð³ÐµÐ¾Ð¼ÐµÑ\82Ñ\80ии:"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:54
 msgid "DET^Lowest"
@@ -5240,7 +5449,7 @@ msgstr "Показывать поверхности"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:108
 msgid "Use lightmaps"
-msgstr "Ð\98Ñ\81полÑ\8cзоваÑ\82Ñ\8c Ðºарты освещения"
+msgstr "Ð\9aарты освещения"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:109
 msgid "Deluxe mapping"
@@ -5252,7 +5461,7 @@ msgstr "Блеск"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:114
 msgid "Offset mapping"
-msgstr "Ð\9eÑ\84Ñ\81еÑ\82ное Ñ\82екÑ\81Ñ\82Ñ\83Ñ\80иÑ\80ование"
+msgstr "Ð\9fаÑ\80аллакÑ\81-маппинг"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:116
 msgid "Relief mapping"
@@ -5476,175 +5685,179 @@ msgid "Client UDP port:"
 msgstr "UDP порт клиента:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "Use encryption (AES) when available"
+msgstr "Использовать шифрование (AES) если возможно"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
 msgid "Show netgraph"
 msgstr "Показывать сетевой монитор"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
 msgid "Client-side movement prediction"
 msgstr "Предсказание движения на стороне клиента"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:63
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
 msgid "Movement error compensation"
 msgstr "Компенсация ошибки движения"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
 msgid "Downloads:"
 msgstr "Загрузки:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:70
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:82
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
 msgid "Maximum:"
 msgstr "Максимум:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
 msgid "Speed (kB/s):"
 msgstr "Скорость (кБ/с):"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:79
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
 msgid "Framerate:"
 msgstr "Частота кадров:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:84
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
 msgid "MAXFPS^5 fps"
-msgstr "5 кадров в секунду"
+msgstr "5 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:85
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
 msgid "MAXFPS^10 fps"
-msgstr "10 кадров в секунду"
+msgstr "10 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
 msgid "MAXFPS^20 fps"
-msgstr "20 кадров в секунду"
+msgstr "20 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:87
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
 msgid "MAXFPS^30 fps"
-msgstr "30 кадров в секунду"
+msgstr "30 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
 msgid "MAXFPS^40 fps"
-msgstr "40 кадров в секунду"
+msgstr "40 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
 msgid "MAXFPS^50 fps"
-msgstr "50 кадров в секунду"
+msgstr "50 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
 msgid "MAXFPS^60 fps"
-msgstr "60 кадров в секунду"
+msgstr "60 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
 msgid "MAXFPS^70 fps"
-msgstr "70 кадров в секунду"
+msgstr "70 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
 msgid "MAXFPS^100 fps"
-msgstr "100 кадров в секунду"
+msgstr "100 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
 msgid "MAXFPS^125 fps"
-msgstr "125 кадров в секунду"
+msgstr "125 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
 msgid "MAXFPS^200 fps"
-msgstr "200 кадров в секунду"
+msgstr "200 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
 msgid "MAXFPS^Unlimited"
 msgstr "Неограниченно"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
 msgid "Target:"
 msgstr "Цель:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:101
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
 msgid "TRGT^Disabled"
 msgstr "Отключено"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:102
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
 msgid "TRGT^30 fps"
-msgstr "30 кадров в секунду"
+msgstr "30 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
 msgid "TRGT^40 fps"
-msgstr "40 кадров в секунду"
+msgstr "40 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:104
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
 msgid "TRGT^50 fps"
-msgstr "50 кадров в секунду"
+msgstr "50 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
 msgid "TRGT^60 fps"
-msgstr "60 кадров в секунду"
+msgstr "60 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
 msgid "TRGT^100 fps"
-msgstr "100 кадров в секунду"
+msgstr "100 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
 msgid "TRGT^125 fps"
-msgstr "125 кадров в секунду"
+msgstr "125 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
 msgid "TRGT^200 fps"
-msgstr "200 кадров в секунду"
+msgstr "200 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
 msgid "Idle limit:"
 msgstr "Предел неактивности:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:114
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
 msgid "IDLFPS^10 fps"
-msgstr "10 кадров в секунду"
+msgstr "10 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:115
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
 msgid "IDLFPS^20 fps"
-msgstr "20 кадров в секунду"
+msgstr "20 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
 msgid "IDLFPS^30 fps"
-msgstr "30 кадров в секунду"
+msgstr "30 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:117
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
 msgid "IDLFPS^60 fps"
-msgstr "60 кадров в секунду"
+msgstr "60 кадров"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
 msgid "IDLFPS^Unlimited"
 msgstr "Неограниченно"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:123
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
 msgid "Show frames per second"
-msgstr "Показывать кадры/с (FPS)"
+msgstr "Показывать кадры/c (FPS)"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:126
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
 msgid "Save processing time for other apps"
 msgstr "Беречь время процессора для других приложений"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
 msgid "Menu tooltips:"
 msgstr "Подсказки в меню:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:132
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
 msgid "TLTIP^Disabled"
 msgstr "Отключены"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:133
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
 msgid "TLTIP^Standard"
 msgstr "Стандартные"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
 msgid "TLTIP^Advanced"
 msgstr "Расширенные"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
 msgid "Show current time"
 msgstr "Показывать время"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:140
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
 msgid "Show current date"
 msgstr "Показывать дату"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
 msgid "Enable developer mode"
 msgstr "Включить режим разработчика"
 
@@ -5668,7 +5881,7 @@ msgstr "Вид:"
 msgid "Value:"
 msgstr "Значение:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:72
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
 msgid "Description:"
 msgstr "Описание:"
 
@@ -5696,6 +5909,26 @@ msgstr "Разрешить статистке отслеживать клиен
 msgid "Allow player statistics to use your nickname"
 msgstr "Разрешить статистике использовать имя игрока"
 
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
 #: qcsrc/menu/xonotic/dialog_settings_video.c:26
 msgid "Resolution:"
 msgstr "Разрешение:"
@@ -5816,7 +6049,7 @@ msgstr "Всё"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:83
 msgid "Vertex Buffer Objects (VBOs)"
-msgstr "Использование Vertex Buffer Objects (VBOs)"
+msgstr "Использовать Vertex Buffer Objects (VBOs)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:86
 msgid "VBO^Off"
@@ -5856,7 +6089,7 @@ msgstr "Насыщенность:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:116
 msgid "LIT^Ambient:"
-msgstr "Ð\9eкÑ\80Ñ\83жаÑ\8eщее освещение:"
+msgstr "Ð\9eбщее освещение:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:119
 msgid "Intensity:"
@@ -5876,11 +6109,11 @@ msgstr "Использовать GLSL для управления цветом"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:133
 msgid "Psycho coloring (easter egg)"
-msgstr "Психоделическая расцветка(пасхальное яйцо)"
+msgstr "Психоделическая расцветка (пасхалка)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:136
 msgid "Trippy vertices (easter egg)"
-msgstr "Клевые формы(пасхальное яйцо)"
+msgstr "Клевые формы (пасхалка)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:139
 msgid "Flip view horizontally"
@@ -5946,9 +6179,9 @@ msgstr "розовая"
 msgid "spectate"
 msgstr "наблюдать"
 
-#: qcsrc/menu/xonotic/mainwindow.c:39 qcsrc/menu/xonotic/mainwindow.c:42
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
 msgid "Do not press this button again!"
-msgstr "Ð\9dе Ð½Ð°Ð¶Ð¸Ð¼Ð°Ð¹Ñ\82е Ñ\81нова Ñ\8dÑ\82Ñ\83 ÐºÐ½Ð¾Ð¿ÐºÑ\83!"
+msgstr "Ð\9dе Ð½Ð°Ð¶Ð¸Ð¼Ð°Ð¹Ñ\82е Ñ\8dÑ\82Ñ\83 ÐºÐ½Ð¾Ð¿ÐºÑ\83 Ñ\81нова!"
 
 #: qcsrc/menu/xonotic/maplist.c:280
 msgid ""
@@ -5978,31 +6211,63 @@ msgstr "наблюдатель"
 msgid "<no model found>"
 msgstr "<модель игрока не найдена>"
 
-#: qcsrc/menu/xonotic/serverlist.c:190
-msgid "Remove"
-msgstr "Убрать"
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr "Избранное"
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
+msgstr "Рекомендуемое"
+
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
+msgstr "Обычные сервера"
+
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr "Сервера"
 
-#: qcsrc/menu/xonotic/serverlist.c:192
-msgid "Bookmark"
-msgstr "Ð\92 Ð·Ð°ÐºÐ»Ð°Ð´ÐºÐ¸"
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr "СпоÑ\80Ñ\82ивнÑ\8bй Ð ÐµÐ¶Ð¸Ð¼"
 
-#: qcsrc/menu/xonotic/serverlist.c:553
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr "Модифицированные Сервера"
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr "Режим Overkill"
+
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr "Режим MinstaGib"
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr "Режим Defrag"
+
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr "Избранный"
+
+#: qcsrc/menu/xonotic/serverlist.c:923
 msgid "Ping"
 msgstr "Пинг"
 
-#: qcsrc/menu/xonotic/serverlist.c:554
+#: qcsrc/menu/xonotic/serverlist.c:924
 msgid "Host name"
 msgstr "Имя сервера"
 
-#: qcsrc/menu/xonotic/serverlist.c:555
+#: qcsrc/menu/xonotic/serverlist.c:925
 msgid "Map"
 msgstr "Карта"
 
-#: qcsrc/menu/xonotic/serverlist.c:556
+#: qcsrc/menu/xonotic/serverlist.c:926
 msgid "Type"
 msgstr "Вид"
 
-#: qcsrc/menu/xonotic/serverlist.c:557
+#: qcsrc/menu/xonotic/serverlist.c:927
 msgid "Players"
 msgstr "Игроки"
 
@@ -6042,32 +6307,32 @@ msgstr "%.2f %%"
 msgid "%s dB"
 msgstr "%s дБ"
 
-#: qcsrc/menu/xonotic/slider_resolution.c:103
+#: qcsrc/menu/xonotic/slider_resolution.c:116
 #, c-format
 msgid "%dx%d (%d:%d)"
-msgstr ""
+msgstr "%dx%d (%d:%d)"
 
-#: qcsrc/menu/xonotic/slider_resolution.c:106
+#: qcsrc/menu/xonotic/slider_resolution.c:119
 #, c-format
 msgid "%dx%d"
 msgstr "%dx%d"
 
-#: qcsrc/menu/xonotic/util.qc:298
+#: qcsrc/menu/xonotic/util.qc:308
 #, c-format
 msgid "error receiving update notification: status is %d\n"
 msgstr "ошибка при получении уведомления об обновлении: статус %d\n"
 
-#: qcsrc/menu/xonotic/util.qc:303
+#: qcsrc/menu/xonotic/util.qc:313
 msgid "error: received HTML instead of an update notification\n"
 msgstr "ошибка: получение HTML вместо уведомления об обновлении\n"
 
-#: qcsrc/menu/xonotic/util.qc:308
+#: qcsrc/menu/xonotic/util.qc:318
 msgid "error: received carriage returns from update notification server\n"
 msgstr ""
 "ошибка: получены символы возврата строки от сервера уведомлений об "
 "обновлениях\n"
 
-#: qcsrc/menu/xonotic/util.qc:329
+#: qcsrc/menu/xonotic/util.qc:397
 #, c-format
 msgid ""
 "Update can be downloaded at:\n"
@@ -6076,21 +6341,21 @@ msgstr ""
 "Обновление может быть загружено с:\n"
 "%s\n"
 
-#: qcsrc/menu/xonotic/util.qc:447
+#: qcsrc/menu/xonotic/util.qc:497
 msgid "Autogenerating mapinfo for newly added maps..."
 msgstr "Автоматическое создание mapinfo для новых карт..."
 
-#: qcsrc/menu/xonotic/util.qc:476
+#: qcsrc/menu/xonotic/util.qc:526
 #, c-format
 msgid "^1%s TEST BUILD"
 msgstr "^1%s ТЕСТОВАЯ СБОРКА"
 
-#: qcsrc/menu/xonotic/util.qc:491
+#: qcsrc/menu/xonotic/util.qc:541
 #, c-format
 msgid "Update to %s now!"
 msgstr "Обновитесь до %s сейчас же!"
 
-#: qcsrc/menu/xonotic/util.qc:576
+#: qcsrc/menu/xonotic/util.qc:626
 msgid ""
 "^1ERROR: Texture compression is required but not supported.\n"
 "^1Expect visual problems.\n"
@@ -6098,11 +6363,11 @@ msgstr ""
 "1^ОШИБКА: Сжатие текстур требуется, но не поддерживается.\n"
 "1^Ожидайте проблемы с отображением.\n"
 
-#: qcsrc/menu/xonotic/util.qc:696
+#: qcsrc/menu/xonotic/util.qc:746
 msgid "Use default"
 msgstr "По умолчанию"
 
-#: qcsrc/menu/xonotic/util.qc:716
+#: qcsrc/menu/xonotic/util.qc:766
 msgid "Team Color:"
 msgstr "Цвет команды:"
 
diff --git a/common.sr.po b/common.sr.po
new file mode 100644 (file)
index 0000000..1e9faed
--- /dev/null
@@ -0,0 +1,6301 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Pendulla <djdjoric@gmail.com>, 2014
+# Pendulla <djdjoric@gmail.com>, 2014
+# Ristovski <rafael.ristovski@gmail.com>, 2014
+# Ristovski <rafael.ristovski@gmail.com>, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: Xonotic\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
+"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"Language-Team: Serbian (http://www.transifex.com/projects/p/xonotic/language/"
+"sr/)\n"
+"Language: sr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: qcsrc/client/Main.qc:21
+msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!"
+msgstr "GREŠKA - MENI JE VIDLJIV ALI NIJEDAN MENI NIJE DEFINISAN!"
+
+#: qcsrc/client/Main.qc:46
+msgid ""
+"^3Your engine build is outdated\n"
+"^3This Server uses a newer QC VM. Please update!\n"
+msgstr ""
+"^3Tvoja engine verzija je zastarela\n"
+"^3Ovaj server koristi noviji QC VM. Molim ažuriraj!\n"
+
+#: qcsrc/client/Main.qc:56
+#, c-format
+msgid "^4CSQC Build information: ^1%s\n"
+msgstr "^4CSQC Build informacije: ^1%s\n"
+
+#: qcsrc/client/Main.qc:836
+#, c-format
+msgid ""
+"Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
+"%s)\n"
+msgstr ""
+"Nepoznat entitet u CSQC_Ent_Update (enttype: %d, edict: %d, classname: %s)\n"
+
+#: qcsrc/client/Main.qc:1295
+#, c-format
+msgid "%s (not bound)"
+msgstr "%s (nije obavezno)"
+
+#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:157
+#, c-format
+msgid "%s (%s)"
+msgstr "%s (%s)"
+
+#: qcsrc/client/View.qc:1165
+msgid "Revival progress"
+msgstr ""
+
+#: qcsrc/client/hud.qc:186
+#, c-format
+msgid " (-%dL)"
+msgstr "(-%dL)"
+
+#: qcsrc/client/hud.qc:191
+#, c-format
+msgid " (+%dL)"
+msgstr "(+%dL)"
+
+#: qcsrc/client/hud.qc:210
+msgid "Start line"
+msgstr "Startna linija"
+
+#: qcsrc/client/hud.qc:212 qcsrc/client/hud.qc:216
+msgid "Finish line"
+msgstr "Cilj"
+
+#: qcsrc/client/hud.qc:214
+#, c-format
+msgid "Intermediate %d"
+msgstr "srednje %d"
+
+#: qcsrc/client/hud.qc:223
+#, c-format
+msgid "%s (%s %s)"
+msgstr "%s (%s %s)"
+
+#: qcsrc/client/hud.qc:832
+msgid "Out of ammo"
+msgstr "Municija potrošena"
+
+#: qcsrc/client/hud.qc:836
+msgid "Don't have"
+msgstr "Nema"
+
+#: qcsrc/client/hud.qc:840
+msgid "Unavailable"
+msgstr "Nedostupno"
+
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
+#, c-format
+msgid "Player %d"
+msgstr "Igrač %d"
+
+#: qcsrc/client/hud.qc:2369
+msgid "^1Intermediate 1 (+15.42)"
+msgstr "^1Prosek 1 (+15.42)"
+
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
+#, c-format
+msgid "^1PENALTY: %.1f (%s)"
+msgstr "^1KAZNA: %.1f (%s)"
+
+#: qcsrc/client/hud.qc:2456
+#, c-format
+msgid "^2PENALTY: %.1f (%s)"
+msgstr "^2KAZNA: %.1f (%s)"
+
+#: qcsrc/client/hud.qc:2486
+msgid "^1You must answer before entering hud configure mode\n"
+msgstr "^1Potreban odgovor pre ulaska u hud podešavanje\n"
+
+#: qcsrc/client/hud.qc:2491
+msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
+msgstr "^2Ime ^7umesto of \"^1Anonymous player^7\" u statistici"
+
+#: qcsrc/client/hud.qc:2570
+msgid "A vote has been called for:"
+msgstr "Glasanje je započeto za:"
+
+#: qcsrc/client/hud.qc:2572
+msgid "Allow servers to store and display your name?"
+msgstr "Dozvoli serverima da čuvaju i prikazuju tvoje ime?"
+
+#: qcsrc/client/hud.qc:2576
+msgid "^1Configure the HUD"
+msgstr "^1Podešavanje HUD"
+
+#: qcsrc/client/hud.qc:2580
+#, c-format
+msgid "Yes (%s): %d"
+msgstr "Da (%s): %d"
+
+#: qcsrc/client/hud.qc:2582
+#, c-format
+msgid "No (%s): %d"
+msgstr "Ne (%s): %d"
+
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
+msgid "Personal best"
+msgstr "Lični rekord"
+
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
+msgid "Server best"
+msgstr "Rekord servera"
+
+#: qcsrc/client/hud.qc:3528
+msgid "^3Player^7: This is the chat area."
+msgstr "^3Igrač^7: Ovo je mesto za ćaskanje."
+
+#: qcsrc/client/hud.qc:3593
+#, c-format
+msgid "FPS: %.*f"
+msgstr "FPS: %.*f"
+
+#: qcsrc/client/hud.qc:3657
+msgid "^1Observing"
+msgstr "^1Posmatranje"
+
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
+#, c-format
+msgid "^1Spectating: ^7%s"
+msgstr "^1Praćenje: ^7%s"
+
+#: qcsrc/client/hud.qc:3667
+#, c-format
+msgid "^1Press ^3%s^1 to spectate"
+msgstr "^1Pritisni ^3%s^1 da pratiš igrača"
+
+#: qcsrc/client/hud.qc:3669
+#, c-format
+msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
+msgstr ""
+"^1Pritisni ^3%s^1 ili ^3%s^1 da posmatraš sledećeg ili prethodnog igrača"
+
+#: qcsrc/client/hud.qc:3673
+#, c-format
+msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
+msgstr "^1Koristi ^3%s^1 ili ^3%s^1 za promenu brzine"
+
+#: qcsrc/client/hud.qc:3675
+#, c-format
+msgid "^1Press ^3%s^1 to observe"
+msgstr "^1Pritisni ^3%s^1 da slobodno posmatraš"
+
+#: qcsrc/client/hud.qc:3678
+#, c-format
+msgid "^1Press ^3%s^1 for gamemode info"
+msgstr "^1Pritisni ^3%s^1 za informacije o vrsti igre"
+
+#: qcsrc/client/hud.qc:3686
+msgid "^1Match has already begun"
+msgstr "^1Igra je već počela"
+
+#: qcsrc/client/hud.qc:3688
+msgid "^1You have no more lives left"
+msgstr "^1Nemaš više života"
+
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
+#, c-format
+msgid "^1Press ^3%s^1 to join"
+msgstr "^1Pritisni ^3%s^1 da se pridružiš"
+
+#: qcsrc/client/hud.qc:3701
+#, c-format
+msgid "^1Game starts in ^3%d^1 seconds"
+msgstr "^1Igra počinje za ^3%d^1 sekundi"
+
+#: qcsrc/client/hud.qc:3708
+msgid "^2Currently in ^1warmup^2 stage!"
+msgstr "^2Trenutno u ^1zagrevnom^2 fazi!"
+
+#: qcsrc/client/hud.qc:3723
+#, c-format
+msgid "%sPress ^3%s%s to end warmup"
+msgstr "%sPritisni ^3%s%s da završiš zagrevanje"
+
+#: qcsrc/client/hud.qc:3725
+#, c-format
+msgid "%sPress ^3%s%s once you are ready"
+msgstr "%sPritisni ^3%s%s kada si spreman/a"
+
+#: qcsrc/client/hud.qc:3730
+msgid "^2Waiting for others to ready up to end warmup..."
+msgstr "^2Čekanje ostalih da se spreme i završe zagrevanje..."
+
+#: qcsrc/client/hud.qc:3732
+msgid "^2Waiting for others to ready up..."
+msgstr "^2Čekanje ostalih da se spreme..."
+
+#: qcsrc/client/hud.qc:3738
+#, c-format
+msgid "^2Press ^3%s^2 to end warmup"
+msgstr "^2Pritisni ^3%s^2 da završiš zagrevanje"
+
+#: qcsrc/client/hud.qc:3759
+msgid "Teamnumbers are unbalanced!"
+msgstr "Timovi su neujednačeni!"
+
+#: qcsrc/client/hud.qc:3764
+#, c-format
+msgid " Press ^3%s%s to adjust"
+msgstr "Pritisni ^3%s%s za podešavanje"
+
+#: qcsrc/client/hud.qc:3772
+msgid "^7Press ^3ESC ^7to show HUD options."
+msgstr "^7Pritisni ^3ESC ^7da se pojave opcije za HUD."
+
+#: qcsrc/client/hud.qc:3774
+msgid "^3Doubleclick ^7a panel for panel-specific options."
+msgstr "^3Dupli klik ^7a na panel opcije u vezi panela."
+
+#: qcsrc/client/hud.qc:3776
+msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
+msgstr "^3CTRL ^7za onemogućavanje testiranja kolizije, ^3SHIFT ^7i"
+
+#: qcsrc/client/hud.qc:3778
+msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
+msgstr "^3ALT ^7+ ^3ARROW KEYS ^7za fina podešavanja."
+
+#: qcsrc/client/hud.qc:3825
+msgid " qu/s"
+msgstr "qu/s"
+
+#: qcsrc/client/hud.qc:3829
+msgid " m/s"
+msgstr "m/s"
+
+#: qcsrc/client/hud.qc:3833
+msgid " km/h"
+msgstr "km/h"
+
+#: qcsrc/client/hud.qc:3837
+msgid " mph"
+msgstr "mph"
+
+#: qcsrc/client/hud.qc:3841
+msgid " knots"
+msgstr "knots"
+
+#: qcsrc/client/hud.qc:4497
+msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
+msgstr ""
+"Automatski popravljeni pogrešni/izostavljeni brojevi panela u "
+"_hud_panelorder\n"
+
+#: qcsrc/client/hud_config.qc:196
+#, c-format
+msgid "^2Successfully exported to %s! (Note: It's saved in data/data/)\n"
+msgstr "^2Uspešno izvezeno u %s! (Beleška: Sačuvano u data/data/)\n"
+
+#: qcsrc/client/hud_config.qc:200
+#, c-format
+msgid "^1Couldn't write to %s\n"
+msgstr "^1Nemoguće upisivanje u %s\n"
+
+#: qcsrc/client/mapvoting.qc:28
+msgid " (1 vote)"
+msgstr "(1glas)"
+
+#: qcsrc/client/mapvoting.qc:30
+#, c-format
+msgid " (%d votes)"
+msgstr "(%d glasova)"
+
+#: qcsrc/client/mapvoting.qc:118
+msgid "Don't care"
+msgstr "Svejedno"
+
+#: qcsrc/client/mapvoting.qc:203
+msgid "Vote for a map"
+msgstr "Glasaj za mapu"
+
+#: qcsrc/client/mapvoting.qc:209
+#, c-format
+msgid "%d seconds left"
+msgstr "%d sekundi preostalo"
+
+#: qcsrc/client/mapvoting.qc:273
+msgid ""
+"mv_mapdownload: ^3You're not supposed to use this command on your own!\n"
+msgstr "mv_mapdownload: ^3Nije predviđeno samostalno korišćenje komande!\n"
+
+#: qcsrc/client/mapvoting.qc:283
+msgid "^1Error:^7 Couldn't find pak index.\n"
+msgstr "^1Greška:^7 Nije pronađen pak indeks.\n"
+
+#: qcsrc/client/mapvoting.qc:292
+msgid "Requesting preview...\n"
+msgstr "Zahtevanje pregleda...\n"
+
+#: qcsrc/client/miscfunctions.qc:101
+msgid "Trying to remove a team which is not in the teamlist!"
+msgstr "Pokušavanje odstranjivanja tima koji nije u listi!"
+
+#: qcsrc/client/movetypes.qc:227
+#, c-format
+msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr ""
+"Nemoguće odlepljivanje entiteta (edict: %d, classname: %s, origin: %s)\n"
+
+#: qcsrc/client/movetypes.qc:230
+#, c-format
+msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr ""
+"Uspešno odlepljivanje entiteta (edict: %d, classname: %s, origin: %s)\n"
+
+#: qcsrc/client/scoreboard.qc:19
+msgid "SCO^bckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:20
+msgid "SCO^bctime"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:21
+msgid "SCO^caps"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:22
+msgid "SCO^captime"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:23
+msgid "SCO^deaths"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:24
+msgid "SCO^destroyed"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:25
+msgid "SCO^drops"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:26
+msgid "SCO^faults"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:27
+msgid "SCO^fckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:28
+msgid "SCO^goals"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:29
+msgid "SCO^kckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:30
+msgid "SCO^kdratio"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:31
+msgid "SCO^k/d"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:32
+msgid "SCO^kd"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:33
+msgid "SCO^kdr"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:34
+msgid "SCO^kills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:35
+msgid "SCO^laps"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:36
+msgid "SCO^lives"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:37
+msgid "SCO^losses"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:38
+msgid "SCO^name"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:39
+msgid "SCO^sum"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:40
+msgid "SCO^nick"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:41
+msgid "SCO^objectives"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:42
+msgid "SCO^pickups"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:43
+msgid "SCO^ping"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:44
+msgid "SCO^pl"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:45
+msgid "SCO^pushes"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:46
+msgid "SCO^rank"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:47
+msgid "SCO^returns"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:48
+msgid "SCO^revivals"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:49
+msgid "SCO^score"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:50
+msgid "SCO^suicides"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:51
+msgid "SCO^takes"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:52
+msgid "SCO^ticks"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:237
+msgid ""
+"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
+msgstr ""
+"Možeš modifikovati tablu rezultata koristeći ^2scoreboard_columns_set "
+"komandu.\n"
+
+#: qcsrc/client/scoreboard.qc:238
+msgid "^3|---------------------------------------------------------------|\n"
+msgstr "^3|---------------------------------------------------------------|\n"
+
+#: qcsrc/client/scoreboard.qc:239
+msgid "Usage:\n"
+msgstr "Korišćenje:\n"
+
+#: qcsrc/client/scoreboard.qc:240
+msgid "^2scoreboard_columns_set default\n"
+msgstr "^2scoreboard_columns_set default\n"
+
+#: qcsrc/client/scoreboard.qc:241
+msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
+msgstr "^2scoreboard_columns_set ^7field1 field2 ...\n"
+
+#: qcsrc/client/scoreboard.qc:242
+msgid "The following field names are recognized (case insensitive):\n"
+msgstr "Sledeća imena polja su prepoznata (velika i mala slova dozvoljena):\n"
+
+#: qcsrc/client/scoreboard.qc:243
+msgid ""
+"You can use a ^3|^7 to start the right-aligned fields.\n"
+"\n"
+msgstr ""
+"Možeš koristiti ^3|^7 da pokreneš polja poravnana udesno.\n"
+"\n"
+
+#: qcsrc/client/scoreboard.qc:245
+msgid "^3name^7 or ^3nick^7             Name of a player\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:246
+msgid "^3ping^7                     Ping time\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:247
+msgid "^3pl^7                       Packet loss\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:248
+msgid "^3kills^7                    Number of kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:249
+msgid "^3deaths^7                   Number of deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:250
+msgid "^3suicides^7                 Number of suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:251
+msgid "^3frags^7                    kills - suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:252
+msgid "^3kd^7                       The kill-death ratio\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:253
+msgid "^3sum^7                      frags - deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:254
+msgid ""
+"^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
+"captured\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:255
+msgid ""
+"^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
+"ball (Keepaway) was picked up\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:256
+msgid "^3captime^7                  Time of fastest cap (CTF)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:257
+msgid "^3fckills^7                  Number of flag carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:258
+msgid "^3returns^7                  Number of flag returns\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:259
+msgid "^3drops^7                    Number of flag drops\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:260
+msgid "^3lives^7                    Number of lives (LMS)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:261
+msgid "^3rank^7                     Player rank\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:262
+msgid "^3pushes^7                   Number of players pushed into void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:263
+msgid ""
+"^3destroyed^7                Number of keys destroyed by pushing them into "
+"void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:264
+msgid "^3kckills^7                  Number of keys carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:265
+msgid "^3losses^7                   Number of times a key was lost\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:266
+msgid "^3laps^7                     Number of laps finished (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:267
+msgid "^3time^7                     Total time raced (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:268
+msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:269
+msgid "^3ticks^7                    Number of ticks (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:270
+msgid "^3takes^7                    Number of domination points taken (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:271
+msgid "^3bckills^7                  Number of ball carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:272
+msgid ""
+"^3bctime^7                   Total amount of time holding the ball in "
+"Keepaway\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:273
+msgid ""
+"^3score^7                    Total score\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:275
+msgid ""
+"Before a field you can put a + or - sign, then a comma separated list\n"
+"of game types, then a slash, to make the field show up only in these\n"
+"or in all but these game types. You can also specify 'all' as a\n"
+"field to show all fields available for the current game mode.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:280
+msgid ""
+"The special game type names 'teams' and 'noteams' can be used to\n"
+"include/exclude ALL teams/noteams game modes.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:283
+msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:284
+msgid ""
+"will display name, ping and pl aligned to the left, and the fields\n"
+"right of the vertical bar aligned to the right.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:286
+msgid ""
+"'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
+"other gamemodes except DM.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:240
+msgid "N/A"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:970
+#, c-format
+msgid "Accuracy stats (average %d%%)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1033
+#, c-format
+msgid "%d%%"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1099
+msgid "Map stats:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1124
+msgid "Secrets found:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1152
+msgid "Rankings"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1248
+msgid "Scoreboard"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1307
+#, c-format
+msgid "Speed award: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1311
+#, c-format
+msgid "All-time fastest: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1345
+msgid "Spectators"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1352
+#, c-format
+msgid "playing ^3%s^7 on ^2%s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
+#, c-format
+msgid " for up to ^1%1.0f minutes^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
+msgid " or"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
+#, c-format
+msgid " until ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
+msgid "SCO^points"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
+msgid "SCO^is beaten"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
+#, c-format
+msgid " until a lead of ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1419
+#, c-format
+msgid "^1Respawning in ^3%s^1..."
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1429
+#, c-format
+msgid "You are dead, wait ^3%s^7 before respawning"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1438
+#, c-format
+msgid "You are dead, press ^2%s^7 to respawn"
+msgstr ""
+
+#: qcsrc/client/target_music.qc:94 qcsrc/client/target_music.qc:183
+#, c-format
+msgid "Cannot initialize sound %s\n"
+msgstr ""
+
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
+msgid "Spam"
+msgstr ""
+
+#: qcsrc/client/tturrets.qc:308
+#, c-format
+msgid "%s under attack!"
+msgstr ""
+
+#: qcsrc/client/vehicles/vehicles.qc:331 qcsrc/client/vehicles/vehicles.qc:333
+msgid "No right gunner!"
+msgstr ""
+
+#: qcsrc/client/vehicles/vehicles.qc:353 qcsrc/client/vehicles/vehicles.qc:355
+msgid "No left gunner!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:246
+msgid "Push"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:247
+msgid "Destroy"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:248
+msgid "Defend"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:249
+msgid "Blue base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:250
+msgid "DANGER"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:251
+msgid "Enemy carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:252
+msgid "Flag carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:253
+msgid "Dropped flag"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:254
+msgid "Help me!"
+msgstr "Pomozi mi!"
+
+#: qcsrc/client/waypointsprites.qc:255
+msgid "Here"
+msgstr "Ovde"
+
+#: qcsrc/client/waypointsprites.qc:256
+msgid "Dropped key"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
+msgid "Key carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:258
+msgid "Run here"
+msgstr "Istrcaj ovde"
+
+#: qcsrc/client/waypointsprites.qc:263
+msgid "Red base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:264
+msgid "Waypoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
+msgid "Generator"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
+msgid "Control point"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:276
+msgid "Checkpoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
+msgid "Finish"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
+msgid "Start"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
+msgid "Ball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:283
+msgid "Ball carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
+msgid "Laser"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
+msgid "Shotgun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
+msgid "Machine Gun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
+msgid "Mortar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
+msgid "Electro"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
+msgid "Crylink"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
+msgid "Nex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
+msgid "Hagar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
+msgid "Rocket Launcher"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
+msgid "Port-O-Launch"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:294
+msgid "Minstanex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:295
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
+msgid "Hook"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
+msgid "Fireball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:297
+msgid "HLAC"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
+msgid "Rifle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
+msgid "Mine Layer"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:305
+msgid "Invisibility"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:306
+msgid "Extra life"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:307
+msgid "Speed"
+msgstr "Brzina"
+
+#: qcsrc/client/waypointsprites.qc:308
+msgid "Strength"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:309
+msgid "Shield"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:310
+msgid "Fuel regen"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:311
+msgid "Jet Pack"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:312
+msgid "Frozen!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:313
+msgid "Tagged"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:314
+msgid "Vehicle"
+msgstr "Vozila"
+
+#: qcsrc/client/waypointsprites.qc:588
+#, c-format
+msgid "%s needing help!"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:31
+#, c-format
+msgid "error: status is %d\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:159
+msgid "error creating curl handle\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:263
+msgid "Notification dump command only works with cl_cmd and sv_cmd.\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:457
+msgid "Notification restart command only works with cl_cmd and sv_cmd.\n"
+msgstr ""
+
+#: qcsrc/common/counting.qh:5
+#, c-format
+msgid "CI_DEC^%s years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:7
+#, c-format
+msgid "CI_ZER^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:8
+#, c-format
+msgid "CI_FIR^%d year"
+msgstr ""
+
+#: qcsrc/common/counting.qh:9
+#, c-format
+msgid "CI_SEC^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:10
+#, c-format
+msgid "CI_THI^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:11
+#, c-format
+msgid "CI_MUL^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:13
+#, c-format
+msgid "CI_DEC^%s weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:15
+#, c-format
+msgid "CI_ZER^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:16
+#, c-format
+msgid "CI_FIR^%d week"
+msgstr ""
+
+#: qcsrc/common/counting.qh:17
+#, c-format
+msgid "CI_SEC^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:18
+#, c-format
+msgid "CI_THI^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:19
+#, c-format
+msgid "CI_MUL^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:21
+#, c-format
+msgid "CI_DEC^%s days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:23
+#, c-format
+msgid "CI_ZER^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:24
+#, c-format
+msgid "CI_FIR^%d day"
+msgstr ""
+
+#: qcsrc/common/counting.qh:25
+#, c-format
+msgid "CI_SEC^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:26
+#, c-format
+msgid "CI_THI^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:27
+#, c-format
+msgid "CI_MUL^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:29
+#, c-format
+msgid "CI_DEC^%s hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:31
+#, c-format
+msgid "CI_ZER^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:32
+#, c-format
+msgid "CI_FIR^%d hour"
+msgstr ""
+
+#: qcsrc/common/counting.qh:33
+#, c-format
+msgid "CI_SEC^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:34
+#, c-format
+msgid "CI_THI^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:35
+#, c-format
+msgid "CI_MUL^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:38
+#, c-format
+msgid "CI_DEC^%s minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:40
+#, c-format
+msgid "CI_ZER^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:41
+#, c-format
+msgid "CI_FIR^%d minute"
+msgstr ""
+
+#: qcsrc/common/counting.qh:42
+#, c-format
+msgid "CI_SEC^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:43
+#, c-format
+msgid "CI_THI^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:44
+#, c-format
+msgid "CI_MUL^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:46
+#, c-format
+msgid "CI_DEC^%s seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:48
+#, c-format
+msgid "CI_ZER^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:49
+#, c-format
+msgid "CI_FIR^%d second"
+msgstr ""
+
+#: qcsrc/common/counting.qh:50
+#, c-format
+msgid "CI_SEC^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:51
+#, c-format
+msgid "CI_THI^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:52
+#, c-format
+msgid "CI_MUL^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:68
+#, c-format
+msgid "%dst"
+msgstr ""
+
+#: qcsrc/common/counting.qh:69
+#, c-format
+msgid "%dnd"
+msgstr ""
+
+#: qcsrc/common/counting.qh:70
+#, c-format
+msgid "%drd"
+msgstr ""
+
+#: qcsrc/common/counting.qh:71 qcsrc/common/counting.qh:74
+#, c-format
+msgid "%dth"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:717
+#, no-c-format
+msgid "@!#%'n Tuba Throwing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
+#, c-format
+msgid "%s: %s"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:36
+msgid "Deathmatch"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:39
+msgid "Last Man Standing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:42
+msgid "Race"
+msgstr "Trka"
+
+#: qcsrc/common/mapinfo.qh:45
+msgid "Race CTS"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:48
+msgid "Team Deathmatch"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:51
+msgid "Capture the Flag"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:54
+msgid "Clan Arena"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:57
+msgid "Domination"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:60
+msgid "Key Hunt"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:63
+msgid "Assault"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:66
+msgid "Onslaught"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:69
+msgid "Nexball"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:72
+msgid "Freeze Tag"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:75
+msgid "Keepaway"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr "Invazija"
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr "Pauk"
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr "Zombi"
+
+#: qcsrc/common/net_notice.qc:89
+msgid "^1Server notices:"
+msgstr ""
+
+#: qcsrc/common/net_notice.qc:95
+#, c-format
+msgid "^7%s (^3%d sec left)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:343
+#, c-format
+msgid "^BG%s^BG captured the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:344
+#, c-format
+msgid ""
+"^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"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:345
+#, c-format
+msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:346
+#, c-format
+msgid ""
+"^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"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:347
+msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:348
+msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:349
+msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:350
+msgid ""
+"^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
+"base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:351
+#, c-format
+msgid ""
+"^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
+"itself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:352
+msgid "^BGThe ^TC^TT^BG flag has returned to the base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:353
+#, c-format
+msgid "^BG%s^BG lost the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:354
+#, c-format
+msgid "^BG%s^BG got the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
+#, c-format
+msgid "^BG%s^BG returned the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:357
+#, c-format
+msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:358
+#, c-format
+msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:359
+#, c-format
+msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:360
+#, c-format
+msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:360
+#, c-format
+msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:361
+#, c-format
+msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:363
+#, c-format
+msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:364
+#, c-format
+msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:365
+#, c-format
+msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:366
+#, c-format
+msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:367
+#, c-format
+msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:367
+#, c-format
+msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:368
+#, c-format
+msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:369
+#, c-format
+msgid ""
+"^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:370
+#, c-format
+msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:371
+#, c-format
+msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:372
+#, c-format
+msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:373
+#, c-format
+msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:374
+#, c-format
+msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:375
+#, c-format
+msgid ""
+"^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:376
+#, c-format
+msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:377
+#, c-format
+msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:378
+#, c-format
+msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:379
+#, c-format
+msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:380
+#, c-format
+msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:381
+#, c-format
+msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:382
+#, c-format
+msgid "^BG%s^K1 was moved into the %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:383
+#, c-format
+msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:384
+#, c-format
+msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:385
+#, c-format
+msgid "^BG%s^K1 unfairly eliminated themself%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:386
+#, c-format
+msgid "^BG%s^K1 %s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:387
+#, c-format
+msgid "^BG%s^K1 couldn't catch their breath%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:387
+#, c-format
+msgid "^BG%s^K1 was in the water for too long%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:388
+#, c-format
+msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:388
+#, c-format
+msgid "^BG%s^K1 hit the ground with a crunch%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:389
+#, c-format
+msgid "^BG%s^K1 became a bit too crispy%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:389
+#, c-format
+msgid "^BG%s^K1 felt a little hot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:390
+#, c-format
+msgid "^BG%s^K1 died%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:391
+#, c-format
+msgid "^BG%s^K1 found a hot place%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:391
+#, c-format
+msgid "^BG%s^K1 turned into hot slag%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:392
+#, c-format
+msgid "^BG%s^K1 mastered the art of self-nading%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:393
+#, c-format
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:394
+#, c-format
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:395
+#, c-format
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:396
+#, c-format
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:397
+#, c-format
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:398
+#, c-format
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 ran out of ammo%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:402
+#, c-format
+msgid "^BG%s^K1 rotted away%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:403
+#, c-format
+msgid "^BG%s^K1 became a shooting star%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:404
+#, c-format
+msgid "^BG%s^K1 was slimed%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:405
+#, c-format
+msgid "^BG%s^K1 couldn't take it anymore%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:406
+#, c-format
+msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:407
+#, c-format
+msgid "^BG%s^K1 switched to the %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:408
+#, c-format
+msgid "^BG%s^K1 died in an accident%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:409
+#, c-format
+msgid "^BG%s^K1 ran into a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:410
+#, c-format
+msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:411
+#, c-format
+msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:412
+#, c-format
+msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:413
+#, c-format
+msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:414
+#, c-format
+msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:415
+#, c-format
+msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:416
+#, c-format
+msgid "^BG%s^K1 was phased out by a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:417
+#, c-format
+msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:418
+#, c-format
+msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:419
+#, c-format
+msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:420
+#, c-format
+msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:421
+#, c-format
+msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:422
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:423
+#, c-format
+msgid "^BG%s^K1 was crushed by a vehicle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:424
+#, c-format
+msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:425
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:426
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:427
+#, c-format
+msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:428
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:429
+#, c-format
+msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:430
+#, c-format
+msgid "^BG%s^K1 was in the wrong place%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:431
+#, c-format
+msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:432
+#, c-format
+msgid "^BG%s^K1 was frozen by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:433
+#, c-format
+msgid "^BG%s^K3 was revived by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:434
+#, c-format
+msgid "^BG%s^K3 was revived by falling"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:435
+#, c-format
+msgid "^BG%s^K3 was automatically revived after %s second(s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
+msgid "^TC^TT^BG team wins the round"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
+#, c-format
+msgid "^BG%s^BG wins the round"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
+msgid "^BGRound tied"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
+msgid "^BGRound over, there's no winner"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:440
+#, c-format
+msgid "^BG%s^K1 froze themself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:441
+#, c-format
+msgid "^BGGodmode saved you %s units of damage, cheater!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
+#, c-format
+msgid "^BGYou do not have the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
+#, c-format
+msgid "^BGYou dropped the ^F1%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
+#, c-format
+msgid "^BGYou got the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
+#, c-format
+msgid "^BGYou don't have enough ammo for the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
+#, c-format
+msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
+#, c-format
+msgid "^F1%s^BG is ^F4not available^BG on this map"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:448
+#, c-format
+msgid "^BG%s^F3 connected%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:449
+#, c-format
+msgid "^BG%s^F3 connected and joined the ^TC^TT team"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:450
+#, c-format
+msgid "^BG%s^F3 is now playing"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
+#, c-format
+msgid "^BG%s^BG has dropped the ball!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
+#, c-format
+msgid "^BG%s^BG has picked up the ball!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:453
+#, c-format
+msgid "^BG%s^BG captured the keys for the ^TC^TT team"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:454
+#, c-format
+msgid "^BG%s^BG dropped the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:455
+#, c-format
+msgid "^BG%s^BG lost the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:456
+#, c-format
+msgid "^BG%s^BG picked up the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:457
+#, c-format
+msgid "^BG%s^F3 forfeited"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:458
+#, c-format
+msgid "^BG%s^F3 has no more lives left"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:460
+#, c-format
+msgid "^BG%s^K1 picked up Invisibility"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:461
+#, c-format
+msgid "^BG%s^K1 picked up Shield"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:462
+#, c-format
+msgid "^BG%s^K1 picked up Speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:463
+#, c-format
+msgid "^BG%s^K1 picked up Strength"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:464
+#, c-format
+msgid "^BG%s^F3 disconnected"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:465
+#, c-format
+msgid "^BG%s^F3 was kicked for idling"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:466
+msgid ""
+"^F2You were kicked from the server because you are a spectator and "
+"spectators aren't allowed at the moment."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:467
+#, c-format
+msgid "^BG%s^F3 is now spectating"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:468
+#, c-format
+msgid "^BG%s^BG has abandoned the race"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:469
+#, c-format
+msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:470
+#, c-format
+msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:471
+#, c-format
+msgid "^BG%s^BG has finished the race"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:472
+#, c-format
+msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:473
+#, c-format
+msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:474
+#, c-format
+msgid ""
+"^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
+"and will be lost."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:475
+#, c-format
+msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:476
+msgid "^TC^TT ^BGteam scores!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:477
+#, c-format
+msgid ""
+"^F2You have to become a player within the next %s, otherwise you will be "
+"kicked, because spectating isn't allowed at this time!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:478
+#, c-format
+msgid "^BG%s^K1 picked up a Superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:479
+#, c-format
+msgid ""
+"^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
+"^F2Xonotic %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:480
+#, c-format
+msgid ""
+"^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:481
+#, c-format
+msgid ""
+"^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
+"the update from ^F3http://www.xonotic.org/^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:482
+#, c-format
+msgid "^F3SVQC Build information: ^F4%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:483
+#, c-format
+msgid ""
+"^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:484
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:485
+#, c-format
+msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:486
+#, c-format
+msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:487
+#, c-format
+msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:488
+#, c-format
+msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:489
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:490
+#, c-format
+msgid "^BG%s^K1 played with Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:491
+#, c-format
+msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:492
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:493
+#, c-format
+msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:494
+#, c-format
+msgid "^BG%s^K1 should have used a smaller gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:495
+#, c-format
+msgid "^BG%s^K1 forgot about their firemine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:496
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:497
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:498
+#, c-format
+msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:499
+#, c-format
+msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:500
+#, c-format
+msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:501
+#, c-format
+msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:502
+#, c-format
+msgid ""
+"^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:503
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:504
+#, c-format
+msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:505
+#, c-format
+msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:506
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:507
+#, c-format
+msgid "^BG%s^K1 forgot about their mine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:508
+#, c-format
+msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:509
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:510
+#, c-format
+msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:511
+#, c-format
+msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:512
+#, c-format
+msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:513
+#, c-format
+msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:514
+#, c-format
+msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:515
+#, c-format
+msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:516
+#, c-format
+msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:517
+#, c-format
+msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:518
+#, c-format
+msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:519
+#, c-format
+msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:520
+#, c-format
+msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:521
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:522
+#, c-format
+msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:523
+#, c-format
+msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:524
+#, c-format
+msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:525
+#, c-format
+msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:526
+#, c-format
+msgid "^BG%s^K1 is now thinking with portals%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:527
+#, c-format
+msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:528
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:529
+#, c-format
+msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:530
+#, c-format
+msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:548
+msgid "^BGYou are attacking!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:549
+msgid "^BGYou are defending!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:550
+msgid "^F4Begin!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:551
+msgid "^F4Game starts in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:552
+msgid "^F4Round starts in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:553
+msgid "^F4Round cannot start"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:556
+msgid "^F2Don't camp!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:557
+msgid ""
+"^BGYou are now free.\n"
+"^BGFeel free to ^F2try to capture^BG the flag again\n"
+"^BGif you think you will succeed."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:558
+msgid ""
+"^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."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:559
+msgid "^BGYou captured the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:560
+#, c-format
+msgid "^BGToo many flag throws! Throwing disabled for %s."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:561
+#, c-format
+msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:562
+#, c-format
+msgid "^BGYou received the ^TC^TT^BG flag from %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:563
+#, c-format
+msgid "^BG%s^BG requests you to pass the flag%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:564
+#, c-format
+msgid "^BGRequesting %s^BG to pass you the flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:565
+#, c-format
+msgid "^BGYou passed the ^TC^TT^BG flag to %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:566
+msgid "^BGYou got the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:567
+#, c-format
+msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:568
+#, c-format
+msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:569
+#, c-format
+msgid "^BGYour %steam mate^BG got the flag! Protect them!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:570
+#, c-format
+msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:571
+msgid "^BGYou returned the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:572
+msgid "^BGStalemate! Enemies can now see you on radar!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:573
+msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:574
+#, c-format
+msgid "^K3%sYou fragged ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:574
+#, c-format
+msgid "^K3%sYou scored against ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:575
+#, c-format
+msgid "^K1%sYou were fragged by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:575
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:576
+#, c-format
+msgid "^K1%sYou were fragged by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:576
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:577
+#, c-format
+msgid "^K3%sYou fragged ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:577
+#, c-format
+msgid "^K3%sYou scored against ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:578
+#, c-format
+msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:578
+#, c-format
+msgid "^K1%sYou typefragged ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:579
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:579
+#, c-format
+msgid "^K1%sYou were typefragged by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:580
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:580
+#, c-format
+msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:581
+#, c-format
+msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:581
+#, c-format
+msgid "^K1%sYou typefragged ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:582
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:583
+#, c-format
+msgid ""
+"^BGYou have been moved into a different team\n"
+"You are now on: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:584
+msgid "^K1Don't go against your team mates!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:584
+msgid "^K1Don't shoot your team mates!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:585
+msgid "^K1Die camper!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:585
+msgid "^K1Reconsider your tactics, camper!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:586
+msgid "^K1You unfairly eliminated yourself!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:587
+#, c-format
+msgid "^K1You were %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:588
+msgid "^K1You couldn't catch your breath!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:589
+msgid "^K1You hit the ground with a crunch!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:590
+msgid "^K1You felt a little too hot!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:590
+msgid "^K1You got a little bit too crispy!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:591
+msgid "^K1You killed your own dumb self!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:591
+msgid "^K1You need to be more careful!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:592
+msgid "^K1You couldn't stand the heat!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
+msgid "^K1Tastes like chicken!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
+msgid "^K1You forgot to put the pin back in!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:595
+msgid "^K1You are respawning for running out of ammo..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:595
+msgid "^K1You were killed for running out of ammo..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:596
+msgid "^K1You grew too old without taking your medicine"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:596
+msgid "^K1You need to preserve your health"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:597
+msgid "^K1You became a shooting star!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:598
+msgid "^K1You melted away in slime!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:599
+msgid "^K1You committed suicide!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:599
+msgid "^K1You ended it all!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:600
+msgid "^K1You got stuck in a swamp!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:601
+#, c-format
+msgid "^BGYou are now on: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:602
+msgid "^K1You died in an accident!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:603
+msgid "^K1You had an unfortunate run in with a turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:603
+msgid "^K1You were fragged by a turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:604
+msgid "^K1You had an unfortunate run in with an eWheel turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:604
+msgid "^K1You were fragged by an eWheel turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:605
+msgid "^K1You had an unfortunate run in with a Walker turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:605
+msgid "^K1You were fragged by a Walker turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:606
+msgid "^K1You got caught in the blast of a Bumblebee explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:607
+msgid "^K1You were crushed by a vehicle!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:608
+msgid "^K1You were caught in a Raptor cluster bomb!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:609
+msgid "^K1You got caught in the blast of a Raptor explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:610
+msgid "^K1You got caught in the blast of a Spiderbot explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:611
+msgid "^K1You were blasted to bits by a Spiderbot rocket!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:612
+msgid "^K1You got caught in the blast of a Racer explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:613
+msgid "^K1You couldn't find shelter from a Racer rocket!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:614
+msgid "^K1Watch your step!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:615
+#, c-format
+msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:615
+#, c-format
+msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:616
+#, c-format
+msgid "^K1You were fragged by ^BG%s^K1, a team mate"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:616
+#, c-format
+msgid "^K1You were scored against by ^BG%s^K1, a team mate"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:617
+msgid ""
+"^K1Stop idling!\n"
+"^BGDisconnecting in ^COUNT..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:618
+msgid "^F2You picked up some extra lives"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:619
+#, c-format
+msgid "^K3You froze ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:620
+#, c-format
+msgid "^K1You were frozen by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:621
+#, c-format
+msgid "^K3You revived ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:622
+msgid "^K3You revived yourself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:623
+#, c-format
+msgid "^K3You were revived by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:624
+#, c-format
+msgid "^K3You were automatically revived after %s second(s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:627
+msgid "^K1You froze yourself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:628
+msgid "^K1Round already started, you spawn as frozen"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:636
+msgid ""
+"^K1No spawnpoints available!\n"
+"Hope your team can fix it..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:637
+msgid ""
+"^K1You may not join the game at this time.\n"
+"The player limit reached maximum capacity."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
+msgid "^BGKilling people while you don't have the ball gives no points!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:642
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Help the key carriers to meet!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:643
+msgid ""
+"^BGAll keys are in ^TC^TT team^BG's hands!\n"
+"Interfere ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:644
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Meet the other key carriers ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:645
+msgid "^F4Round will start in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:646
+msgid "^BGScanning frequency range..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:647
+msgid "^BGYou are starting with the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
+#, c-format
+msgid ""
+"^BGWaiting for players to join...\n"
+"Need active players for: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:650
+#, c-format
+msgid "^BGWaiting for %s player(s) to join..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:651
+msgid "^F4^COUNT^BG left to find some ammo!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:653
+#, c-format
+msgid "^F2Extra lives remaining: ^K1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:654
+msgid "^BGSecondary fire inflicts no damage!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:655
+#, c-format
+msgid "^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:656
+#, c-format
+msgid ""
+"^F2^COUNT^BG until weapon change...\n"
+"Next weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:657
+#, c-format
+msgid "^F2Active weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:658
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep fragging until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep scoring until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:660
+#, c-format
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"^BGAdded ^F4%s^BG to the game!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:661
+msgid "^F2Invisibility has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:662
+msgid "^F2Shield has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:663
+msgid "^F2Speed has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:664
+msgid "^F2Strength has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:665
+msgid "^F2You are invisible"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:666
+msgid "^F2Shield surrounds you"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:667
+msgid "^F2You are on speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:668
+msgid "^F2Strength infuses your weapons with devastating power"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:669
+msgid "^F2The race is over, finish your lap!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:670
+msgid "^F2Superweapons have broken down"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:671
+msgid "^F2Superweapons have been lost"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:672
+msgid "^F2You now have a superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:673
+msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:674
+msgid "^K1Changing team in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:675
+msgid "^K1Spectating in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:676
+msgid "^K1Suicide in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:677
+msgid "^F4Timeout begins in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:678
+msgid "^F4Timeout ends in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
+#, c-format
+msgid " (near %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
+msgid "primary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
+msgid "secondary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:980
+#, c-format
+msgid " ^F1(Press %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:989
+#, c-format
+msgid " with %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+msgid "TRIPLE FRAG! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 unlocked RAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+msgid "RAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 started a MASSACRE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+msgid "MASSACRE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 executed MAYHEM! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+msgid "MAYHEM! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 is a BERSERKER! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+msgid "BERSERKER! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 inflicts CARNAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+msgid "CARNAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+#, c-format
+msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+#, c-format
+msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+msgid "ARMAGEDDON! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1010
+#, c-format
+msgid "%s(^F1Bot^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1012
+#, c-format
+msgid "%s(Ping ^F1%d^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1018
+#, c-format
+msgid ""
+"\n"
+"(Health ^1%d^BG / Armor ^2%d^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1020
+#, c-format
+msgid ""
+"\n"
+"(^F4Dead^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
+#, c-format
+msgid "%d score spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1069
+#, c-format
+msgid "%d frag spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1082
+msgid "First blood! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1082
+msgid "First score! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1086
+msgid "First casualty! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1086
+msgid "First victim! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1127
+#, c-format
+msgid "%s^K1 has %d frags in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1128
+#, c-format
+msgid "%s^K1 made %d scores in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1146
+#, c-format
+msgid "%s^K1 drew first blood! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1147
+#, c-format
+msgid "%s^K1 got the first score! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1163
+#, c-format
+msgid ", ending their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1164
+#, c-format
+msgid ", ending their %d score spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1178
+#, c-format
+msgid ", losing their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1179
+#, c-format
+msgid ", losing their %d score spree"
+msgstr ""
+
+#: qcsrc/common/teams.qh:26
+msgid "Red"
+msgstr ""
+
+#: qcsrc/common/teams.qh:27
+msgid "Blue"
+msgstr ""
+
+#: qcsrc/common/teams.qh:28
+msgid "Yellow"
+msgstr ""
+
+#: qcsrc/common/teams.qh:29
+msgid "Pink"
+msgstr ""
+
+#: qcsrc/common/teams.qh:30
+msgid "Team"
+msgstr ""
+
+#: qcsrc/common/teams.qh:31
+msgid "Neutral"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:35
+msgid "Usage: menu_cmd command..., where possible commands are:\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:36
+msgid "  sync - reloads all cvars on the current menu page\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:37
+msgid "  directmenu ITEM - select a menu item as main item\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:68
+msgid "Available options:\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:119
+msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
+msgstr ""
+
+#: qcsrc/menu/item/label.c:82
+#, c-format
+msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
+msgstr ""
+
+#: qcsrc/menu/item/listbox.c:382
+#, c-format
+msgid "Item %d"
+msgstr ""
+
+#: qcsrc/menu/item/slider.c:64
+#, c-format
+msgid "%d (%s)"
+msgstr ""
+
+#: qcsrc/menu/item/textslider.c:31 qcsrc/menu/item/textslider.c:33
+msgid "custom"
+msgstr ""
+
+#: qcsrc/menu/menu.qc:59
+#, c-format
+msgid "^4MQC Build information: ^1%s\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/campaign.c:286
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:123
+msgid "???"
+msgstr ""
+
+#: qcsrc/menu/xonotic/campaign.c:287
+#, c-format
+msgid "Level %d: %s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
+msgid "will not be saved"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
+msgid "private"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:95
+msgid "engine setting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:97
+msgid "read only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_credits.c:5
+msgid "Credits"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:99
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
+msgid "OK"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:4
+msgid "Welcome"
+msgstr "Dobrodošli"
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+msgid ""
+"Welcome to Xonotic, please select your language preference and enter your "
+"player name to get started.  You can change these options later through the "
+"menu system."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
+msgid "Name:"
+msgstr "Ime:"
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
+#: qcsrc/menu/xonotic/dialog_settings_user.c:65
+msgid "Text language:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+msgid "ALWU2N^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
+msgid "ALWU2N^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
+msgid "ALWU2N^Undecided"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
+msgid "Save settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:4
+msgid "Ammo Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:23
+msgid "Ammunition display:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:26
+msgid "Show only current ammo type"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:29
+msgid "Align icon:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:30
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:37
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:29
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:41
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:29
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:41
+msgid "Left"
+msgstr "Levo"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:39
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:42
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:42
+msgid "Right"
+msgstr "Desno"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:4
+msgid "Centerprint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:24
+msgid "Message duration:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:28
+msgid "Fade time:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:32
+msgid "Flip messages order"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:34
+msgid "Text alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:38
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:51
+msgid "Center"
+msgstr "Centar"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:42
+msgid "Font scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4
+msgid "Chat Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:23
+msgid "Chat entries:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:26
+msgid "Chat size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:30
+msgid "Chat lifetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:34
+msgid "Chat beep sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:4
+msgid "Engine Info Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:23
+msgid "Engine info:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:26
+msgid "Use an averaging algorithm for fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:4
+msgid "Health/Armor Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:23
+msgid "Enable status bar"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:25
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:25
+msgid "Status bar alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:33
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:43
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:33
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:43
+msgid "Inward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:35
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:44
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:35
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:44
+msgid "Outward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:38
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:38
+msgid "Icon alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:46
+msgid "Flip health and armor positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:4
+msgid "Info Messages Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:23
+msgid "Info messages:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:26
+msgid "Flip align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_modicons.c:4
+msgid "Mod Icons Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:4
+msgid "Notification Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:23
+msgid "Notifications:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:26
+msgid "Also print notifications to the console"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:29
+msgid "Flip notify order"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:32
+msgid "Entry lifetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:36
+msgid "Entry fadetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:4
+msgid "Physics Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:22
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:22
+msgid "Panel disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:24
+msgid "Panel enabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:25
+msgid "Panel enabled even observing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:26
+msgid "Panel enabled only in Race/CTS"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:32
+msgid "Status bar"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:34
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:49
+msgid "Left align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:35
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:53
+msgid "Right align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:36
+msgid "Inward align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:37
+msgid "Outward align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:41
+msgid "Flip speed/acceleration positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:45
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:29
+msgid "Speed:"
+msgstr "Brzina:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:46
+msgid "Include vertical speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:57
+msgid "Speed unit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:59
+msgid "qu/s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:60
+msgid "m/s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:61
+msgid "km/h"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:62
+msgid "mph"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:63
+msgid "knots"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:65
+msgid "Show"
+msgstr "Prikaži"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:68
+msgid "Top speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:74
+msgid "Acceleration:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:75
+msgid "Include vertical acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4
+msgid "Powerups Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:46
+msgid "Flip strength and shield positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:4
+msgid "Pressed Keys Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:23
+msgid "Panel enabled when spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:24
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:24
+msgid "Panel always enabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:31
+msgid "Forced aspect:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_racetimer.c:4
+msgid "Race Timer Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:4
+msgid "Radar Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:23
+msgid "Panel enabled in teamgames"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:30
+msgid "Radar:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:33
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
+#: qcsrc/menu/xonotic/util.qc:758
+msgid "Alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:37
+msgid "Rotation:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:39
+msgid "Forward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:40
+msgid "West"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:41
+msgid "South"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:42
+msgid "East"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:43
+msgid "North"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:47
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:63
+msgid "Scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:51
+msgid "Zoom mode:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:53
+msgid "Zoomed in"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:54
+msgid "Zoomed out"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:55
+msgid "Always zoomed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:56
+msgid "Never zoomed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:4
+msgid "Score Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:23
+msgid "Score:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
+msgid "Rankings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:27
+msgid "Off"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
+msgid "And me"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:29
+msgid "Pure"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
+msgid "Timer Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:23
+msgid "Timer:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:26
+msgid "Show elapsed time"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:4
+msgid "Vote Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:23
+msgid "Alpha after voting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:4
+msgid "Weapons Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:25
+msgid "Fade out after:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:27
+msgid "Never"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:29
+#, c-format
+msgid "%ds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:33
+msgid "Fade effect:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:36
+msgid "EF^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:37
+msgid "Alpha"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:38
+msgid "Slide"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:39
+msgid "EF^Both"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:43
+msgid "Weapon icons:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46
+msgid "Show only owned weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49
+msgid "Show weapon ID as:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50
+msgid "SHOWAS^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51
+msgid "Number"
+msgstr "Broj"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52
+msgid "Bind"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55
+msgid "Show Accuracy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:56
+msgid "Show Ammo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:59
+msgid "Ammo bar color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:65
+msgid "Ammo bar alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:4
+msgid "Panel HUD Setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:22
+msgid "Panel background defaults:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
+msgid "Background:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
+msgid "Disable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
+msgid "Color:"
+msgstr "Boja:"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
+msgid "Border size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:51
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:90
+msgid "Team color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
+msgid "Test team color in configure mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
+msgid "Padding:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:69
+msgid "HUD Dock:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:71
+msgid "DOCK^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:72
+msgid "DOCK^Small"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:73
+msgid "DOCK^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:74
+msgid "DOCK^Large"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:97
+msgid "Grid settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:100
+msgid "Snap panels to grid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:103
+msgid "Grid size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:104
+msgid "X:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:110
+msgid "Y:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:118
+msgid "Exit setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:4
+msgid "Multiplayer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:18
+msgid "Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:19
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:5
+msgid "Create"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:20
+msgid "Demos"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:21
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:5
+msgid "Player Setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:34
+msgid "Game type:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48
+msgid "Time limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:52
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:60
+msgid "Use map specified default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:55
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:155
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+msgid "Point limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63
+msgid "Player slots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66
+msgid "Number of bots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69
+msgid "Bot skill:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72
+msgid "Botlike"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73
+msgid "Beginner"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74
+msgid "You will win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75
+msgid "You can win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76
+msgid "You might win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77
+msgid "Advanced"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78
+msgid "Expert"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79
+msgid "Pro"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80
+msgid "Assassin"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81
+msgid "Unhuman"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82
+msgid "Godlike"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87
+msgid "Mutators..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
+msgid "Advanced settings..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103
+msgid "Map list:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109
+msgid "Select all"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112
+msgid "Select none"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118
+msgid "Start Multiplayer!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153
+msgid "Capture limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:156
+msgid "Lives:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157
+msgid "Laps:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158
+msgid "Goals:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
+msgid "Frag limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:6
+msgid "Advanced server settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:25
+msgid "Game settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:28
+msgid "Allow spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:31
+msgid "Spawn shield:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:36
+msgid "Game speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:40
+msgid "Teamplay settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:43
+msgid "Friendly fire scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:47
+msgid "Virtual friendly fire (effect only)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:50
+msgid "Friendly fire penalty:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:54
+msgid "Virtual penalty (effect only)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:57
+msgid "Teams:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:66
+msgid "Map voting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:68
+msgid "No voting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:69
+msgid "2 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:70
+msgid "3 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:71
+msgid "4 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:72
+msgid "5 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:73
+msgid "6 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:74
+msgid "7 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:75
+msgid "8 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:76
+msgid "9 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:79
+msgid "Simple majority wins vcall"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:5
+msgid "Map Information"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "Full item placement"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "MinstaGib only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81
+msgid "Title:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:87
+msgid "Author:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:93
+msgid "Features:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98
+msgid "Game types:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:328
+msgid "Close"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124
+msgid "MAP^Play"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:7
+msgid "Mutators"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:33
+msgid "All Weapons Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:35
+msgid "Most Weapons Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:56
+#, c-format
+msgid "%s Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:68
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:162
+msgid "Dodging"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:70
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:254
+msgid "MinstaGib"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:72
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:208
+msgid "New Toys"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:74
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:258
+msgid "NIX"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:76
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:212
+msgid "Rocket Flying"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:78
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204
+msgid "Invincible Projectiles"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:266
+msgid "No start weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:189
+msgid "Low gravity"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:168
+msgid "Cloaked"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:90
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:171
+msgid "Midair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:92
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:174
+msgid "Vampire"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:94
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:216
+msgid "Piñata"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:96
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:220
+msgid "Weapons stay"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:179
+msgid "Blood loss"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:100
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201
+msgid "Jet pack"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:102
+msgid "No powerups"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104
+msgid "Powerups"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:106
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:165
+msgid "Touch explode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:108
+msgid "MUT^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:159
+msgid "Gameplay mutators:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:195
+msgid "Weapon & item mutators:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:198
+msgid "Grappling hook"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:225
+msgid "Regular (no arena)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:227
+msgid "Weapon arenas:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:244
+msgid "Most weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:248
+msgid "All weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:251
+msgid "Special arenas:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:262
+msgid "with laser"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:4
+msgid "Demo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:26
+msgid "Automatically record demos while playing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:29
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:28
+msgid "Filter:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:40
+msgid "Timedemo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43
+msgid "DEMO^Play"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:4
+msgid "Join"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
+msgid "SRVS^Empty"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
+msgid "SRVS^Full"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
+msgid "Pause"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
+msgid "Address:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
+msgid "Info..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
+msgid "Join!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:5
+msgid "Server Information"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:174
+#, c-format
+msgid "%d/%d"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
+msgid "Default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
+#, c-format
+msgid "%d modified"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
+msgid "Official"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:201
+msgid "N/A (auth library missing, can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:203
+msgid "N/A (auth library missing)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:209
+msgid "Not supported (can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211
+msgid "Not supported (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:215
+msgid "Supported (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217
+msgid "Supported (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:221
+msgid "Requested (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223
+msgid "Requested (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:227
+msgid "Required (can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:229
+msgid "Required (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:249
+msgid "Hostname:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:263
+msgid "Gametype:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:268
+msgid "Map:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:273
+msgid "Mod:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:278
+msgid "Version:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:283
+msgid "Settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:322
+msgid "Players:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:295
+msgid "Bots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:300
+msgid "Free slots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:306
+msgid "Encryption:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:311
+msgid "ID:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:316
+msgid "Key:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:61
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:20
+msgid "Model:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:73
+msgid "Glowing color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:82
+msgid "Detail color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93
+msgid "No crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:95
+msgid "Per weapon crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:98
+msgid "Custom crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117
+msgid "Crosshair size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:122
+msgid "Crosshair alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:128
+msgid "Crosshair color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130
+msgid "Per weapon"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:132
+msgid "By health"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:136
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:47
+msgid "Custom"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:144
+msgid "Other crosshair settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:152
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6
+msgid "Model settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6
+msgid "View settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:164
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6
+msgid "Weapon settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:174
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6
+msgid "HUD settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:180
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:164
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:200
+#: qcsrc/menu/xonotic/dialog_settings_input.c:90
+#: qcsrc/menu/xonotic/dialog_settings_user.c:88
+#: qcsrc/menu/xonotic/dialog_settings_video.c:143
+msgid "Apply immediately"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6
+msgid "Crosshair settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28
+msgid "Enable center crosshair dot"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31
+msgid "Dot size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36
+msgid "Dot alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41
+msgid "Dot color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43
+msgid "Use normal crosshair color"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54
+msgid "Crosshair animations:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57
+msgid "Smooth effects of crosshairs"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61
+msgid "Use rings to indicate weapon status"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67
+msgid "Hit testing:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69
+msgid "HTTST^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70
+msgid "HTTST^TrueAim"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71
+msgid "HTTST^Enemies"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76
+msgid "Blur crosshair if the shot is obstructed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81
+msgid "Animate when hitting an enemy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85
+msgid "Animate when picking up an item"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40
+msgid "Damage:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43
+msgid "Overlay:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:47
+msgid "Factor:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:53
+msgid "Fade rate:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:60
+msgid "Waypoints"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:75
+msgid "Edge offset:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83
+msgid "Show names above players"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:86
+msgid "Only when near crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:89
+msgid "Display health and armor"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:93
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:4
+msgid "Enter HUD editor"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:28
+msgid "In order for the HUD editor to show, you must first be in game."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30
+msgid "Do you wish to start a local game to set up the HUD?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33
+msgid "HDCNFRM^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36
+msgid "HDCNFRM^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28
+msgid "Body fading:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31
+msgid "Gibs:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33
+msgid "GIBS^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34
+msgid "GIBS^Few"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35
+msgid "GIBS^Many"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36
+msgid "GIBS^Lots"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:41
+msgid "Force player models to mine"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:43
+msgid "Force player colors to mine"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28
+msgid "Field of view:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31
+msgid "Zoom:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33
+msgid "RETICLE^Fullscreen"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34
+msgid "RETICLE^With reticle"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38
+msgid "ZOOM^Factor:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42
+msgid "ZOOM^Speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52
+msgid "ZOOM^Instant"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56
+msgid "ZOOM^Sensitivity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59
+msgid "Velocity zoom:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61
+msgid "VZOOM^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62
+msgid "VZOOM^Forward only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63
+msgid "VZOOM^All directions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67
+msgid "VZOOM^Speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72
+msgid "Allow passing through walls while spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75
+msgid "1st person perspective"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79
+msgid "Smooth the view when landing from a jump"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83
+msgid "Smooth the view while crouching"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87
+msgid "View waving while idle"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91
+msgid "View bobbing while walking around"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96
+msgid "3rd person perspective"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100
+msgid "Back distance"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106
+msgid "Up distance"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29
+msgid "Weapon priority list:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33
+msgid "Up"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36
+msgid "Down"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41
+msgid "Use priority list for weapon cycling"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43
+msgid "Auto switch weapons on pickup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:46
+msgid "Draw 1st person weapon model"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:58
+msgid "Gun model swaying"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63
+msgid "Gun model bobbing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:4
+msgid "Quit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:18
+msgid "Are you sure you want to quit?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:21
+msgid "Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:22
+msgid "No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:4
+msgid "Sandbox Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
+msgid "Remove *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28
+msgid "Copy *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:29
+msgid "Paste"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:31
+msgid "Bone:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:36
+msgid "Set * as child"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:37
+msgid "Attach to *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:39
+msgid "Detach from *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:42
+msgid "Visual object properties for *:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
+msgid "Set alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:49
+msgid "Set color main:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:51
+msgid "Set color glow:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:55
+msgid "Set frame:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:59
+msgid "Physical object properties for *:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:61
+msgid "Set material:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:67
+msgid "Set solidity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:68
+msgid "Non-solid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:69
+msgid "Solid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:70
+msgid "Set physics:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:71
+msgid "Static"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:72
+msgid "Movable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:73
+msgid "Physical"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:75
+msgid "Set scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:77
+msgid "Set force:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:81
+msgid "Claim *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:83
+msgid "* object info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:84
+msgid "* mesh info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:85
+msgid "* attachment info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:86
+msgid "Show help"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:87
+msgid "* is the object you are facing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:4
+msgid "Settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:18
+#: qcsrc/menu/xonotic/dialog_settings_input.c:4
+msgid "Input"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:19
+#: qcsrc/menu/xonotic/dialog_settings_video.c:4
+msgid "Video"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:20
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:4
+msgid "Effects"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:21
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:4
+msgid "Audio"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:22
+#: qcsrc/menu/xonotic/dialog_settings_user.c:4
+msgid "User"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:23
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:4
+msgid "Misc"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:27
+msgid "Master:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:33
+msgid "Music:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:41
+msgid "VOL^Ambient:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:48
+msgid "Info:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:55
+msgid "Items:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:62
+msgid "Pain:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:69
+msgid "Player:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:76
+msgid "Shots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:83
+msgid "Voice:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:91
+msgid "Weapons:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:97
+msgid "New style sound attenuation"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:99
+msgid "Mute sounds when not active"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:102
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:156
+msgid "Frequency:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:104
+msgid "8 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:105
+msgid "11.025 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:106
+msgid "16 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:107
+msgid "22.05 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:108
+msgid "24 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:109
+msgid "32 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:110
+msgid "44.1 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:111
+msgid "48 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:114
+msgid "Channels:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:116
+msgid "Mono"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:117
+msgid "Stereo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:118
+msgid "2.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:119
+msgid "4"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:120
+msgid "5"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:121
+msgid "5.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:122
+msgid "6.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:123
+msgid "7.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:126
+msgid "Swap Stereo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:128
+msgid "Headphone friendly mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:132
+msgid "Hit indication sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:134
+msgid "Chat message sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:136
+msgid "Menu sounds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:139
+msgid "Time announcer:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:141
+msgid "WRN^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:142
+msgid "1 minute"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:143
+msgid "5 minutes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:144
+msgid "WRN^Both"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:151
+msgid "Automatic taunts"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:161
+msgid "Debug info about sounds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:38
+msgid "Quality preset:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:41
+msgid "PRE^OMG!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:42
+msgid "PRE^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:43
+msgid "PRE^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:44
+msgid "PRE^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:45
+msgid "PRE^High"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:46
+msgid "PRE^Ultra"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:48
+msgid "PRE^Ultimate"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:52
+msgid "Geometry detail:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:54
+msgid "DET^Lowest"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:55
+msgid "DET^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:56
+msgid "DET^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:57
+msgid "DET^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:58
+msgid "DET^Best"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:59
+msgid "DET^Insane"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:62
+msgid "Player detail:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:65
+msgid "Texture resolution:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:69
+msgid "RES^Leet"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:70
+msgid "RES^Lowest"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:71
+msgid "RES^Very low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:72
+msgid "RES^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:73
+msgid "RES^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:74
+msgid "RES^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:75
+msgid "RES^Best"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:87
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:91
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:95
+msgid "Avoid lossy texture compression"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:105
+msgid "Show surfaces"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:108
+msgid "Use lightmaps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:109
+msgid "Deluxe mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:111
+msgid "Gloss"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:114
+msgid "Offset mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:116
+msgid "Relief mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:119
+msgid "Reflections:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:122
+msgid "Blurred"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:123
+msgid "REFL^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:124
+msgid "Sharp"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:129
+msgid "Particles quality:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:132
+msgid "Particles distance:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:135
+msgid "Damage effects:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:137
+msgid "DMGPRTCLS^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:138
+msgid "DMGPRTCLS^Skeletal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:139
+msgid "DMGPRTCLS^All"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:142
+msgid "Particle effects for spawnpoints"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:146
+msgid "No dynamic lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:148
+msgid "Fake corona lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:151
+msgid "Realtime dynamic lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:153
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:157
+msgid "Shadows"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:156
+msgid "Realtime world lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:161
+msgid "Use normal maps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:163
+msgid "Soft shadows"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:167
+msgid "Fade corona according to visibility"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:171
+msgid "Bloom"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:172
+msgid "Extra postprocessing effects"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:177
+msgid "Motion blur:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:183
+msgid "Decals"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:184
+msgid "Decals on models"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:188
+msgid "Distance:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:194
+msgid "Time:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:26
+msgid "Key bindings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:30
+msgid "Change key..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:34
+msgid "Edit..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:40
+msgid "Clear"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:46
+msgid "Pressing \"enter console\" key also closes it"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:48
+msgid "Automatically repeat jumping if holding jump"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:52
+#: qcsrc/menu/xonotic/dialog_settings_input.c:54
+#: qcsrc/menu/xonotic/dialog_settings_input.c:57
+msgid "Use joystick input"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:62
+msgid "Mouse:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:65
+msgid "Sensitivity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:69
+msgid "Smooth aiming"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:72
+msgid "Invert aiming"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:76
+#: qcsrc/menu/xonotic/dialog_settings_input.c:78
+#: qcsrc/menu/xonotic/dialog_settings_input.c:81
+msgid "Disable system mouse acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:86
+msgid "Enable built in mouse acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5
+msgid "User defined key bind"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:42
+msgid "Command when pressed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:45
+msgid "Command when released:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:48
+msgid "Save"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:51
+msgid "Cancel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:26
+msgid "Network:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:31
+msgid "56k"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:32
+msgid "ISDN"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:33
+msgid "Slow ADSL"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:34
+msgid "Fast ADSL"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:35
+msgid "Broadband"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:39
+msgid "Input packets/s:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:45
+msgid "Local latency:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:50
+msgid "Client UDP port:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "Use encryption (AES) when available"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+msgid "Show netgraph"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
+msgid "Client-side movement prediction"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+msgid "Movement error compensation"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
+msgid "Downloads:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+msgid "Maximum:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
+msgid "Speed (kB/s):"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
+msgid "Framerate:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+msgid "MAXFPS^5 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+msgid "MAXFPS^10 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+msgid "MAXFPS^20 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+msgid "MAXFPS^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+msgid "MAXFPS^40 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+msgid "MAXFPS^50 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+msgid "MAXFPS^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+msgid "MAXFPS^70 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
+msgid "MAXFPS^100 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
+msgid "MAXFPS^125 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
+msgid "MAXFPS^200 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+msgid "MAXFPS^Unlimited"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+msgid "Target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+msgid "TRGT^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+msgid "TRGT^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+msgid "TRGT^40 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+msgid "TRGT^50 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
+msgid "TRGT^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
+msgid "TRGT^100 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
+msgid "TRGT^125 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+msgid "TRGT^200 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+msgid "Idle limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+msgid "IDLFPS^10 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
+msgid "IDLFPS^20 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
+msgid "IDLFPS^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
+msgid "IDLFPS^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
+msgid "IDLFPS^Unlimited"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
+msgid "Show frames per second"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+msgid "Save processing time for other apps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+msgid "Menu tooltips:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
+msgid "TLTIP^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
+msgid "TLTIP^Standard"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+msgid "TLTIP^Advanced"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+msgid "Show current time"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
+msgid "Show current date"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+msgid "Enable developer mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5
+msgid "Advanced settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:32
+msgid "Cvar filter:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:45
+msgid "Setting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:49
+msgid "Type:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:53
+msgid "Value:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
+msgid "Description:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:27
+msgid "Menu skins:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:31
+msgid "Set skin"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:74
+msgid "Set language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:79
+msgid "Disable gore effects and harsh language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:82
+msgid "Allow player statistics to track your client"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:84
+msgid "Allow player statistics to use your nickname"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:26
+msgid "Resolution:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:29
+msgid "Font/UI size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:31
+msgid "SZ^Unreadable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:32
+msgid "SZ^Tiny"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:33
+msgid "SZ^Little"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:34
+msgid "SZ^Small"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:35
+msgid "SZ^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:36
+msgid "SZ^Large"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:37
+msgid "SZ^Huge"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:38
+msgid "SZ^Gigantic"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:39
+msgid "SZ^Colossal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:42
+msgid "Color depth:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:44
+msgid "16bit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:45
+msgid "32bit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:48
+msgid "Full screen"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:49
+msgid "Vertical Synchronization"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:53
+msgid "Anisotropy:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:55
+msgid "ANISO^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:56
+#: qcsrc/menu/xonotic/dialog_settings_video.c:66
+msgid "2x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:57
+#: qcsrc/menu/xonotic/dialog_settings_video.c:67
+msgid "4x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:58
+msgid "8x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:59
+msgid "16x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:62
+msgid "Antialiasing:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:65
+msgid "AA^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:71
+msgid "High-quality frame buffer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:76
+msgid "Depth first:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:78
+msgid "DF^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:79
+msgid "DF^World"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:80
+msgid "DF^All"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:83
+msgid "Vertex Buffer Objects (VBOs)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:86
+msgid "VBO^Off"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:87
+msgid "Vertices, some Tris (compatible)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:90
+msgid "Vertices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:91
+msgid "Vertices and Triangles"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:94
+msgid "Brightness:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:97
+msgid "Contrast:"
+msgstr "Kontrast:"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:100
+msgid "Gamma:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:105
+msgid "Contrast boost:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:110
+msgid "Saturation:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:116
+msgid "LIT^Ambient:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:119
+msgid "Intensity:"
+msgstr "Intenzitet:"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:123
+msgid "Wait for GPU to finish each frame"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:125
+msgid "Use OpenGL 2.0 shaders (GLSL)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:128
+msgid "Use GLSL to handle color control"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:133
+msgid "Psycho coloring (easter egg)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:136
+msgid "Trippy vertices (easter egg)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:139
+msgid "Flip view horizontally"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:4
+msgid "Singleplayer"
+msgstr "Igra jednog igrača"
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:116
+msgid "Instant action! (random map with bots)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:137
+msgid "Campaign Difficulty:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:138
+msgid "CSKL^Easy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:139
+msgid "CSKL^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:140
+msgid "CSKL^Hard"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:142
+msgid "Start Singleplayer!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:4
+msgid "Winner"
+msgstr "Pobednik"
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:5
+msgid "Team Selection"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:42
+msgid "join 'best' team (auto-select)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:46
+msgid "red"
+msgstr "crvena"
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:47
+msgid "blue"
+msgstr "plava"
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:48
+msgid "yellow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:49
+msgid "pink"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:52
+msgid "spectate"
+msgstr "posmatraj"
+
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
+msgid "Do not press this button again!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:280
+msgid ""
+"Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:288
+#, c-format
+msgid "%s's Xonotic Server"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:293
+msgid ""
+"Huh? Can't play this (invalid game type). Refiltering so this won't happen "
+"again.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128
+msgid "spectator"
+msgstr "posmatrač"
+
+#: qcsrc/menu/xonotic/playermodel.c:177
+msgid "<no model found>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:923
+msgid "Ping"
+msgstr "Ping"
+
+#: qcsrc/menu/xonotic/serverlist.c:924
+msgid "Host name"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:925
+msgid "Map"
+msgstr "Mapa"
+
+#: qcsrc/menu/xonotic/serverlist.c:926
+msgid "Type"
+msgstr "Tip"
+
+#: qcsrc/menu/xonotic/serverlist.c:927
+msgid "Players"
+msgstr "Igrači"
+
+#: qcsrc/menu/xonotic/skinlist.c:105
+msgid "<TITLE>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/skinlist.c:106
+msgid "<AUTHOR>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:77
+msgid "VOL^MAX"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:79
+msgid "VOL^OFF"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:81
+#, c-format
+msgid "%d %%"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:83
+#, c-format
+msgid "%.1f"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:85
+#, c-format
+msgid "%.2f %%"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:87
+#, c-format
+msgid "%s dB"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_resolution.c:116
+#, c-format
+msgid "%dx%d (%d:%d)"
+msgstr "%dx%d (%d:%d)"
+
+#: qcsrc/menu/xonotic/slider_resolution.c:119
+#, c-format
+msgid "%dx%d"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:308
+#, c-format
+msgid "error receiving update notification: status is %d\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:313
+msgid "error: received HTML instead of an update notification\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:318
+msgid "error: received carriage returns from update notification server\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:397
+#, c-format
+msgid ""
+"Update can be downloaded at:\n"
+"%s\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:497
+msgid "Autogenerating mapinfo for newly added maps..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:526
+#, c-format
+msgid "^1%s TEST BUILD"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:541
+#, c-format
+msgid "Update to %s now!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:626
+msgid ""
+"^1ERROR: Texture compression is required but not supported.\n"
+"^1Expect visual problems.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:746
+msgid "Use default"
+msgstr "Koristi fabrička podešavanja"
+
+#: qcsrc/menu/xonotic/util.qc:766
+msgid "Team Color:"
+msgstr "Boja tima:"
+
+#: qcsrc/menu/xonotic/util.qh:43
+msgid "Enable panel"
+msgstr "Omogući panel"
+
+#: qcsrc/menu/xonotic/weaponslist.c:102
+#, c-format
+msgid "%s (mutator weapon)"
+msgstr ""
+
+#: qcsrc/server/w_hlac.qc:11
+msgid "Heavy Laser Assault Cannon"
+msgstr ""
+
+#: qcsrc/server/w_hook.qc:11
+msgid "Grappling Hook"
+msgstr "Kuka"
+
+#: qcsrc/server/w_minstanex.qc:11
+msgid "MinstaNex"
+msgstr "MinstaNex"
+
+#: qcsrc/server/w_seeker.qc:11
+msgid "T.A.G. Seeker"
+msgstr "T.A.G. Seeker"
+
+#: qcsrc/server/w_tuba.qc:12
+#, no-c-format
+msgid "@!#%'n Tuba"
+msgstr "@!#%'n Tuba"
index b6423751cf52fbd2232aabd87c1be35cf56d9a67..677f55f77dbad2ac6f3aa6172c9be9b89511a2e0 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-03 11:55+0200\n"
-"PO-Revision-Date: 2013-10-03 10:08+0000\n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
 "Last-Translator: divVerent <divVerent@xonotic.org>\n"
 "Language-Team: Swedish (http://www.transifex.com/projects/p/xonotic/language/"
 "sv/)\n"
@@ -33,12 +33,7 @@ msgstr ""
 msgid "^4CSQC Build information: ^1%s\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
-#, c-format
-msgid "trying to switch to unsupported team %d\n"
-msgstr ""
-
-#: qcsrc/client/Main.qc:835
+#: qcsrc/client/Main.qc:836
 #, c-format
 msgid ""
 "Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
@@ -56,7 +51,7 @@ msgstr ""
 msgid "%s (%s)"
 msgstr "%s (%s)"
 
-#: qcsrc/client/View.qc:1096
+#: qcsrc/client/View.qc:1165
 msgid "Revival progress"
 msgstr ""
 
@@ -88,213 +83,209 @@ msgstr ""
 msgid "%s (%s %s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:829
+#: qcsrc/client/hud.qc:832
 msgid "Out of ammo"
 msgstr ""
 
-#: qcsrc/client/hud.qc:833
+#: qcsrc/client/hud.qc:836
 msgid "Don't have"
 msgstr ""
 
-#: qcsrc/client/hud.qc:837
+#: qcsrc/client/hud.qc:840
 msgid "Unavailable"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
 #, c-format
 msgid "Player %d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2384
+#: qcsrc/client/hud.qc:2369
 msgid "^1Intermediate 1 (+15.42)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
 #, c-format
 msgid "^1PENALTY: %.1f (%s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2471
+#: qcsrc/client/hud.qc:2456
 #, c-format
 msgid "^2PENALTY: %.1f (%s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2501
+#: qcsrc/client/hud.qc:2486
 msgid "^1You must answer before entering hud configure mode\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2506
+#: qcsrc/client/hud.qc:2491
 msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2586
+#: qcsrc/client/hud.qc:2570
 msgid "A vote has been called for:"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2588
+#: qcsrc/client/hud.qc:2572
 msgid "Allow servers to store and display your name?"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2592
+#: qcsrc/client/hud.qc:2576
 msgid "^1Configure the HUD"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2596
+#: qcsrc/client/hud.qc:2580
 #, c-format
 msgid "Yes (%s): %d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2598
+#: qcsrc/client/hud.qc:2582
 #, c-format
 msgid "No (%s): %d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3169 qcsrc/client/hud.qc:3172 qcsrc/client/hud.qc:3174
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
 msgid "Personal best"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
 msgid "Server best"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3552
+#: qcsrc/client/hud.qc:3528
 msgid "^3Player^7: This is the chat area."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3618
+#: qcsrc/client/hud.qc:3593
 #, c-format
 msgid "FPS: %.*f"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3683
+#: qcsrc/client/hud.qc:3657
 msgid "^1Observing"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
 #, c-format
 msgid "^1Spectating: ^7%s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3693
+#: qcsrc/client/hud.qc:3667
 #, c-format
 msgid "^1Press ^3%s^1 to spectate"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3695
+#: qcsrc/client/hud.qc:3669
 #, c-format
 msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3699
+#: qcsrc/client/hud.qc:3673
 #, c-format
 msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3701
+#: qcsrc/client/hud.qc:3675
 #, c-format
 msgid "^1Press ^3%s^1 to observe"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3704
+#: qcsrc/client/hud.qc:3678
 #, c-format
 msgid "^1Press ^3%s^1 for gamemode info"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3708
-msgid "^1Wait for your turn to join"
-msgstr ""
-
-#: qcsrc/client/hud.qc:3714
+#: qcsrc/client/hud.qc:3686
 msgid "^1Match has already begun"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3688
 msgid "^1You have no more lives left"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
 #, c-format
 msgid "^1Press ^3%s^1 to join"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3701
 #, c-format
 msgid "^1Game starts in ^3%d^1 seconds"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3708
 msgid "^2Currently in ^1warmup^2 stage!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3723
 #, c-format
 msgid "%sPress ^3%s%s to end warmup"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3725
 #, c-format
 msgid "%sPress ^3%s%s once you are ready"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3758
+#: qcsrc/client/hud.qc:3730
 msgid "^2Waiting for others to ready up to end warmup..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3732
 msgid "^2Waiting for others to ready up..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3738
 #, c-format
 msgid "^2Press ^3%s^2 to end warmup"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3759
 msgid "Teamnumbers are unbalanced!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3764
 #, c-format
 msgid " Press ^3%s%s to adjust"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3772
 msgid "^7Press ^3ESC ^7to show HUD options."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3774
 msgid "^3Doubleclick ^7a panel for panel-specific options."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3776
 msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3778
 msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3825
 msgid " qu/s"
-msgstr ""
+msgstr "qu/s"
 
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3829
 msgid " m/s"
-msgstr ""
+msgstr "m/s"
 
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3833
 msgid " km/h"
-msgstr ""
+msgstr "km/h"
 
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3837
 msgid " mph"
-msgstr ""
+msgstr "mph"
 
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3841
 msgid " knots"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4497
 msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
 msgstr ""
 
@@ -343,16 +334,16 @@ msgstr ""
 msgid "Requesting preview...\n"
 msgstr ""
 
-#: qcsrc/client/miscfunctions.qc:98
+#: qcsrc/client/miscfunctions.qc:101
 msgid "Trying to remove a team which is not in the teamlist!"
 msgstr ""
 
-#: qcsrc/client/movetypes.qc:163
+#: qcsrc/client/movetypes.qc:227
 #, c-format
 msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
 
-#: qcsrc/client/movetypes.qc:166
+#: qcsrc/client/movetypes.qc:230
 #, c-format
 msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
@@ -493,164 +484,164 @@ msgstr ""
 msgid "SCO^ticks"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:251
+#: qcsrc/client/scoreboard.qc:237
 msgid ""
 "You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:252
+#: qcsrc/client/scoreboard.qc:238
 msgid "^3|---------------------------------------------------------------|\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:253
+#: qcsrc/client/scoreboard.qc:239
 msgid "Usage:\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:254
+#: qcsrc/client/scoreboard.qc:240
 msgid "^2scoreboard_columns_set default\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:255
+#: qcsrc/client/scoreboard.qc:241
 msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:256
+#: qcsrc/client/scoreboard.qc:242
 msgid "The following field names are recognized (case insensitive):\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:257
+#: qcsrc/client/scoreboard.qc:243
 msgid ""
 "You can use a ^3|^7 to start the right-aligned fields.\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:259
+#: qcsrc/client/scoreboard.qc:245
 msgid "^3name^7 or ^3nick^7             Name of a player\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:260
+#: qcsrc/client/scoreboard.qc:246
 msgid "^3ping^7                     Ping time\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:261
+#: qcsrc/client/scoreboard.qc:247
 msgid "^3pl^7                       Packet loss\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:262
+#: qcsrc/client/scoreboard.qc:248
 msgid "^3kills^7                    Number of kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:263
+#: qcsrc/client/scoreboard.qc:249
 msgid "^3deaths^7                   Number of deaths\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:264
+#: qcsrc/client/scoreboard.qc:250
 msgid "^3suicides^7                 Number of suicides\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:265
+#: qcsrc/client/scoreboard.qc:251
 msgid "^3frags^7                    kills - suicides\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:266
+#: qcsrc/client/scoreboard.qc:252
 msgid "^3kd^7                       The kill-death ratio\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:267
+#: qcsrc/client/scoreboard.qc:253
 msgid "^3sum^7                      frags - deaths\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:268
+#: qcsrc/client/scoreboard.qc:254
 msgid ""
 "^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
 "captured\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:269
+#: qcsrc/client/scoreboard.qc:255
 msgid ""
 "^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
 "ball (Keepaway) was picked up\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:270
+#: qcsrc/client/scoreboard.qc:256
 msgid "^3captime^7                  Time of fastest cap (CTF)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:271
+#: qcsrc/client/scoreboard.qc:257
 msgid "^3fckills^7                  Number of flag carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:272
+#: qcsrc/client/scoreboard.qc:258
 msgid "^3returns^7                  Number of flag returns\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:273
+#: qcsrc/client/scoreboard.qc:259
 msgid "^3drops^7                    Number of flag drops\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:274
+#: qcsrc/client/scoreboard.qc:260
 msgid "^3lives^7                    Number of lives (LMS)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:275
+#: qcsrc/client/scoreboard.qc:261
 msgid "^3rank^7                     Player rank\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:276
+#: qcsrc/client/scoreboard.qc:262
 msgid "^3pushes^7                   Number of players pushed into void\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:277
+#: qcsrc/client/scoreboard.qc:263
 msgid ""
 "^3destroyed^7                Number of keys destroyed by pushing them into "
 "void\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:278
+#: qcsrc/client/scoreboard.qc:264
 msgid "^3kckills^7                  Number of keys carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:279
+#: qcsrc/client/scoreboard.qc:265
 msgid "^3losses^7                   Number of times a key was lost\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:280
+#: qcsrc/client/scoreboard.qc:266
 msgid "^3laps^7                     Number of laps finished (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:281
+#: qcsrc/client/scoreboard.qc:267
 msgid "^3time^7                     Total time raced (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:282
+#: qcsrc/client/scoreboard.qc:268
 msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:283
+#: qcsrc/client/scoreboard.qc:269
 msgid "^3ticks^7                    Number of ticks (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:284
+#: qcsrc/client/scoreboard.qc:270
 msgid "^3takes^7                    Number of domination points taken (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:285
+#: qcsrc/client/scoreboard.qc:271
 msgid "^3bckills^7                  Number of ball carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:286
+#: qcsrc/client/scoreboard.qc:272
 msgid ""
 "^3bctime^7                   Total amount of time holding the ball in "
 "Keepaway\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:287
+#: qcsrc/client/scoreboard.qc:273
 msgid ""
 "^3score^7                    Total score\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:289
+#: qcsrc/client/scoreboard.qc:275
 msgid ""
 "Before a field you can put a + or - sign, then a comma separated list\n"
 "of game types, then a slash, to make the field show up only in these\n"
@@ -659,30 +650,30 @@ msgid ""
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:294
+#: qcsrc/client/scoreboard.qc:280
 msgid ""
 "The special game type names 'teams' and 'noteams' can be used to\n"
 "include/exclude ALL teams/noteams game modes.\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:297
+#: qcsrc/client/scoreboard.qc:283
 msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:298
+#: qcsrc/client/scoreboard.qc:284
 msgid ""
 "will display name, ping and pl aligned to the left, and the fields\n"
 "right of the vertical bar aligned to the right.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:300
+#: qcsrc/client/scoreboard.qc:286
 msgid ""
 "'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
 "other gamemodes except DM.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:534 qcsrc/client/scoreboard.qc:541
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
@@ -690,91 +681,95 @@ msgstr ""
 msgid "N/A"
 msgstr "N/A"
 
-#: qcsrc/client/scoreboard.qc:984
+#: qcsrc/client/scoreboard.qc:970
 #, c-format
 msgid "Accuracy stats (average %d%%)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1047
+#: qcsrc/client/scoreboard.qc:1033
 #, c-format
 msgid "%d%%"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1099
 msgid "Map stats:"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1124
 msgid "Secrets found:"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1152
 msgid "Rankings"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1248
 msgid "Scoreboard"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1307
 #, c-format
 msgid "Speed award: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1311
 #, c-format
 msgid "All-time fastest: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1345
 msgid "Spectators"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1352
 #, c-format
-msgid "playing on ^2%s^7"
+msgid "playing ^3%s^7 on ^2%s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
 #, c-format
 msgid " for up to ^1%1.0f minutes^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1364 qcsrc/client/scoreboard.qc:1383
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
 msgid " or"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
 #, c-format
 msgid " until ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1375
-#: qcsrc/client/scoreboard.qc:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
 msgid "SCO^points"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1369 qcsrc/client/scoreboard.qc:1376
-#: qcsrc/client/scoreboard.qc:1388 qcsrc/client/scoreboard.qc:1395
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
 msgid "SCO^is beaten"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
 #, c-format
 msgid " until a lead of ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1419
 #, c-format
 msgid "^1Respawning in ^3%s^1..."
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1429
 #, c-format
 msgid "You are dead, wait ^3%s^7 before respawning"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1438
 #, c-format
 msgid "You are dead, press ^2%s^7 to respawn"
 msgstr ""
@@ -784,7 +779,7 @@ msgstr ""
 msgid "Cannot initialize sound %s\n"
 msgstr ""
 
-#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:591
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
 msgid "Spam"
 msgstr ""
 
@@ -801,209 +796,213 @@ msgstr ""
 msgid "No left gunner!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:254
+#: qcsrc/client/waypointsprites.qc:246
 msgid "Push"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:255
+#: qcsrc/client/waypointsprites.qc:247
 msgid "Destroy"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:256
+#: qcsrc/client/waypointsprites.qc:248
 msgid "Defend"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:257
+#: qcsrc/client/waypointsprites.qc:249
 msgid "Blue base"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:258
+#: qcsrc/client/waypointsprites.qc:250
 msgid "DANGER"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:251
 msgid "Enemy carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:260
+#: qcsrc/client/waypointsprites.qc:252
 msgid "Flag carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:253
 msgid "Dropped flag"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:262
+#: qcsrc/client/waypointsprites.qc:254
 msgid "Help me!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:263
+#: qcsrc/client/waypointsprites.qc:255
 msgid "Here"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:264
+#: qcsrc/client/waypointsprites.qc:256
 msgid "Dropped key"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:267
-#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
-#: qcsrc/client/waypointsprites.qc:270
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
 msgid "Key carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:258
 msgid "Run here"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:263
 msgid "Red base"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:272
+#: qcsrc/client/waypointsprites.qc:264
 msgid "Waypoint"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
-#: qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
 msgid "Generator"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:276 qcsrc/client/waypointsprites.qc:277
-#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
-#: qcsrc/client/waypointsprites.qc:280 qcsrc/client/waypointsprites.qc:281
-#: qcsrc/client/waypointsprites.qc:282 qcsrc/client/waypointsprites.qc:283
-#: qcsrc/client/waypointsprites.qc:307 qcsrc/client/waypointsprites.qc:308
-#: qcsrc/client/waypointsprites.qc:309 qcsrc/client/waypointsprites.qc:310
-#: qcsrc/client/waypointsprites.qc:311
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
 msgid "Control point"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:284
+#: qcsrc/client/waypointsprites.qc:276
 msgid "Checkpoint"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
 msgid "Finish"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
 msgid "Start"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
 msgid "Ball"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:290
+#: qcsrc/client/waypointsprites.qc:283
 msgid "Ball carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
 msgid "Laser"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
 msgid "Shotgun"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
 msgid "Machine Gun"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
 msgid "Mortar"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
 msgid "Electro"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
 msgid "Crylink"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
 msgid "Nex"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
 msgid "Hagar"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
 msgid "Rocket Launcher"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
 msgid "Port-O-Launch"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:294
 msgid "Minstanex"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:302
+#: qcsrc/client/waypointsprites.qc:295
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
 msgid "Hook"
 msgstr "Hängare"
 
-#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
 msgid "Fireball"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:304
+#: qcsrc/client/waypointsprites.qc:297
 msgid "HLAC"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
 msgid "Rifle"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
 msgid "Mine Layer"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:312
+#: qcsrc/client/waypointsprites.qc:305
 msgid "Invisibility"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:313
+#: qcsrc/client/waypointsprites.qc:306
 msgid "Extra life"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:314
+#: qcsrc/client/waypointsprites.qc:307
 msgid "Speed"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:315
+#: qcsrc/client/waypointsprites.qc:308
 msgid "Strength"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:316
+#: qcsrc/client/waypointsprites.qc:309
 msgid "Shield"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:317
+#: qcsrc/client/waypointsprites.qc:310
 msgid "Fuel regen"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:318
+#: qcsrc/client/waypointsprites.qc:311
 msgid "Jet Pack"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:319
+#: qcsrc/client/waypointsprites.qc:312
 msgid "Frozen!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:320
+#: qcsrc/client/waypointsprites.qc:313
 msgid "Tagged"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:321
+#: qcsrc/client/waypointsprites.qc:314
 msgid "Vehicle"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:595
+#: qcsrc/client/waypointsprites.qc:588
 #, c-format
 msgid "%s needing help!"
 msgstr ""
@@ -1225,12 +1224,12 @@ msgstr ""
 msgid "%dth"
 msgstr ""
 
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:717
 #, no-c-format
 msgid "@!#%'n Tuba Throwing"
 msgstr "@!#%'n Tubakastning"
 
-#: qcsrc/common/mapinfo.qc:1109 qcsrc/menu/xonotic/skinlist.c:166
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
 #, c-format
 msgid "%s: %s"
 msgstr ""
@@ -1244,57 +1243,82 @@ msgid "Last Man Standing"
 msgstr "Herre På Täppan"
 
 #: qcsrc/common/mapinfo.qh:42
-msgid "Arena"
-msgstr "Arena"
-
-#: qcsrc/common/mapinfo.qh:45
 msgid "Race"
 msgstr "Lopp"
 
-#: qcsrc/common/mapinfo.qh:48
+#: qcsrc/common/mapinfo.qh:45
 msgid "Race CTS"
 msgstr ""
 
-#: qcsrc/common/mapinfo.qh:51
+#: qcsrc/common/mapinfo.qh:48
 msgid "Team Deathmatch"
 msgstr "Dödsmatch i Lag"
 
-#: qcsrc/common/mapinfo.qh:54
+#: qcsrc/common/mapinfo.qh:51
 msgid "Capture the Flag"
 msgstr ""
 
-#: qcsrc/common/mapinfo.qh:57
+#: qcsrc/common/mapinfo.qh:54
 msgid "Clan Arena"
 msgstr "Klan Arena"
 
-#: qcsrc/common/mapinfo.qh:60
+#: qcsrc/common/mapinfo.qh:57
 msgid "Domination"
 msgstr "Dominering"
 
-#: qcsrc/common/mapinfo.qh:63
+#: qcsrc/common/mapinfo.qh:60
 msgid "Key Hunt"
 msgstr "Nyckeljakt"
 
-#: qcsrc/common/mapinfo.qh:66
+#: qcsrc/common/mapinfo.qh:63
 msgid "Assault"
 msgstr "Anfall"
 
-#: qcsrc/common/mapinfo.qh:69
+#: qcsrc/common/mapinfo.qh:66
 msgid "Onslaught"
 msgstr "Stormning"
 
-#: qcsrc/common/mapinfo.qh:72
+#: qcsrc/common/mapinfo.qh:69
 msgid "Nexball"
 msgstr "Nexboll"
 
-#: qcsrc/common/mapinfo.qh:75
+#: qcsrc/common/mapinfo.qh:72
 msgid "Freeze Tag"
 msgstr "Frys-Kull"
 
-#: qcsrc/common/mapinfo.qh:78
+#: qcsrc/common/mapinfo.qh:75
 msgid "Keepaway"
 msgstr "Håll Dig Undan"
 
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr ""
+
 #: qcsrc/common/net_notice.qc:89
 msgid "^1Server notices:"
 msgstr ""
@@ -1305,1772 +1329,1842 @@ msgid "^7%s (^3%d sec left)"
 msgstr ""
 
 #: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:343
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:343
+#: qcsrc/common/notifications.qh:344
 #, c-format
 msgid ""
 "^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"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:344
+#: qcsrc/common/notifications.qh:345
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:345
+#: qcsrc/common/notifications.qh:346
 #, c-format
 msgid ""
 "^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"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:346
+#: qcsrc/common/notifications.qh:347
 msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:347
+#: qcsrc/common/notifications.qh:348
 msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:348
+#: qcsrc/common/notifications.qh:349
 msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:349
+#: qcsrc/common/notifications.qh:350
 msgid ""
 "^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
 "base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:350
+#: qcsrc/common/notifications.qh:351
 #, c-format
 msgid ""
 "^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
 "itself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:351
+#: qcsrc/common/notifications.qh:352
 msgid "^BGThe ^TC^TT^BG flag has returned to the base"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:352
+#: qcsrc/common/notifications.qh:353
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:353
+#: qcsrc/common/notifications.qh:354
 #, c-format
 msgid "^BG%s^BG got the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:354
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
 #, c-format
 msgid "^BG%s^BG returned the ^TC^TT^BG flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:355
+#: qcsrc/common/notifications.qh:357
 #, c-format
 msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:356
+#: qcsrc/common/notifications.qh:358
 #, c-format
 msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:357
+#: qcsrc/common/notifications.qh:359
 #, c-format
 msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:359
+#: qcsrc/common/notifications.qh:361
 #, c-format
 msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:360
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:363
 #, c-format
 msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:361
+#: qcsrc/common/notifications.qh:364
 #, c-format
 msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:362
+#: qcsrc/common/notifications.qh:365
 #, c-format
 msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:363
+#: qcsrc/common/notifications.qh:366
 #, c-format
 msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:365
+#: qcsrc/common/notifications.qh:368
 #, c-format
 msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:366
+#: qcsrc/common/notifications.qh:369
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:367
+#: qcsrc/common/notifications.qh:370
 #, c-format
 msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:368
+#: qcsrc/common/notifications.qh:371
 #, c-format
 msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:369
+#: qcsrc/common/notifications.qh:372
 #, c-format
 msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:370
+#: qcsrc/common/notifications.qh:373
 #, c-format
 msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:371
+#: qcsrc/common/notifications.qh:374
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:372
+#: qcsrc/common/notifications.qh:375
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:373
+#: qcsrc/common/notifications.qh:376
 #, c-format
 msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:374
+#: qcsrc/common/notifications.qh:377
 #, c-format
 msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:375
+#: qcsrc/common/notifications.qh:378
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:376
+#: qcsrc/common/notifications.qh:379
 #, c-format
 msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:377
+#: qcsrc/common/notifications.qh:380
 #, c-format
 msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:378
+#: qcsrc/common/notifications.qh:381
 #, c-format
 msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:379
+#: qcsrc/common/notifications.qh:382
 #, c-format
 msgid "^BG%s^K1 was moved into the %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:380
+#: qcsrc/common/notifications.qh:383
 #, c-format
 msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:381
+#: qcsrc/common/notifications.qh:384
 #, c-format
 msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:382
+#: qcsrc/common/notifications.qh:385
 #, c-format
 msgid "^BG%s^K1 unfairly eliminated themself%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:383
+#: qcsrc/common/notifications.qh:386
 #, c-format
 msgid "^BG%s^K1 %s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 couldn't catch their breath%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 was in the water for too long%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a crunch%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 became a bit too crispy%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 felt a little hot%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:387
+#: qcsrc/common/notifications.qh:390
 #, c-format
 msgid "^BG%s^K1 died%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 found a hot place%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 turned into hot slag%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:389
+#: qcsrc/common/notifications.qh:392
 #, c-format
 msgid "^BG%s^K1 mastered the art of self-nading%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:393
 #, c-format
-msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:394
+#, c-format
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:395
+#, c-format
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:396
+#, c-format
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:397
+#, c-format
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:398
+#, c-format
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
 #, c-format
 msgid "^BG%s^K1 ran out of ammo%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:391
+#: qcsrc/common/notifications.qh:402
 #, c-format
 msgid "^BG%s^K1 rotted away%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:392
+#: qcsrc/common/notifications.qh:403
 #, c-format
 msgid "^BG%s^K1 became a shooting star%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:393
+#: qcsrc/common/notifications.qh:404
 #, c-format
 msgid "^BG%s^K1 was slimed%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:394
+#: qcsrc/common/notifications.qh:405
 #, c-format
 msgid "^BG%s^K1 couldn't take it anymore%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:395
+#: qcsrc/common/notifications.qh:406
 #, c-format
 msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:396
+#: qcsrc/common/notifications.qh:407
 #, c-format
 msgid "^BG%s^K1 switched to the %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:397
+#: qcsrc/common/notifications.qh:408
 #, c-format
 msgid "^BG%s^K1 died in an accident%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:398
+#: qcsrc/common/notifications.qh:409
 #, c-format
 msgid "^BG%s^K1 ran into a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:399
+#: qcsrc/common/notifications.qh:410
 #, c-format
 msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:400
+#: qcsrc/common/notifications.qh:411
 #, c-format
 msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:401
+#: qcsrc/common/notifications.qh:412
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:402
+#: qcsrc/common/notifications.qh:413
 #, c-format
 msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:403
+#: qcsrc/common/notifications.qh:414
 #, c-format
 msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:404
+#: qcsrc/common/notifications.qh:415
 #, c-format
 msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:405
+#: qcsrc/common/notifications.qh:416
 #, c-format
 msgid "^BG%s^K1 was phased out by a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:406
+#: qcsrc/common/notifications.qh:417
 #, c-format
 msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:407
+#: qcsrc/common/notifications.qh:418
 #, c-format
 msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:408
+#: qcsrc/common/notifications.qh:419
 #, c-format
 msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:409
+#: qcsrc/common/notifications.qh:420
 #, c-format
 msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:410
+#: qcsrc/common/notifications.qh:421
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:411
+#: qcsrc/common/notifications.qh:422
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:412
+#: qcsrc/common/notifications.qh:423
 #, c-format
 msgid "^BG%s^K1 was crushed by a vehicle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:413
+#: qcsrc/common/notifications.qh:424
 #, c-format
 msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:414
+#: qcsrc/common/notifications.qh:425
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:415
+#: qcsrc/common/notifications.qh:426
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:416
+#: qcsrc/common/notifications.qh:427
 #, c-format
 msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:417
+#: qcsrc/common/notifications.qh:428
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:418
+#: qcsrc/common/notifications.qh:429
 #, c-format
 msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:419
+#: qcsrc/common/notifications.qh:430
 #, c-format
 msgid "^BG%s^K1 was in the wrong place%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:420
+#: qcsrc/common/notifications.qh:431
 #, c-format
 msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:421
+#: qcsrc/common/notifications.qh:432
 #, c-format
 msgid "^BG%s^K1 was frozen by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:422
+#: qcsrc/common/notifications.qh:433
 #, c-format
 msgid "^BG%s^K3 was revived by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:423
+#: qcsrc/common/notifications.qh:434
 #, c-format
 msgid "^BG%s^K3 was revived by falling"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:424
+#: qcsrc/common/notifications.qh:435
 #, c-format
 msgid "^BG%s^K3 was automatically revived after %s second(s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:425 qcsrc/common/notifications.qh:612
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
 msgid "^TC^TT^BG team wins the round"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:426 qcsrc/common/notifications.qh:613
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
 #, c-format
 msgid "^BG%s^BG wins the round"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:427 qcsrc/common/notifications.qh:542
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
 msgid "^BGRound tied"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:428 qcsrc/common/notifications.qh:543
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
 msgid "^BGRound over, there's no winner"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:429
+#: qcsrc/common/notifications.qh:440
 #, c-format
 msgid "^BG%s^K1 froze themself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:430
+#: qcsrc/common/notifications.qh:441
 #, c-format
 msgid "^BGGodmode saved you %s units of damage, cheater!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:431 qcsrc/common/notifications.qh:616
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
 #, c-format
 msgid "^BGYou do not have the ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:432 qcsrc/common/notifications.qh:617
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
 #, c-format
 msgid "^BGYou dropped the ^F1%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:433 qcsrc/common/notifications.qh:618
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
 #, c-format
 msgid "^BGYou got the ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:434 qcsrc/common/notifications.qh:619
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
 #, c-format
 msgid "^BGYou don't have enough ammo for the ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:435 qcsrc/common/notifications.qh:620
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
 #, c-format
 msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:621
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
 #, c-format
 msgid "^F1%s^BG is ^F4not available^BG on this map"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:437
+#: qcsrc/common/notifications.qh:448
 #, c-format
 msgid "^BG%s^F3 connected%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:438
+#: qcsrc/common/notifications.qh:449
 #, c-format
 msgid "^BG%s^F3 connected and joined the ^TC^TT team"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:439
+#: qcsrc/common/notifications.qh:450
 #, c-format
 msgid "^BG%s^F3 is now playing"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:440 qcsrc/common/notifications.qh:624
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
 #, c-format
 msgid "^BG%s^BG has dropped the ball!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:441 qcsrc/common/notifications.qh:625
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
 #, c-format
 msgid "^BG%s^BG has picked up the ball!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:442
+#: qcsrc/common/notifications.qh:453
 #, c-format
 msgid "^BG%s^BG captured the keys for the ^TC^TT team"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:443
+#: qcsrc/common/notifications.qh:454
 #, c-format
 msgid "^BG%s^BG dropped the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:444
+#: qcsrc/common/notifications.qh:455
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:445
+#: qcsrc/common/notifications.qh:456
 #, c-format
 msgid "^BG%s^BG picked up the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:446
+#: qcsrc/common/notifications.qh:457
 #, c-format
 msgid "^BG%s^F3 forfeited"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:447
+#: qcsrc/common/notifications.qh:458
 #, c-format
 msgid "^BG%s^F3 has no more lives left"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:448
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:460
 #, c-format
 msgid "^BG%s^K1 picked up Invisibility"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:449
+#: qcsrc/common/notifications.qh:461
 #, c-format
 msgid "^BG%s^K1 picked up Shield"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:450
+#: qcsrc/common/notifications.qh:462
 #, c-format
 msgid "^BG%s^K1 picked up Speed"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:451
+#: qcsrc/common/notifications.qh:463
 #, c-format
 msgid "^BG%s^K1 picked up Strength"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:452
+#: qcsrc/common/notifications.qh:464
 #, c-format
 msgid "^BG%s^F3 disconnected"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:453
+#: qcsrc/common/notifications.qh:465
 #, c-format
 msgid "^BG%s^F3 was kicked for idling"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:454
+#: qcsrc/common/notifications.qh:466
 msgid ""
 "^F2You were kicked from the server because you are a spectator and "
 "spectators aren't allowed at the moment."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:455
+#: qcsrc/common/notifications.qh:467
 #, c-format
 msgid "^BG%s^F3 is now spectating"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:456
+#: qcsrc/common/notifications.qh:468
 #, c-format
 msgid "^BG%s^BG has abandoned the race"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:457
+#: qcsrc/common/notifications.qh:469
 #, c-format
 msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:458
+#: qcsrc/common/notifications.qh:470
 #, c-format
 msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:459
+#: qcsrc/common/notifications.qh:471
 #, c-format
 msgid "^BG%s^BG has finished the race"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:460
+#: qcsrc/common/notifications.qh:472
 #, c-format
 msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:461
+#: qcsrc/common/notifications.qh:473
 #, c-format
 msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:462
+#: qcsrc/common/notifications.qh:474
 #, c-format
 msgid ""
 "^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
 "and will be lost."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:463
+#: qcsrc/common/notifications.qh:475
 #, c-format
 msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:464
+#: qcsrc/common/notifications.qh:476
 msgid "^TC^TT ^BGteam scores!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:465
+#: qcsrc/common/notifications.qh:477
 #, c-format
 msgid ""
 "^F2You have to become a player within the next %s, otherwise you will be "
 "kicked, because spectating isn't allowed at this time!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:466
+#: qcsrc/common/notifications.qh:478
 #, c-format
 msgid "^BG%s^K1 picked up a Superweapon"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:467
+#: qcsrc/common/notifications.qh:479
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
 "^F2Xonotic %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:468
+#: qcsrc/common/notifications.qh:480
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:469
+#: qcsrc/common/notifications.qh:481
 #, c-format
 msgid ""
 "^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
 "the update from ^F3http://www.xonotic.org/^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:470
+#: qcsrc/common/notifications.qh:482
 #, c-format
 msgid "^F3SVQC Build information: ^F4%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:471
+#: qcsrc/common/notifications.qh:483
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:472
+#: qcsrc/common/notifications.qh:484
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:473
+#: qcsrc/common/notifications.qh:485
 #, c-format
 msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:474
+#: qcsrc/common/notifications.qh:486
 #, c-format
 msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:475
+#: qcsrc/common/notifications.qh:487
 #, c-format
 msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:476
+#: qcsrc/common/notifications.qh:488
 #, c-format
 msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:477
+#: qcsrc/common/notifications.qh:489
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:478
+#: qcsrc/common/notifications.qh:490
 #, c-format
 msgid "^BG%s^K1 played with Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:479
+#: qcsrc/common/notifications.qh:491
 #, c-format
 msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:480
+#: qcsrc/common/notifications.qh:492
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:481
+#: qcsrc/common/notifications.qh:493
 #, c-format
 msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:482
+#: qcsrc/common/notifications.qh:494
 #, c-format
 msgid "^BG%s^K1 should have used a smaller gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:483
+#: qcsrc/common/notifications.qh:495
 #, c-format
 msgid "^BG%s^K1 forgot about their firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:484
+#: qcsrc/common/notifications.qh:496
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:485
+#: qcsrc/common/notifications.qh:497
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:486
+#: qcsrc/common/notifications.qh:498
 #, c-format
 msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:487
+#: qcsrc/common/notifications.qh:499
 #, c-format
 msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:488
+#: qcsrc/common/notifications.qh:500
 #, c-format
 msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:489
+#: qcsrc/common/notifications.qh:501
 #, c-format
 msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:490
+#: qcsrc/common/notifications.qh:502
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:491
+#: qcsrc/common/notifications.qh:503
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:492
+#: qcsrc/common/notifications.qh:504
 #, c-format
 msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:493
+#: qcsrc/common/notifications.qh:505
 #, c-format
 msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:494
+#: qcsrc/common/notifications.qh:506
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:495
+#: qcsrc/common/notifications.qh:507
 #, c-format
 msgid "^BG%s^K1 forgot about their mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:496
+#: qcsrc/common/notifications.qh:508
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:497
+#: qcsrc/common/notifications.qh:509
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:498
+#: qcsrc/common/notifications.qh:510
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:499
+#: qcsrc/common/notifications.qh:511
 #, c-format
 msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:500
+#: qcsrc/common/notifications.qh:512
 #, c-format
 msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:501
+#: qcsrc/common/notifications.qh:513
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:502
+#: qcsrc/common/notifications.qh:514
 #, c-format
 msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:503
+#: qcsrc/common/notifications.qh:515
 #, c-format
 msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:504
+#: qcsrc/common/notifications.qh:516
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:505
+#: qcsrc/common/notifications.qh:517
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:506
+#: qcsrc/common/notifications.qh:518
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:507
+#: qcsrc/common/notifications.qh:519
 #, c-format
 msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:508
+#: qcsrc/common/notifications.qh:520
 #, c-format
 msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:509
+#: qcsrc/common/notifications.qh:521
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:510
+#: qcsrc/common/notifications.qh:522
 #, c-format
 msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:511
+#: qcsrc/common/notifications.qh:523
 #, c-format
 msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:512
+#: qcsrc/common/notifications.qh:524
 #, c-format
 msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:513
+#: qcsrc/common/notifications.qh:525
 #, c-format
 msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:514
+#: qcsrc/common/notifications.qh:526
 #, c-format
 msgid "^BG%s^K1 is now thinking with portals%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:515
+#: qcsrc/common/notifications.qh:527
 #, c-format
 msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:516
+#: qcsrc/common/notifications.qh:528
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:517
+#: qcsrc/common/notifications.qh:529
 #, c-format
 msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:518
+#: qcsrc/common/notifications.qh:530
 #, c-format
 msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:536
+#: qcsrc/common/notifications.qh:548
 msgid "^BGYou are attacking!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:537
+#: qcsrc/common/notifications.qh:549
 msgid "^BGYou are defending!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:538
+#: qcsrc/common/notifications.qh:550
 msgid "^F4Begin!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:539
+#: qcsrc/common/notifications.qh:551
 msgid "^F4Game starts in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:540
+#: qcsrc/common/notifications.qh:552
 msgid "^F4Round starts in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:541
+#: qcsrc/common/notifications.qh:553
 msgid "^F4Round cannot start"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:544
+#: qcsrc/common/notifications.qh:556
 msgid "^F2Don't camp!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:545
+#: qcsrc/common/notifications.qh:557
 msgid ""
 "^BGYou are now free.\n"
 "^BGFeel free to ^F2try to capture^BG the flag again\n"
 "^BGif you think you will succeed."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:546
+#: qcsrc/common/notifications.qh:558
 msgid ""
 "^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."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:547
+#: qcsrc/common/notifications.qh:559
 msgid "^BGYou captured the ^TC^TT^BG flag!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:548
+#: qcsrc/common/notifications.qh:560
 #, c-format
 msgid "^BGToo many flag throws! Throwing disabled for %s."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:549
+#: qcsrc/common/notifications.qh:561
 #, c-format
 msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:550
+#: qcsrc/common/notifications.qh:562
 #, c-format
 msgid "^BGYou received the ^TC^TT^BG flag from %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:551
+#: qcsrc/common/notifications.qh:563
 #, c-format
 msgid "^BG%s^BG requests you to pass the flag%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:552
+#: qcsrc/common/notifications.qh:564
 #, c-format
 msgid "^BGRequesting %s^BG to pass you the flag"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:553
+#: qcsrc/common/notifications.qh:565
 #, c-format
 msgid "^BGYou passed the ^TC^TT^BG flag to %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:554
+#: qcsrc/common/notifications.qh:566
 msgid "^BGYou got the ^TC^TT^BG flag!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:555
+#: qcsrc/common/notifications.qh:567
 #, c-format
 msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:556
+#: qcsrc/common/notifications.qh:568
 #, c-format
 msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:557
+#: qcsrc/common/notifications.qh:569
 #, c-format
 msgid "^BGYour %steam mate^BG got the flag! Protect them!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:558
+#: qcsrc/common/notifications.qh:570
 #, c-format
 msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:559
+#: qcsrc/common/notifications.qh:571
 msgid "^BGYou returned the ^TC^TT^BG flag!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:560
+#: qcsrc/common/notifications.qh:572
 msgid "^BGStalemate! Enemies can now see you on radar!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:561
+#: qcsrc/common/notifications.qh:573
 msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou fragged ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou scored against ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou fragged ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou scored against ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:570
+#: qcsrc/common/notifications.qh:582
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:571
+#: qcsrc/common/notifications.qh:583
 #, c-format
 msgid ""
 "^BGYou have been moved into a different team\n"
 "You are now on: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't go against your team mates!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't shoot your team mates!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Die camper!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Reconsider your tactics, camper!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:574
+#: qcsrc/common/notifications.qh:586
 msgid "^K1You unfairly eliminated yourself!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:575
+#: qcsrc/common/notifications.qh:587
 #, c-format
 msgid "^K1You were %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:576
+#: qcsrc/common/notifications.qh:588
 msgid "^K1You couldn't catch your breath!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:577
+#: qcsrc/common/notifications.qh:589
 msgid "^K1You hit the ground with a crunch!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You felt a little too hot!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You got a little bit too crispy!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You killed your own dumb self!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You need to be more careful!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:580
+#: qcsrc/common/notifications.qh:592
 msgid "^K1You couldn't stand the heat!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
 msgid "^K1Tastes like chicken!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:594
 msgid "^K1You forgot to put the pin back in!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You are respawning for running out of ammo..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You were killed for running out of ammo..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You grew too old without taking your medicine"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You need to preserve your health"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:584
+#: qcsrc/common/notifications.qh:597
 msgid "^K1You became a shooting star!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:585
+#: qcsrc/common/notifications.qh:598
 msgid "^K1You melted away in slime!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You committed suicide!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You ended it all!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:587
+#: qcsrc/common/notifications.qh:600
 msgid "^K1You got stuck in a swamp!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:588
+#: qcsrc/common/notifications.qh:601
 #, c-format
 msgid "^BGYou are now on: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:589
+#: qcsrc/common/notifications.qh:602
 msgid "^K1You died in an accident!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You had an unfortunate run in with a turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You were fragged by a turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You had an unfortunate run in with an eWheel turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You were fragged by an eWheel turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You had an unfortunate run in with a Walker turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You were fragged by a Walker turret!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:593
+#: qcsrc/common/notifications.qh:606
 msgid "^K1You got caught in the blast of a Bumblebee explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:594
+#: qcsrc/common/notifications.qh:607
 msgid "^K1You were crushed by a vehicle!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:595
+#: qcsrc/common/notifications.qh:608
 msgid "^K1You were caught in a Raptor cluster bomb!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:596
+#: qcsrc/common/notifications.qh:609
 msgid "^K1You got caught in the blast of a Raptor explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:597
+#: qcsrc/common/notifications.qh:610
 msgid "^K1You got caught in the blast of a Spiderbot explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:598
+#: qcsrc/common/notifications.qh:611
 msgid "^K1You were blasted to bits by a Spiderbot rocket!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:599
+#: qcsrc/common/notifications.qh:612
 msgid "^K1You got caught in the blast of a Racer explosion!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:600
+#: qcsrc/common/notifications.qh:613
 msgid "^K1You couldn't find shelter from a Racer rocket!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:601
+#: qcsrc/common/notifications.qh:614
 msgid "^K1Watch your step!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were fragged by ^BG%s^K1, a team mate"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were scored against by ^BG%s^K1, a team mate"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:604
+#: qcsrc/common/notifications.qh:617
 msgid ""
 "^K1Stop idling!\n"
 "^BGDisconnecting in ^COUNT..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:605
+#: qcsrc/common/notifications.qh:618
 msgid "^F2You picked up some extra lives"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:606
+#: qcsrc/common/notifications.qh:619
 #, c-format
 msgid "^K3You froze ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:607
+#: qcsrc/common/notifications.qh:620
 #, c-format
 msgid "^K1You were frozen by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:608
+#: qcsrc/common/notifications.qh:621
 #, c-format
 msgid "^K3You revived ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:609
+#: qcsrc/common/notifications.qh:622
 msgid "^K3You revived yourself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:610
+#: qcsrc/common/notifications.qh:623
 #, c-format
 msgid "^K3You were revived by ^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:611
+#: qcsrc/common/notifications.qh:624
 #, c-format
 msgid "^K3You were automatically revived after %s second(s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:614
+#: qcsrc/common/notifications.qh:627
 msgid "^K1You froze yourself"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:615
+#: qcsrc/common/notifications.qh:628
 msgid "^K1Round already started, you spawn as frozen"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:622
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:636
 msgid ""
 "^K1No spawnpoints available!\n"
 "Hope your team can fix it..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:623
+#: qcsrc/common/notifications.qh:637
 msgid ""
 "^K1You may not join the game at this time.\n"
 "The player limit reached maximum capacity."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:626
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
 msgid "^BGKilling people while you don't have the ball gives no points!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:642
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Help the key carriers to meet!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:628
+#: qcsrc/common/notifications.qh:643
 msgid ""
 "^BGAll keys are in ^TC^TT team^BG's hands!\n"
 "Interfere ^F4NOW^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:629
+#: qcsrc/common/notifications.qh:644
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Meet the other key carriers ^F4NOW^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:630
+#: qcsrc/common/notifications.qh:645
 msgid "^F4Round will start in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:646
 msgid "^BGScanning frequency range..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:647
 msgid "^BGYou are starting with the ^TC^TT Key"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
 #, c-format
 msgid ""
 "^BGWaiting for players to join...\n"
 "Need active players for: %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:650
 #, c-format
 msgid "^BGWaiting for %s player(s) to join..."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:651
 msgid "^F4^COUNT^BG left to find some ammo!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:653
 #, c-format
 msgid "^F2Extra lives remaining: ^K1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:654
 msgid "^BGSecondary fire inflicts no damage!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:655
 #, c-format
 msgid "^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:656
 #, c-format
 msgid ""
 "^F2^COUNT^BG until weapon change...\n"
 "Next weapon: ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:657
 #, c-format
 msgid "^F2Active weapon: ^F1%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:658
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep fragging until we have a winner!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep scoring until we have a winner!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:660
 #, c-format
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "^BGAdded ^F4%s^BG to the game!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:646
+#: qcsrc/common/notifications.qh:661
 msgid "^F2Invisibility has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:662
 msgid "^F2Shield has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:663
 msgid "^F2Speed has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:664
 msgid "^F2Strength has worn off"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:665
 msgid "^F2You are invisible"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:666
 msgid "^F2Shield surrounds you"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:667
 msgid "^F2You are on speed"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:668
 msgid "^F2Strength infuses your weapons with devastating power"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:669
 msgid "^F2The race is over, finish your lap!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:670
 msgid "^F2Superweapons have broken down"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:671
 msgid "^F2Superweapons have been lost"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:672
 msgid "^F2You now have a superweapon"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:673
 msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:674
 msgid "^K1Changing team in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:675
 msgid "^K1Spectating in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:676
 msgid "^K1Suicide in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:677
 msgid "^F4Timeout begins in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:678
 msgid "^F4Timeout ends in ^COUNT"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
 #, c-format
 msgid " (near %s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "primary"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "secondary"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:980
 #, c-format
 msgid " ^F1(Press %s)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:989
 #, c-format
 msgid " with %s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 msgid "TRIPLE FRAG! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 unlocked RAGE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 msgid "RAGE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 started a MASSACRE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 msgid "MASSACRE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 executed MAYHEM! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 msgid "MAYHEM! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 is a BERSERKER! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 msgid "BERSERKER! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 inflicts CARNAGE! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 msgid "CARNAGE! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 msgid "ARMAGEDDON! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1010
 #, c-format
 msgid "%s(^F1Bot^BG)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1012
 #, c-format
 msgid "%s(Ping ^F1%d^BG)"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1018
 #, c-format
 msgid ""
 "\n"
 "(Health ^1%d^BG / Armor ^2%d^BG)%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1020
 #, c-format
 msgid ""
 "\n"
 "(^F4Dead^BG)%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
 #, c-format
 msgid "%d score spree! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1069
 #, c-format
 msgid "%d frag spree! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First blood! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First score! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First casualty! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First victim! "
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1127
 #, c-format
 msgid "%s^K1 has %d frags in a row! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1128
 #, c-format
 msgid "%s^K1 made %d scores in a row! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1146
 #, c-format
 msgid "%s^K1 drew first blood! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1147
 #, c-format
 msgid "%s^K1 got the first score! %s^BG"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1163
 #, c-format
 msgid ", ending their %d frag spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1164
 #, c-format
 msgid ", ending their %d score spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1178
 #, c-format
 msgid ", losing their %d frag spree"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1179
 #, c-format
 msgid ", losing their %d score spree"
 msgstr ""
@@ -3111,11 +3205,11 @@ msgstr "  sync - laddar om alla cvars på nuvarande menysida\n"
 msgid "  directmenu ITEM - select a menu item as main item\n"
 msgstr "  directmenu ITEM - utse en menyrad som huvudrad\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:62
+#: qcsrc/menu/command/menu_cmd.qc:68
 msgid "Available options:\n"
 msgstr "Tillgängliga alternativ:\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:113
+#: qcsrc/menu/command/menu_cmd.qc:119
 msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
 msgstr ""
 "Ogiltigt kommando. För en lista över giltiga kommandon, prova menu_cmd "
@@ -3128,7 +3222,7 @@ msgstr ""
 "NOTERA: etikett text %s är för bred för etiketten, kondenseras med faktorn "
 "%f\n"
 
-#: qcsrc/menu/item/listbox.c:302
+#: qcsrc/menu/item/listbox.c:382
 #, c-format
 msgid "Item %d"
 msgstr "Sak %d"
@@ -3157,23 +3251,27 @@ msgstr "???"
 msgid "Level %d: %s"
 msgstr "Bana %d: %s"
 
-#: qcsrc/menu/xonotic/cvarlist.c:85
-msgid "will be saved to config.cfg"
-msgstr "kommer att sparas i config.cfg"
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr ""
 
-#: qcsrc/menu/xonotic/cvarlist.c:87
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
 msgid "will not be saved"
 msgstr "kommer ej att sparas"
 
-#: qcsrc/menu/xonotic/cvarlist.c:89
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr "kommer att sparas i config.cfg"
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
 msgid "private"
 msgstr "privat"
 
-#: qcsrc/menu/xonotic/cvarlist.c:91
+#: qcsrc/menu/xonotic/cvarlist.c:95
 msgid "engine setting"
 msgstr "motor inställningar"
 
-#: qcsrc/menu/xonotic/cvarlist.c:93
+#: qcsrc/menu/xonotic/cvarlist.c:97
 msgid "read only"
 msgstr "endast läsbar"
 
@@ -3182,6 +3280,7 @@ msgid "Credits"
 msgstr "Tack till"
 
 #: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
@@ -3190,7 +3289,7 @@ msgstr "Tack till"
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:77
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
 #: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
 msgid "OK"
 msgstr "OK"
@@ -3199,7 +3298,7 @@ msgstr "OK"
 msgid "Welcome"
 msgstr "Välkommen"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:40
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
 msgid ""
 "Welcome to Xonotic, please select your language preference and enter your "
 "player name to get started.  You can change these options later through the "
@@ -3209,35 +3308,35 @@ msgstr ""
 "spelarnamn för att komma igång.  Du kan senare ändra dessa inställningar via "
 "menyn."
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
 msgid "Name:"
 msgstr "Namn:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:68
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
 #: qcsrc/menu/xonotic/dialog_settings_user.c:65
 msgid "Text language:"
 msgstr "Ställ in språk:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
 msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
 msgstr ""
 "Tillåt spelstatistiken att använda ditt spelarnamn på stats.xonotic.org?"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
 msgid "ALWU2N^Yes"
 msgstr "ALWU2N^Ja"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
 msgid "ALWU2N^No"
 msgstr "ALWU2N^Nej"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
 msgid "ALWU2N^Undecided"
 msgstr "ALWU2N^Obestämd"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
 msgid "Save settings"
 msgstr ""
 
@@ -3555,7 +3654,7 @@ msgstr "Radar:"
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
-#: qcsrc/menu/xonotic/util.qc:708
+#: qcsrc/menu/xonotic/util.qc:758
 msgid "Alpha:"
 msgstr "Alfa:"
 
@@ -3737,24 +3836,24 @@ msgstr "Panel HUD Inställningar"
 msgid "Panel background defaults:"
 msgstr "Panel bakgrunds standardinställningar:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:683
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
 msgid "Background:"
 msgstr "Bakgrund:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:686
-#: qcsrc/menu/xonotic/util.qc:702 qcsrc/menu/xonotic/util.qc:719
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
 msgid "Disable"
 msgstr "Inaktivera"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:691
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
 msgid "Color:"
 msgstr "Färg:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:699
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
 msgid "Border size:"
 msgstr "Ramstorlek:"
 
@@ -3763,11 +3862,11 @@ msgstr "Ramstorlek:"
 msgid "Team color:"
 msgstr "Lagets färg:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:725
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
 msgid "Test team color in configure mode"
 msgstr "Testa lagfärg i konfigureringsläge"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:728
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
 msgid "Padding:"
 msgstr "Utfyllnad:"
 
@@ -3815,6 +3914,53 @@ msgstr "Y:"
 msgid "Exit setup"
 msgstr "Lämna inställningar"
 
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr "Spawn"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr "Sätt skinn:"
+
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:4
 msgid "Multiplayer"
 msgstr "Flerspelarläge"
@@ -3856,6 +4002,7 @@ msgstr ""
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
 msgid "Point limit:"
 msgstr "Poänggräns:"
 
@@ -3920,7 +4067,7 @@ msgid "Mutators..."
 msgstr "Mutators..."
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
 msgid "Advanced settings..."
 msgstr "Avancerade inställningar..."
 
@@ -3956,7 +4103,7 @@ msgstr "Varv:"
 msgid "Goals:"
 msgstr "Mål:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
 msgid "Frag limit:"
 msgstr "Fraggräns:"
 
@@ -4256,27 +4403,31 @@ msgid "Join"
 msgstr "Anslut"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
 msgid "SRVS^Empty"
 msgstr "SRVS^Tomma"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:37
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
 msgid "SRVS^Full"
 msgstr "SRVS^Fulla"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:41
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
 msgid "Pause"
 msgstr "Paus"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:53
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
 msgid "Address:"
 msgstr "Adress:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:64
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
 msgid "Info..."
 msgstr "Info..."
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:69
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
 msgid "Join!"
 msgstr "Anslut!"
@@ -4291,9 +4442,9 @@ msgid "%d/%d"
 msgstr "%d/%d"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
-#: qcsrc/menu/xonotic/util.qc:685 qcsrc/menu/xonotic/util.qc:701
-#: qcsrc/menu/xonotic/util.qc:710 qcsrc/menu/xonotic/util.qc:718
-#: qcsrc/menu/xonotic/util.qc:730
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
 msgid "Default"
 msgstr "Standardinställningar"
 
@@ -4771,10 +4922,6 @@ msgstr "Nej"
 msgid "Sandbox Tools"
 msgstr "Sandbox Verktyg"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
-msgid "Spawn"
-msgstr "Spawn"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
 msgid "Remove *"
 msgstr "Ta bort *"
@@ -4807,10 +4954,6 @@ msgstr ""
 msgid "Visual object properties for *:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
-msgid "Set skin:"
-msgstr "Sätt skinn:"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
 msgid "Set alpha:"
 msgstr "Sätt alfa:"
@@ -5442,175 +5585,179 @@ msgid "Client UDP port:"
 msgstr "Klientens UDB-port:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "Use encryption (AES) when available"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
 msgid "Show netgraph"
 msgstr "Visa nätgraf"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
 msgid "Client-side movement prediction"
 msgstr "Rörelseprediktering i klienten"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:63
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
 msgid "Movement error compensation"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
 msgid "Downloads:"
 msgstr "Nedladdningar:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:70
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:82
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
 msgid "Maximum:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
 msgid "Speed (kB/s):"
 msgstr "Hastighet (kB/s):"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:79
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
 msgid "Framerate:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:84
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
 msgid "MAXFPS^5 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:85
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
 msgid "MAXFPS^10 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
 msgid "MAXFPS^20 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:87
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
 msgid "MAXFPS^30 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
 msgid "MAXFPS^40 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
 msgid "MAXFPS^50 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
 msgid "MAXFPS^60 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
 msgid "MAXFPS^70 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
 msgid "MAXFPS^100 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
 msgid "MAXFPS^125 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
 msgid "MAXFPS^200 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
 msgid "MAXFPS^Unlimited"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
 msgid "Target:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:101
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
 msgid "TRGT^Disabled"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:102
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
 msgid "TRGT^30 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
 msgid "TRGT^40 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:104
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
 msgid "TRGT^50 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
 msgid "TRGT^60 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
 msgid "TRGT^100 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
 msgid "TRGT^125 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
 msgid "TRGT^200 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
 msgid "Idle limit:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:114
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
 msgid "IDLFPS^10 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:115
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
 msgid "IDLFPS^20 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
 msgid "IDLFPS^30 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:117
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
 msgid "IDLFPS^60 fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
 msgid "IDLFPS^Unlimited"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:123
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
 msgid "Show frames per second"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:126
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
 msgid "Save processing time for other apps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
 msgid "Menu tooltips:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:132
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
 msgid "TLTIP^Disabled"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:133
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
 msgid "TLTIP^Standard"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
 msgid "TLTIP^Advanced"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
 msgid "Show current time"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:140
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
 msgid "Show current date"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
 msgid "Enable developer mode"
 msgstr ""
 
@@ -5634,7 +5781,7 @@ msgstr "Typ:"
 msgid "Value:"
 msgstr "Värde:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:72
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
 msgid "Description:"
 msgstr "Beskrivning:"
 
@@ -5662,6 +5809,26 @@ msgstr ""
 msgid "Allow player statistics to use your nickname"
 msgstr ""
 
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
 #: qcsrc/menu/xonotic/dialog_settings_video.c:26
 msgid "Resolution:"
 msgstr ""
@@ -5786,7 +5953,7 @@ msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:86
 msgid "VBO^Off"
-msgstr ""
+msgstr "Av"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:87
 msgid "Vertices, some Tris (compatible)"
@@ -5912,7 +6079,7 @@ msgstr ""
 msgid "spectate"
 msgstr ""
 
-#: qcsrc/menu/xonotic/mainwindow.c:39 qcsrc/menu/xonotic/mainwindow.c:42
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
 msgid "Do not press this button again!"
 msgstr ""
 
@@ -5940,31 +6107,63 @@ msgstr ""
 msgid "<no model found>"
 msgstr "<ingen modell funnen>"
 
-#: qcsrc/menu/xonotic/serverlist.c:190
-msgid "Remove"
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:192
-msgid "Bookmark"
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:553
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:923
 msgid "Ping"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:554
+#: qcsrc/menu/xonotic/serverlist.c:924
 msgid "Host name"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:555
+#: qcsrc/menu/xonotic/serverlist.c:925
 msgid "Map"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:556
+#: qcsrc/menu/xonotic/serverlist.c:926
 msgid "Type"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:557
+#: qcsrc/menu/xonotic/serverlist.c:927
 msgid "Players"
 msgstr ""
 
@@ -6004,30 +6203,30 @@ msgstr ""
 msgid "%s dB"
 msgstr ""
 
-#: qcsrc/menu/xonotic/slider_resolution.c:103
+#: qcsrc/menu/xonotic/slider_resolution.c:116
 #, c-format
 msgid "%dx%d (%d:%d)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/slider_resolution.c:106
+#: qcsrc/menu/xonotic/slider_resolution.c:119
 #, c-format
 msgid "%dx%d"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:298
+#: qcsrc/menu/xonotic/util.qc:308
 #, c-format
 msgid "error receiving update notification: status is %d\n"
 msgstr "fel vid mottagande av uppdateringsnotifiering: status 'r %d\n"
 
-#: qcsrc/menu/xonotic/util.qc:303
+#: qcsrc/menu/xonotic/util.qc:313
 msgid "error: received HTML instead of an update notification\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:308
+#: qcsrc/menu/xonotic/util.qc:318
 msgid "error: received carriage returns from update notification server\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:329
+#: qcsrc/menu/xonotic/util.qc:397
 #, c-format
 msgid ""
 "Update can be downloaded at:\n"
@@ -6036,21 +6235,21 @@ msgstr ""
 "Uppdatering kan laddas ner från:\n"
 "%s\n"
 
-#: qcsrc/menu/xonotic/util.qc:447
+#: qcsrc/menu/xonotic/util.qc:497
 msgid "Autogenerating mapinfo for newly added maps..."
 msgstr "Automatgenererar kartinfo för nyligen tillagda kartor..."
 
-#: qcsrc/menu/xonotic/util.qc:476
+#: qcsrc/menu/xonotic/util.qc:526
 #, c-format
 msgid "^1%s TEST BUILD"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:491
+#: qcsrc/menu/xonotic/util.qc:541
 #, c-format
 msgid "Update to %s now!"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:576
+#: qcsrc/menu/xonotic/util.qc:626
 msgid ""
 "^1ERROR: Texture compression is required but not supported.\n"
 "^1Expect visual problems.\n"
@@ -6058,11 +6257,11 @@ msgstr ""
 "^1FEL: Texturkompression krävs men stöds ej.\n"
 "^1Räkna med visuella problem.\n"
 
-#: qcsrc/menu/xonotic/util.qc:696
+#: qcsrc/menu/xonotic/util.qc:746
 msgid "Use default"
 msgstr "Använd standard"
 
-#: qcsrc/menu/xonotic/util.qc:716
+#: qcsrc/menu/xonotic/util.qc:766
 msgid "Team Color:"
 msgstr "Lagfärg:"
 
index 6fd482673f0bda535779ade3640d69dc92027dc5..db7e4dfed8fdd2123a8b581272623e8562a5e3b5 100644 (file)
@@ -3,13 +3,14 @@
 # This file is distributed under the same license as the PACKAGE package.
 #
 # Translators:
-# Harmata <cigariscigar@gmail.com>, 2011
+# Harmata <cigariscigar@gmail.com>, 2013
+# Harmata <cigariscigar@gmail.com>, 2011,2013
 msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-03 11:55+0200\n"
-"PO-Revision-Date: 2013-10-03 10:08+0000\n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
 "Last-Translator: divVerent <divVerent@xonotic.org>\n"
 "Language-Team: Ukrainian (http://www.transifex.com/projects/p/xonotic/"
 "language/uk/)\n"
@@ -29,18 +30,15 @@ msgid ""
 "^3Your engine build is outdated\n"
 "^3This Server uses a newer QC VM. Please update!\n"
 msgstr ""
+"^3Збірка вашого рушія застаріла\n"
+"^3Цей сервер використовує новішу QC VM. Будь ласка, оновіть!\n"
 
 #: qcsrc/client/Main.qc:56
 #, c-format
 msgid "^4CSQC Build information: ^1%s\n"
-msgstr ""
-
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
-#, c-format
-msgid "trying to switch to unsupported team %d\n"
-msgstr ""
+msgstr "^4CSQC Відомості про збірку: ^1%s\n"
 
-#: qcsrc/client/Main.qc:835
+#: qcsrc/client/Main.qc:836
 #, c-format
 msgid ""
 "Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
@@ -58,7 +56,7 @@ msgstr ""
 msgid "%s (%s)"
 msgstr ""
 
-#: qcsrc/client/View.qc:1096
+#: qcsrc/client/View.qc:1165
 msgid "Revival progress"
 msgstr ""
 
@@ -74,11 +72,11 @@ msgstr ""
 
 #: qcsrc/client/hud.qc:210
 msgid "Start line"
-msgstr ""
+msgstr "Старт"
 
 #: qcsrc/client/hud.qc:212 qcsrc/client/hud.qc:216
 msgid "Finish line"
-msgstr ""
+msgstr "Фініш"
 
 #: qcsrc/client/hud.qc:214
 #, c-format
@@ -90,213 +88,211 @@ msgstr ""
 msgid "%s (%s %s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:829
+#: qcsrc/client/hud.qc:832
 msgid "Out of ammo"
-msgstr ""
+msgstr "Боєприпаси скінчилися"
 
-#: qcsrc/client/hud.qc:833
+#: qcsrc/client/hud.qc:836
 msgid "Don't have"
-msgstr ""
+msgstr "Немає"
 
-#: qcsrc/client/hud.qc:837
+#: qcsrc/client/hud.qc:840
 msgid "Unavailable"
-msgstr ""
+msgstr "Недоступно"
 
-#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
 #, c-format
 msgid "Player %d"
-msgstr ""
+msgstr "Гравець %d"
 
-#: qcsrc/client/hud.qc:2384
+#: qcsrc/client/hud.qc:2369
 msgid "^1Intermediate 1 (+15.42)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
 #, c-format
 msgid "^1PENALTY: %.1f (%s)"
-msgstr ""
+msgstr "^1ШТРАФ: %.1f (%s)"
 
-#: qcsrc/client/hud.qc:2471
+#: qcsrc/client/hud.qc:2456
 #, c-format
 msgid "^2PENALTY: %.1f (%s)"
-msgstr ""
+msgstr "^2ШТРАФ: %.1f (%s)"
 
-#: qcsrc/client/hud.qc:2501
+#: qcsrc/client/hud.qc:2486
 msgid "^1You must answer before entering hud configure mode\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2506
+#: qcsrc/client/hud.qc:2491
 msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
-msgstr ""
+msgstr "^2Ім'я ^7замість \"^1Анонімний гравець^7\" у статистиці"
 
-#: qcsrc/client/hud.qc:2586
+#: qcsrc/client/hud.qc:2570
 msgid "A vote has been called for:"
-msgstr ""
+msgstr "Було створено голосування щодо:"
 
-#: qcsrc/client/hud.qc:2588
+#: qcsrc/client/hud.qc:2572
 msgid "Allow servers to store and display your name?"
-msgstr ""
+msgstr "Дозволити серверу зберігати та використовувати ваше ім'я?"
 
-#: qcsrc/client/hud.qc:2592
+#: qcsrc/client/hud.qc:2576
 msgid "^1Configure the HUD"
-msgstr ""
+msgstr "^1Налаштувати HUD"
 
-#: qcsrc/client/hud.qc:2596
+#: qcsrc/client/hud.qc:2580
 #, c-format
 msgid "Yes (%s): %d"
-msgstr ""
+msgstr "Так (%s): %d"
 
-#: qcsrc/client/hud.qc:2598
+#: qcsrc/client/hud.qc:2582
 #, c-format
 msgid "No (%s): %d"
-msgstr ""
+msgstr "Ні (%s): %d"
 
-#: qcsrc/client/hud.qc:3169 qcsrc/client/hud.qc:3172 qcsrc/client/hud.qc:3174
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
 msgid "Personal best"
-msgstr ""
+msgstr "Власний найкращий результат"
 
-#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
 msgid "Server best"
-msgstr ""
+msgstr "Найкращий результат на сервері"
 
-#: qcsrc/client/hud.qc:3552
+#: qcsrc/client/hud.qc:3528
 msgid "^3Player^7: This is the chat area."
-msgstr ""
+msgstr "^3Гравець^7: Це зона чату."
 
-#: qcsrc/client/hud.qc:3618
+#: qcsrc/client/hud.qc:3593
 #, c-format
 msgid "FPS: %.*f"
-msgstr ""
+msgstr "FPS: %.*f"
 
-#: qcsrc/client/hud.qc:3683
+#: qcsrc/client/hud.qc:3657
 msgid "^1Observing"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
 #, c-format
 msgid "^1Spectating: ^7%s"
-msgstr ""
+msgstr "^1Спостерігаєте за: ^7%s"
 
-#: qcsrc/client/hud.qc:3693
+#: qcsrc/client/hud.qc:3667
 #, c-format
 msgid "^1Press ^3%s^1 to spectate"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3695
+#: qcsrc/client/hud.qc:3669
 #, c-format
 msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
 msgstr ""
+"^1Натисніть ^3%s^1 або ^3%s^1 щоб перейти до наступного чи попереднього "
+"гравця"
 
-#: qcsrc/client/hud.qc:3699
+#: qcsrc/client/hud.qc:3673
 #, c-format
 msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
-msgstr ""
+msgstr "^1Використовуйте ^3%s^1 чи ^3%s^1 щоб змінити швидкість"
 
-#: qcsrc/client/hud.qc:3701
+#: qcsrc/client/hud.qc:3675
 #, c-format
 msgid "^1Press ^3%s^1 to observe"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3704
+#: qcsrc/client/hud.qc:3678
 #, c-format
 msgid "^1Press ^3%s^1 for gamemode info"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3708
-msgid "^1Wait for your turn to join"
-msgstr ""
-
-#: qcsrc/client/hud.qc:3714
+#: qcsrc/client/hud.qc:3686
 msgid "^1Match has already begun"
-msgstr ""
+msgstr "^1Матч вже почався"
 
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3688
 msgid "^1You have no more lives left"
-msgstr ""
+msgstr "^1У вас не залишилося більше життів"
 
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
 #, c-format
 msgid "^1Press ^3%s^1 to join"
-msgstr ""
+msgstr "^1Натисніть ^3%s^1 щоб приєднатися"
 
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3701
 #, c-format
 msgid "^1Game starts in ^3%d^1 seconds"
-msgstr ""
+msgstr "^1Гра почнеться через ^3%d^1 секунд"
 
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3708
 msgid "^2Currently in ^1warmup^2 stage!"
-msgstr ""
+msgstr "^2Зараз  ^1розминка^2!"
 
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3723
 #, c-format
 msgid "%sPress ^3%s%s to end warmup"
-msgstr ""
+msgstr "%sНатисніть ^3%s%s щоб завершити розминку"
 
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3725
 #, c-format
 msgid "%sPress ^3%s%s once you are ready"
-msgstr ""
+msgstr "%sНатисніть ^3%s%s як будите готовими"
 
-#: qcsrc/client/hud.qc:3758
+#: qcsrc/client/hud.qc:3730
 msgid "^2Waiting for others to ready up to end warmup..."
-msgstr ""
+msgstr "^2Чекаємо на готовність інших для завершення розминки..."
 
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3732
 msgid "^2Waiting for others to ready up..."
-msgstr ""
+msgstr "^2Чекаємо на готовність інших гравців..."
 
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3738
 #, c-format
 msgid "^2Press ^3%s^2 to end warmup"
-msgstr ""
+msgstr "^2Натисніть ^3%s^2 щоб завершити розминку"
 
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3759
 msgid "Teamnumbers are unbalanced!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3764
 #, c-format
 msgid " Press ^3%s%s to adjust"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3772
 msgid "^7Press ^3ESC ^7to show HUD options."
-msgstr ""
+msgstr "^7Натисніть ^3ESC ^7щоб показати опції HUD"
 
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3774
 msgid "^3Doubleclick ^7a panel for panel-specific options."
-msgstr ""
+msgstr "^3Клацніть двічі ^7a панель щоб побачити її опції."
 
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3776
 msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3778
 msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3825
 msgid " qu/s"
-msgstr ""
+msgstr "qu/с"
 
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3829
 msgid " m/s"
-msgstr ""
+msgstr "м/с"
 
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3833
 msgid " km/h"
-msgstr ""
+msgstr "км/с"
 
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3837
 msgid " mph"
-msgstr ""
+msgstr "милі"
 
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3841
 msgid " knots"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4497
 msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
 msgstr ""
 
@@ -312,30 +308,31 @@ msgstr ""
 
 #: qcsrc/client/mapvoting.qc:28
 msgid " (1 vote)"
-msgstr ""
+msgstr " (1 голос)"
 
 #: qcsrc/client/mapvoting.qc:30
 #, c-format
 msgid " (%d votes)"
-msgstr ""
+msgstr " (%d голосів)"
 
 #: qcsrc/client/mapvoting.qc:118
 msgid "Don't care"
-msgstr ""
+msgstr "Не турбує"
 
 #: qcsrc/client/mapvoting.qc:203
 msgid "Vote for a map"
-msgstr ""
+msgstr "Проголосуйте за мапу"
 
 #: qcsrc/client/mapvoting.qc:209
 #, c-format
 msgid "%d seconds left"
-msgstr ""
+msgstr "%d секунд залишилось"
 
 #: qcsrc/client/mapvoting.qc:273
 msgid ""
 "mv_mapdownload: ^3You're not supposed to use this command on your own!\n"
 msgstr ""
+"mv_mapdownload: ^3Ви не повинні використовувати цю команду самотужки!\n"
 
 #: qcsrc/client/mapvoting.qc:283
 msgid "^1Error:^7 Couldn't find pak index.\n"
@@ -345,16 +342,16 @@ msgstr ""
 msgid "Requesting preview...\n"
 msgstr ""
 
-#: qcsrc/client/miscfunctions.qc:98
+#: qcsrc/client/miscfunctions.qc:101
 msgid "Trying to remove a team which is not in the teamlist!"
 msgstr ""
 
-#: qcsrc/client/movetypes.qc:163
+#: qcsrc/client/movetypes.qc:227
 #, c-format
 msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
 
-#: qcsrc/client/movetypes.qc:166
+#: qcsrc/client/movetypes.qc:230
 #, c-format
 msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
@@ -457,7 +454,7 @@ msgstr ""
 
 #: qcsrc/client/scoreboard.qc:43
 msgid "SCO^ping"
-msgstr ""
+msgstr "Пінг"
 
 #: qcsrc/client/scoreboard.qc:44
 msgid "SCO^pl"
@@ -495,164 +492,164 @@ msgstr ""
 msgid "SCO^ticks"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:251
+#: qcsrc/client/scoreboard.qc:237
 msgid ""
 "You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:252
+#: qcsrc/client/scoreboard.qc:238
 msgid "^3|---------------------------------------------------------------|\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:253
+#: qcsrc/client/scoreboard.qc:239
 msgid "Usage:\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:254
+#: qcsrc/client/scoreboard.qc:240
 msgid "^2scoreboard_columns_set default\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:255
+#: qcsrc/client/scoreboard.qc:241
 msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:256
+#: qcsrc/client/scoreboard.qc:242
 msgid "The following field names are recognized (case insensitive):\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:257
+#: qcsrc/client/scoreboard.qc:243
 msgid ""
 "You can use a ^3|^7 to start the right-aligned fields.\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:259
+#: qcsrc/client/scoreboard.qc:245
 msgid "^3name^7 or ^3nick^7             Name of a player\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:260
+#: qcsrc/client/scoreboard.qc:246
 msgid "^3ping^7                     Ping time\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:261
+#: qcsrc/client/scoreboard.qc:247
 msgid "^3pl^7                       Packet loss\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:262
+#: qcsrc/client/scoreboard.qc:248
 msgid "^3kills^7                    Number of kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:263
+#: qcsrc/client/scoreboard.qc:249
 msgid "^3deaths^7                   Number of deaths\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:264
+#: qcsrc/client/scoreboard.qc:250
 msgid "^3suicides^7                 Number of suicides\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:265
+#: qcsrc/client/scoreboard.qc:251
 msgid "^3frags^7                    kills - suicides\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:266
+#: qcsrc/client/scoreboard.qc:252
 msgid "^3kd^7                       The kill-death ratio\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:267
+#: qcsrc/client/scoreboard.qc:253
 msgid "^3sum^7                      frags - deaths\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:268
+#: qcsrc/client/scoreboard.qc:254
 msgid ""
 "^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
 "captured\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:269
+#: qcsrc/client/scoreboard.qc:255
 msgid ""
 "^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
 "ball (Keepaway) was picked up\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:270
+#: qcsrc/client/scoreboard.qc:256
 msgid "^3captime^7                  Time of fastest cap (CTF)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:271
+#: qcsrc/client/scoreboard.qc:257
 msgid "^3fckills^7                  Number of flag carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:272
+#: qcsrc/client/scoreboard.qc:258
 msgid "^3returns^7                  Number of flag returns\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:273
+#: qcsrc/client/scoreboard.qc:259
 msgid "^3drops^7                    Number of flag drops\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:274
+#: qcsrc/client/scoreboard.qc:260
 msgid "^3lives^7                    Number of lives (LMS)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:275
+#: qcsrc/client/scoreboard.qc:261
 msgid "^3rank^7                     Player rank\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:276
+#: qcsrc/client/scoreboard.qc:262
 msgid "^3pushes^7                   Number of players pushed into void\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:277
+#: qcsrc/client/scoreboard.qc:263
 msgid ""
 "^3destroyed^7                Number of keys destroyed by pushing them into "
 "void\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:278
+#: qcsrc/client/scoreboard.qc:264
 msgid "^3kckills^7                  Number of keys carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:279
+#: qcsrc/client/scoreboard.qc:265
 msgid "^3losses^7                   Number of times a key was lost\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:280
+#: qcsrc/client/scoreboard.qc:266
 msgid "^3laps^7                     Number of laps finished (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:281
+#: qcsrc/client/scoreboard.qc:267
 msgid "^3time^7                     Total time raced (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:282
+#: qcsrc/client/scoreboard.qc:268
 msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:283
+#: qcsrc/client/scoreboard.qc:269
 msgid "^3ticks^7                    Number of ticks (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:284
+#: qcsrc/client/scoreboard.qc:270
 msgid "^3takes^7                    Number of domination points taken (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:285
+#: qcsrc/client/scoreboard.qc:271
 msgid "^3bckills^7                  Number of ball carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:286
+#: qcsrc/client/scoreboard.qc:272
 msgid ""
 "^3bctime^7                   Total amount of time holding the ball in "
 "Keepaway\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:287
+#: qcsrc/client/scoreboard.qc:273
 msgid ""
 "^3score^7                    Total score\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:289
+#: qcsrc/client/scoreboard.qc:275
 msgid ""
 "Before a field you can put a + or - sign, then a comma separated list\n"
 "of game types, then a slash, to make the field show up only in these\n"
@@ -661,30 +658,30 @@ msgid ""
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:294
+#: qcsrc/client/scoreboard.qc:280
 msgid ""
 "The special game type names 'teams' and 'noteams' can be used to\n"
 "include/exclude ALL teams/noteams game modes.\n"
 "\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:297
+#: qcsrc/client/scoreboard.qc:283
 msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:298
+#: qcsrc/client/scoreboard.qc:284
 msgid ""
 "will display name, ping and pl aligned to the left, and the fields\n"
 "right of the vertical bar aligned to the right.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:300
+#: qcsrc/client/scoreboard.qc:286
 msgid ""
 "'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
 "other gamemodes except DM.\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:534 qcsrc/client/scoreboard.qc:541
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
@@ -692,91 +689,95 @@ msgstr ""
 msgid "N/A"
 msgstr "Н/Д"
 
-#: qcsrc/client/scoreboard.qc:984
+#: qcsrc/client/scoreboard.qc:970
 #, c-format
 msgid "Accuracy stats (average %d%%)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1047
+#: qcsrc/client/scoreboard.qc:1033
 #, c-format
 msgid "%d%%"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1099
 msgid "Map stats:"
+msgstr "Статистика мапи:"
+
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1124
 msgid "Secrets found:"
-msgstr ""
+msgstr "Знайдено секретів:"
 
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1152
 msgid "Rankings"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1248
 msgid "Scoreboard"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1307
 #, c-format
 msgid "Speed award: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1311
 #, c-format
 msgid "All-time fastest: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1345
 msgid "Spectators"
-msgstr ""
+msgstr "Спектатори"
 
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1352
 #, c-format
-msgid "playing on ^2%s^7"
+msgid "playing ^3%s^7 on ^2%s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
 #, c-format
 msgid " for up to ^1%1.0f minutes^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1364 qcsrc/client/scoreboard.qc:1383
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
 msgid " or"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
 #, c-format
 msgid " until ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1375
-#: qcsrc/client/scoreboard.qc:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
 msgid "SCO^points"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1369 qcsrc/client/scoreboard.qc:1376
-#: qcsrc/client/scoreboard.qc:1388 qcsrc/client/scoreboard.qc:1395
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
 msgid "SCO^is beaten"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
 #, c-format
 msgid " until a lead of ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1419
 #, c-format
 msgid "^1Respawning in ^3%s^1..."
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1429
 #, c-format
 msgid "You are dead, wait ^3%s^7 before respawning"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1438
 #, c-format
 msgid "You are dead, press ^2%s^7 to respawn"
 msgstr ""
@@ -786,7 +787,7 @@ msgstr ""
 msgid "Cannot initialize sound %s\n"
 msgstr ""
 
-#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:591
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
 msgid "Spam"
 msgstr ""
 
@@ -803,209 +804,213 @@ msgstr ""
 msgid "No left gunner!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:254
+#: qcsrc/client/waypointsprites.qc:246
 msgid "Push"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:255
+#: qcsrc/client/waypointsprites.qc:247
 msgid "Destroy"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:256
+#: qcsrc/client/waypointsprites.qc:248
 msgid "Defend"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:257
+#: qcsrc/client/waypointsprites.qc:249
 msgid "Blue base"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:258
+#: qcsrc/client/waypointsprites.qc:250
 msgid "DANGER"
-msgstr ""
+msgstr "НЕБЕЗПЕКА"
 
-#: qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:251
 msgid "Enemy carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:260
+#: qcsrc/client/waypointsprites.qc:252
 msgid "Flag carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:253
 msgid "Dropped flag"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:262
+#: qcsrc/client/waypointsprites.qc:254
 msgid "Help me!"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:263
+#: qcsrc/client/waypointsprites.qc:255
 msgid "Here"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:264
+#: qcsrc/client/waypointsprites.qc:256
 msgid "Dropped key"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:267
-#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
-#: qcsrc/client/waypointsprites.qc:270
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
 msgid "Key carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:258
 msgid "Run here"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:263
 msgid "Red base"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:272
+#: qcsrc/client/waypointsprites.qc:264
 msgid "Waypoint"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
-#: qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
 msgid "Generator"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:276 qcsrc/client/waypointsprites.qc:277
-#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
-#: qcsrc/client/waypointsprites.qc:280 qcsrc/client/waypointsprites.qc:281
-#: qcsrc/client/waypointsprites.qc:282 qcsrc/client/waypointsprites.qc:283
-#: qcsrc/client/waypointsprites.qc:307 qcsrc/client/waypointsprites.qc:308
-#: qcsrc/client/waypointsprites.qc:309 qcsrc/client/waypointsprites.qc:310
-#: qcsrc/client/waypointsprites.qc:311
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
 msgid "Control point"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:284
+#: qcsrc/client/waypointsprites.qc:276
 msgid "Checkpoint"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
 msgid "Finish"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
 msgid "Start"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
 msgid "Ball"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:290
+#: qcsrc/client/waypointsprites.qc:283
 msgid "Ball carrier"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
 msgid "Laser"
 msgstr "Лазер"
 
-#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
 msgid "Shotgun"
 msgstr "Рушниця"
 
-#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
 msgid "Machine Gun"
 msgstr "Автомат"
 
-#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
 msgid "Mortar"
 msgstr "Мортира"
 
-#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
 msgid "Electro"
-msgstr "Електро"
+msgstr "Electro"
 
-#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
 msgid "Crylink"
-msgstr "Крайлінк"
+msgstr "Crylink"
 
-#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
 msgid "Nex"
 msgstr "Некс"
 
-#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
 msgid "Hagar"
-msgstr "Хейгар"
+msgstr "Hagar"
 
-#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
 msgid "Rocket Launcher"
 msgstr "Ракетна гармата"
 
-#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
 msgid "Port-O-Launch"
-msgstr "Портал-О-Пуск"
+msgstr "Port-O-Launch"
 
-#: qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:294
 msgid "Minstanex"
-msgstr ""
+msgstr "Minstanex"
 
-#: qcsrc/client/waypointsprites.qc:302
+#: qcsrc/client/waypointsprites.qc:295
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
 msgid "Hook"
 msgstr "Гак"
 
-#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
 msgid "Fireball"
-msgstr "Метеор"
+msgstr "Fireball"
 
-#: qcsrc/client/waypointsprites.qc:304
+#: qcsrc/client/waypointsprites.qc:297
 msgid "HLAC"
-msgstr ""
+msgstr "HLAC"
 
-#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
 msgid "Rifle"
 msgstr "Гвинтівка"
 
-#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
 msgid "Mine Layer"
 msgstr "Міноукладчик"
 
-#: qcsrc/client/waypointsprites.qc:312
+#: qcsrc/client/waypointsprites.qc:305
 msgid "Invisibility"
-msgstr ""
+msgstr "Невидимість"
 
-#: qcsrc/client/waypointsprites.qc:313
+#: qcsrc/client/waypointsprites.qc:306
 msgid "Extra life"
-msgstr ""
+msgstr "Додаткове життя"
 
-#: qcsrc/client/waypointsprites.qc:314
+#: qcsrc/client/waypointsprites.qc:307
 msgid "Speed"
-msgstr ""
+msgstr "Швидкість"
 
-#: qcsrc/client/waypointsprites.qc:315
+#: qcsrc/client/waypointsprites.qc:308
 msgid "Strength"
-msgstr ""
+msgstr "Сила"
 
-#: qcsrc/client/waypointsprites.qc:316
+#: qcsrc/client/waypointsprites.qc:309
 msgid "Shield"
-msgstr ""
+msgstr "Щит"
 
-#: qcsrc/client/waypointsprites.qc:317
+#: qcsrc/client/waypointsprites.qc:310
 msgid "Fuel regen"
-msgstr ""
+msgstr "Відновлення палива"
 
-#: qcsrc/client/waypointsprites.qc:318
+#: qcsrc/client/waypointsprites.qc:311
 msgid "Jet Pack"
-msgstr ""
+msgstr "Реактивний ранець"
 
-#: qcsrc/client/waypointsprites.qc:319
+#: qcsrc/client/waypointsprites.qc:312
 msgid "Frozen!"
-msgstr ""
+msgstr "Заморожені!"
 
-#: qcsrc/client/waypointsprites.qc:320
+#: qcsrc/client/waypointsprites.qc:313
 msgid "Tagged"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:321
+#: qcsrc/client/waypointsprites.qc:314
 msgid "Vehicle"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:595
+#: qcsrc/client/waypointsprites.qc:588
 #, c-format
 msgid "%s needing help!"
 msgstr ""
@@ -1227,12 +1232,12 @@ msgstr ""
 msgid "%dth"
 msgstr ""
 
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:717
 #, no-c-format
 msgid "@!#%'n Tuba Throwing"
 msgstr "@!#%'n Tuba Throwing"
 
-#: qcsrc/common/mapinfo.qc:1109 qcsrc/menu/xonotic/skinlist.c:166
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
@@ -1246,57 +1251,82 @@ msgid "Last Man Standing"
 msgstr "Last Man Standing"
 
 #: qcsrc/common/mapinfo.qh:42
-msgid "Arena"
-msgstr "Arena"
-
-#: qcsrc/common/mapinfo.qh:45
 msgid "Race"
 msgstr "Race"
 
-#: qcsrc/common/mapinfo.qh:48
+#: qcsrc/common/mapinfo.qh:45
 msgid "Race CTS"
 msgstr "Race CTS"
 
-#: qcsrc/common/mapinfo.qh:51
+#: qcsrc/common/mapinfo.qh:48
 msgid "Team Deathmatch"
 msgstr "Team Deathmatch"
 
-#: qcsrc/common/mapinfo.qh:54
+#: qcsrc/common/mapinfo.qh:51
 msgid "Capture the Flag"
 msgstr "Capture the Flag"
 
-#: qcsrc/common/mapinfo.qh:57
+#: qcsrc/common/mapinfo.qh:54
 msgid "Clan Arena"
 msgstr "Clan Arena"
 
-#: qcsrc/common/mapinfo.qh:60
+#: qcsrc/common/mapinfo.qh:57
 msgid "Domination"
 msgstr "Domination"
 
-#: qcsrc/common/mapinfo.qh:63
+#: qcsrc/common/mapinfo.qh:60
 msgid "Key Hunt"
 msgstr "Key Hunt"
 
-#: qcsrc/common/mapinfo.qh:66
+#: qcsrc/common/mapinfo.qh:63
 msgid "Assault"
 msgstr "Assault"
 
-#: qcsrc/common/mapinfo.qh:69
+#: qcsrc/common/mapinfo.qh:66
 msgid "Onslaught"
 msgstr "Onslaught"
 
-#: qcsrc/common/mapinfo.qh:72
+#: qcsrc/common/mapinfo.qh:69
 msgid "Nexball"
 msgstr "Nexball"
 
-#: qcsrc/common/mapinfo.qh:75
+#: qcsrc/common/mapinfo.qh:72
 msgid "Freeze Tag"
 msgstr "Freeze Tag"
 
-#: qcsrc/common/mapinfo.qh:78
+#: qcsrc/common/mapinfo.qh:75
 msgid "Keepaway"
 msgstr "Keepaway"
 
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr ""
+
 #: qcsrc/common/net_notice.qc:89
 msgid "^1Server notices:"
 msgstr "^1Повідомлення сервера:"
@@ -1307,967 +1337,1037 @@ msgid "^7%s (^3%d sec left)"
 msgstr "^7%s (^3%d секунд залишилось)"
 
 #: qcsrc/common/notifications.qh:342
-#, c-format
-msgid "^BG%s^BG captured the ^TC^TT^BG flag"
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
 msgstr ""
 
 #: qcsrc/common/notifications.qh:343
 #, c-format
+msgid "^BG%s^BG captured the ^TC^TT^BG flag"
+msgstr "^BG%s^BG захопив ^TC^TT^BG прапор"
+
+#: qcsrc/common/notifications.qh:344
+#, c-format
 msgid ""
 "^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"
 msgstr ""
+"^BG%s^BG захопив ^TC^TT^BG прапор за ^F1%s^BG секунди, побивши попередній "
+"рекорд ^BG%s^BG який становив ^F2%s^BG секунди"
 
-#: qcsrc/common/notifications.qh:344
+#: qcsrc/common/notifications.qh:345
 #, c-format
 msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
-msgstr ""
+msgstr "^BG%s^BG захопив ^TC^TT^BG прапор за ^F1%s^BG секунди"
 
-#: qcsrc/common/notifications.qh:345
+#: qcsrc/common/notifications.qh:346
 #, c-format
 msgid ""
 "^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"
 msgstr ""
+"^BG%s^BG захопив ^TC^TT^BG прапор за ^F2%s^BG секунди, і не зміг побити "
+"попередній рекорд ^BG%s^BG який становить ^F1%s^BG секунди"
 
-#: qcsrc/common/notifications.qh:346
+#: qcsrc/common/notifications.qh:347
 msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
-msgstr ""
+msgstr "^BG ^TC^TT^BG прапор був повернений на базу власником"
 
-#: qcsrc/common/notifications.qh:347
+#: qcsrc/common/notifications.qh:348
 msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
-msgstr ""
+msgstr "^BG ^TC^TT^BG прапор був знищений і тому повернений на базу"
 
-#: qcsrc/common/notifications.qh:348
+#: qcsrc/common/notifications.qh:349
 msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
-msgstr ""
+msgstr "^BG ^TC^TT^BG був кинутий на базі і тому повернувся сам"
 
-#: qcsrc/common/notifications.qh:349
+#: qcsrc/common/notifications.qh:350
 msgid ""
 "^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
 "base"
 msgstr ""
+"^BG ^TC^TT^BG прапор впав десь за межами досягнення і тому був повернений на "
+"базу"
 
-#: qcsrc/common/notifications.qh:350
+#: qcsrc/common/notifications.qh:351
 #, c-format
 msgid ""
 "^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
 "itself"
 msgstr ""
+"^BG ^TC^TT^BG прапор став нетерплячим після  ^F1%.2f^BG секунд та повернув "
+"себе на базу"
 
-#: qcsrc/common/notifications.qh:351
+#: qcsrc/common/notifications.qh:352
 msgid "^BGThe ^TC^TT^BG flag has returned to the base"
-msgstr ""
+msgstr "^BG ^TC^TT^BG прапор повернувся на базу"
 
-#: qcsrc/common/notifications.qh:352
+#: qcsrc/common/notifications.qh:353
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT^BG flag"
-msgstr ""
+msgstr "^BG%s^BG втратив ^TC^TT^BG прапор"
 
-#: qcsrc/common/notifications.qh:353
+#: qcsrc/common/notifications.qh:354
 #, c-format
 msgid "^BG%s^BG got the ^TC^TT^BG flag"
-msgstr ""
+msgstr "^BG%s^BG захопив ^TC^TT^BG прапор"
 
-#: qcsrc/common/notifications.qh:354
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
 #, c-format
 msgid "^BG%s^BG returned the ^TC^TT^BG flag"
-msgstr ""
+msgstr "^BG%s^BG повернув ^TC^TT^BG прапор"
 
-#: qcsrc/common/notifications.qh:355
+#: qcsrc/common/notifications.qh:357
 #, c-format
 msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 був нечесно усунений ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:356
+#: qcsrc/common/notifications.qh:358
 #, c-format
 msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 був утоплений ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:357
+#: qcsrc/common/notifications.qh:359
 #, c-format
 msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 був опущений на землю ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
 
-#: qcsrc/common/notifications.qh:358
+#: qcsrc/common/notifications.qh:360
 #, c-format
 msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 був спалений ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:359
+#: qcsrc/common/notifications.qh:361
 #, c-format
 msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
+msgstr "^BG%s%s^K1 був засмажений ^BG%s^K1%s%s"
+
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:360
+#: qcsrc/common/notifications.qh:363
 #, c-format
 msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 був підірваний гранатою ^BG%s^K1 %s%s"
 
-#: qcsrc/common/notifications.qh:361
+#: qcsrc/common/notifications.qh:364
 #, c-format
 msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 був запущений у космос ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:362
+#: qcsrc/common/notifications.qh:365
 #, c-format
 msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 був заляпаний слизом ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:363
+#: qcsrc/common/notifications.qh:366
 #, c-format
 msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 був законсервований ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 спробував зайняти місце прибування ^BG%s^K1 %s%s"
 
-#: qcsrc/common/notifications.qh:364
+#: qcsrc/common/notifications.qh:367
 #, c-format
 msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 був телефрагнутий ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:365
+#: qcsrc/common/notifications.qh:368
 #, c-format
 msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 загинув у нещасному випадку з ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:366
+#: qcsrc/common/notifications.qh:369
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 загинув коли вибухнув Bumblebee ^BG%s^K1 %s%s"
 
-#: qcsrc/common/notifications.qh:367
+#: qcsrc/common/notifications.qh:370
 #, c-format
 msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 побачив гарні вогні гармати Bumblebee ^BG%s^K1 %s%s"
 
-#: qcsrc/common/notifications.qh:368
+#: qcsrc/common/notifications.qh:371
 #, c-format
 msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 був розчавлений ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:369
+#: qcsrc/common/notifications.qh:372
 #, c-format
 msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 був закиданий кластерними бомбами з Raptor ^BG%s^K1 %s%s"
 
-#: qcsrc/common/notifications.qh:370
+#: qcsrc/common/notifications.qh:373
 #, c-format
 msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 не міг протистояти фіолетовим краплинам ^BG%s^K1 %s%s"
 
-#: qcsrc/common/notifications.qh:371
+#: qcsrc/common/notifications.qh:374
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 загинув коли вибухнув Raptor ^BG%s^K1 %s%s"
 
-#: qcsrc/common/notifications.qh:372
+#: qcsrc/common/notifications.qh:375
 #, c-format
 msgid ""
 "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 загинув коли вибухнув Spiderbot ^BG%s^K1 %s%s"
 
-#: qcsrc/common/notifications.qh:373
+#: qcsrc/common/notifications.qh:376
 #, c-format
 msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 був порізаний на шматки Spiderbot ^BG%s^K1 %s%s"
 
-#: qcsrc/common/notifications.qh:374
+#: qcsrc/common/notifications.qh:377
 #, c-format
 msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 був рознесений на шматки Spiderbot ^BG%s^K1 %s%s"
 
-#: qcsrc/common/notifications.qh:375
+#: qcsrc/common/notifications.qh:378
 #, c-format
 msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 загинув коли вибухнув Racer ^BG%s^K1 %s%s"
 
-#: qcsrc/common/notifications.qh:376
+#: qcsrc/common/notifications.qh:379
 #, c-format
 msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 був пришпилений вогнем Racer ^BG%s^K1 %s%s"
 
-#: qcsrc/common/notifications.qh:377
+#: qcsrc/common/notifications.qh:380
 #, c-format
 msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 не міг знайти захист від Racer ^BG%s^K1 %s%s"
 
-#: qcsrc/common/notifications.qh:378
+#: qcsrc/common/notifications.qh:381
 #, c-format
 msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 був кинутий у світ болю ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:379
+#: qcsrc/common/notifications.qh:382
 #, c-format
 msgid "^BG%s^K1 was moved into the %s%s"
-msgstr ""
+msgstr "^BG%s^K1 був переміщений в %s%s"
 
-#: qcsrc/common/notifications.qh:380
+#: qcsrc/common/notifications.qh:383
 #, c-format
 msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
-msgstr ""
+msgstr "^BG%s^K1 став ворогом Повелителя командної гри%s%s"
 
-#: qcsrc/common/notifications.qh:381
+#: qcsrc/common/notifications.qh:384
 #, c-format
 msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
-msgstr ""
+msgstr "^BG%s^K1 думав що знайшов чудове місце для кемпінгу%s%s"
 
-#: qcsrc/common/notifications.qh:382
+#: qcsrc/common/notifications.qh:385
 #, c-format
 msgid "^BG%s^K1 unfairly eliminated themself%s%s"
-msgstr ""
+msgstr "^BG%s^K1 нечесно вбив себе%s%s"
 
-#: qcsrc/common/notifications.qh:383
+#: qcsrc/common/notifications.qh:386
 #, c-format
 msgid "^BG%s^K1 %s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 couldn't catch their breath%s%s"
-msgstr ""
+msgstr "^BG%s^K1 не зміг перевести дух!%s%s"
 
-#: qcsrc/common/notifications.qh:384
+#: qcsrc/common/notifications.qh:387
 #, c-format
 msgid "^BG%s^K1 was in the water for too long%s%s"
-msgstr ""
+msgstr "^BG%s^K1 пробув у воді занадто довго%s%s"
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
-msgstr ""
+msgstr "^BG%s^K1 торкнувся землі занадто потужно%s%s"
 
-#: qcsrc/common/notifications.qh:385
+#: qcsrc/common/notifications.qh:388
 #, c-format
 msgid "^BG%s^K1 hit the ground with a crunch%s%s"
-msgstr ""
+msgstr "^BG%s^K1 із тріском вдарився об землю%s%s"
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 became a bit too crispy%s%s"
-msgstr ""
+msgstr "^BG%s^K1 став занадто хрустким%s%s"
 
-#: qcsrc/common/notifications.qh:386
+#: qcsrc/common/notifications.qh:389
 #, c-format
 msgid "^BG%s^K1 felt a little hot%s%s"
-msgstr ""
+msgstr "^BG%s^K1 відчув трохи жару%s%s"
 
-#: qcsrc/common/notifications.qh:387
+#: qcsrc/common/notifications.qh:390
 #, c-format
 msgid "^BG%s^K1 died%s%s"
-msgstr ""
+msgstr "^BG%s^K1 загинув%s%s"
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 found a hot place%s%s"
-msgstr ""
+msgstr "^BG%s^K1 знайшов гаряче місце%s%s"
 
-#: qcsrc/common/notifications.qh:388
+#: qcsrc/common/notifications.qh:391
 #, c-format
 msgid "^BG%s^K1 turned into hot slag%s%s"
-msgstr ""
+msgstr "^BG%s^K1 перетворився на гарячий шлак%s%s"
 
-#: qcsrc/common/notifications.qh:389
+#: qcsrc/common/notifications.qh:392
 #, c-format
 msgid "^BG%s^K1 mastered the art of self-nading%s%s"
+msgstr "^BG%s^K1 може майстерно вбити себе власною гранатою%s%s"
+
+#: qcsrc/common/notifications.qh:393
+#, c-format
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:394
 #, c-format
-msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:390
+#: qcsrc/common/notifications.qh:395
 #, c-format
-msgid "^BG%s^K1 ran out of ammo%s%s"
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:391
+#: qcsrc/common/notifications.qh:396
 #, c-format
-msgid "^BG%s^K1 rotted away%s%s"
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:392
+#: qcsrc/common/notifications.qh:397
 #, c-format
-msgid "^BG%s^K1 became a shooting star%s%s"
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:393
+#: qcsrc/common/notifications.qh:398
 #, c-format
-msgid "^BG%s^K1 was slimed%s%s"
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:394
+#: qcsrc/common/notifications.qh:399
 #, c-format
-msgid "^BG%s^K1 couldn't take it anymore%s%s"
+msgid "^BG%s^K1 joins the Zombies%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:395
+#: qcsrc/common/notifications.qh:400
 #, c-format
-msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:396
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgstr "^BG%s^K1 загинув%s%s. Який сенс жити без набоїв?"
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 ran out of ammo%s%s"
+msgstr "^BG%s^K1 використав усі патрони%s%s"
+
+#: qcsrc/common/notifications.qh:402
+#, c-format
+msgid "^BG%s^K1 rotted away%s%s"
+msgstr "^BG%s^K1 згнив%s%s"
+
+#: qcsrc/common/notifications.qh:403
+#, c-format
+msgid "^BG%s^K1 became a shooting star%s%s"
+msgstr "^BG%s^K1 перетворився на падаючу зірку%s%s"
+
+#: qcsrc/common/notifications.qh:404
+#, c-format
+msgid "^BG%s^K1 was slimed%s%s"
+msgstr "^BG%s^K1 був заляпаний слизом%s%s"
+
+#: qcsrc/common/notifications.qh:405
+#, c-format
+msgid "^BG%s^K1 couldn't take it anymore%s%s"
+msgstr "^BG%s^K1 більше не міг це витримувати%s%s"
+
+#: qcsrc/common/notifications.qh:406
+#, c-format
+msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
+msgstr "^BG%s^K1 тепер може зберігатися роками%s%s"
+
+#: qcsrc/common/notifications.qh:407
 #, c-format
 msgid "^BG%s^K1 switched to the %s%s"
-msgstr ""
+msgstr "^BG%s^K1 перейшов до %s%s"
 
-#: qcsrc/common/notifications.qh:397
+#: qcsrc/common/notifications.qh:408
 #, c-format
 msgid "^BG%s^K1 died in an accident%s%s"
-msgstr ""
+msgstr "^BG%s^K1 загинув у нещасному випадку%s%s"
 
-#: qcsrc/common/notifications.qh:398
+#: qcsrc/common/notifications.qh:409
 #, c-format
 msgid "^BG%s^K1 ran into a turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 зустрівся з туреллю%s%s"
 
-#: qcsrc/common/notifications.qh:399
+#: qcsrc/common/notifications.qh:410
 #, c-format
 msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 був знищений туреллю eWheel%s%s"
 
-#: qcsrc/common/notifications.qh:400
+#: qcsrc/common/notifications.qh:411
 #, c-format
 msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
-msgstr ""
+msgstr "^BG%s^K1 потрапив у вогонь туреллі FLAC%s%s"
 
-#: qcsrc/common/notifications.qh:401
+#: qcsrc/common/notifications.qh:412
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 був знищений туреллю Hellion%s%s"
 
-#: qcsrc/common/notifications.qh:402
+#: qcsrc/common/notifications.qh:413
 #, c-format
 msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 не зміг сховатися від туреллі Hunter%s%s"
 
-#: qcsrc/common/notifications.qh:403
+#: qcsrc/common/notifications.qh:414
 #, c-format
 msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 був продірявлений туреллю Machinegun%s%s"
 
-#: qcsrc/common/notifications.qh:404
+#: qcsrc/common/notifications.qh:415
 #, c-format
 msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 був перетворений на жевріючі джибси туреллю MLRS%s%s"
 
-#: qcsrc/common/notifications.qh:405
+#: qcsrc/common/notifications.qh:416
 #, c-format
 msgid "^BG%s^K1 was phased out by a turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 був знищений туреллю%s%s"
 
-#: qcsrc/common/notifications.qh:406
+#: qcsrc/common/notifications.qh:417
 #, c-format
 msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 отримав гарячої плазми з туреллі%s%s"
 
-#: qcsrc/common/notifications.qh:407
+#: qcsrc/common/notifications.qh:418
 #, c-format
 msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 був вбитий електричним струмом з туреллі Tesla%s%s"
 
-#: qcsrc/common/notifications.qh:408
+#: qcsrc/common/notifications.qh:419
 #, c-format
 msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 був збагачений свинцем з туреллі Walker%s%s"
 
-#: qcsrc/common/notifications.qh:409
+#: qcsrc/common/notifications.qh:420
 #, c-format
 msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 був проколотий туреллю Walker%s%s"
 
-#: qcsrc/common/notifications.qh:410
+#: qcsrc/common/notifications.qh:421
 #, c-format
 msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
-msgstr ""
+msgstr "^BG%s^K1 був знищений туреллю Walker%s%s"
 
-#: qcsrc/common/notifications.qh:411
+#: qcsrc/common/notifications.qh:422
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
-msgstr ""
+msgstr "^BG%s^K1 загинув у вибуху Bumblebee%s%s"
 
-#: qcsrc/common/notifications.qh:412
+#: qcsrc/common/notifications.qh:423
 #, c-format
 msgid "^BG%s^K1 was crushed by a vehicle%s%s"
-msgstr ""
+msgstr "^BG%s^K1 був розчавлений транспортом%s%s"
 
-#: qcsrc/common/notifications.qh:413
+#: qcsrc/common/notifications.qh:424
 #, c-format
 msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
-msgstr ""
+msgstr "^BG%s^K1 був знищений кластерною бомбою Raptor%s%s"
 
-#: qcsrc/common/notifications.qh:414
+#: qcsrc/common/notifications.qh:425
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
-msgstr ""
+msgstr "^BG%s^K1 загинув у вибуху Raptor%s%s"
 
-#: qcsrc/common/notifications.qh:415
+#: qcsrc/common/notifications.qh:426
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
-msgstr ""
+msgstr "^BG%s^K1 загинув у вибуху Spiderbot%s%s"
 
-#: qcsrc/common/notifications.qh:416
+#: qcsrc/common/notifications.qh:427
 #, c-format
 msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
-msgstr ""
+msgstr "^BG%s^K1 був рознесений на шматки ракетами Spiderbot%s%s"
 
-#: qcsrc/common/notifications.qh:417
+#: qcsrc/common/notifications.qh:428
 #, c-format
 msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
-msgstr ""
+msgstr "^BG%s^K1 загинув у вибуху Racer%s%s"
 
-#: qcsrc/common/notifications.qh:418
+#: qcsrc/common/notifications.qh:429
 #, c-format
 msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
-msgstr ""
+msgstr "^BG%s^K1 не зміг знайти захист від ракети Racer%s%s"
 
-#: qcsrc/common/notifications.qh:419
+#: qcsrc/common/notifications.qh:430
 #, c-format
 msgid "^BG%s^K1 was in the wrong place%s%s"
-msgstr ""
+msgstr "^BG%s^K1 був не там де треба%s%s"
 
-#: qcsrc/common/notifications.qh:420
+#: qcsrc/common/notifications.qh:431
 #, c-format
 msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s^K1 був зраджений ^BG%s^K1%s%s"
 
-#: qcsrc/common/notifications.qh:421
+#: qcsrc/common/notifications.qh:432
 #, c-format
 msgid "^BG%s^K1 was frozen by ^BG%s"
-msgstr ""
+msgstr "^BG%s^K1 був заморожений ^BG%s"
 
-#: qcsrc/common/notifications.qh:422
+#: qcsrc/common/notifications.qh:433
 #, c-format
 msgid "^BG%s^K3 was revived by ^BG%s"
-msgstr ""
+msgstr "^BG%s^K3 був оживлений ^BG%s"
 
-#: qcsrc/common/notifications.qh:423
+#: qcsrc/common/notifications.qh:434
 #, c-format
 msgid "^BG%s^K3 was revived by falling"
-msgstr ""
+msgstr "^BG%s^K3 був оживлений падінням"
 
-#: qcsrc/common/notifications.qh:424
+#: qcsrc/common/notifications.qh:435
 #, c-format
 msgid "^BG%s^K3 was automatically revived after %s second(s)"
-msgstr ""
+msgstr "^BG%s^K3 було автоматично оживлено після %s секунд(и)"
 
-#: qcsrc/common/notifications.qh:425 qcsrc/common/notifications.qh:612
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
 msgid "^TC^TT^BG team wins the round"
 msgstr "^TC^TT^BG команда виграє раунд"
 
-#: qcsrc/common/notifications.qh:426 qcsrc/common/notifications.qh:613
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
 #, c-format
 msgid "^BG%s^BG wins the round"
 msgstr "^BG%s^BG виграє раунд"
 
-#: qcsrc/common/notifications.qh:427 qcsrc/common/notifications.qh:542
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
 msgid "^BGRound tied"
 msgstr "^BGНічия"
 
-#: qcsrc/common/notifications.qh:428 qcsrc/common/notifications.qh:543
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
 msgid "^BGRound over, there's no winner"
 msgstr "^BGРаунд завершено, переможця немає"
 
-#: qcsrc/common/notifications.qh:429
+#: qcsrc/common/notifications.qh:440
 #, c-format
 msgid "^BG%s^K1 froze themself"
-msgstr ""
+msgstr "^BG%s^K1 заморозив сам себе"
 
-#: qcsrc/common/notifications.qh:430
+#: qcsrc/common/notifications.qh:441
 #, c-format
 msgid "^BGGodmode saved you %s units of damage, cheater!"
-msgstr ""
+msgstr "^BGРежим бога зберіг тебе від %s одиниць пошкоджень, читере!"
 
-#: qcsrc/common/notifications.qh:431 qcsrc/common/notifications.qh:616
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
 #, c-format
 msgid "^BGYou do not have the ^F1%s"
 msgstr "^BGВи не маєте ^F1%s"
 
-#: qcsrc/common/notifications.qh:432 qcsrc/common/notifications.qh:617
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
 #, c-format
 msgid "^BGYou dropped the ^F1%s^BG%s"
 msgstr "^BGВи втратили ^F1%s^BG%s"
 
-#: qcsrc/common/notifications.qh:433 qcsrc/common/notifications.qh:618
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
 #, c-format
 msgid "^BGYou got the ^F1%s"
 msgstr "^BGВи отримали ^F1%s"
 
-#: qcsrc/common/notifications.qh:434 qcsrc/common/notifications.qh:619
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
 #, c-format
 msgid "^BGYou don't have enough ammo for the ^F1%s"
 msgstr "^BGУ вас недостатньо набоїв для ^F1%s"
 
-#: qcsrc/common/notifications.qh:435 qcsrc/common/notifications.qh:620
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
 #, c-format
 msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
 msgstr "^F1%s %s^BG не може стріляти, але ^F1%s^BG може"
 
-#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:621
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
 #, c-format
 msgid "^F1%s^BG is ^F4not available^BG on this map"
 msgstr "^F1%s^BG ^F4недоступний(а)^BG на цій мапі"
 
-#: qcsrc/common/notifications.qh:437
+#: qcsrc/common/notifications.qh:448
 #, c-format
 msgid "^BG%s^F3 connected%s"
-msgstr ""
+msgstr "^BG%s^F3 з'єднався%s"
 
-#: qcsrc/common/notifications.qh:438
+#: qcsrc/common/notifications.qh:449
 #, c-format
 msgid "^BG%s^F3 connected and joined the ^TC^TT team"
-msgstr ""
+msgstr "^BG%s^F3 з'єднався та приєднався до ^TC^TT команди"
 
-#: qcsrc/common/notifications.qh:439
+#: qcsrc/common/notifications.qh:450
 #, c-format
 msgid "^BG%s^F3 is now playing"
-msgstr ""
+msgstr "^BG%s^F3 зараз грає"
 
-#: qcsrc/common/notifications.qh:440 qcsrc/common/notifications.qh:624
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
 #, c-format
 msgid "^BG%s^BG has dropped the ball!"
 msgstr "^BG%s^BG втратив м'яча!"
 
-#: qcsrc/common/notifications.qh:441 qcsrc/common/notifications.qh:625
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
 #, c-format
 msgid "^BG%s^BG has picked up the ball!"
 msgstr "^BG%s^BG заволодів м'ячем!"
 
-#: qcsrc/common/notifications.qh:442
+#: qcsrc/common/notifications.qh:453
 #, c-format
 msgid "^BG%s^BG captured the keys for the ^TC^TT team"
-msgstr ""
+msgstr "^BG%s^BG захопив ключі для ^TC^TT команди"
 
-#: qcsrc/common/notifications.qh:443
+#: qcsrc/common/notifications.qh:454
 #, c-format
 msgid "^BG%s^BG dropped the ^TC^TT Key"
-msgstr ""
+msgstr "^BG%s^BG втратив ^TC^TT Ключ"
 
-#: qcsrc/common/notifications.qh:444
+#: qcsrc/common/notifications.qh:455
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT Key"
-msgstr ""
+msgstr "^BG%s^BG втратив ^TC^TT Ключ"
 
-#: qcsrc/common/notifications.qh:445
+#: qcsrc/common/notifications.qh:456
 #, c-format
 msgid "^BG%s^BG picked up the ^TC^TT Key"
-msgstr ""
+msgstr "^BG%s^BG підхопив ^TC^TT Ключ"
 
-#: qcsrc/common/notifications.qh:446
+#: qcsrc/common/notifications.qh:457
 #, c-format
 msgid "^BG%s^F3 forfeited"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:447
+#: qcsrc/common/notifications.qh:458
 #, c-format
 msgid "^BG%s^F3 has no more lives left"
+msgstr "^BG%s^F3 більше не має життів"
+
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:448
+#: qcsrc/common/notifications.qh:460
 #, c-format
 msgid "^BG%s^K1 picked up Invisibility"
-msgstr ""
+msgstr "^BG%s^K1 здобув Невидимість"
 
-#: qcsrc/common/notifications.qh:449
+#: qcsrc/common/notifications.qh:461
 #, c-format
 msgid "^BG%s^K1 picked up Shield"
-msgstr ""
+msgstr "^BG%s^K1 здобув Щит"
 
-#: qcsrc/common/notifications.qh:450
+#: qcsrc/common/notifications.qh:462
 #, c-format
 msgid "^BG%s^K1 picked up Speed"
-msgstr ""
+msgstr "^BG%s^K1 здобув Швидкість"
 
-#: qcsrc/common/notifications.qh:451
+#: qcsrc/common/notifications.qh:463
 #, c-format
 msgid "^BG%s^K1 picked up Strength"
-msgstr ""
+msgstr "^BG%s^K1 здобув Силу"
 
-#: qcsrc/common/notifications.qh:452
+#: qcsrc/common/notifications.qh:464
 #, c-format
 msgid "^BG%s^F3 disconnected"
-msgstr ""
+msgstr "^BG%s^F3 від'єднався"
 
-#: qcsrc/common/notifications.qh:453
+#: qcsrc/common/notifications.qh:465
 #, c-format
 msgid "^BG%s^F3 was kicked for idling"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:454
+#: qcsrc/common/notifications.qh:466
 msgid ""
 "^F2You were kicked from the server because you are a spectator and "
 "spectators aren't allowed at the moment."
 msgstr ""
 
-#: qcsrc/common/notifications.qh:455
+#: qcsrc/common/notifications.qh:467
 #, c-format
 msgid "^BG%s^F3 is now spectating"
-msgstr ""
+msgstr "^BG%s^F3 зараз глядач"
 
-#: qcsrc/common/notifications.qh:456
+#: qcsrc/common/notifications.qh:468
 #, c-format
 msgid "^BG%s^BG has abandoned the race"
-msgstr ""
+msgstr "^BG%s^BG залишив гонку"
 
-#: qcsrc/common/notifications.qh:457
+#: qcsrc/common/notifications.qh:469
 #, c-format
 msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
 msgstr ""
+"^BG%s^BG не зміг побити рекорд свого %s%s^BG місця який становить %s%s %s"
 
-#: qcsrc/common/notifications.qh:458
+#: qcsrc/common/notifications.qh:470
 #, c-format
 msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
-msgstr ""
+msgstr "^BG%s^BG не зумів побити рекорд %s%s^BG місця, який становить %s%s %s"
 
-#: qcsrc/common/notifications.qh:459
+#: qcsrc/common/notifications.qh:471
 #, c-format
 msgid "^BG%s^BG has finished the race"
-msgstr ""
+msgstr "^BG%s^BG завершив гонку"
 
-#: qcsrc/common/notifications.qh:460
+#: qcsrc/common/notifications.qh:472
 #, c-format
 msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
 msgstr ""
+"^BG%s^BG побив рекорд %s^BG для %s%s^BG місця своїм результатом у %s%s %s"
 
-#: qcsrc/common/notifications.qh:461
+#: qcsrc/common/notifications.qh:473
 #, c-format
 msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
-msgstr ""
+msgstr "^BG%s^BG покращив свій рекорд для %s%s^BG місця результатом у %s%s %s"
 
-#: qcsrc/common/notifications.qh:462
+#: qcsrc/common/notifications.qh:474
 #, c-format
 msgid ""
 "^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
 "and will be lost."
 msgstr ""
+"^BG%s^BG встановив новий рекорд у ^F2%s^BG, але на жаль не має UID, тому "
+"рекорд буде втрачено."
 
-#: qcsrc/common/notifications.qh:463
+#: qcsrc/common/notifications.qh:475
 #, c-format
 msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
-msgstr ""
+msgstr "^BG%s^BG встановив рекорд %s%s^BG місця своїм результатом в %s%s"
 
-#: qcsrc/common/notifications.qh:464
+#: qcsrc/common/notifications.qh:476
 msgid "^TC^TT ^BGteam scores!"
-msgstr ""
+msgstr "^TC^TT ^BGкоманда заробляє очко!"
 
-#: qcsrc/common/notifications.qh:465
+#: qcsrc/common/notifications.qh:477
 #, c-format
 msgid ""
 "^F2You have to become a player within the next %s, otherwise you will be "
 "kicked, because spectating isn't allowed at this time!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:466
+#: qcsrc/common/notifications.qh:478
 #, c-format
 msgid "^BG%s^K1 picked up a Superweapon"
-msgstr ""
+msgstr "^BG%s^K1 здобув Суперзброю"
 
-#: qcsrc/common/notifications.qh:467
+#: qcsrc/common/notifications.qh:479
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
 "^F2Xonotic %s"
 msgstr ""
+"^F4ПРИМІТКА: ^BGСервер використовує ^F1Xonotic %s (бета)^BG, у вас "
+"^F2Xonotic %s"
 
-#: qcsrc/common/notifications.qh:468
+#: qcsrc/common/notifications.qh:480
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
 msgstr ""
+"^F4ПРИМІТКА: ^BGСервер використовує ^F1Xonotic %s^BG, у вас ^F2Xonotic %s"
 
-#: qcsrc/common/notifications.qh:469
+#: qcsrc/common/notifications.qh:481
 #, c-format
 msgid ""
 "^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
 "the update from ^F3http://www.xonotic.org/^BG!"
 msgstr ""
+"^F4ПРИМІТКА: ^F1Xonotic %s^BG вже доступний, а у вас все ще ^F2Xonotic %s^BG "
+"- завантажте нову версію з ^F3http://www.xonotic.org/^BG!"
 
-#: qcsrc/common/notifications.qh:470
+#: qcsrc/common/notifications.qh:482
 #, c-format
 msgid "^F3SVQC Build information: ^F4%s"
-msgstr ""
+msgstr "^F3SVQC Відомості про збірку: ^F4%s"
 
-#: qcsrc/common/notifications.qh:471
+#: qcsrc/common/notifications.qh:483
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:472
+#: qcsrc/common/notifications.qh:484
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:473
+#: qcsrc/common/notifications.qh:485
 #, c-format
 msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:474
+#: qcsrc/common/notifications.qh:486
 #, c-format
 msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:475
+#: qcsrc/common/notifications.qh:487
 #, c-format
 msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:476
+#: qcsrc/common/notifications.qh:488
 #, c-format
 msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:477
+#: qcsrc/common/notifications.qh:489
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:478
+#: qcsrc/common/notifications.qh:490
 #, c-format
 msgid "^BG%s^K1 played with Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:479
+#: qcsrc/common/notifications.qh:491
 #, c-format
 msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:480
+#: qcsrc/common/notifications.qh:492
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:481
+#: qcsrc/common/notifications.qh:493
 #, c-format
 msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:482
+#: qcsrc/common/notifications.qh:494
 #, c-format
 msgid "^BG%s^K1 should have used a smaller gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:483
+#: qcsrc/common/notifications.qh:495
 #, c-format
 msgid "^BG%s^K1 forgot about their firemine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:484
+#: qcsrc/common/notifications.qh:496
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:485
+#: qcsrc/common/notifications.qh:497
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:486
+#: qcsrc/common/notifications.qh:498
 #, c-format
 msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:487
+#: qcsrc/common/notifications.qh:499
 #, c-format
 msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:488
+#: qcsrc/common/notifications.qh:500
 #, c-format
 msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:489
+#: qcsrc/common/notifications.qh:501
 #, c-format
 msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:490
+#: qcsrc/common/notifications.qh:502
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:491
+#: qcsrc/common/notifications.qh:503
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:492
+#: qcsrc/common/notifications.qh:504
 #, c-format
 msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:493
+#: qcsrc/common/notifications.qh:505
 #, c-format
 msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:494
+#: qcsrc/common/notifications.qh:506
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:495
+#: qcsrc/common/notifications.qh:507
 #, c-format
 msgid "^BG%s^K1 forgot about their mine%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:496
+#: qcsrc/common/notifications.qh:508
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:497
+#: qcsrc/common/notifications.qh:509
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:498
+#: qcsrc/common/notifications.qh:510
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:499
+#: qcsrc/common/notifications.qh:511
 #, c-format
 msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:500
+#: qcsrc/common/notifications.qh:512
 #, c-format
 msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:501
+#: qcsrc/common/notifications.qh:513
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:502
+#: qcsrc/common/notifications.qh:514
 #, c-format
 msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:503
+#: qcsrc/common/notifications.qh:515
 #, c-format
 msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:504
+#: qcsrc/common/notifications.qh:516
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:505
+#: qcsrc/common/notifications.qh:517
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:506
+#: qcsrc/common/notifications.qh:518
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:507
+#: qcsrc/common/notifications.qh:519
 #, c-format
 msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:508
+#: qcsrc/common/notifications.qh:520
 #, c-format
 msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:509
+#: qcsrc/common/notifications.qh:521
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:510
+#: qcsrc/common/notifications.qh:522
 #, c-format
 msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:511
+#: qcsrc/common/notifications.qh:523
 #, c-format
 msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:512
+#: qcsrc/common/notifications.qh:524
 #, c-format
 msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:513
+#: qcsrc/common/notifications.qh:525
 #, c-format
 msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:514
+#: qcsrc/common/notifications.qh:526
 #, c-format
 msgid "^BG%s^K1 is now thinking with portals%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:515
+#: qcsrc/common/notifications.qh:527
 #, c-format
 msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:516
+#: qcsrc/common/notifications.qh:528
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:517
+#: qcsrc/common/notifications.qh:529
 #, c-format
 msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:518
+#: qcsrc/common/notifications.qh:530
 #, c-format
 msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:536
+#: qcsrc/common/notifications.qh:548
 msgid "^BGYou are attacking!"
 msgstr "^BGВи нападаєте!"
 
-#: qcsrc/common/notifications.qh:537
+#: qcsrc/common/notifications.qh:549
 msgid "^BGYou are defending!"
 msgstr "^BGВи захищаєтесь!"
 
-#: qcsrc/common/notifications.qh:538
+#: qcsrc/common/notifications.qh:550
 msgid "^F4Begin!"
 msgstr "^F4Починайте!"
 
-#: qcsrc/common/notifications.qh:539
+#: qcsrc/common/notifications.qh:551
 msgid "^F4Game starts in ^COUNT"
 msgstr "^F4Гра почнеться через ^COUNT"
 
-#: qcsrc/common/notifications.qh:540
+#: qcsrc/common/notifications.qh:552
 msgid "^F4Round starts in ^COUNT"
 msgstr "^F4Раунд почнеться через ^COUNT"
 
-#: qcsrc/common/notifications.qh:541
+#: qcsrc/common/notifications.qh:553
 msgid "^F4Round cannot start"
 msgstr "^F4Раунд не може початися"
 
-#: qcsrc/common/notifications.qh:544
+#: qcsrc/common/notifications.qh:556
 msgid "^F2Don't camp!"
 msgstr "^F2Не кемперіть!"
 
-#: qcsrc/common/notifications.qh:545
+#: qcsrc/common/notifications.qh:557
 msgid ""
 "^BGYou are now free.\n"
 "^BGFeel free to ^F2try to capture^BG the flag again\n"
@@ -2277,7 +2377,7 @@ msgstr ""
 "^BGМоже те знову ^F2спробувати^BG захопити прапор\n"
 "^BGякщо гадаєте, що вам це вдасться."
 
-#: qcsrc/common/notifications.qh:546
+#: qcsrc/common/notifications.qh:558
 msgid ""
 "^BGYou are now ^F1shielded^BG from the flag\n"
 "^BGfor ^F2too many unsuccessful attempts^BG to capture.\n"
@@ -2287,163 +2387,163 @@ msgstr ""
 "^BGза ^F2багато невдалих спроб^BG захопити його.\n"
 "^BGСпробуйте заробити кілька очок у захисті, перш ніж пробувати знову."
 
-#: qcsrc/common/notifications.qh:547
+#: qcsrc/common/notifications.qh:559
 msgid "^BGYou captured the ^TC^TT^BG flag!"
 msgstr "^BGВи захопили ^TC^TT^BG прапор!"
 
-#: qcsrc/common/notifications.qh:548
+#: qcsrc/common/notifications.qh:560
 #, c-format
 msgid "^BGToo many flag throws! Throwing disabled for %s."
 msgstr "^BGЗанадто багато кидків прапору! Кидання недоступне на %s."
 
-#: qcsrc/common/notifications.qh:549
+#: qcsrc/common/notifications.qh:561
 #, c-format
 msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
 msgstr "^BG%s^BG передав ^TC^TT^BG прапор до %s"
 
-#: qcsrc/common/notifications.qh:550
+#: qcsrc/common/notifications.qh:562
 #, c-format
 msgid "^BGYou received the ^TC^TT^BG flag from %s"
 msgstr "^BGВи отримали ^TC^TT^BG прапор від %s"
 
-#: qcsrc/common/notifications.qh:551
+#: qcsrc/common/notifications.qh:563
 #, c-format
 msgid "^BG%s^BG requests you to pass the flag%s"
 msgstr "^BG%s^BG просить вас передати прапор%s"
 
-#: qcsrc/common/notifications.qh:552
+#: qcsrc/common/notifications.qh:564
 #, c-format
 msgid "^BGRequesting %s^BG to pass you the flag"
 msgstr "^BGПросить %s^BG передати вам прапор"
 
-#: qcsrc/common/notifications.qh:553
+#: qcsrc/common/notifications.qh:565
 #, c-format
 msgid "^BGYou passed the ^TC^TT^BG flag to %s"
 msgstr "^BGВи передали ^TC^TT^BG прапор до %s"
 
-#: qcsrc/common/notifications.qh:554
+#: qcsrc/common/notifications.qh:566
 msgid "^BGYou got the ^TC^TT^BG flag!"
 msgstr "^BGВи отримали ^TC^TT^BG прапор!"
 
-#: qcsrc/common/notifications.qh:555
+#: qcsrc/common/notifications.qh:567
 #, c-format
 msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
 msgstr "^BG%sПротивник^BG захопив ваш прапор! Поверніть його!"
 
-#: qcsrc/common/notifications.qh:556
+#: qcsrc/common/notifications.qh:568
 #, c-format
 msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
 msgstr "^BG%sПротивник (^BG%s%s)^BG захопив ваш прапор! Поверніть його!"
 
-#: qcsrc/common/notifications.qh:557
+#: qcsrc/common/notifications.qh:569
 #, c-format
 msgid "^BGYour %steam mate^BG got the flag! Protect them!"
 msgstr "^BGВаш %sтовариш по команді^BG захопив прапор! Захищайте його!"
 
-#: qcsrc/common/notifications.qh:558
+#: qcsrc/common/notifications.qh:570
 #, c-format
 msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
 msgstr ""
 "^BGВаш %sтовариш по команді (^BG%s%s)^BG захопив прапор! Захищайте його!"
 
-#: qcsrc/common/notifications.qh:559
+#: qcsrc/common/notifications.qh:571
 msgid "^BGYou returned the ^TC^TT^BG flag!"
 msgstr "^BGВи повернули ^TC^TT^BG прапор!"
 
-#: qcsrc/common/notifications.qh:560
+#: qcsrc/common/notifications.qh:572
 msgid "^BGStalemate! Enemies can now see you on radar!"
 msgstr "^BGПатова ситуація! Противники тепер можуть бачити вас на радарі!"
 
-#: qcsrc/common/notifications.qh:561
+#: qcsrc/common/notifications.qh:573
 msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
 msgstr ""
 "^BGПатова ситуація! Противники тепер можуть бачити носіїв прапорів на радарі!"
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou fragged ^BG%s"
 msgstr "^K3%sВи фрагнули ^BG%s"
 
-#: qcsrc/common/notifications.qh:562
+#: qcsrc/common/notifications.qh:574
 #, c-format
 msgid "^K3%sYou scored against ^BG%s"
 msgstr "^K3%sВи виграли очко у ^BG%s"
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s"
 msgstr "^K1%sВас фрагнув ^BG%s"
 
-#: qcsrc/common/notifications.qh:563
+#: qcsrc/common/notifications.qh:575
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s"
 msgstr "^K1%sВи програли очко ^BG%s"
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were fragged by ^BG%s^BG%s"
 msgstr "^K1%sВас фрагнув ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:564
+#: qcsrc/common/notifications.qh:576
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^BG%s"
 msgstr "^K1%sВи програли очко ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou fragged ^BG%s^BG%s"
 msgstr "^K3%sВи фрагнули ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:565
+#: qcsrc/common/notifications.qh:577
 #, c-format
 msgid "^K3%sYou scored against ^BG%s^BG%s"
 msgstr "^K3%sВи виграли очко у ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
 msgstr "^K1%sВи виграли очко у ^BG%s^K1 поки він писав"
 
-#: qcsrc/common/notifications.qh:566
+#: qcsrc/common/notifications.qh:578
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s"
 msgstr "^K1%sВи чатфрагнули ^BG%s"
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
 msgstr "^K1%sВи програли очко у ^BG%s^K1 поки писали!"
 
-#: qcsrc/common/notifications.qh:567
+#: qcsrc/common/notifications.qh:579
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s"
 msgstr "^K1%sВас чатфрагнув ^BG%s"
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
 msgstr "^K1%sВи програли очко ^BG%s^K1 поки писали^BG%s"
 
-#: qcsrc/common/notifications.qh:568
+#: qcsrc/common/notifications.qh:580
 #, c-format
 msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
 msgstr "^K1%sВас чатфрагнув ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
 msgstr "^K1%sВи виграли очко у ^BG%s^K1 поки він писав^BG%s"
 
-#: qcsrc/common/notifications.qh:569
+#: qcsrc/common/notifications.qh:581
 #, c-format
 msgid "^K1%sYou typefragged ^BG%s^BG%s"
 msgstr "^K1%sВи чатфрагнули ^BG%s^BG%s"
 
-#: qcsrc/common/notifications.qh:570
+#: qcsrc/common/notifications.qh:582
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
-msgstr ""
+msgstr "^BGНатисніть ^F2DROPWEAPON^BG знову щоб кинути гранату!"
 
-#: qcsrc/common/notifications.qh:571
+#: qcsrc/common/notifications.qh:583
 #, c-format
 msgid ""
 "^BGYou have been moved into a different team\n"
@@ -2452,193 +2552,201 @@ msgstr ""
 "^BGВас автоматично переведено до іншої команди\n"
 "Тепер ви у: %s"
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't go against your team mates!"
 msgstr "^K1Не воюйте зі своїми товаришами по команді!"
 
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
 msgid "^K1Don't shoot your team mates!"
 msgstr "^K1Не стріляйте у своїх товаришів по команді!"
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Die camper!"
 msgstr "^K1Помри, кемпер!"
 
-#: qcsrc/common/notifications.qh:573
+#: qcsrc/common/notifications.qh:585
 msgid "^K1Reconsider your tactics, camper!"
 msgstr "^K1Знайди собі кращу тактику, кемпер!"
 
-#: qcsrc/common/notifications.qh:574
+#: qcsrc/common/notifications.qh:586
 msgid "^K1You unfairly eliminated yourself!"
 msgstr "^K1Ви нечесно вбили себе!"
 
-#: qcsrc/common/notifications.qh:575
+#: qcsrc/common/notifications.qh:587
 #, c-format
 msgid "^K1You were %s"
 msgstr "^K1Вас %s"
 
-#: qcsrc/common/notifications.qh:576
+#: qcsrc/common/notifications.qh:588
 msgid "^K1You couldn't catch your breath!"
 msgstr "^K1Ви не змогли перевести дух!"
 
-#: qcsrc/common/notifications.qh:577
+#: qcsrc/common/notifications.qh:589
 msgid "^K1You hit the ground with a crunch!"
 msgstr "^K1Ви із тріском вдарились об землю!"
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You felt a little too hot!"
 msgstr "K1Вам стало занадто гаряче!"
 
-#: qcsrc/common/notifications.qh:578
+#: qcsrc/common/notifications.qh:590
 msgid "^K1You got a little bit too crispy!"
 msgstr "^K1Ви стали занадто хрустким!"
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You killed your own dumb self!"
 msgstr "^K1Ви вбили самі себе!"
 
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
 msgid "^K1You need to be more careful!"
 msgstr "^K1Вам треба бути обережнішими!"
 
-#: qcsrc/common/notifications.qh:580
+#: qcsrc/common/notifications.qh:592
 msgid "^K1You couldn't stand the heat!"
 msgstr "^K1Ви не витримали жар!"
 
-#: qcsrc/common/notifications.qh:581
-msgid "^K1Tastes like chicken!"
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:581
-msgid "^K1You forgot to put the pin back in!"
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:594
+msgid "^K1Tastes like chicken!"
+msgstr "^K1На смак як курятина!"
+
+#: qcsrc/common/notifications.qh:594
+msgid "^K1You forgot to put the pin back in!"
+msgstr "^K1Ви забули повернути чеку на місце!"
+
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You are respawning for running out of ammo..."
 msgstr "^K1Ви почнете з початку за витрату всіх набоїв..."
 
-#: qcsrc/common/notifications.qh:582
+#: qcsrc/common/notifications.qh:595
 msgid "^K1You were killed for running out of ammo..."
 msgstr "^K1Вас вбито за витрату всіх набоїв..."
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You grew too old without taking your medicine"
 msgstr "^K1Без ліків ви швидко зістарились"
 
-#: qcsrc/common/notifications.qh:583
+#: qcsrc/common/notifications.qh:596
 msgid "^K1You need to preserve your health"
 msgstr "^K1Вам слід берегти своє здоров'я"
 
-#: qcsrc/common/notifications.qh:584
+#: qcsrc/common/notifications.qh:597
 msgid "^K1You became a shooting star!"
 msgstr "^K1Ви перетворилися на падаючу зірку!"
 
-#: qcsrc/common/notifications.qh:585
+#: qcsrc/common/notifications.qh:598
 msgid "^K1You melted away in slime!"
 msgstr "^K1Ви розтанули у слизі!"
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You committed suicide!"
 msgstr "K1Ви скоїли самогубство!"
 
-#: qcsrc/common/notifications.qh:586
+#: qcsrc/common/notifications.qh:599
 msgid "^K1You ended it all!"
 msgstr "^K1Ви припинили все це!"
 
-#: qcsrc/common/notifications.qh:587
+#: qcsrc/common/notifications.qh:600
 msgid "^K1You got stuck in a swamp!"
 msgstr "^K1Ви застрягли у болоті!"
 
-#: qcsrc/common/notifications.qh:588
+#: qcsrc/common/notifications.qh:601
 #, c-format
 msgid "^BGYou are now on: %s"
 msgstr "^BGВи зараз на: %s"
 
-#: qcsrc/common/notifications.qh:589
+#: qcsrc/common/notifications.qh:602
 msgid "^K1You died in an accident!"
 msgstr "^K1Ви загинули у нещасному випадку!"
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You had an unfortunate run in with a turret!"
 msgstr "^K1Вам не пощастило зустрітися з туреллю!"
 
-#: qcsrc/common/notifications.qh:590
+#: qcsrc/common/notifications.qh:603
 msgid "^K1You were fragged by a turret!"
 msgstr "^K1Вас фрагнула турель!"
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You had an unfortunate run in with an eWheel turret!"
 msgstr "^K1Вам не пощастило зустрітися з туреллю eWheel!"
 
-#: qcsrc/common/notifications.qh:591
+#: qcsrc/common/notifications.qh:604
 msgid "^K1You were fragged by an eWheel turret!"
 msgstr "^K1Вас фрагнула турель eWheel!"
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You had an unfortunate run in with a Walker turret!"
 msgstr "^K1Вам не пощастило зустрітися з туреллю Walker!"
 
-#: qcsrc/common/notifications.qh:592
+#: qcsrc/common/notifications.qh:605
 msgid "^K1You were fragged by a Walker turret!"
 msgstr "^K1Вас фрагнула турель Walker!"
 
-#: qcsrc/common/notifications.qh:593
+#: qcsrc/common/notifications.qh:606
 msgid "^K1You got caught in the blast of a Bumblebee explosion!"
 msgstr "^K1Ви загинули у вибуху Bumblebee!"
 
-#: qcsrc/common/notifications.qh:594
+#: qcsrc/common/notifications.qh:607
 msgid "^K1You were crushed by a vehicle!"
 msgstr "^K1Вас розчавила машина!"
 
-#: qcsrc/common/notifications.qh:595
+#: qcsrc/common/notifications.qh:608
 msgid "^K1You were caught in a Raptor cluster bomb!"
 msgstr "^K1Ви опинилися біля кластерної бомби Raptor!"
 
-#: qcsrc/common/notifications.qh:596
+#: qcsrc/common/notifications.qh:609
 msgid "^K1You got caught in the blast of a Raptor explosion!"
 msgstr "^K1Ви загинули у вибуху Raptor!"
 
-#: qcsrc/common/notifications.qh:597
+#: qcsrc/common/notifications.qh:610
 msgid "^K1You got caught in the blast of a Spiderbot explosion!"
 msgstr "^K1Ви загинули у вибуху Spiderbot!"
 
-#: qcsrc/common/notifications.qh:598
+#: qcsrc/common/notifications.qh:611
 msgid "^K1You were blasted to bits by a Spiderbot rocket!"
 msgstr "^K1Вас рознесло на шматки ракетами Spiderbot!"
 
-#: qcsrc/common/notifications.qh:599
+#: qcsrc/common/notifications.qh:612
 msgid "^K1You got caught in the blast of a Racer explosion!"
 msgstr "K1Ви загинули у вибуху Racer!"
 
-#: qcsrc/common/notifications.qh:600
+#: qcsrc/common/notifications.qh:613
 msgid "^K1You couldn't find shelter from a Racer rocket!"
 msgstr "^K1Ви не змогли знайти захист від ракети Racer!"
 
-#: qcsrc/common/notifications.qh:601
+#: qcsrc/common/notifications.qh:614
 msgid "^K1Watch your step!"
 msgstr "^K1Дивіться під ноги!"
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
 msgstr "^K1Дурень! Ви фрагнули ^BG%s^K1, товариша по команді!"
 
-#: qcsrc/common/notifications.qh:602
+#: qcsrc/common/notifications.qh:615
 #, c-format
 msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
 msgstr "^K1Дурень! You went against ^BG%s^K1, товариша по команді!"
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were fragged by ^BG%s^K1, a team mate"
 msgstr "^K1Вас фрагнув ^BG%s^K1, ваш товариш по команді"
 
-#: qcsrc/common/notifications.qh:603
+#: qcsrc/common/notifications.qh:616
 #, c-format
 msgid "^K1You were scored against by ^BG%s^K1, a team mate"
 msgstr "^K1Ви програли очко ^BG%s^K1, товаришу по команді"
 
-#: qcsrc/common/notifications.qh:604
+#: qcsrc/common/notifications.qh:617
 msgid ""
 "^K1Stop idling!\n"
 "^BGDisconnecting in ^COUNT..."
@@ -2646,48 +2754,53 @@ msgstr ""
 "^K1Годі ледарювати!\n"
 "^BGРоз'єднання через ^COUNT..."
 
-#: qcsrc/common/notifications.qh:605
+#: qcsrc/common/notifications.qh:618
 msgid "^F2You picked up some extra lives"
 msgstr "^F2Ви підняли кілька додаткових життів"
 
-#: qcsrc/common/notifications.qh:606
+#: qcsrc/common/notifications.qh:619
 #, c-format
 msgid "^K3You froze ^BG%s"
 msgstr "^K3Ви заморозили ^BG%s"
 
-#: qcsrc/common/notifications.qh:607
+#: qcsrc/common/notifications.qh:620
 #, c-format
 msgid "^K1You were frozen by ^BG%s"
 msgstr "^K1Вас заморозив ^BG%s"
 
-#: qcsrc/common/notifications.qh:608
+#: qcsrc/common/notifications.qh:621
 #, c-format
 msgid "^K3You revived ^BG%s"
 msgstr "K3Ви оживили ^BG%s"
 
-#: qcsrc/common/notifications.qh:609
+#: qcsrc/common/notifications.qh:622
 msgid "^K3You revived yourself"
-msgstr ""
+msgstr "^K3Ви оживили себе"
 
-#: qcsrc/common/notifications.qh:610
+#: qcsrc/common/notifications.qh:623
 #, c-format
 msgid "^K3You were revived by ^BG%s"
 msgstr "K3Вас оживив ^BG%s"
 
-#: qcsrc/common/notifications.qh:611
+#: qcsrc/common/notifications.qh:624
 #, c-format
 msgid "^K3You were automatically revived after %s second(s)"
 msgstr "K3Вас автоматично оживили після %s секунд(и)"
 
-#: qcsrc/common/notifications.qh:614
+#: qcsrc/common/notifications.qh:627
 msgid "^K1You froze yourself"
 msgstr "^K1Ви заморозили самі себе"
 
-#: qcsrc/common/notifications.qh:615
+#: qcsrc/common/notifications.qh:628
 msgid "^K1Round already started, you spawn as frozen"
 msgstr "^K1Раунд вже почався, ви починаєте вже замороженим"
 
-#: qcsrc/common/notifications.qh:622
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:636
 msgid ""
 "^K1No spawnpoints available!\n"
 "Hope your team can fix it..."
@@ -2695,7 +2808,7 @@ msgstr ""
 "^K1Жодна точка відродження недоступна!\n"
 "Надійтесь на свою команду..."
 
-#: qcsrc/common/notifications.qh:623
+#: qcsrc/common/notifications.qh:637
 msgid ""
 "^K1You may not join the game at this time.\n"
 "The player limit reached maximum capacity."
@@ -2703,11 +2816,15 @@ msgstr ""
 "^K1Зараз ви не зможете приєднатися до гри.\n"
 "Досягнуто ліміту гравців."
 
-#: qcsrc/common/notifications.qh:626
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
 msgid "^BGKilling people while you don't have the ball gives no points!"
 msgstr "^BGВбивство людей коли ви не володієте м'ячем не приносить очок!"
 
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:642
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Help the key carriers to meet!"
@@ -2715,7 +2832,7 @@ msgstr ""
 "^BGВаша команда володіє всіма ключами!\n"
 "Допоможіть носіям ключів зустрітися!"
 
-#: qcsrc/common/notifications.qh:628
+#: qcsrc/common/notifications.qh:643
 msgid ""
 "^BGAll keys are in ^TC^TT team^BG's hands!\n"
 "Interfere ^F4NOW^BG!"
@@ -2723,7 +2840,7 @@ msgstr ""
 "^BGВсі ключі зараз у руках ^TC^TT команди!^BG\n"
 "Ви маєте зупинити їх ^F4НЕГАЙНО^BG!"
 
-#: qcsrc/common/notifications.qh:629
+#: qcsrc/common/notifications.qh:644
 msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Meet the other key carriers ^F4NOW^BG!"
@@ -2731,19 +2848,19 @@ msgstr ""
 "^BGВсі ключі в руках вашої команди!\n"
 "Зустріньтесь з іншими носіями ключів ^F4НЕГАЙНО^BG!"
 
-#: qcsrc/common/notifications.qh:630
+#: qcsrc/common/notifications.qh:645
 msgid "^F4Round will start in ^COUNT"
 msgstr "^F4Раунд почнеться через ^COUNT"
 
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:646
 msgid "^BGScanning frequency range..."
 msgstr "^BGСканується діапазон частот..."
 
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:647
 msgid "^BGYou are starting with the ^TC^TT Key"
 msgstr "^BGВи починаєте з ^TC^TT ключем"
 
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
 #, c-format
 msgid ""
 "^BGWaiting for players to join...\n"
@@ -2752,38 +2869,38 @@ msgstr ""
 "^BGОчікування приєднання гравців...\n"
 "Потрібні активні гравця для: %s"
 
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:650
 #, c-format
 msgid "^BGWaiting for %s player(s) to join..."
 msgstr "^BGОчікування приєднання %s гравця(ців)..."
 
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:651
 msgid "^F4^COUNT^BG left to find some ammo!"
 msgstr "^F4^COUNT^BG залишилось часу щоб знайти набої!"
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
 msgstr "^BGЗнайдіть набої або загиньте через ^F4^COUNT^BG!"
 
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:652
 msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
 msgstr "^BGЗнайдіть набої! ^F4^COUNT^BG залишилось!"
 
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:653
 #, c-format
 msgid "^F2Extra lives remaining: ^K1%s"
 msgstr "^F2Додаткових життів залишилось: ^K1%s"
 
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:654
 msgid "^BGSecondary fire inflicts no damage!"
 msgstr "^BGДодатковий режим вогню не завдає шкоди!"
 
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:655
 #, c-format
 msgid "^BG%s"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:656
 #, c-format
 msgid ""
 "^F2^COUNT^BG until weapon change...\n"
@@ -2792,16 +2909,16 @@ msgstr ""
 "^F2^COUNT^BG до зміни зброї...\n"
 "Наступна зброя: ^F1%s"
 
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:657
 #, c-format
 msgid "^F2Active weapon: ^F1%s"
 msgstr "^F2Поточна зброя: ^F1%s"
 
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:658
 msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
 msgstr ""
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep fragging until we have a winner!"
@@ -2809,7 +2926,7 @@ msgstr ""
 "^F2Почався ^F4ДОДАТКОВИЙ ЧАС^F2!\n"
 "Продовжуйте боротьбу доки не визначиться переможець!"
 
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:659
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
 "Keep scoring until we have a winner!"
@@ -2817,7 +2934,7 @@ msgstr ""
 "^F2Почався ^F4ДОДАТКОВИЙ ЧАС^F2!\n"
 "Продовжуйте набирати очки доки не визначиться переможець!"
 
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:660
 #, c-format
 msgid ""
 "^F2Now playing ^F4OVERTIME^F2!\n"
@@ -2826,210 +2943,210 @@ msgstr ""
 "^F2Йде ^F4ДОДАТКОВИЙ ЧАС^F2!\n"
 "^BGДодано ^F4%s^BG у гру!"
 
-#: qcsrc/common/notifications.qh:646
+#: qcsrc/common/notifications.qh:661
 msgid "^F2Invisibility has worn off"
 msgstr "^F2Невидимість вичерпалася"
 
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:662
 msgid "^F2Shield has worn off"
 msgstr "^F2Щит вичерпався"
 
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:663
 msgid "^F2Speed has worn off"
 msgstr "^F2Швидкість вичерпалася"
 
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:664
 msgid "^F2Strength has worn off"
 msgstr "^F2Сила вичерпалася"
 
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:665
 msgid "^F2You are invisible"
 msgstr "^F2Ви невидимі"
 
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:666
 msgid "^F2Shield surrounds you"
 msgstr "^F2Вас оточує щит"
 
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:667
 msgid "^F2You are on speed"
 msgstr "^F2Ви прискоренні"
 
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:668
 msgid "^F2Strength infuses your weapons with devastating power"
 msgstr "^F2Сила надає вашій зброї руйнівної потужності"
 
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:669
 msgid "^F2The race is over, finish your lap!"
 msgstr "^F2Гонка закінчилася, завершуйте своє коло!"
 
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:670
 msgid "^F2Superweapons have broken down"
 msgstr "^F2Суперзброя зламалася"
 
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:671
 msgid "^F2Superweapons have been lost"
 msgstr "^F2Суперзброя втрачена"
 
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:672
 msgid "^F2You now have a superweapon"
 msgstr "^F2Ви отримали суперзброю"
 
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:673
 msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
 msgstr "^K1Перехід до ^TC^TT^K1 через ^COUNT"
 
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:674
 msgid "^K1Changing team in ^COUNT"
 msgstr "^K1Зміна команди через ^COUNT"
 
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:675
 msgid "^K1Spectating in ^COUNT"
-msgstr "^K1СпоÑ\81Ñ\82еÑ\80еженнÑ\8f через ^COUNT"
+msgstr "^K1Ð\92и Ñ\81Ñ\82анеÑ\82е Ð³Ð»Ñ\8fдаÑ\87ем через ^COUNT"
 
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:676
 msgid "^K1Suicide in ^COUNT"
 msgstr "^K1Самогубство через ^COUNT"
 
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:677
 msgid "^F4Timeout begins in ^COUNT"
 msgstr "^F4Тайм-аут почнеться через ^COUNT"
 
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:678
 msgid "^F4Timeout ends in ^COUNT"
 msgstr "^F4Тайм-аут закінчиться через ^COUNT"
 
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
 #, c-format
 msgid " (near %s)"
 msgstr " (біля %s)"
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "primary"
 msgstr "основний режим вогню"
 
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
 msgid "secondary"
 msgstr "додатковий режим вогню"
 
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:980
 #, c-format
 msgid " ^F1(Press %s)"
 msgstr " ^F1(Натисніть %s)"
 
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:989
 #, c-format
 msgid " with %s"
 msgstr " з %s"
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
 msgstr "%s^K1 зробив ПОТРІЙНИЙ ФРАГ! %s^BG"
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 #, c-format
 msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
 msgstr "%s^K1 заробив ПОТРІЙНЕ ОЧКО! %s^BG"
 
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:998
 msgid "TRIPLE FRAG! "
 msgstr "ПОТРІЙНИЙ ФРАГ!"
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 заробив П'ЯТЬ ОЧОК ПІДРЯД %s^BG"
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 #, c-format
 msgid "%s^K1 unlocked RAGE! %s^BG"
 msgstr "%s^K1 відімкнув ЛЮТЬ! %s^BG"
 
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:999
 msgid "RAGE! "
 msgstr "ЛЮТЬ!"
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 заробив ДЕСЯТЬ ОЧОК ПІДРЯД! %s^BG"
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 #, c-format
 msgid "%s^K1 started a MASSACRE! %s^BG"
 msgstr "%s^K1 почав РІЗАНИНУ! %s^BG"
 
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:1000
 msgid "MASSACRE! "
 msgstr "РІЗАНИНА!"
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 executed MAYHEM! %s^BG"
 msgstr "%s^K1 створив ХАОС! %s^BG"
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 #, c-format
 msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 заробив П'ЯТНАДЦАТЬ ОЧОК ПІДРЯД! %s^BG"
 
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1001
 msgid "MAYHEM! "
 msgstr "ХАОС!"
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 is a BERSERKER! %s^BG"
 msgstr "%s^K1 став БЕРСЕРКОМ! %s^BG"
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 #, c-format
 msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 заробив ДВАДЦЯТЬ ОЧОК ПІДРЯД! %s^BG"
 
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1002
 msgid "BERSERKER! "
 msgstr "БЕРСЕРК!"
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 inflicts CARNAGE! %s^BG"
 msgstr "%s^K1 скоїв МАСОВЕ ВБИВСТВО! %s^BG"
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 #, c-format
 msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 заробив ДВАДЦЯТЬ П'ЯТЬ ОЧОК ПІДРЯД! %s^BG"
 
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1003
 msgid "CARNAGE! "
 msgstr "МАСОВЕ ВБИВСТВО!"
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
 msgstr "%s^K1 заробив ТРИДЦЯТЬ ОЧОК ПІДРЯД! %s^BG"
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 #, c-format
 msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
 msgstr "%s^K1 почав АРМАГЕДДОН! %s^BG"
 
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1004
 msgid "ARMAGEDDON! "
 msgstr "АРМАГЕДДОН!"
 
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1010
 #, c-format
 msgid "%s(^F1Bot^BG)"
 msgstr "%s(^F1Бот^BG)"
 
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1012
 #, c-format
 msgid "%s(Ping ^F1%d^BG)"
 msgstr "%s(Пінг ^F1%d^BG)"
 
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1018
 #, c-format
 msgid ""
 "\n"
@@ -3038,7 +3155,7 @@ msgstr ""
 "\n"
 "(Здоров'я ^1%d^BG / Броня ^2%d^BG)%s"
 
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1020
 #, c-format
 msgid ""
 "\n"
@@ -3047,68 +3164,68 @@ msgstr ""
 "\n"
 "(^F4Мертвий^BG)%s"
 
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
 #, c-format
 msgid "%d score spree! "
 msgstr "%d череда очок! "
 
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1069
 #, c-format
 msgid "%d frag spree! "
 msgstr "%d череда фрагів! "
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First blood! "
 msgstr "Перша кров! "
 
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1082
 msgid "First score! "
 msgstr "Перше очко! "
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First casualty! "
 msgstr "Перший вбитий! "
 
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1086
 msgid "First victim! "
 msgstr "Перша жертва! "
 
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1127
 #, c-format
 msgid "%s^K1 has %d frags in a row! %s^BG"
 msgstr "%s^K1 має %d фрагів підряд! %s^BG"
 
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1128
 #, c-format
 msgid "%s^K1 made %d scores in a row! %s^BG"
 msgstr "%s^K1 заробив %d очок підряд! %s^BG"
 
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1146
 #, c-format
 msgid "%s^K1 drew first blood! %s^BG"
 msgstr "%s^K1 пролив першу кров! %s^BG"
 
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1147
 #, c-format
 msgid "%s^K1 got the first score! %s^BG"
 msgstr "%s^K1 заробив перше очко! %s^BG"
 
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1163
 #, c-format
 msgid ", ending their %d frag spree"
 msgstr ", зупиняючи %d череду фрагів"
 
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1164
 #, c-format
 msgid ", ending their %d score spree"
 msgstr ", зупиняючи %d череду очок"
 
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1178
 #, c-format
 msgid ", losing their %d frag spree"
 msgstr ", втрачаючи %d череду фрагів"
 
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1179
 #, c-format
 msgid ", losing their %d score spree"
 msgstr ", втрачаючи %d череду очків"
@@ -3149,11 +3266,11 @@ msgstr "  sync - перезавантажує усі cvars на поточній
 msgid "  directmenu ITEM - select a menu item as main item\n"
 msgstr "  directmenu ITEM - обрати компонент меню як головний компонент\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:62
+#: qcsrc/menu/command/menu_cmd.qc:68
 msgid "Available options:\n"
 msgstr "Доступні налаштування:\n"
 
-#: qcsrc/menu/command/menu_cmd.qc:113
+#: qcsrc/menu/command/menu_cmd.qc:119
 msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
 msgstr ""
 "Невірна команда. Щоб побачити список доступних команд спробуйте menu_cmd "
@@ -3164,7 +3281,7 @@ msgstr ""
 msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
 msgstr "ПРИМІТКА: текст ярлика %s надто широкий для нього, зменшений на %f\n"
 
-#: qcsrc/menu/item/listbox.c:302
+#: qcsrc/menu/item/listbox.c:382
 #, c-format
 msgid "Item %d"
 msgstr "Предмет %d"
@@ -3181,7 +3298,7 @@ msgstr "особливо"
 #: qcsrc/menu/menu.qc:59
 #, c-format
 msgid "^4MQC Build information: ^1%s\n"
-msgstr "^4Відомості про збірку MQC: ^1%s\n"
+msgstr "^4Відомості про збірку: ^1%s\n"
 
 #: qcsrc/menu/xonotic/campaign.c:286
 #: qcsrc/menu/xonotic/dialog_singleplayer.c:123
@@ -3193,23 +3310,27 @@ msgstr "???"
 msgid "Level %d: %s"
 msgstr "Рівень %d: %s"
 
-#: qcsrc/menu/xonotic/cvarlist.c:85
-msgid "will be saved to config.cfg"
-msgstr "буде збережено в config.cfg"
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr ""
 
-#: qcsrc/menu/xonotic/cvarlist.c:87
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
 msgid "will not be saved"
 msgstr "не буде збережено"
 
-#: qcsrc/menu/xonotic/cvarlist.c:89
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr "буде збережено в config.cfg"
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
 msgid "private"
 msgstr "приватно"
 
-#: qcsrc/menu/xonotic/cvarlist.c:91
+#: qcsrc/menu/xonotic/cvarlist.c:95
 msgid "engine setting"
 msgstr "налаштування рушія"
 
-#: qcsrc/menu/xonotic/cvarlist.c:93
+#: qcsrc/menu/xonotic/cvarlist.c:97
 msgid "read only"
 msgstr "тільки читання"
 
@@ -3218,6 +3339,7 @@ msgid "Credits"
 msgstr "Розробники"
 
 #: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
@@ -3226,7 +3348,7 @@ msgstr "Розробники"
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:77
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
 #: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
 msgid "OK"
 msgstr "Гаразд"
@@ -3235,7 +3357,7 @@ msgstr "Гаразд"
 msgid "Welcome"
 msgstr "Вітаємо"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:40
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
 msgid ""
 "Welcome to Xonotic, please select your language preference and enter your "
 "player name to get started.  You can change these options later through the "
@@ -3244,34 +3366,34 @@ msgstr ""
 "Вітаємо у Xonotic! Будь ласка, для початку оберіть свою мову та вкажіть своє "
 "ім'я.  Ви зможете змінити їх через систему меню потім."
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
 msgid "Name:"
 msgstr "Ім'я:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:68
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
 #: qcsrc/menu/xonotic/dialog_settings_user.c:65
 msgid "Text language:"
 msgstr "Мова тексту:"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
 msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
 msgstr "Дозволити використання імені гравця в статистиці на stats.xonotic.org?"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
 msgid "ALWU2N^Yes"
 msgstr "Так"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
 msgid "ALWU2N^No"
 msgstr "Ні"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
 msgid "ALWU2N^Undecided"
 msgstr "Не вирішено"
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
 msgid "Save settings"
 msgstr "Зберегти налаштування"
 
@@ -3558,7 +3680,7 @@ msgstr "Панель натиснутих клавіш"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:23
 msgid "Panel enabled when spectating"
-msgstr "Ð\9fанелÑ\8c Ð¿Ñ\80аÑ\86Ñ\8eÑ\94 Ð¿Ñ\96д Ñ\87аÑ\81 Ñ\81поÑ\81Ñ\82еÑ\80Ñ\96ганнÑ\8f"
+msgstr "Ð\9fанелÑ\8c Ð¿Ñ\80иÑ\81Ñ\83Ñ\82нÑ\8f ÐºÐ¾Ð»Ð¸ Ð²Ð¸ Ð³Ð»Ñ\8fдаÑ\87"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:24
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:24
@@ -3589,7 +3711,7 @@ msgstr "Радар:"
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
-#: qcsrc/menu/xonotic/util.qc:708
+#: qcsrc/menu/xonotic/util.qc:758
 msgid "Alpha:"
 msgstr "Прозорість:"
 
@@ -3771,24 +3893,24 @@ msgstr "Налаштування панелі HUD"
 msgid "Panel background defaults:"
 msgstr "Фон панелі за замовчуванням:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:683
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
 msgid "Background:"
 msgstr "Фон:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:686
-#: qcsrc/menu/xonotic/util.qc:702 qcsrc/menu/xonotic/util.qc:719
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
 msgid "Disable"
 msgstr "Вимкнути"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:691
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
 msgid "Color:"
 msgstr "Колір:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:699
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
 msgid "Border size:"
 msgstr "Розмір обвідки:"
 
@@ -3797,11 +3919,11 @@ msgstr "Розмір обвідки:"
 msgid "Team color:"
 msgstr "Колір команди:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:725
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
 msgid "Test team color in configure mode"
 msgstr "Протестувати колір команди у конфігураційному режимі"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:728
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
 msgid "Padding:"
 msgstr "Підкладка:"
 
@@ -3849,6 +3971,53 @@ msgstr "Y:"
 msgid "Exit setup"
 msgstr "Вийти з налаштувань"
 
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr "Створити"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr "Прибрати"
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr "Встановити скин:"
+
 #: qcsrc/menu/xonotic/dialog_multiplayer.c:4
 msgid "Multiplayer"
 msgstr "Мультиплеєр"
@@ -3890,6 +4059,7 @@ msgstr "Використати налаштування мапи"
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
 msgid "Point limit:"
 msgstr "Ліміт очок:"
 
@@ -3954,7 +4124,7 @@ msgid "Mutators..."
 msgstr "Мутатори..."
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
 msgid "Advanced settings..."
 msgstr "Розширені налаштування..."
 
@@ -3990,7 +4160,7 @@ msgstr "Кругів:"
 msgid "Goals:"
 msgstr "Голів:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
 msgid "Frag limit:"
 msgstr "Ліміт фрагів:"
 
@@ -4004,7 +4174,7 @@ msgstr "Налаштування гри:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:28
 msgid "Allow spectating"
-msgstr "Дозволити спостерігання"
+msgstr "Дозволити глядачів"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:31
 msgid "Spawn shield:"
@@ -4290,27 +4460,31 @@ msgid "Join"
 msgstr "Приєднатися"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
 msgid "SRVS^Empty"
 msgstr "Порожні"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:37
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
 msgid "SRVS^Full"
 msgstr "Повні"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:41
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
 msgid "Pause"
 msgstr "Пауза"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:53
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
 msgid "Address:"
 msgstr "Адреса:"
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:64
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
 msgid "Info..."
 msgstr "Відомості..."
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:69
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
 msgid "Join!"
 msgstr "Приєднатися!"
@@ -4325,9 +4499,9 @@ msgid "%d/%d"
 msgstr "%d/%d"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
-#: qcsrc/menu/xonotic/util.qc:685 qcsrc/menu/xonotic/util.qc:701
-#: qcsrc/menu/xonotic/util.qc:710 qcsrc/menu/xonotic/util.qc:718
-#: qcsrc/menu/xonotic/util.qc:730
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
 msgid "Default"
 msgstr "За замовчуванням"
 
@@ -4719,7 +4893,7 @@ msgstr "Швидкість"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72
 msgid "Allow passing through walls while spectating"
-msgstr "Ð\94озволиÑ\82и Ñ\80Ñ\83Ñ\85 ÐºÑ\80Ñ\96зÑ\8c Ñ\81Ñ\82Ñ\96ни Ð¿Ñ\96дÑ\87аÑ\81 Ñ\81поÑ\81Ñ\82еÑ\80Ñ\96ганнÑ\8f"
+msgstr "Ð\94озволиÑ\82и Ñ\80Ñ\83Ñ\85 ÐºÑ\80Ñ\96зÑ\8c Ñ\81Ñ\82Ñ\96ни Ð´Ð»Ñ\8f Ð³Ð»Ñ\8fдаÑ\87Ñ\96в"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75
 msgid "1st person perspective"
@@ -4805,10 +4979,6 @@ msgstr "Ні"
 msgid "Sandbox Tools"
 msgstr "Інструменти Пісочниці"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
-msgid "Spawn"
-msgstr "Створити"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
 msgid "Remove *"
 msgstr "Прибрати *"
@@ -4841,10 +5011,6 @@ msgstr "Відокремити від *"
 msgid "Visual object properties for *:"
 msgstr "Візуальні властивості об'єкту для *:"
 
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
-msgid "Set skin:"
-msgstr "Встановити скин:"
-
 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
 msgid "Set alpha:"
 msgstr "Встановити прозорість:"
@@ -5476,175 +5642,179 @@ msgid "Client UDP port:"
 msgstr "UDP порт клієнта:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "Use encryption (AES) when available"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
 msgid "Show netgraph"
 msgstr "Показувати графік мережі"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
 msgid "Client-side movement prediction"
 msgstr "Передбачення руху зі сторони клієнта"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:63
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
 msgid "Movement error compensation"
 msgstr "Компенсація помилок руху"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
 msgid "Downloads:"
 msgstr "Завантажень:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:70
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:82
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
 msgid "Maximum:"
 msgstr "Максимум:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
 msgid "Speed (kB/s):"
 msgstr "Швидкість (кб/с):"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:79
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
 msgid "Framerate:"
 msgstr "Кадри за секунду:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:84
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
 msgid "MAXFPS^5 fps"
 msgstr "5 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:85
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
 msgid "MAXFPS^10 fps"
 msgstr "10 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
 msgid "MAXFPS^20 fps"
 msgstr "20 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:87
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
 msgid "MAXFPS^30 fps"
 msgstr "30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
 msgid "MAXFPS^40 fps"
 msgstr "40 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
 msgid "MAXFPS^50 fps"
 msgstr "50 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
 msgid "MAXFPS^60 fps"
 msgstr "60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
 msgid "MAXFPS^70 fps"
 msgstr "70 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
 msgid "MAXFPS^100 fps"
 msgstr "100 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
 msgid "MAXFPS^125 fps"
 msgstr "125 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
 msgid "MAXFPS^200 fps"
 msgstr "200 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
 msgid "MAXFPS^Unlimited"
 msgstr "Необмежено"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
 msgid "Target:"
 msgstr "Ціль:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:101
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
 msgid "TRGT^Disabled"
 msgstr "Вимкнуто"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:102
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
 msgid "TRGT^30 fps"
 msgstr "30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
 msgid "TRGT^40 fps"
 msgstr "40 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:104
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
 msgid "TRGT^50 fps"
 msgstr "50 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
 msgid "TRGT^60 fps"
 msgstr "60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
 msgid "TRGT^100 fps"
 msgstr "100 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
 msgid "TRGT^125 fps"
 msgstr "125 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
 msgid "TRGT^200 fps"
 msgstr "200 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
 msgid "Idle limit:"
 msgstr "Ліміт часу бездіяльності:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:114
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
 msgid "IDLFPS^10 fps"
 msgstr "10 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:115
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
 msgid "IDLFPS^20 fps"
 msgstr "20 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
 msgid "IDLFPS^30 fps"
 msgstr "30 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:117
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
 msgid "IDLFPS^60 fps"
 msgstr "60 fps"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
 msgid "IDLFPS^Unlimited"
 msgstr "Необмежено"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:123
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
 msgid "Show frames per second"
 msgstr "Показувати кількість кадрів в секунду"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:126
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
 msgid "Save processing time for other apps"
 msgstr "Зберігати процесорний час для інших програм"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
 msgid "Menu tooltips:"
 msgstr "Підказки в меню:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:132
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
 msgid "TLTIP^Disabled"
 msgstr "Вимкнуті"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:133
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
 msgid "TLTIP^Standard"
 msgstr "Стандартно"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
 msgid "TLTIP^Advanced"
 msgstr "Розширені"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
 msgid "Show current time"
 msgstr "Показувати поточний час"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:140
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
 msgid "Show current date"
 msgstr "Показувати поточну дату"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
 msgid "Enable developer mode"
 msgstr "Увімкнути режим розробника"
 
@@ -5668,7 +5838,7 @@ msgstr "Тип:"
 msgid "Value:"
 msgstr "Значення:"
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:72
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
 msgid "Description:"
 msgstr "Опис:"
 
@@ -5696,6 +5866,26 @@ msgstr "Дозволити збір статистика про вашого г
 msgid "Allow player statistics to use your nickname"
 msgstr "Дозволити використання вашого нікнейму в статистиці"
 
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
 #: qcsrc/menu/xonotic/dialog_settings_video.c:26
 msgid "Resolution:"
 msgstr "Роздільність:"
@@ -5946,7 +6136,7 @@ msgstr "рожева"
 msgid "spectate"
 msgstr "спостерігати"
 
-#: qcsrc/menu/xonotic/mainwindow.c:39 qcsrc/menu/xonotic/mainwindow.c:42
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
 msgid "Do not press this button again!"
 msgstr "Більше не натискайте цю клавішу!"
 
@@ -5978,31 +6168,63 @@ msgstr "спостерігач"
 msgid "<no model found>"
 msgstr "<модель не знайдена>"
 
-#: qcsrc/menu/xonotic/serverlist.c:190
-msgid "Remove"
-msgstr "Прибрати"
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:192
-msgid "Bookmark"
-msgstr "Закладка"
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:553
+#: qcsrc/menu/xonotic/serverlist.c:923
 msgid "Ping"
 msgstr "Пінг"
 
-#: qcsrc/menu/xonotic/serverlist.c:554
+#: qcsrc/menu/xonotic/serverlist.c:924
 msgid "Host name"
 msgstr "Ім'я сервера"
 
-#: qcsrc/menu/xonotic/serverlist.c:555
+#: qcsrc/menu/xonotic/serverlist.c:925
 msgid "Map"
 msgstr "Мапа"
 
-#: qcsrc/menu/xonotic/serverlist.c:556
+#: qcsrc/menu/xonotic/serverlist.c:926
 msgid "Type"
 msgstr "Тип"
 
-#: qcsrc/menu/xonotic/serverlist.c:557
+#: qcsrc/menu/xonotic/serverlist.c:927
 msgid "Players"
 msgstr "Гравці"
 
@@ -6042,32 +6264,32 @@ msgstr ""
 msgid "%s dB"
 msgstr "%s дБ"
 
-#: qcsrc/menu/xonotic/slider_resolution.c:103
+#: qcsrc/menu/xonotic/slider_resolution.c:116
 #, c-format
 msgid "%dx%d (%d:%d)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/slider_resolution.c:106
+#: qcsrc/menu/xonotic/slider_resolution.c:119
 #, c-format
 msgid "%dx%d"
 msgstr "%dx%d"
 
-#: qcsrc/menu/xonotic/util.qc:298
+#: qcsrc/menu/xonotic/util.qc:308
 #, c-format
 msgid "error receiving update notification: status is %d\n"
 msgstr "помилка під час отримання сповіщення про оновлення: статус %d\n"
 
-#: qcsrc/menu/xonotic/util.qc:303
+#: qcsrc/menu/xonotic/util.qc:313
 msgid "error: received HTML instead of an update notification\n"
 msgstr "помилка: отримано HTML замість сповіщення про оновлення\n"
 
-#: qcsrc/menu/xonotic/util.qc:308
+#: qcsrc/menu/xonotic/util.qc:318
 msgid "error: received carriage returns from update notification server\n"
 msgstr ""
 "помилка: отримані символи повернення каретки від сервера сповіщення про "
 "оновлення\n"
 
-#: qcsrc/menu/xonotic/util.qc:329
+#: qcsrc/menu/xonotic/util.qc:397
 #, c-format
 msgid ""
 "Update can be downloaded at:\n"
@@ -6076,21 +6298,21 @@ msgstr ""
 "Оновлення можливо завантажити тут:\n"
 "%s\n"
 
-#: qcsrc/menu/xonotic/util.qc:447
+#: qcsrc/menu/xonotic/util.qc:497
 msgid "Autogenerating mapinfo for newly added maps..."
 msgstr "Створення відомостей про нові мапи..."
 
-#: qcsrc/menu/xonotic/util.qc:476
+#: qcsrc/menu/xonotic/util.qc:526
 #, c-format
 msgid "^1%s TEST BUILD"
 msgstr "^1%s ТЕСТОВА ЗБІРКА"
 
-#: qcsrc/menu/xonotic/util.qc:491
+#: qcsrc/menu/xonotic/util.qc:541
 #, c-format
 msgid "Update to %s now!"
 msgstr "Негайно оновіть версію до %s!"
 
-#: qcsrc/menu/xonotic/util.qc:576
+#: qcsrc/menu/xonotic/util.qc:626
 msgid ""
 "^1ERROR: Texture compression is required but not supported.\n"
 "^1Expect visual problems.\n"
@@ -6098,11 +6320,11 @@ msgstr ""
 "^1Помилка: Компресія текстур обов'язкова але не підтримується.\n"
 "^1Очікуйте візуальних проблем.\n"
 
-#: qcsrc/menu/xonotic/util.qc:696
+#: qcsrc/menu/xonotic/util.qc:746
 msgid "Use default"
 msgstr "Використовувати за замовчуванням"
 
-#: qcsrc/menu/xonotic/util.qc:716
+#: qcsrc/menu/xonotic/util.qc:766
 msgid "Team Color:"
 msgstr "Колір команди:"
 
diff --git a/common.zh_CN.po b/common.zh_CN.po
new file mode 100644 (file)
index 0000000..dd2ecb6
--- /dev/null
@@ -0,0 +1,6286 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# sapphireliu <balancedliu@gmail.com>, 2014
+# sapphireliu <balancedliu@gmail.com>, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: Xonotic\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
+"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/xonotic/"
+"language/zh_CN/)\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: qcsrc/client/Main.qc:21
+msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!"
+msgstr ""
+
+#: qcsrc/client/Main.qc:46
+msgid ""
+"^3Your engine build is outdated\n"
+"^3This Server uses a newer QC VM. Please update!\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:56
+#, c-format
+msgid "^4CSQC Build information: ^1%s\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:836
+#, c-format
+msgid ""
+"Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
+"%s)\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:1295
+#, c-format
+msgid "%s (not bound)"
+msgstr ""
+
+#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:157
+#, c-format
+msgid "%s (%s)"
+msgstr ""
+
+#: qcsrc/client/View.qc:1165
+msgid "Revival progress"
+msgstr ""
+
+#: qcsrc/client/hud.qc:186
+#, c-format
+msgid " (-%dL)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:191
+#, c-format
+msgid " (+%dL)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:210
+msgid "Start line"
+msgstr ""
+
+#: qcsrc/client/hud.qc:212 qcsrc/client/hud.qc:216
+msgid "Finish line"
+msgstr ""
+
+#: qcsrc/client/hud.qc:214
+#, c-format
+msgid "Intermediate %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:223
+#, c-format
+msgid "%s (%s %s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:832
+msgid "Out of ammo"
+msgstr "子弹耗尽"
+
+#: qcsrc/client/hud.qc:836
+msgid "Don't have"
+msgstr ""
+
+#: qcsrc/client/hud.qc:840
+msgid "Unavailable"
+msgstr "不可用"
+
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
+#, c-format
+msgid "Player %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2369
+msgid "^1Intermediate 1 (+15.42)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
+#, c-format
+msgid "^1PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2456
+#, c-format
+msgid "^2PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2486
+msgid "^1You must answer before entering hud configure mode\n"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2491
+msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2570
+msgid "A vote has been called for:"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2572
+msgid "Allow servers to store and display your name?"
+msgstr "允许服务器存储并显示你的名字?"
+
+#: qcsrc/client/hud.qc:2576
+msgid "^1Configure the HUD"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2580
+#, c-format
+msgid "Yes (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2582
+#, c-format
+msgid "No (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
+msgid "Personal best"
+msgstr "个人最佳"
+
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
+msgid "Server best"
+msgstr "服务器最佳"
+
+#: qcsrc/client/hud.qc:3528
+msgid "^3Player^7: This is the chat area."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3593
+#, c-format
+msgid "FPS: %.*f"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3657
+msgid "^1Observing"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
+#, c-format
+msgid "^1Spectating: ^7%s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3667
+#, c-format
+msgid "^1Press ^3%s^1 to spectate"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3669
+#, c-format
+msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3673
+#, c-format
+msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3675
+#, c-format
+msgid "^1Press ^3%s^1 to observe"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3678
+#, c-format
+msgid "^1Press ^3%s^1 for gamemode info"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3686
+msgid "^1Match has already begun"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3688
+msgid "^1You have no more lives left"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
+#, c-format
+msgid "^1Press ^3%s^1 to join"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3701
+#, c-format
+msgid "^1Game starts in ^3%d^1 seconds"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3708
+msgid "^2Currently in ^1warmup^2 stage!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3723
+#, c-format
+msgid "%sPress ^3%s%s to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3725
+#, c-format
+msgid "%sPress ^3%s%s once you are ready"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3730
+msgid "^2Waiting for others to ready up to end warmup..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3732
+msgid "^2Waiting for others to ready up..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3738
+#, c-format
+msgid "^2Press ^3%s^2 to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3759
+msgid "Teamnumbers are unbalanced!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3764
+#, c-format
+msgid " Press ^3%s%s to adjust"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3772
+msgid "^7Press ^3ESC ^7to show HUD options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3774
+msgid "^3Doubleclick ^7a panel for panel-specific options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3776
+msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3778
+msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3825
+msgid " qu/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3829
+msgid " m/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3833
+msgid " km/h"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3837
+msgid " mph"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3841
+msgid " knots"
+msgstr ""
+
+#: qcsrc/client/hud.qc:4497
+msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
+msgstr ""
+
+#: qcsrc/client/hud_config.qc:196
+#, c-format
+msgid "^2Successfully exported to %s! (Note: It's saved in data/data/)\n"
+msgstr ""
+
+#: qcsrc/client/hud_config.qc:200
+#, c-format
+msgid "^1Couldn't write to %s\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:28
+msgid " (1 vote)"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:30
+#, c-format
+msgid " (%d votes)"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:118
+msgid "Don't care"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:203
+msgid "Vote for a map"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:209
+#, c-format
+msgid "%d seconds left"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:273
+msgid ""
+"mv_mapdownload: ^3You're not supposed to use this command on your own!\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:283
+msgid "^1Error:^7 Couldn't find pak index.\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:292
+msgid "Requesting preview...\n"
+msgstr ""
+
+#: qcsrc/client/miscfunctions.qc:101
+msgid "Trying to remove a team which is not in the teamlist!"
+msgstr ""
+
+#: qcsrc/client/movetypes.qc:227
+#, c-format
+msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr ""
+
+#: qcsrc/client/movetypes.qc:230
+#, c-format
+msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:19
+msgid "SCO^bckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:20
+msgid "SCO^bctime"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:21
+msgid "SCO^caps"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:22
+msgid "SCO^captime"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:23
+msgid "SCO^deaths"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:24
+msgid "SCO^destroyed"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:25
+msgid "SCO^drops"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:26
+msgid "SCO^faults"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:27
+msgid "SCO^fckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:28
+msgid "SCO^goals"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:29
+msgid "SCO^kckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:30
+msgid "SCO^kdratio"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:31
+msgid "SCO^k/d"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:32
+msgid "SCO^kd"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:33
+msgid "SCO^kdr"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:34
+msgid "SCO^kills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:35
+msgid "SCO^laps"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:36
+msgid "SCO^lives"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:37
+msgid "SCO^losses"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:38
+msgid "SCO^name"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:39
+msgid "SCO^sum"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:40
+msgid "SCO^nick"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:41
+msgid "SCO^objectives"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:42
+msgid "SCO^pickups"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:43
+msgid "SCO^ping"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:44
+msgid "SCO^pl"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:45
+msgid "SCO^pushes"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:46
+msgid "SCO^rank"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:47
+msgid "SCO^returns"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:48
+msgid "SCO^revivals"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:49
+msgid "SCO^score"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:50
+msgid "SCO^suicides"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:51
+msgid "SCO^takes"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:52
+msgid "SCO^ticks"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:237
+msgid ""
+"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:238
+msgid "^3|---------------------------------------------------------------|\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:239
+msgid "Usage:\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:240
+msgid "^2scoreboard_columns_set default\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:241
+msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:242
+msgid "The following field names are recognized (case insensitive):\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:243
+msgid ""
+"You can use a ^3|^7 to start the right-aligned fields.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:245
+msgid "^3name^7 or ^3nick^7             Name of a player\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:246
+msgid "^3ping^7                     Ping time\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:247
+msgid "^3pl^7                       Packet loss\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:248
+msgid "^3kills^7                    Number of kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:249
+msgid "^3deaths^7                   Number of deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:250
+msgid "^3suicides^7                 Number of suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:251
+msgid "^3frags^7                    kills - suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:252
+msgid "^3kd^7                       The kill-death ratio\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:253
+msgid "^3sum^7                      frags - deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:254
+msgid ""
+"^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
+"captured\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:255
+msgid ""
+"^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
+"ball (Keepaway) was picked up\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:256
+msgid "^3captime^7                  Time of fastest cap (CTF)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:257
+msgid "^3fckills^7                  Number of flag carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:258
+msgid "^3returns^7                  Number of flag returns\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:259
+msgid "^3drops^7                    Number of flag drops\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:260
+msgid "^3lives^7                    Number of lives (LMS)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:261
+msgid "^3rank^7                     Player rank\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:262
+msgid "^3pushes^7                   Number of players pushed into void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:263
+msgid ""
+"^3destroyed^7                Number of keys destroyed by pushing them into "
+"void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:264
+msgid "^3kckills^7                  Number of keys carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:265
+msgid "^3losses^7                   Number of times a key was lost\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:266
+msgid "^3laps^7                     Number of laps finished (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:267
+msgid "^3time^7                     Total time raced (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:268
+msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:269
+msgid "^3ticks^7                    Number of ticks (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:270
+msgid "^3takes^7                    Number of domination points taken (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:271
+msgid "^3bckills^7                  Number of ball carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:272
+msgid ""
+"^3bctime^7                   Total amount of time holding the ball in "
+"Keepaway\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:273
+msgid ""
+"^3score^7                    Total score\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:275
+msgid ""
+"Before a field you can put a + or - sign, then a comma separated list\n"
+"of game types, then a slash, to make the field show up only in these\n"
+"or in all but these game types. You can also specify 'all' as a\n"
+"field to show all fields available for the current game mode.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:280
+msgid ""
+"The special game type names 'teams' and 'noteams' can be used to\n"
+"include/exclude ALL teams/noteams game modes.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:283
+msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:284
+msgid ""
+"will display name, ping and pl aligned to the left, and the fields\n"
+"right of the vertical bar aligned to the right.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:286
+msgid ""
+"'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
+"other gamemodes except DM.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:240
+msgid "N/A"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:970
+#, c-format
+msgid "Accuracy stats (average %d%%)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1033
+#, c-format
+msgid "%d%%"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1099
+msgid "Map stats:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1124
+msgid "Secrets found:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1152
+msgid "Rankings"
+msgstr "排名"
+
+#: qcsrc/client/scoreboard.qc:1248
+msgid "Scoreboard"
+msgstr "计分板"
+
+#: qcsrc/client/scoreboard.qc:1307
+#, c-format
+msgid "Speed award: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1311
+#, c-format
+msgid "All-time fastest: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1345
+msgid "Spectators"
+msgstr "观察者"
+
+#: qcsrc/client/scoreboard.qc:1352
+#, c-format
+msgid "playing ^3%s^7 on ^2%s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
+#, c-format
+msgid " for up to ^1%1.0f minutes^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
+msgid " or"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
+#, c-format
+msgid " until ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
+msgid "SCO^points"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
+msgid "SCO^is beaten"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
+#, c-format
+msgid " until a lead of ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1419
+#, c-format
+msgid "^1Respawning in ^3%s^1..."
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1429
+#, c-format
+msgid "You are dead, wait ^3%s^7 before respawning"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1438
+#, c-format
+msgid "You are dead, press ^2%s^7 to respawn"
+msgstr ""
+
+#: qcsrc/client/target_music.qc:94 qcsrc/client/target_music.qc:183
+#, c-format
+msgid "Cannot initialize sound %s\n"
+msgstr ""
+
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
+msgid "Spam"
+msgstr ""
+
+#: qcsrc/client/tturrets.qc:308
+#, c-format
+msgid "%s under attack!"
+msgstr ""
+
+#: qcsrc/client/vehicles/vehicles.qc:331 qcsrc/client/vehicles/vehicles.qc:333
+msgid "No right gunner!"
+msgstr ""
+
+#: qcsrc/client/vehicles/vehicles.qc:353 qcsrc/client/vehicles/vehicles.qc:355
+msgid "No left gunner!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:246
+msgid "Push"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:247
+msgid "Destroy"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:248
+msgid "Defend"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:249
+msgid "Blue base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:250
+msgid "DANGER"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:251
+msgid "Enemy carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:252
+msgid "Flag carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:253
+msgid "Dropped flag"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:254
+msgid "Help me!"
+msgstr "需要支援"
+
+#: qcsrc/client/waypointsprites.qc:255
+msgid "Here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:256
+msgid "Dropped key"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
+msgid "Key carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:258
+msgid "Run here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:263
+msgid "Red base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:264
+msgid "Waypoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
+msgid "Generator"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
+msgid "Control point"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:276
+msgid "Checkpoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
+msgid "Finish"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
+msgid "Start"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
+msgid "Ball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:283
+msgid "Ball carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
+msgid "Laser"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
+msgid "Shotgun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
+msgid "Machine Gun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
+msgid "Mortar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
+msgid "Electro"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
+msgid "Crylink"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
+msgid "Nex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
+msgid "Hagar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
+msgid "Rocket Launcher"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
+msgid "Port-O-Launch"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:294
+msgid "Minstanex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:295
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
+msgid "Hook"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
+msgid "Fireball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:297
+msgid "HLAC"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
+msgid "Rifle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
+msgid "Mine Layer"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:305
+msgid "Invisibility"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:306
+msgid "Extra life"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:307
+msgid "Speed"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:308
+msgid "Strength"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:309
+msgid "Shield"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:310
+msgid "Fuel regen"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:311
+msgid "Jet Pack"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:312
+msgid "Frozen!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:313
+msgid "Tagged"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:314
+msgid "Vehicle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:588
+#, c-format
+msgid "%s needing help!"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:31
+#, c-format
+msgid "error: status is %d\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:159
+msgid "error creating curl handle\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:263
+msgid "Notification dump command only works with cl_cmd and sv_cmd.\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:457
+msgid "Notification restart command only works with cl_cmd and sv_cmd.\n"
+msgstr ""
+
+#: qcsrc/common/counting.qh:5
+#, c-format
+msgid "CI_DEC^%s years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:7
+#, c-format
+msgid "CI_ZER^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:8
+#, c-format
+msgid "CI_FIR^%d year"
+msgstr ""
+
+#: qcsrc/common/counting.qh:9
+#, c-format
+msgid "CI_SEC^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:10
+#, c-format
+msgid "CI_THI^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:11
+#, c-format
+msgid "CI_MUL^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:13
+#, c-format
+msgid "CI_DEC^%s weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:15
+#, c-format
+msgid "CI_ZER^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:16
+#, c-format
+msgid "CI_FIR^%d week"
+msgstr ""
+
+#: qcsrc/common/counting.qh:17
+#, c-format
+msgid "CI_SEC^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:18
+#, c-format
+msgid "CI_THI^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:19
+#, c-format
+msgid "CI_MUL^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:21
+#, c-format
+msgid "CI_DEC^%s days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:23
+#, c-format
+msgid "CI_ZER^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:24
+#, c-format
+msgid "CI_FIR^%d day"
+msgstr ""
+
+#: qcsrc/common/counting.qh:25
+#, c-format
+msgid "CI_SEC^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:26
+#, c-format
+msgid "CI_THI^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:27
+#, c-format
+msgid "CI_MUL^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:29
+#, c-format
+msgid "CI_DEC^%s hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:31
+#, c-format
+msgid "CI_ZER^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:32
+#, c-format
+msgid "CI_FIR^%d hour"
+msgstr ""
+
+#: qcsrc/common/counting.qh:33
+#, c-format
+msgid "CI_SEC^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:34
+#, c-format
+msgid "CI_THI^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:35
+#, c-format
+msgid "CI_MUL^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:38
+#, c-format
+msgid "CI_DEC^%s minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:40
+#, c-format
+msgid "CI_ZER^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:41
+#, c-format
+msgid "CI_FIR^%d minute"
+msgstr ""
+
+#: qcsrc/common/counting.qh:42
+#, c-format
+msgid "CI_SEC^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:43
+#, c-format
+msgid "CI_THI^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:44
+#, c-format
+msgid "CI_MUL^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:46
+#, c-format
+msgid "CI_DEC^%s seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:48
+#, c-format
+msgid "CI_ZER^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:49
+#, c-format
+msgid "CI_FIR^%d second"
+msgstr ""
+
+#: qcsrc/common/counting.qh:50
+#, c-format
+msgid "CI_SEC^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:51
+#, c-format
+msgid "CI_THI^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:52
+#, c-format
+msgid "CI_MUL^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:68
+#, c-format
+msgid "%dst"
+msgstr ""
+
+#: qcsrc/common/counting.qh:69
+#, c-format
+msgid "%dnd"
+msgstr ""
+
+#: qcsrc/common/counting.qh:70
+#, c-format
+msgid "%drd"
+msgstr ""
+
+#: qcsrc/common/counting.qh:71 qcsrc/common/counting.qh:74
+#, c-format
+msgid "%dth"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:717
+#, no-c-format
+msgid "@!#%'n Tuba Throwing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
+#, c-format
+msgid "%s: %s"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:36
+msgid "Deathmatch"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:39
+msgid "Last Man Standing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:42
+msgid "Race"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:45
+msgid "Race CTS"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:48
+msgid "Team Deathmatch"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:51
+msgid "Capture the Flag"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:54
+msgid "Clan Arena"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:57
+msgid "Domination"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:60
+msgid "Key Hunt"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:63
+msgid "Assault"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:66
+msgid "Onslaught"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:69
+msgid "Nexball"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:72
+msgid "Freeze Tag"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:75
+msgid "Keepaway"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr ""
+
+#: qcsrc/common/net_notice.qc:89
+msgid "^1Server notices:"
+msgstr ""
+
+#: qcsrc/common/net_notice.qc:95
+#, c-format
+msgid "^7%s (^3%d sec left)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:343
+#, c-format
+msgid "^BG%s^BG captured the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:344
+#, c-format
+msgid ""
+"^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"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:345
+#, c-format
+msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:346
+#, c-format
+msgid ""
+"^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"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:347
+msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:348
+msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:349
+msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:350
+msgid ""
+"^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
+"base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:351
+#, c-format
+msgid ""
+"^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
+"itself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:352
+msgid "^BGThe ^TC^TT^BG flag has returned to the base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:353
+#, c-format
+msgid "^BG%s^BG lost the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:354
+#, c-format
+msgid "^BG%s^BG got the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
+#, c-format
+msgid "^BG%s^BG returned the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:357
+#, c-format
+msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:358
+#, c-format
+msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:359
+#, c-format
+msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:360
+#, c-format
+msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:360
+#, c-format
+msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:361
+#, c-format
+msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:363
+#, c-format
+msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:364
+#, c-format
+msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:365
+#, c-format
+msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:366
+#, c-format
+msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:367
+#, c-format
+msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:367
+#, c-format
+msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:368
+#, c-format
+msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:369
+#, c-format
+msgid ""
+"^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:370
+#, c-format
+msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:371
+#, c-format
+msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:372
+#, c-format
+msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:373
+#, c-format
+msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:374
+#, c-format
+msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:375
+#, c-format
+msgid ""
+"^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:376
+#, c-format
+msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:377
+#, c-format
+msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:378
+#, c-format
+msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:379
+#, c-format
+msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:380
+#, c-format
+msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:381
+#, c-format
+msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:382
+#, c-format
+msgid "^BG%s^K1 was moved into the %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:383
+#, c-format
+msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:384
+#, c-format
+msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:385
+#, c-format
+msgid "^BG%s^K1 unfairly eliminated themself%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:386
+#, c-format
+msgid "^BG%s^K1 %s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:387
+#, c-format
+msgid "^BG%s^K1 couldn't catch their breath%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:387
+#, c-format
+msgid "^BG%s^K1 was in the water for too long%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:388
+#, c-format
+msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:388
+#, c-format
+msgid "^BG%s^K1 hit the ground with a crunch%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:389
+#, c-format
+msgid "^BG%s^K1 became a bit too crispy%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:389
+#, c-format
+msgid "^BG%s^K1 felt a little hot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:390
+#, c-format
+msgid "^BG%s^K1 died%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:391
+#, c-format
+msgid "^BG%s^K1 found a hot place%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:391
+#, c-format
+msgid "^BG%s^K1 turned into hot slag%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:392
+#, c-format
+msgid "^BG%s^K1 mastered the art of self-nading%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:393
+#, c-format
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:394
+#, c-format
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:395
+#, c-format
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:396
+#, c-format
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:397
+#, c-format
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:398
+#, c-format
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 ran out of ammo%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:402
+#, c-format
+msgid "^BG%s^K1 rotted away%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:403
+#, c-format
+msgid "^BG%s^K1 became a shooting star%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:404
+#, c-format
+msgid "^BG%s^K1 was slimed%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:405
+#, c-format
+msgid "^BG%s^K1 couldn't take it anymore%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:406
+#, c-format
+msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:407
+#, c-format
+msgid "^BG%s^K1 switched to the %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:408
+#, c-format
+msgid "^BG%s^K1 died in an accident%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:409
+#, c-format
+msgid "^BG%s^K1 ran into a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:410
+#, c-format
+msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:411
+#, c-format
+msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:412
+#, c-format
+msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:413
+#, c-format
+msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:414
+#, c-format
+msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:415
+#, c-format
+msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:416
+#, c-format
+msgid "^BG%s^K1 was phased out by a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:417
+#, c-format
+msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:418
+#, c-format
+msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:419
+#, c-format
+msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:420
+#, c-format
+msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:421
+#, c-format
+msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:422
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:423
+#, c-format
+msgid "^BG%s^K1 was crushed by a vehicle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:424
+#, c-format
+msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:425
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:426
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:427
+#, c-format
+msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:428
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:429
+#, c-format
+msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:430
+#, c-format
+msgid "^BG%s^K1 was in the wrong place%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:431
+#, c-format
+msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:432
+#, c-format
+msgid "^BG%s^K1 was frozen by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:433
+#, c-format
+msgid "^BG%s^K3 was revived by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:434
+#, c-format
+msgid "^BG%s^K3 was revived by falling"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:435
+#, c-format
+msgid "^BG%s^K3 was automatically revived after %s second(s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
+msgid "^TC^TT^BG team wins the round"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
+#, c-format
+msgid "^BG%s^BG wins the round"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
+msgid "^BGRound tied"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
+msgid "^BGRound over, there's no winner"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:440
+#, c-format
+msgid "^BG%s^K1 froze themself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:441
+#, c-format
+msgid "^BGGodmode saved you %s units of damage, cheater!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
+#, c-format
+msgid "^BGYou do not have the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
+#, c-format
+msgid "^BGYou dropped the ^F1%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
+#, c-format
+msgid "^BGYou got the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
+#, c-format
+msgid "^BGYou don't have enough ammo for the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
+#, c-format
+msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
+#, c-format
+msgid "^F1%s^BG is ^F4not available^BG on this map"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:448
+#, c-format
+msgid "^BG%s^F3 connected%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:449
+#, c-format
+msgid "^BG%s^F3 connected and joined the ^TC^TT team"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:450
+#, c-format
+msgid "^BG%s^F3 is now playing"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
+#, c-format
+msgid "^BG%s^BG has dropped the ball!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
+#, c-format
+msgid "^BG%s^BG has picked up the ball!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:453
+#, c-format
+msgid "^BG%s^BG captured the keys for the ^TC^TT team"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:454
+#, c-format
+msgid "^BG%s^BG dropped the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:455
+#, c-format
+msgid "^BG%s^BG lost the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:456
+#, c-format
+msgid "^BG%s^BG picked up the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:457
+#, c-format
+msgid "^BG%s^F3 forfeited"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:458
+#, c-format
+msgid "^BG%s^F3 has no more lives left"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:460
+#, c-format
+msgid "^BG%s^K1 picked up Invisibility"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:461
+#, c-format
+msgid "^BG%s^K1 picked up Shield"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:462
+#, c-format
+msgid "^BG%s^K1 picked up Speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:463
+#, c-format
+msgid "^BG%s^K1 picked up Strength"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:464
+#, c-format
+msgid "^BG%s^F3 disconnected"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:465
+#, c-format
+msgid "^BG%s^F3 was kicked for idling"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:466
+msgid ""
+"^F2You were kicked from the server because you are a spectator and "
+"spectators aren't allowed at the moment."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:467
+#, c-format
+msgid "^BG%s^F3 is now spectating"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:468
+#, c-format
+msgid "^BG%s^BG has abandoned the race"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:469
+#, c-format
+msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:470
+#, c-format
+msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:471
+#, c-format
+msgid "^BG%s^BG has finished the race"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:472
+#, c-format
+msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:473
+#, c-format
+msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:474
+#, c-format
+msgid ""
+"^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
+"and will be lost."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:475
+#, c-format
+msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:476
+msgid "^TC^TT ^BGteam scores!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:477
+#, c-format
+msgid ""
+"^F2You have to become a player within the next %s, otherwise you will be "
+"kicked, because spectating isn't allowed at this time!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:478
+#, c-format
+msgid "^BG%s^K1 picked up a Superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:479
+#, c-format
+msgid ""
+"^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
+"^F2Xonotic %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:480
+#, c-format
+msgid ""
+"^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:481
+#, c-format
+msgid ""
+"^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
+"the update from ^F3http://www.xonotic.org/^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:482
+#, c-format
+msgid "^F3SVQC Build information: ^F4%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:483
+#, c-format
+msgid ""
+"^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:484
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:485
+#, c-format
+msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:486
+#, c-format
+msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:487
+#, c-format
+msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:488
+#, c-format
+msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:489
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:490
+#, c-format
+msgid "^BG%s^K1 played with Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:491
+#, c-format
+msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:492
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:493
+#, c-format
+msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:494
+#, c-format
+msgid "^BG%s^K1 should have used a smaller gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:495
+#, c-format
+msgid "^BG%s^K1 forgot about their firemine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:496
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:497
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:498
+#, c-format
+msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:499
+#, c-format
+msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:500
+#, c-format
+msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:501
+#, c-format
+msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:502
+#, c-format
+msgid ""
+"^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:503
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:504
+#, c-format
+msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:505
+#, c-format
+msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:506
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:507
+#, c-format
+msgid "^BG%s^K1 forgot about their mine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:508
+#, c-format
+msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:509
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:510
+#, c-format
+msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:511
+#, c-format
+msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:512
+#, c-format
+msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:513
+#, c-format
+msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:514
+#, c-format
+msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:515
+#, c-format
+msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:516
+#, c-format
+msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:517
+#, c-format
+msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:518
+#, c-format
+msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:519
+#, c-format
+msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:520
+#, c-format
+msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:521
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:522
+#, c-format
+msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:523
+#, c-format
+msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:524
+#, c-format
+msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:525
+#, c-format
+msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:526
+#, c-format
+msgid "^BG%s^K1 is now thinking with portals%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:527
+#, c-format
+msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:528
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:529
+#, c-format
+msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:530
+#, c-format
+msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:548
+msgid "^BGYou are attacking!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:549
+msgid "^BGYou are defending!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:550
+msgid "^F4Begin!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:551
+msgid "^F4Game starts in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:552
+msgid "^F4Round starts in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:553
+msgid "^F4Round cannot start"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:556
+msgid "^F2Don't camp!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:557
+msgid ""
+"^BGYou are now free.\n"
+"^BGFeel free to ^F2try to capture^BG the flag again\n"
+"^BGif you think you will succeed."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:558
+msgid ""
+"^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."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:559
+msgid "^BGYou captured the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:560
+#, c-format
+msgid "^BGToo many flag throws! Throwing disabled for %s."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:561
+#, c-format
+msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:562
+#, c-format
+msgid "^BGYou received the ^TC^TT^BG flag from %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:563
+#, c-format
+msgid "^BG%s^BG requests you to pass the flag%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:564
+#, c-format
+msgid "^BGRequesting %s^BG to pass you the flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:565
+#, c-format
+msgid "^BGYou passed the ^TC^TT^BG flag to %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:566
+msgid "^BGYou got the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:567
+#, c-format
+msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:568
+#, c-format
+msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:569
+#, c-format
+msgid "^BGYour %steam mate^BG got the flag! Protect them!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:570
+#, c-format
+msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:571
+msgid "^BGYou returned the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:572
+msgid "^BGStalemate! Enemies can now see you on radar!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:573
+msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:574
+#, c-format
+msgid "^K3%sYou fragged ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:574
+#, c-format
+msgid "^K3%sYou scored against ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:575
+#, c-format
+msgid "^K1%sYou were fragged by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:575
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:576
+#, c-format
+msgid "^K1%sYou were fragged by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:576
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:577
+#, c-format
+msgid "^K3%sYou fragged ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:577
+#, c-format
+msgid "^K3%sYou scored against ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:578
+#, c-format
+msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:578
+#, c-format
+msgid "^K1%sYou typefragged ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:579
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:579
+#, c-format
+msgid "^K1%sYou were typefragged by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:580
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:580
+#, c-format
+msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:581
+#, c-format
+msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:581
+#, c-format
+msgid "^K1%sYou typefragged ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:582
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:583
+#, c-format
+msgid ""
+"^BGYou have been moved into a different team\n"
+"You are now on: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:584
+msgid "^K1Don't go against your team mates!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:584
+msgid "^K1Don't shoot your team mates!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:585
+msgid "^K1Die camper!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:585
+msgid "^K1Reconsider your tactics, camper!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:586
+msgid "^K1You unfairly eliminated yourself!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:587
+#, c-format
+msgid "^K1You were %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:588
+msgid "^K1You couldn't catch your breath!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:589
+msgid "^K1You hit the ground with a crunch!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:590
+msgid "^K1You felt a little too hot!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:590
+msgid "^K1You got a little bit too crispy!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:591
+msgid "^K1You killed your own dumb self!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:591
+msgid "^K1You need to be more careful!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:592
+msgid "^K1You couldn't stand the heat!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
+msgid "^K1Tastes like chicken!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
+msgid "^K1You forgot to put the pin back in!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:595
+msgid "^K1You are respawning for running out of ammo..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:595
+msgid "^K1You were killed for running out of ammo..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:596
+msgid "^K1You grew too old without taking your medicine"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:596
+msgid "^K1You need to preserve your health"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:597
+msgid "^K1You became a shooting star!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:598
+msgid "^K1You melted away in slime!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:599
+msgid "^K1You committed suicide!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:599
+msgid "^K1You ended it all!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:600
+msgid "^K1You got stuck in a swamp!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:601
+#, c-format
+msgid "^BGYou are now on: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:602
+msgid "^K1You died in an accident!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:603
+msgid "^K1You had an unfortunate run in with a turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:603
+msgid "^K1You were fragged by a turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:604
+msgid "^K1You had an unfortunate run in with an eWheel turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:604
+msgid "^K1You were fragged by an eWheel turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:605
+msgid "^K1You had an unfortunate run in with a Walker turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:605
+msgid "^K1You were fragged by a Walker turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:606
+msgid "^K1You got caught in the blast of a Bumblebee explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:607
+msgid "^K1You were crushed by a vehicle!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:608
+msgid "^K1You were caught in a Raptor cluster bomb!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:609
+msgid "^K1You got caught in the blast of a Raptor explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:610
+msgid "^K1You got caught in the blast of a Spiderbot explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:611
+msgid "^K1You were blasted to bits by a Spiderbot rocket!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:612
+msgid "^K1You got caught in the blast of a Racer explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:613
+msgid "^K1You couldn't find shelter from a Racer rocket!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:614
+msgid "^K1Watch your step!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:615
+#, c-format
+msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:615
+#, c-format
+msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:616
+#, c-format
+msgid "^K1You were fragged by ^BG%s^K1, a team mate"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:616
+#, c-format
+msgid "^K1You were scored against by ^BG%s^K1, a team mate"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:617
+msgid ""
+"^K1Stop idling!\n"
+"^BGDisconnecting in ^COUNT..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:618
+msgid "^F2You picked up some extra lives"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:619
+#, c-format
+msgid "^K3You froze ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:620
+#, c-format
+msgid "^K1You were frozen by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:621
+#, c-format
+msgid "^K3You revived ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:622
+msgid "^K3You revived yourself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:623
+#, c-format
+msgid "^K3You were revived by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:624
+#, c-format
+msgid "^K3You were automatically revived after %s second(s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:627
+msgid "^K1You froze yourself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:628
+msgid "^K1Round already started, you spawn as frozen"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:636
+msgid ""
+"^K1No spawnpoints available!\n"
+"Hope your team can fix it..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:637
+msgid ""
+"^K1You may not join the game at this time.\n"
+"The player limit reached maximum capacity."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
+msgid "^BGKilling people while you don't have the ball gives no points!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:642
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Help the key carriers to meet!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:643
+msgid ""
+"^BGAll keys are in ^TC^TT team^BG's hands!\n"
+"Interfere ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:644
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Meet the other key carriers ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:645
+msgid "^F4Round will start in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:646
+msgid "^BGScanning frequency range..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:647
+msgid "^BGYou are starting with the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
+#, c-format
+msgid ""
+"^BGWaiting for players to join...\n"
+"Need active players for: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:650
+#, c-format
+msgid "^BGWaiting for %s player(s) to join..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:651
+msgid "^F4^COUNT^BG left to find some ammo!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:653
+#, c-format
+msgid "^F2Extra lives remaining: ^K1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:654
+msgid "^BGSecondary fire inflicts no damage!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:655
+#, c-format
+msgid "^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:656
+#, c-format
+msgid ""
+"^F2^COUNT^BG until weapon change...\n"
+"Next weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:657
+#, c-format
+msgid "^F2Active weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:658
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep fragging until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep scoring until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:660
+#, c-format
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"^BGAdded ^F4%s^BG to the game!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:661
+msgid "^F2Invisibility has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:662
+msgid "^F2Shield has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:663
+msgid "^F2Speed has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:664
+msgid "^F2Strength has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:665
+msgid "^F2You are invisible"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:666
+msgid "^F2Shield surrounds you"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:667
+msgid "^F2You are on speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:668
+msgid "^F2Strength infuses your weapons with devastating power"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:669
+msgid "^F2The race is over, finish your lap!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:670
+msgid "^F2Superweapons have broken down"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:671
+msgid "^F2Superweapons have been lost"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:672
+msgid "^F2You now have a superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:673
+msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:674
+msgid "^K1Changing team in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:675
+msgid "^K1Spectating in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:676
+msgid "^K1Suicide in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:677
+msgid "^F4Timeout begins in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:678
+msgid "^F4Timeout ends in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
+#, c-format
+msgid " (near %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
+msgid "primary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
+msgid "secondary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:980
+#, c-format
+msgid " ^F1(Press %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:989
+#, c-format
+msgid " with %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+msgid "TRIPLE FRAG! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 unlocked RAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+msgid "RAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 started a MASSACRE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+msgid "MASSACRE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 executed MAYHEM! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+msgid "MAYHEM! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 is a BERSERKER! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+msgid "BERSERKER! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 inflicts CARNAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+msgid "CARNAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+#, c-format
+msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+#, c-format
+msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+msgid "ARMAGEDDON! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1010
+#, c-format
+msgid "%s(^F1Bot^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1012
+#, c-format
+msgid "%s(Ping ^F1%d^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1018
+#, c-format
+msgid ""
+"\n"
+"(Health ^1%d^BG / Armor ^2%d^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1020
+#, c-format
+msgid ""
+"\n"
+"(^F4Dead^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
+#, c-format
+msgid "%d score spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1069
+#, c-format
+msgid "%d frag spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1082
+msgid "First blood! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1082
+msgid "First score! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1086
+msgid "First casualty! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1086
+msgid "First victim! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1127
+#, c-format
+msgid "%s^K1 has %d frags in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1128
+#, c-format
+msgid "%s^K1 made %d scores in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1146
+#, c-format
+msgid "%s^K1 drew first blood! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1147
+#, c-format
+msgid "%s^K1 got the first score! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1163
+#, c-format
+msgid ", ending their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1164
+#, c-format
+msgid ", ending their %d score spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1178
+#, c-format
+msgid ", losing their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1179
+#, c-format
+msgid ", losing their %d score spree"
+msgstr ""
+
+#: qcsrc/common/teams.qh:26
+msgid "Red"
+msgstr ""
+
+#: qcsrc/common/teams.qh:27
+msgid "Blue"
+msgstr ""
+
+#: qcsrc/common/teams.qh:28
+msgid "Yellow"
+msgstr ""
+
+#: qcsrc/common/teams.qh:29
+msgid "Pink"
+msgstr ""
+
+#: qcsrc/common/teams.qh:30
+msgid "Team"
+msgstr ""
+
+#: qcsrc/common/teams.qh:31
+msgid "Neutral"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:35
+msgid "Usage: menu_cmd command..., where possible commands are:\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:36
+msgid "  sync - reloads all cvars on the current menu page\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:37
+msgid "  directmenu ITEM - select a menu item as main item\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:68
+msgid "Available options:\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:119
+msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
+msgstr ""
+
+#: qcsrc/menu/item/label.c:82
+#, c-format
+msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
+msgstr ""
+
+#: qcsrc/menu/item/listbox.c:382
+#, c-format
+msgid "Item %d"
+msgstr ""
+
+#: qcsrc/menu/item/slider.c:64
+#, c-format
+msgid "%d (%s)"
+msgstr ""
+
+#: qcsrc/menu/item/textslider.c:31 qcsrc/menu/item/textslider.c:33
+msgid "custom"
+msgstr ""
+
+#: qcsrc/menu/menu.qc:59
+#, c-format
+msgid "^4MQC Build information: ^1%s\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/campaign.c:286
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:123
+msgid "???"
+msgstr ""
+
+#: qcsrc/menu/xonotic/campaign.c:287
+#, c-format
+msgid "Level %d: %s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
+msgid "will not be saved"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
+msgid "private"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:95
+msgid "engine setting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:97
+msgid "read only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_credits.c:5
+msgid "Credits"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:99
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
+msgid "OK"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:4
+msgid "Welcome"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+msgid ""
+"Welcome to Xonotic, please select your language preference and enter your "
+"player name to get started.  You can change these options later through the "
+"menu system."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
+msgid "Name:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
+#: qcsrc/menu/xonotic/dialog_settings_user.c:65
+msgid "Text language:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+msgid "ALWU2N^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
+msgid "ALWU2N^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
+msgid "ALWU2N^Undecided"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
+msgid "Save settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:4
+msgid "Ammo Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:23
+msgid "Ammunition display:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:26
+msgid "Show only current ammo type"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:29
+msgid "Align icon:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:30
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:37
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:29
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:41
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:29
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:41
+msgid "Left"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:39
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:42
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:42
+msgid "Right"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:4
+msgid "Centerprint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:24
+msgid "Message duration:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:28
+msgid "Fade time:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:32
+msgid "Flip messages order"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:34
+msgid "Text alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:38
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:51
+msgid "Center"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:42
+msgid "Font scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4
+msgid "Chat Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:23
+msgid "Chat entries:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:26
+msgid "Chat size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:30
+msgid "Chat lifetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:34
+msgid "Chat beep sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:4
+msgid "Engine Info Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:23
+msgid "Engine info:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:26
+msgid "Use an averaging algorithm for fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:4
+msgid "Health/Armor Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:23
+msgid "Enable status bar"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:25
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:25
+msgid "Status bar alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:33
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:43
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:33
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:43
+msgid "Inward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:35
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:44
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:35
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:44
+msgid "Outward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:38
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:38
+msgid "Icon alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:46
+msgid "Flip health and armor positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:4
+msgid "Info Messages Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:23
+msgid "Info messages:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:26
+msgid "Flip align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_modicons.c:4
+msgid "Mod Icons Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:4
+msgid "Notification Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:23
+msgid "Notifications:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:26
+msgid "Also print notifications to the console"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:29
+msgid "Flip notify order"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:32
+msgid "Entry lifetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:36
+msgid "Entry fadetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:4
+msgid "Physics Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:22
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:22
+msgid "Panel disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:24
+msgid "Panel enabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:25
+msgid "Panel enabled even observing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:26
+msgid "Panel enabled only in Race/CTS"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:32
+msgid "Status bar"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:34
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:49
+msgid "Left align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:35
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:53
+msgid "Right align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:36
+msgid "Inward align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:37
+msgid "Outward align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:41
+msgid "Flip speed/acceleration positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:45
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:29
+msgid "Speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:46
+msgid "Include vertical speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:57
+msgid "Speed unit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:59
+msgid "qu/s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:60
+msgid "m/s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:61
+msgid "km/h"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:62
+msgid "mph"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:63
+msgid "knots"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:65
+msgid "Show"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:68
+msgid "Top speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:74
+msgid "Acceleration:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:75
+msgid "Include vertical acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4
+msgid "Powerups Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:46
+msgid "Flip strength and shield positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:4
+msgid "Pressed Keys Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:23
+msgid "Panel enabled when spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:24
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:24
+msgid "Panel always enabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:31
+msgid "Forced aspect:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_racetimer.c:4
+msgid "Race Timer Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:4
+msgid "Radar Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:23
+msgid "Panel enabled in teamgames"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:30
+msgid "Radar:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:33
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
+#: qcsrc/menu/xonotic/util.qc:758
+msgid "Alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:37
+msgid "Rotation:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:39
+msgid "Forward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:40
+msgid "West"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:41
+msgid "South"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:42
+msgid "East"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:43
+msgid "North"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:47
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:63
+msgid "Scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:51
+msgid "Zoom mode:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:53
+msgid "Zoomed in"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:54
+msgid "Zoomed out"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:55
+msgid "Always zoomed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:56
+msgid "Never zoomed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:4
+msgid "Score Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:23
+msgid "Score:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
+msgid "Rankings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:27
+msgid "Off"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
+msgid "And me"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:29
+msgid "Pure"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
+msgid "Timer Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:23
+msgid "Timer:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:26
+msgid "Show elapsed time"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:4
+msgid "Vote Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:23
+msgid "Alpha after voting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:4
+msgid "Weapons Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:25
+msgid "Fade out after:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:27
+msgid "Never"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:29
+#, c-format
+msgid "%ds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:33
+msgid "Fade effect:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:36
+msgid "EF^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:37
+msgid "Alpha"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:38
+msgid "Slide"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:39
+msgid "EF^Both"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:43
+msgid "Weapon icons:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46
+msgid "Show only owned weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49
+msgid "Show weapon ID as:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50
+msgid "SHOWAS^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51
+msgid "Number"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52
+msgid "Bind"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55
+msgid "Show Accuracy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:56
+msgid "Show Ammo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:59
+msgid "Ammo bar color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:65
+msgid "Ammo bar alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:4
+msgid "Panel HUD Setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:22
+msgid "Panel background defaults:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
+msgid "Background:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
+msgid "Disable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
+msgid "Color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
+msgid "Border size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:51
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:90
+msgid "Team color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
+msgid "Test team color in configure mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
+msgid "Padding:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:69
+msgid "HUD Dock:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:71
+msgid "DOCK^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:72
+msgid "DOCK^Small"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:73
+msgid "DOCK^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:74
+msgid "DOCK^Large"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:97
+msgid "Grid settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:100
+msgid "Snap panels to grid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:103
+msgid "Grid size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:104
+msgid "X:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:110
+msgid "Y:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:118
+msgid "Exit setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:4
+msgid "Multiplayer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:18
+msgid "Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:19
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:5
+msgid "Create"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:20
+msgid "Demos"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:21
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:5
+msgid "Player Setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:34
+msgid "Game type:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48
+msgid "Time limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:52
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:60
+msgid "Use map specified default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:55
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:155
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+msgid "Point limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63
+msgid "Player slots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66
+msgid "Number of bots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69
+msgid "Bot skill:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72
+msgid "Botlike"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73
+msgid "Beginner"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74
+msgid "You will win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75
+msgid "You can win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76
+msgid "You might win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77
+msgid "Advanced"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78
+msgid "Expert"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79
+msgid "Pro"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80
+msgid "Assassin"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81
+msgid "Unhuman"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82
+msgid "Godlike"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87
+msgid "Mutators..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
+msgid "Advanced settings..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103
+msgid "Map list:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109
+msgid "Select all"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112
+msgid "Select none"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118
+msgid "Start Multiplayer!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153
+msgid "Capture limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:156
+msgid "Lives:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157
+msgid "Laps:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158
+msgid "Goals:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
+msgid "Frag limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:6
+msgid "Advanced server settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:25
+msgid "Game settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:28
+msgid "Allow spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:31
+msgid "Spawn shield:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:36
+msgid "Game speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:40
+msgid "Teamplay settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:43
+msgid "Friendly fire scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:47
+msgid "Virtual friendly fire (effect only)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:50
+msgid "Friendly fire penalty:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:54
+msgid "Virtual penalty (effect only)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:57
+msgid "Teams:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:66
+msgid "Map voting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:68
+msgid "No voting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:69
+msgid "2 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:70
+msgid "3 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:71
+msgid "4 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:72
+msgid "5 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:73
+msgid "6 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:74
+msgid "7 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:75
+msgid "8 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:76
+msgid "9 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:79
+msgid "Simple majority wins vcall"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:5
+msgid "Map Information"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "Full item placement"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "MinstaGib only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81
+msgid "Title:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:87
+msgid "Author:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:93
+msgid "Features:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98
+msgid "Game types:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:328
+msgid "Close"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124
+msgid "MAP^Play"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:7
+msgid "Mutators"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:33
+msgid "All Weapons Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:35
+msgid "Most Weapons Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:56
+#, c-format
+msgid "%s Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:68
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:162
+msgid "Dodging"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:70
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:254
+msgid "MinstaGib"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:72
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:208
+msgid "New Toys"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:74
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:258
+msgid "NIX"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:76
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:212
+msgid "Rocket Flying"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:78
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204
+msgid "Invincible Projectiles"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:266
+msgid "No start weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:189
+msgid "Low gravity"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:168
+msgid "Cloaked"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:90
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:171
+msgid "Midair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:92
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:174
+msgid "Vampire"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:94
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:216
+msgid "Piñata"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:96
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:220
+msgid "Weapons stay"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:179
+msgid "Blood loss"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:100
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201
+msgid "Jet pack"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:102
+msgid "No powerups"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104
+msgid "Powerups"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:106
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:165
+msgid "Touch explode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:108
+msgid "MUT^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:159
+msgid "Gameplay mutators:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:195
+msgid "Weapon & item mutators:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:198
+msgid "Grappling hook"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:225
+msgid "Regular (no arena)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:227
+msgid "Weapon arenas:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:244
+msgid "Most weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:248
+msgid "All weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:251
+msgid "Special arenas:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:262
+msgid "with laser"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:4
+msgid "Demo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:26
+msgid "Automatically record demos while playing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:29
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:28
+msgid "Filter:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:40
+msgid "Timedemo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43
+msgid "DEMO^Play"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:4
+msgid "Join"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
+msgid "SRVS^Empty"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
+msgid "SRVS^Full"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
+msgid "Pause"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
+msgid "Address:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
+msgid "Info..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
+msgid "Join!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:5
+msgid "Server Information"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:174
+#, c-format
+msgid "%d/%d"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
+msgid "Default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
+#, c-format
+msgid "%d modified"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
+msgid "Official"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:201
+msgid "N/A (auth library missing, can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:203
+msgid "N/A (auth library missing)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:209
+msgid "Not supported (can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211
+msgid "Not supported (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:215
+msgid "Supported (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217
+msgid "Supported (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:221
+msgid "Requested (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223
+msgid "Requested (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:227
+msgid "Required (can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:229
+msgid "Required (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:249
+msgid "Hostname:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:263
+msgid "Gametype:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:268
+msgid "Map:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:273
+msgid "Mod:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:278
+msgid "Version:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:283
+msgid "Settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:322
+msgid "Players:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:295
+msgid "Bots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:300
+msgid "Free slots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:306
+msgid "Encryption:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:311
+msgid "ID:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:316
+msgid "Key:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:61
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:20
+msgid "Model:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:73
+msgid "Glowing color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:82
+msgid "Detail color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93
+msgid "No crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:95
+msgid "Per weapon crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:98
+msgid "Custom crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117
+msgid "Crosshair size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:122
+msgid "Crosshair alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:128
+msgid "Crosshair color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130
+msgid "Per weapon"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:132
+msgid "By health"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:136
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:47
+msgid "Custom"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:144
+msgid "Other crosshair settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:152
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6
+msgid "Model settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6
+msgid "View settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:164
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6
+msgid "Weapon settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:174
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6
+msgid "HUD settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:180
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:164
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:200
+#: qcsrc/menu/xonotic/dialog_settings_input.c:90
+#: qcsrc/menu/xonotic/dialog_settings_user.c:88
+#: qcsrc/menu/xonotic/dialog_settings_video.c:143
+msgid "Apply immediately"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6
+msgid "Crosshair settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28
+msgid "Enable center crosshair dot"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31
+msgid "Dot size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36
+msgid "Dot alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41
+msgid "Dot color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43
+msgid "Use normal crosshair color"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54
+msgid "Crosshair animations:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57
+msgid "Smooth effects of crosshairs"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61
+msgid "Use rings to indicate weapon status"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67
+msgid "Hit testing:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69
+msgid "HTTST^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70
+msgid "HTTST^TrueAim"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71
+msgid "HTTST^Enemies"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76
+msgid "Blur crosshair if the shot is obstructed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81
+msgid "Animate when hitting an enemy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85
+msgid "Animate when picking up an item"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40
+msgid "Damage:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43
+msgid "Overlay:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:47
+msgid "Factor:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:53
+msgid "Fade rate:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:60
+msgid "Waypoints"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:75
+msgid "Edge offset:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83
+msgid "Show names above players"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:86
+msgid "Only when near crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:89
+msgid "Display health and armor"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:93
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:4
+msgid "Enter HUD editor"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:28
+msgid "In order for the HUD editor to show, you must first be in game."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30
+msgid "Do you wish to start a local game to set up the HUD?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33
+msgid "HDCNFRM^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36
+msgid "HDCNFRM^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28
+msgid "Body fading:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31
+msgid "Gibs:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33
+msgid "GIBS^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34
+msgid "GIBS^Few"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35
+msgid "GIBS^Many"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36
+msgid "GIBS^Lots"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:41
+msgid "Force player models to mine"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:43
+msgid "Force player colors to mine"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28
+msgid "Field of view:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31
+msgid "Zoom:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33
+msgid "RETICLE^Fullscreen"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34
+msgid "RETICLE^With reticle"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38
+msgid "ZOOM^Factor:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42
+msgid "ZOOM^Speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52
+msgid "ZOOM^Instant"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56
+msgid "ZOOM^Sensitivity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59
+msgid "Velocity zoom:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61
+msgid "VZOOM^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62
+msgid "VZOOM^Forward only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63
+msgid "VZOOM^All directions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67
+msgid "VZOOM^Speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72
+msgid "Allow passing through walls while spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75
+msgid "1st person perspective"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79
+msgid "Smooth the view when landing from a jump"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83
+msgid "Smooth the view while crouching"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87
+msgid "View waving while idle"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91
+msgid "View bobbing while walking around"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96
+msgid "3rd person perspective"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100
+msgid "Back distance"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106
+msgid "Up distance"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29
+msgid "Weapon priority list:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33
+msgid "Up"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36
+msgid "Down"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41
+msgid "Use priority list for weapon cycling"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43
+msgid "Auto switch weapons on pickup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:46
+msgid "Draw 1st person weapon model"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:58
+msgid "Gun model swaying"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63
+msgid "Gun model bobbing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:4
+msgid "Quit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:18
+msgid "Are you sure you want to quit?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:21
+msgid "Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:22
+msgid "No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:4
+msgid "Sandbox Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
+msgid "Remove *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28
+msgid "Copy *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:29
+msgid "Paste"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:31
+msgid "Bone:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:36
+msgid "Set * as child"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:37
+msgid "Attach to *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:39
+msgid "Detach from *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:42
+msgid "Visual object properties for *:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
+msgid "Set alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:49
+msgid "Set color main:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:51
+msgid "Set color glow:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:55
+msgid "Set frame:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:59
+msgid "Physical object properties for *:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:61
+msgid "Set material:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:67
+msgid "Set solidity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:68
+msgid "Non-solid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:69
+msgid "Solid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:70
+msgid "Set physics:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:71
+msgid "Static"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:72
+msgid "Movable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:73
+msgid "Physical"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:75
+msgid "Set scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:77
+msgid "Set force:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:81
+msgid "Claim *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:83
+msgid "* object info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:84
+msgid "* mesh info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:85
+msgid "* attachment info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:86
+msgid "Show help"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:87
+msgid "* is the object you are facing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:4
+msgid "Settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:18
+#: qcsrc/menu/xonotic/dialog_settings_input.c:4
+msgid "Input"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:19
+#: qcsrc/menu/xonotic/dialog_settings_video.c:4
+msgid "Video"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:20
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:4
+msgid "Effects"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:21
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:4
+msgid "Audio"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:22
+#: qcsrc/menu/xonotic/dialog_settings_user.c:4
+msgid "User"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:23
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:4
+msgid "Misc"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:27
+msgid "Master:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:33
+msgid "Music:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:41
+msgid "VOL^Ambient:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:48
+msgid "Info:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:55
+msgid "Items:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:62
+msgid "Pain:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:69
+msgid "Player:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:76
+msgid "Shots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:83
+msgid "Voice:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:91
+msgid "Weapons:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:97
+msgid "New style sound attenuation"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:99
+msgid "Mute sounds when not active"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:102
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:156
+msgid "Frequency:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:104
+msgid "8 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:105
+msgid "11.025 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:106
+msgid "16 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:107
+msgid "22.05 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:108
+msgid "24 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:109
+msgid "32 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:110
+msgid "44.1 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:111
+msgid "48 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:114
+msgid "Channels:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:116
+msgid "Mono"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:117
+msgid "Stereo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:118
+msgid "2.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:119
+msgid "4"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:120
+msgid "5"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:121
+msgid "5.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:122
+msgid "6.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:123
+msgid "7.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:126
+msgid "Swap Stereo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:128
+msgid "Headphone friendly mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:132
+msgid "Hit indication sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:134
+msgid "Chat message sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:136
+msgid "Menu sounds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:139
+msgid "Time announcer:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:141
+msgid "WRN^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:142
+msgid "1 minute"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:143
+msgid "5 minutes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:144
+msgid "WRN^Both"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:151
+msgid "Automatic taunts"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:161
+msgid "Debug info about sounds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:38
+msgid "Quality preset:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:41
+msgid "PRE^OMG!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:42
+msgid "PRE^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:43
+msgid "PRE^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:44
+msgid "PRE^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:45
+msgid "PRE^High"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:46
+msgid "PRE^Ultra"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:48
+msgid "PRE^Ultimate"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:52
+msgid "Geometry detail:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:54
+msgid "DET^Lowest"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:55
+msgid "DET^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:56
+msgid "DET^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:57
+msgid "DET^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:58
+msgid "DET^Best"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:59
+msgid "DET^Insane"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:62
+msgid "Player detail:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:65
+msgid "Texture resolution:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:69
+msgid "RES^Leet"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:70
+msgid "RES^Lowest"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:71
+msgid "RES^Very low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:72
+msgid "RES^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:73
+msgid "RES^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:74
+msgid "RES^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:75
+msgid "RES^Best"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:87
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:91
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:95
+msgid "Avoid lossy texture compression"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:105
+msgid "Show surfaces"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:108
+msgid "Use lightmaps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:109
+msgid "Deluxe mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:111
+msgid "Gloss"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:114
+msgid "Offset mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:116
+msgid "Relief mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:119
+msgid "Reflections:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:122
+msgid "Blurred"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:123
+msgid "REFL^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:124
+msgid "Sharp"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:129
+msgid "Particles quality:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:132
+msgid "Particles distance:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:135
+msgid "Damage effects:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:137
+msgid "DMGPRTCLS^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:138
+msgid "DMGPRTCLS^Skeletal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:139
+msgid "DMGPRTCLS^All"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:142
+msgid "Particle effects for spawnpoints"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:146
+msgid "No dynamic lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:148
+msgid "Fake corona lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:151
+msgid "Realtime dynamic lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:153
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:157
+msgid "Shadows"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:156
+msgid "Realtime world lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:161
+msgid "Use normal maps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:163
+msgid "Soft shadows"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:167
+msgid "Fade corona according to visibility"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:171
+msgid "Bloom"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:172
+msgid "Extra postprocessing effects"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:177
+msgid "Motion blur:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:183
+msgid "Decals"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:184
+msgid "Decals on models"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:188
+msgid "Distance:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:194
+msgid "Time:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:26
+msgid "Key bindings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:30
+msgid "Change key..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:34
+msgid "Edit..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:40
+msgid "Clear"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:46
+msgid "Pressing \"enter console\" key also closes it"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:48
+msgid "Automatically repeat jumping if holding jump"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:52
+#: qcsrc/menu/xonotic/dialog_settings_input.c:54
+#: qcsrc/menu/xonotic/dialog_settings_input.c:57
+msgid "Use joystick input"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:62
+msgid "Mouse:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:65
+msgid "Sensitivity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:69
+msgid "Smooth aiming"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:72
+msgid "Invert aiming"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:76
+#: qcsrc/menu/xonotic/dialog_settings_input.c:78
+#: qcsrc/menu/xonotic/dialog_settings_input.c:81
+msgid "Disable system mouse acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:86
+msgid "Enable built in mouse acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5
+msgid "User defined key bind"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:42
+msgid "Command when pressed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:45
+msgid "Command when released:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:48
+msgid "Save"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:51
+msgid "Cancel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:26
+msgid "Network:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:31
+msgid "56k"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:32
+msgid "ISDN"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:33
+msgid "Slow ADSL"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:34
+msgid "Fast ADSL"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:35
+msgid "Broadband"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:39
+msgid "Input packets/s:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:45
+msgid "Local latency:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:50
+msgid "Client UDP port:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "Use encryption (AES) when available"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+msgid "Show netgraph"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
+msgid "Client-side movement prediction"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+msgid "Movement error compensation"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
+msgid "Downloads:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+msgid "Maximum:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
+msgid "Speed (kB/s):"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
+msgid "Framerate:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+msgid "MAXFPS^5 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+msgid "MAXFPS^10 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+msgid "MAXFPS^20 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+msgid "MAXFPS^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+msgid "MAXFPS^40 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+msgid "MAXFPS^50 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+msgid "MAXFPS^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+msgid "MAXFPS^70 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
+msgid "MAXFPS^100 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
+msgid "MAXFPS^125 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
+msgid "MAXFPS^200 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+msgid "MAXFPS^Unlimited"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+msgid "Target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+msgid "TRGT^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+msgid "TRGT^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+msgid "TRGT^40 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+msgid "TRGT^50 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
+msgid "TRGT^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
+msgid "TRGT^100 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
+msgid "TRGT^125 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+msgid "TRGT^200 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+msgid "Idle limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+msgid "IDLFPS^10 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
+msgid "IDLFPS^20 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
+msgid "IDLFPS^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
+msgid "IDLFPS^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
+msgid "IDLFPS^Unlimited"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
+msgid "Show frames per second"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+msgid "Save processing time for other apps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+msgid "Menu tooltips:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
+msgid "TLTIP^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
+msgid "TLTIP^Standard"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+msgid "TLTIP^Advanced"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+msgid "Show current time"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
+msgid "Show current date"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+msgid "Enable developer mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5
+msgid "Advanced settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:32
+msgid "Cvar filter:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:45
+msgid "Setting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:49
+msgid "Type:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:53
+msgid "Value:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
+msgid "Description:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:27
+msgid "Menu skins:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:31
+msgid "Set skin"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:74
+msgid "Set language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:79
+msgid "Disable gore effects and harsh language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:82
+msgid "Allow player statistics to track your client"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:84
+msgid "Allow player statistics to use your nickname"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:26
+msgid "Resolution:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:29
+msgid "Font/UI size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:31
+msgid "SZ^Unreadable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:32
+msgid "SZ^Tiny"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:33
+msgid "SZ^Little"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:34
+msgid "SZ^Small"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:35
+msgid "SZ^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:36
+msgid "SZ^Large"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:37
+msgid "SZ^Huge"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:38
+msgid "SZ^Gigantic"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:39
+msgid "SZ^Colossal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:42
+msgid "Color depth:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:44
+msgid "16bit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:45
+msgid "32bit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:48
+msgid "Full screen"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:49
+msgid "Vertical Synchronization"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:53
+msgid "Anisotropy:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:55
+msgid "ANISO^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:56
+#: qcsrc/menu/xonotic/dialog_settings_video.c:66
+msgid "2x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:57
+#: qcsrc/menu/xonotic/dialog_settings_video.c:67
+msgid "4x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:58
+msgid "8x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:59
+msgid "16x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:62
+msgid "Antialiasing:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:65
+msgid "AA^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:71
+msgid "High-quality frame buffer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:76
+msgid "Depth first:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:78
+msgid "DF^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:79
+msgid "DF^World"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:80
+msgid "DF^All"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:83
+msgid "Vertex Buffer Objects (VBOs)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:86
+msgid "VBO^Off"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:87
+msgid "Vertices, some Tris (compatible)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:90
+msgid "Vertices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:91
+msgid "Vertices and Triangles"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:94
+msgid "Brightness:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:97
+msgid "Contrast:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:100
+msgid "Gamma:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:105
+msgid "Contrast boost:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:110
+msgid "Saturation:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:116
+msgid "LIT^Ambient:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:119
+msgid "Intensity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:123
+msgid "Wait for GPU to finish each frame"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:125
+msgid "Use OpenGL 2.0 shaders (GLSL)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:128
+msgid "Use GLSL to handle color control"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:133
+msgid "Psycho coloring (easter egg)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:136
+msgid "Trippy vertices (easter egg)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:139
+msgid "Flip view horizontally"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:4
+msgid "Singleplayer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:116
+msgid "Instant action! (random map with bots)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:137
+msgid "Campaign Difficulty:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:138
+msgid "CSKL^Easy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:139
+msgid "CSKL^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:140
+msgid "CSKL^Hard"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:142
+msgid "Start Singleplayer!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:4
+msgid "Winner"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:5
+msgid "Team Selection"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:42
+msgid "join 'best' team (auto-select)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:46
+msgid "red"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:47
+msgid "blue"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:48
+msgid "yellow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:49
+msgid "pink"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:52
+msgid "spectate"
+msgstr ""
+
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
+msgid "Do not press this button again!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:280
+msgid ""
+"Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:288
+#, c-format
+msgid "%s's Xonotic Server"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:293
+msgid ""
+"Huh? Can't play this (invalid game type). Refiltering so this won't happen "
+"again.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128
+msgid "spectator"
+msgstr ""
+
+#: qcsrc/menu/xonotic/playermodel.c:177
+msgid "<no model found>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:923
+msgid "Ping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:924
+msgid "Host name"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:925
+msgid "Map"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:926
+msgid "Type"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:927
+msgid "Players"
+msgstr ""
+
+#: qcsrc/menu/xonotic/skinlist.c:105
+msgid "<TITLE>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/skinlist.c:106
+msgid "<AUTHOR>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:77
+msgid "VOL^MAX"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:79
+msgid "VOL^OFF"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:81
+#, c-format
+msgid "%d %%"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:83
+#, c-format
+msgid "%.1f"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:85
+#, c-format
+msgid "%.2f %%"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:87
+#, c-format
+msgid "%s dB"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_resolution.c:116
+#, c-format
+msgid "%dx%d (%d:%d)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_resolution.c:119
+#, c-format
+msgid "%dx%d"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:308
+#, c-format
+msgid "error receiving update notification: status is %d\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:313
+msgid "error: received HTML instead of an update notification\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:318
+msgid "error: received carriage returns from update notification server\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:397
+#, c-format
+msgid ""
+"Update can be downloaded at:\n"
+"%s\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:497
+msgid "Autogenerating mapinfo for newly added maps..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:526
+#, c-format
+msgid "^1%s TEST BUILD"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:541
+#, c-format
+msgid "Update to %s now!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:626
+msgid ""
+"^1ERROR: Texture compression is required but not supported.\n"
+"^1Expect visual problems.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:746
+msgid "Use default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:766
+msgid "Team Color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qh:43
+msgid "Enable panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/weaponslist.c:102
+#, c-format
+msgid "%s (mutator weapon)"
+msgstr ""
+
+#: qcsrc/server/w_hlac.qc:11
+msgid "Heavy Laser Assault Cannon"
+msgstr ""
+
+#: qcsrc/server/w_hook.qc:11
+msgid "Grappling Hook"
+msgstr ""
+
+#: qcsrc/server/w_minstanex.qc:11
+msgid "MinstaNex"
+msgstr ""
+
+#: qcsrc/server/w_seeker.qc:11
+msgid "T.A.G. Seeker"
+msgstr ""
+
+#: qcsrc/server/w_tuba.qc:12
+#, no-c-format
+msgid "@!#%'n Tuba"
+msgstr ""
diff --git a/common.zh_TW.po b/common.zh_TW.po
new file mode 100644 (file)
index 0000000..079411c
--- /dev/null
@@ -0,0 +1,6284 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Xonotic\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-06-04 15:59+0200\n"
+"PO-Revision-Date: 2014-06-04 13:59+0000\n"
+"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/xonotic/"
+"language/zh_TW/)\n"
+"Language: zh_TW\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: qcsrc/client/Main.qc:21
+msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!"
+msgstr ""
+
+#: qcsrc/client/Main.qc:46
+msgid ""
+"^3Your engine build is outdated\n"
+"^3This Server uses a newer QC VM. Please update!\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:56
+#, c-format
+msgid "^4CSQC Build information: ^1%s\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:836
+#, c-format
+msgid ""
+"Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
+"%s)\n"
+msgstr ""
+
+#: qcsrc/client/Main.qc:1295
+#, c-format
+msgid "%s (not bound)"
+msgstr ""
+
+#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:157
+#, c-format
+msgid "%s (%s)"
+msgstr ""
+
+#: qcsrc/client/View.qc:1165
+msgid "Revival progress"
+msgstr ""
+
+#: qcsrc/client/hud.qc:186
+#, c-format
+msgid " (-%dL)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:191
+#, c-format
+msgid " (+%dL)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:210
+msgid "Start line"
+msgstr ""
+
+#: qcsrc/client/hud.qc:212 qcsrc/client/hud.qc:216
+msgid "Finish line"
+msgstr ""
+
+#: qcsrc/client/hud.qc:214
+#, c-format
+msgid "Intermediate %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:223
+#, c-format
+msgid "%s (%s %s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:832
+msgid "Out of ammo"
+msgstr ""
+
+#: qcsrc/client/hud.qc:836
+msgid "Don't have"
+msgstr ""
+
+#: qcsrc/client/hud.qc:840
+msgid "Unavailable"
+msgstr ""
+
+#: qcsrc/client/hud.qc:1683 qcsrc/client/hud.qc:1684 qcsrc/client/hud.qc:2057
+#, c-format
+msgid "Player %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2369
+msgid "^1Intermediate 1 (+15.42)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2371 qcsrc/client/hud.qc:2413 qcsrc/client/hud.qc:2454
+#, c-format
+msgid "^1PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2456
+#, c-format
+msgid "^2PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2486
+msgid "^1You must answer before entering hud configure mode\n"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2491
+msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2570
+msgid "A vote has been called for:"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2572
+msgid "Allow servers to store and display your name?"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2576
+msgid "^1Configure the HUD"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2580
+#, c-format
+msgid "Yes (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2582
+#, c-format
+msgid "No (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3143 qcsrc/client/hud.qc:3146 qcsrc/client/hud.qc:3148
+msgid "Personal best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3161 qcsrc/client/hud.qc:3164 qcsrc/client/hud.qc:3166
+msgid "Server best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3528
+msgid "^3Player^7: This is the chat area."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3593
+#, c-format
+msgid "FPS: %.*f"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3657
+msgid "^1Observing"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3660 qcsrc/client/hud.qc:3662
+#, c-format
+msgid "^1Spectating: ^7%s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3667
+#, c-format
+msgid "^1Press ^3%s^1 to spectate"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3669
+#, c-format
+msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3673
+#, c-format
+msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3675
+#, c-format
+msgid "^1Press ^3%s^1 to observe"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3678
+#, c-format
+msgid "^1Press ^3%s^1 for gamemode info"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3686
+msgid "^1Match has already begun"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3688
+msgid "^1You have no more lives left"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3690 qcsrc/client/hud.qc:3693
+#, c-format
+msgid "^1Press ^3%s^1 to join"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3701
+#, c-format
+msgid "^1Game starts in ^3%d^1 seconds"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3708
+msgid "^2Currently in ^1warmup^2 stage!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3723
+#, c-format
+msgid "%sPress ^3%s%s to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3725
+#, c-format
+msgid "%sPress ^3%s%s once you are ready"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3730
+msgid "^2Waiting for others to ready up to end warmup..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3732
+msgid "^2Waiting for others to ready up..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3738
+#, c-format
+msgid "^2Press ^3%s^2 to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3759
+msgid "Teamnumbers are unbalanced!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3764
+#, c-format
+msgid " Press ^3%s%s to adjust"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3772
+msgid "^7Press ^3ESC ^7to show HUD options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3774
+msgid "^3Doubleclick ^7a panel for panel-specific options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3776
+msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3778
+msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3825
+msgid " qu/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3829
+msgid " m/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3833
+msgid " km/h"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3837
+msgid " mph"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3841
+msgid " knots"
+msgstr ""
+
+#: qcsrc/client/hud.qc:4497
+msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
+msgstr ""
+
+#: qcsrc/client/hud_config.qc:196
+#, c-format
+msgid "^2Successfully exported to %s! (Note: It's saved in data/data/)\n"
+msgstr ""
+
+#: qcsrc/client/hud_config.qc:200
+#, c-format
+msgid "^1Couldn't write to %s\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:28
+msgid " (1 vote)"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:30
+#, c-format
+msgid " (%d votes)"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:118
+msgid "Don't care"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:203
+msgid "Vote for a map"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:209
+#, c-format
+msgid "%d seconds left"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:273
+msgid ""
+"mv_mapdownload: ^3You're not supposed to use this command on your own!\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:283
+msgid "^1Error:^7 Couldn't find pak index.\n"
+msgstr ""
+
+#: qcsrc/client/mapvoting.qc:292
+msgid "Requesting preview...\n"
+msgstr ""
+
+#: qcsrc/client/miscfunctions.qc:101
+msgid "Trying to remove a team which is not in the teamlist!"
+msgstr ""
+
+#: qcsrc/client/movetypes.qc:227
+#, c-format
+msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr ""
+
+#: qcsrc/client/movetypes.qc:230
+#, c-format
+msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:19
+msgid "SCO^bckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:20
+msgid "SCO^bctime"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:21
+msgid "SCO^caps"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:22
+msgid "SCO^captime"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:23
+msgid "SCO^deaths"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:24
+msgid "SCO^destroyed"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:25
+msgid "SCO^drops"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:26
+msgid "SCO^faults"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:27
+msgid "SCO^fckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:28
+msgid "SCO^goals"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:29
+msgid "SCO^kckills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:30
+msgid "SCO^kdratio"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:31
+msgid "SCO^k/d"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:32
+msgid "SCO^kd"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:33
+msgid "SCO^kdr"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:34
+msgid "SCO^kills"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:35
+msgid "SCO^laps"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:36
+msgid "SCO^lives"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:37
+msgid "SCO^losses"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:38
+msgid "SCO^name"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:39
+msgid "SCO^sum"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:40
+msgid "SCO^nick"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:41
+msgid "SCO^objectives"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:42
+msgid "SCO^pickups"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:43
+msgid "SCO^ping"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:44
+msgid "SCO^pl"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:45
+msgid "SCO^pushes"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:46
+msgid "SCO^rank"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:47
+msgid "SCO^returns"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:48
+msgid "SCO^revivals"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:49
+msgid "SCO^score"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:50
+msgid "SCO^suicides"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:51
+msgid "SCO^takes"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:52
+msgid "SCO^ticks"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:237
+msgid ""
+"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:238
+msgid "^3|---------------------------------------------------------------|\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:239
+msgid "Usage:\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:240
+msgid "^2scoreboard_columns_set default\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:241
+msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:242
+msgid "The following field names are recognized (case insensitive):\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:243
+msgid ""
+"You can use a ^3|^7 to start the right-aligned fields.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:245
+msgid "^3name^7 or ^3nick^7             Name of a player\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:246
+msgid "^3ping^7                     Ping time\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:247
+msgid "^3pl^7                       Packet loss\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:248
+msgid "^3kills^7                    Number of kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:249
+msgid "^3deaths^7                   Number of deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:250
+msgid "^3suicides^7                 Number of suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:251
+msgid "^3frags^7                    kills - suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:252
+msgid "^3kd^7                       The kill-death ratio\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:253
+msgid "^3sum^7                      frags - deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:254
+msgid ""
+"^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
+"captured\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:255
+msgid ""
+"^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
+"ball (Keepaway) was picked up\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:256
+msgid "^3captime^7                  Time of fastest cap (CTF)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:257
+msgid "^3fckills^7                  Number of flag carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:258
+msgid "^3returns^7                  Number of flag returns\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:259
+msgid "^3drops^7                    Number of flag drops\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:260
+msgid "^3lives^7                    Number of lives (LMS)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:261
+msgid "^3rank^7                     Player rank\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:262
+msgid "^3pushes^7                   Number of players pushed into void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:263
+msgid ""
+"^3destroyed^7                Number of keys destroyed by pushing them into "
+"void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:264
+msgid "^3kckills^7                  Number of keys carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:265
+msgid "^3losses^7                   Number of times a key was lost\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:266
+msgid "^3laps^7                     Number of laps finished (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:267
+msgid "^3time^7                     Total time raced (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:268
+msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:269
+msgid "^3ticks^7                    Number of ticks (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:270
+msgid "^3takes^7                    Number of domination points taken (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:271
+msgid "^3bckills^7                  Number of ball carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:272
+msgid ""
+"^3bctime^7                   Total amount of time holding the ball in "
+"Keepaway\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:273
+msgid ""
+"^3score^7                    Total score\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:275
+msgid ""
+"Before a field you can put a + or - sign, then a comma separated list\n"
+"of game types, then a slash, to make the field show up only in these\n"
+"or in all but these game types. You can also specify 'all' as a\n"
+"field to show all fields available for the current game mode.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:280
+msgid ""
+"The special game type names 'teams' and 'noteams' can be used to\n"
+"include/exclude ALL teams/noteams game modes.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:283
+msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:284
+msgid ""
+"will display name, ping and pl aligned to the left, and the fields\n"
+"right of the vertical bar aligned to the right.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:286
+msgid ""
+"'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
+"other gamemodes except DM.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:520 qcsrc/client/scoreboard.qc:527
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:122
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:235
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:240
+msgid "N/A"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:970
+#, c-format
+msgid "Accuracy stats (average %d%%)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1033
+#, c-format
+msgid "%d%%"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1099
+msgid "Map stats:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1117
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1124
+msgid "Secrets found:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1152
+msgid "Rankings"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1248
+msgid "Scoreboard"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1307
+#, c-format
+msgid "Speed award: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1311
+#, c-format
+msgid "All-time fastest: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1345
+msgid "Spectators"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1352
+#, c-format
+msgid "playing ^3%s^7 on ^2%s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1359 qcsrc/client/scoreboard.qc:1364
+#, c-format
+msgid " for up to ^1%1.0f minutes^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1368 qcsrc/client/scoreboard.qc:1387
+msgid " or"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1371 qcsrc/client/scoreboard.qc:1378
+#, c-format
+msgid " until ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1372 qcsrc/client/scoreboard.qc:1379
+#: qcsrc/client/scoreboard.qc:1391 qcsrc/client/scoreboard.qc:1398
+msgid "SCO^points"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1380
+#: qcsrc/client/scoreboard.qc:1392 qcsrc/client/scoreboard.qc:1399
+msgid "SCO^is beaten"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1390 qcsrc/client/scoreboard.qc:1397
+#, c-format
+msgid " until a lead of ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1419
+#, c-format
+msgid "^1Respawning in ^3%s^1..."
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1429
+#, c-format
+msgid "You are dead, wait ^3%s^7 before respawning"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1438
+#, c-format
+msgid "You are dead, press ^2%s^7 to respawn"
+msgstr ""
+
+#: qcsrc/client/target_music.qc:94 qcsrc/client/target_music.qc:183
+#, c-format
+msgid "Cannot initialize sound %s\n"
+msgstr ""
+
+#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:584
+msgid "Spam"
+msgstr ""
+
+#: qcsrc/client/tturrets.qc:308
+#, c-format
+msgid "%s under attack!"
+msgstr ""
+
+#: qcsrc/client/vehicles/vehicles.qc:331 qcsrc/client/vehicles/vehicles.qc:333
+msgid "No right gunner!"
+msgstr ""
+
+#: qcsrc/client/vehicles/vehicles.qc:353 qcsrc/client/vehicles/vehicles.qc:355
+msgid "No left gunner!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:246
+msgid "Push"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:247
+msgid "Destroy"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:248
+msgid "Defend"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:249
+msgid "Blue base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:250
+msgid "DANGER"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:251
+msgid "Enemy carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:252
+msgid "Flag carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:253
+msgid "Dropped flag"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:254
+msgid "Help me!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:255
+msgid "Here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:256
+msgid "Dropped key"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:259
+#: qcsrc/client/waypointsprites.qc:260 qcsrc/client/waypointsprites.qc:261
+#: qcsrc/client/waypointsprites.qc:262
+msgid "Key carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:258
+msgid "Run here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:263
+msgid "Red base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:264
+msgid "Waypoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:265 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267
+msgid "Generator"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:268 qcsrc/client/waypointsprites.qc:269
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/client/waypointsprites.qc:271
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/client/waypointsprites.qc:275
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/client/waypointsprites.qc:301
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/client/waypointsprites.qc:303
+#: qcsrc/client/waypointsprites.qc:304
+msgid "Control point"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:276
+msgid "Checkpoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:279
+msgid "Finish"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/client/waypointsprites.qc:279
+msgid "Start"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Goal"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
+msgid "Ball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:283
+msgid "Ball carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_laser.qc:11
+msgid "Laser"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/server/w_shotgun.qc:11
+msgid "Shotgun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/server/w_uzi.qc:11
+msgid "Machine Gun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/server/w_grenadelauncher.qc:11
+msgid "Mortar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/server/w_electro.qc:11
+msgid "Electro"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:289 qcsrc/server/w_crylink.qc:11
+msgid "Crylink"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_nex.qc:11
+msgid "Nex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_hagar.qc:11
+msgid "Hagar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_rocketlauncher.qc:11
+msgid "Rocket Launcher"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_porto.qc:11
+msgid "Port-O-Launch"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:294
+msgid "Minstanex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:295
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
+msgid "Hook"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_fireball.qc:11
+msgid "Fireball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:297
+msgid "HLAC"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rifle.qc:11
+msgid "Rifle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_minelayer.qc:11
+msgid "Mine Layer"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:305
+msgid "Invisibility"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:306
+msgid "Extra life"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:307
+msgid "Speed"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:308
+msgid "Strength"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:309
+msgid "Shield"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:310
+msgid "Fuel regen"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:311
+msgid "Jet Pack"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:312
+msgid "Frozen!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:313
+msgid "Tagged"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:314
+msgid "Vehicle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:588
+#, c-format
+msgid "%s needing help!"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:31
+#, c-format
+msgid "error: status is %d\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:159
+msgid "error creating curl handle\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:263
+msgid "Notification dump command only works with cl_cmd and sv_cmd.\n"
+msgstr ""
+
+#: qcsrc/common/command/generic.qc:457
+msgid "Notification restart command only works with cl_cmd and sv_cmd.\n"
+msgstr ""
+
+#: qcsrc/common/counting.qh:5
+#, c-format
+msgid "CI_DEC^%s years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:7
+#, c-format
+msgid "CI_ZER^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:8
+#, c-format
+msgid "CI_FIR^%d year"
+msgstr ""
+
+#: qcsrc/common/counting.qh:9
+#, c-format
+msgid "CI_SEC^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:10
+#, c-format
+msgid "CI_THI^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:11
+#, c-format
+msgid "CI_MUL^%d years"
+msgstr ""
+
+#: qcsrc/common/counting.qh:13
+#, c-format
+msgid "CI_DEC^%s weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:15
+#, c-format
+msgid "CI_ZER^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:16
+#, c-format
+msgid "CI_FIR^%d week"
+msgstr ""
+
+#: qcsrc/common/counting.qh:17
+#, c-format
+msgid "CI_SEC^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:18
+#, c-format
+msgid "CI_THI^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:19
+#, c-format
+msgid "CI_MUL^%d weeks"
+msgstr ""
+
+#: qcsrc/common/counting.qh:21
+#, c-format
+msgid "CI_DEC^%s days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:23
+#, c-format
+msgid "CI_ZER^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:24
+#, c-format
+msgid "CI_FIR^%d day"
+msgstr ""
+
+#: qcsrc/common/counting.qh:25
+#, c-format
+msgid "CI_SEC^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:26
+#, c-format
+msgid "CI_THI^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:27
+#, c-format
+msgid "CI_MUL^%d days"
+msgstr ""
+
+#: qcsrc/common/counting.qh:29
+#, c-format
+msgid "CI_DEC^%s hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:31
+#, c-format
+msgid "CI_ZER^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:32
+#, c-format
+msgid "CI_FIR^%d hour"
+msgstr ""
+
+#: qcsrc/common/counting.qh:33
+#, c-format
+msgid "CI_SEC^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:34
+#, c-format
+msgid "CI_THI^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:35
+#, c-format
+msgid "CI_MUL^%d hours"
+msgstr ""
+
+#: qcsrc/common/counting.qh:38
+#, c-format
+msgid "CI_DEC^%s minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:40
+#, c-format
+msgid "CI_ZER^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:41
+#, c-format
+msgid "CI_FIR^%d minute"
+msgstr ""
+
+#: qcsrc/common/counting.qh:42
+#, c-format
+msgid "CI_SEC^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:43
+#, c-format
+msgid "CI_THI^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:44
+#, c-format
+msgid "CI_MUL^%d minutes"
+msgstr ""
+
+#: qcsrc/common/counting.qh:46
+#, c-format
+msgid "CI_DEC^%s seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:48
+#, c-format
+msgid "CI_ZER^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:49
+#, c-format
+msgid "CI_FIR^%d second"
+msgstr ""
+
+#: qcsrc/common/counting.qh:50
+#, c-format
+msgid "CI_SEC^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:51
+#, c-format
+msgid "CI_THI^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:52
+#, c-format
+msgid "CI_MUL^%d seconds"
+msgstr ""
+
+#: qcsrc/common/counting.qh:68
+#, c-format
+msgid "%dst"
+msgstr ""
+
+#: qcsrc/common/counting.qh:69
+#, c-format
+msgid "%dnd"
+msgstr ""
+
+#: qcsrc/common/counting.qh:70
+#, c-format
+msgid "%drd"
+msgstr ""
+
+#: qcsrc/common/counting.qh:71 qcsrc/common/counting.qh:74
+#, c-format
+msgid "%dth"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:717
+#, no-c-format
+msgid "@!#%'n Tuba Throwing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:1115 qcsrc/menu/xonotic/skinlist.c:166
+#, c-format
+msgid "%s: %s"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:36
+msgid "Deathmatch"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:39
+msgid "Last Man Standing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:42
+msgid "Race"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:45
+msgid "Race CTS"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:48
+msgid "Team Deathmatch"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:51
+msgid "Capture the Flag"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:54
+msgid "Clan Arena"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:57
+msgid "Domination"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:60
+msgid "Key Hunt"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:63
+msgid "Assault"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:66
+msgid "Onslaught"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:69
+msgid "Nexball"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:72
+msgid "Freeze Tag"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:75
+msgid "Keepaway"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:78
+msgid "Invasion"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/mage.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:24
+msgid "Mage"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/shambler.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:23
+msgid "Shambler"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/spider.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:22
+msgid "Spider"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/wyvern.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:25
+msgid "Wyvern"
+msgstr ""
+
+#: qcsrc/common/monsters/monster/zombie.qc:9
+#: qcsrc/menu/xonotic/dialog_monstertools.c:21
+msgid "Zombie"
+msgstr ""
+
+#: qcsrc/common/net_notice.qc:89
+msgid "^1Server notices:"
+msgstr ""
+
+#: qcsrc/common/net_notice.qc:95
+#, c-format
+msgid "^7%s (^3%d sec left)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:342
+msgid "^F4NOTE: ^BGSpectator chat is not sent to players during the match"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:343
+#, c-format
+msgid "^BG%s^BG captured the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:344
+#, c-format
+msgid ""
+"^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"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:345
+#, c-format
+msgid "^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:346
+#, c-format
+msgid ""
+"^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"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:347
+msgid "^BGThe ^TC^TT^BG flag was returned to base by its owner"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:348
+msgid "^BGThe ^TC^TT^BG flag was destroyed and returned to base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:349
+msgid "^BGThe ^TC^TT^BG flag was dropped in the base and returned itself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:350
+msgid ""
+"^BGThe ^TC^TT^BG flag fell somewhere it couldn't be reached and returned to "
+"base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:351
+#, c-format
+msgid ""
+"^BGThe ^TC^TT^BG flag became impatient after ^F1%.2f^BG seconds and returned "
+"itself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:352
+msgid "^BGThe ^TC^TT^BG flag has returned to the base"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:353
+#, c-format
+msgid "^BG%s^BG lost the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:354
+#, c-format
+msgid "^BG%s^BG got the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:355 qcsrc/common/notifications.qh:356
+#, c-format
+msgid "^BG%s^BG returned the ^TC^TT^BG flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:357
+#, c-format
+msgid "^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:358
+#, c-format
+msgid "^BG%s%s^K1 was drowned by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:359
+#, c-format
+msgid "^BG%s%s^K1 was grounded by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:360
+#, c-format
+msgid "^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:360
+#, c-format
+msgid "^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:361
+#, c-format
+msgid "^BG%s%s^K1 was cooked by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:362
+#, c-format
+msgid "^BG%s%s^K1 was pushed infront of a monster by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:363
+#, c-format
+msgid "^BG%s%s^K1 was blown up by ^BG%s^K1's Nade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:364
+#, c-format
+msgid "^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:365
+#, c-format
+msgid "^BG%s%s^K1 was slimed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:366
+#, c-format
+msgid "^BG%s%s^K1 was preserved by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:367
+#, c-format
+msgid "^BG%s%s^K1 tried to occupy ^BG%s^K1's teleport destination space%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:367
+#, c-format
+msgid "^BG%s%s^K1 was telefragged by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:368
+#, c-format
+msgid "^BG%s%s^K1 died in an accident with ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:369
+#, c-format
+msgid ""
+"^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Bumblebee exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:370
+#, c-format
+msgid "^BG%s%s^K1 saw the pretty lights of ^BG%s^K1's Bumblebee gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:371
+#, c-format
+msgid "^BG%s%s^K1 was crushed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:372
+#, c-format
+msgid "^BG%s%s^K1 was cluster bombed by ^BG%s^K1's Raptor%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:373
+#, c-format
+msgid "^BG%s%s^K1 couldn't resist ^BG%s^K1's purple blobs%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:374
+#, c-format
+msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Raptor exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:375
+#, c-format
+msgid ""
+"^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Spiderbot exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:376
+#, c-format
+msgid "^BG%s%s^K1 got shredded by ^BG%s^K1's Spiderbot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:377
+#, c-format
+msgid "^BG%s%s^K1 was blasted to bits by ^BG%s^K1's Spiderbot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:378
+#, c-format
+msgid "^BG%s%s^K1 got caught in the blast when ^BG%s^K1's Racer exploded%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:379
+#, c-format
+msgid "^BG%s%s^K1 was bolted down by ^BG%s^K1's Racer%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:380
+#, c-format
+msgid "^BG%s%s^K1 couldn't find shelter from ^BG%s^K1's Racer%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:381
+#, c-format
+msgid "^BG%s%s^K1 was thrown into a world of hurt by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:382
+#, c-format
+msgid "^BG%s^K1 was moved into the %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:383
+#, c-format
+msgid "^BG%s^K1 became enemies with the Lord of Teamplay%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:384
+#, c-format
+msgid "^BG%s^K1 thought they found a nice camping ground%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:385
+#, c-format
+msgid "^BG%s^K1 unfairly eliminated themself%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:386
+#, c-format
+msgid "^BG%s^K1 %s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:387
+#, c-format
+msgid "^BG%s^K1 couldn't catch their breath%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:387
+#, c-format
+msgid "^BG%s^K1 was in the water for too long%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:388
+#, c-format
+msgid "^BG%s^K1 hit the ground with a bit too much force%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:388
+#, c-format
+msgid "^BG%s^K1 hit the ground with a crunch%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:389
+#, c-format
+msgid "^BG%s^K1 became a bit too crispy%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:389
+#, c-format
+msgid "^BG%s^K1 felt a little hot%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:390
+#, c-format
+msgid "^BG%s^K1 died%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:391
+#, c-format
+msgid "^BG%s^K1 found a hot place%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:391
+#, c-format
+msgid "^BG%s^K1 turned into hot slag%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:392
+#, c-format
+msgid "^BG%s^K1 mastered the art of self-nading%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:393
+#, c-format
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:394
+#, c-format
+msgid "^BG%s^K1's innards became outwards by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:395
+#, c-format
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:396
+#, c-format
+msgid "^BG%s^K1 was zapped to death by a Shambler%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:397
+#, c-format
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:398
+#, c-format
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:399
+#, c-format
+msgid "^BG%s^K1 joins the Zombies%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:400
+#, c-format
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:401
+#, c-format
+msgid "^BG%s^K1 ran out of ammo%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:402
+#, c-format
+msgid "^BG%s^K1 rotted away%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:403
+#, c-format
+msgid "^BG%s^K1 became a shooting star%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:404
+#, c-format
+msgid "^BG%s^K1 was slimed%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:405
+#, c-format
+msgid "^BG%s^K1 couldn't take it anymore%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:406
+#, c-format
+msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:407
+#, c-format
+msgid "^BG%s^K1 switched to the %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:408
+#, c-format
+msgid "^BG%s^K1 died in an accident%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:409
+#, c-format
+msgid "^BG%s^K1 ran into a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:410
+#, c-format
+msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:411
+#, c-format
+msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:412
+#, c-format
+msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:413
+#, c-format
+msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:414
+#, c-format
+msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:415
+#, c-format
+msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:416
+#, c-format
+msgid "^BG%s^K1 was phased out by a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:417
+#, c-format
+msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:418
+#, c-format
+msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:419
+#, c-format
+msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:420
+#, c-format
+msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:421
+#, c-format
+msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:422
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:423
+#, c-format
+msgid "^BG%s^K1 was crushed by a vehicle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:424
+#, c-format
+msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:425
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:426
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:427
+#, c-format
+msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:428
+#, c-format
+msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:429
+#, c-format
+msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:430
+#, c-format
+msgid "^BG%s^K1 was in the wrong place%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:431
+#, c-format
+msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:432
+#, c-format
+msgid "^BG%s^K1 was frozen by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:433
+#, c-format
+msgid "^BG%s^K3 was revived by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:434
+#, c-format
+msgid "^BG%s^K3 was revived by falling"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:435
+#, c-format
+msgid "^BG%s^K3 was automatically revived after %s second(s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:436 qcsrc/common/notifications.qh:625
+msgid "^TC^TT^BG team wins the round"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:437 qcsrc/common/notifications.qh:626
+#, c-format
+msgid "^BG%s^BG wins the round"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:438 qcsrc/common/notifications.qh:554
+msgid "^BGRound tied"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:439 qcsrc/common/notifications.qh:555
+msgid "^BGRound over, there's no winner"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:440
+#, c-format
+msgid "^BG%s^K1 froze themself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:441
+#, c-format
+msgid "^BGGodmode saved you %s units of damage, cheater!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:442 qcsrc/common/notifications.qh:630
+#, c-format
+msgid "^BGYou do not have the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:443 qcsrc/common/notifications.qh:631
+#, c-format
+msgid "^BGYou dropped the ^F1%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:444 qcsrc/common/notifications.qh:632
+#, c-format
+msgid "^BGYou got the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:445 qcsrc/common/notifications.qh:633
+#, c-format
+msgid "^BGYou don't have enough ammo for the ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:446 qcsrc/common/notifications.qh:634
+#, c-format
+msgid "^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:447 qcsrc/common/notifications.qh:635
+#, c-format
+msgid "^F1%s^BG is ^F4not available^BG on this map"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:448
+#, c-format
+msgid "^BG%s^F3 connected%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:449
+#, c-format
+msgid "^BG%s^F3 connected and joined the ^TC^TT team"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:450
+#, c-format
+msgid "^BG%s^F3 is now playing"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:451 qcsrc/common/notifications.qh:638
+#, c-format
+msgid "^BG%s^BG has dropped the ball!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:452 qcsrc/common/notifications.qh:639
+#, c-format
+msgid "^BG%s^BG has picked up the ball!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:453
+#, c-format
+msgid "^BG%s^BG captured the keys for the ^TC^TT team"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:454
+#, c-format
+msgid "^BG%s^BG dropped the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:455
+#, c-format
+msgid "^BG%s^BG lost the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:456
+#, c-format
+msgid "^BG%s^BG picked up the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:457
+#, c-format
+msgid "^BG%s^F3 forfeited"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:458
+#, c-format
+msgid "^BG%s^F3 has no more lives left"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:459
+msgid "^BGMonsters are currently disabled"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:460
+#, c-format
+msgid "^BG%s^K1 picked up Invisibility"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:461
+#, c-format
+msgid "^BG%s^K1 picked up Shield"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:462
+#, c-format
+msgid "^BG%s^K1 picked up Speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:463
+#, c-format
+msgid "^BG%s^K1 picked up Strength"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:464
+#, c-format
+msgid "^BG%s^F3 disconnected"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:465
+#, c-format
+msgid "^BG%s^F3 was kicked for idling"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:466
+msgid ""
+"^F2You were kicked from the server because you are a spectator and "
+"spectators aren't allowed at the moment."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:467
+#, c-format
+msgid "^BG%s^F3 is now spectating"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:468
+#, c-format
+msgid "^BG%s^BG has abandoned the race"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:469
+#, c-format
+msgid "^BG%s^BG couldn't break their %s%s^BG place record of %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:470
+#, c-format
+msgid "^BG%s^BG couldn't break the %s%s^BG place record of %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:471
+#, c-format
+msgid "^BG%s^BG has finished the race"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:472
+#, c-format
+msgid "^BG%s^BG broke %s^BG's %s%s^BG place record with %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:473
+#, c-format
+msgid "^BG%s^BG improved their %s%s^BG place record with %s%s %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:474
+#, c-format
+msgid ""
+"^BG%s^BG scored a new record with ^F2%s^BG, but unfortunately lacks a UID "
+"and will be lost."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:475
+#, c-format
+msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:476
+msgid "^TC^TT ^BGteam scores!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:477
+#, c-format
+msgid ""
+"^F2You have to become a player within the next %s, otherwise you will be "
+"kicked, because spectating isn't allowed at this time!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:478
+#, c-format
+msgid "^BG%s^K1 picked up a Superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:479
+#, c-format
+msgid ""
+"^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
+"^F2Xonotic %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:480
+#, c-format
+msgid ""
+"^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:481
+#, c-format
+msgid ""
+"^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
+"the update from ^F3http://www.xonotic.org/^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:482
+#, c-format
+msgid "^F3SVQC Build information: ^F4%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:483
+#, c-format
+msgid ""
+"^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:484
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:485
+#, c-format
+msgid "^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:486
+#, c-format
+msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:487
+#, c-format
+msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:488
+#, c-format
+msgid "^BG%s%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:489
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:490
+#, c-format
+msgid "^BG%s^K1 played with Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:491
+#, c-format
+msgid "^BG%s^K1 could not remember where they put their Electro plasma%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:492
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:493
+#, c-format
+msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:494
+#, c-format
+msgid "^BG%s^K1 should have used a smaller gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:495
+#, c-format
+msgid "^BG%s^K1 forgot about their firemine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:496
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:497
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:498
+#, c-format
+msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:499
+#, c-format
+msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:500
+#, c-format
+msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:501
+#, c-format
+msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:502
+#, c-format
+msgid ""
+"^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:503
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:504
+#, c-format
+msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Laser%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:505
+#, c-format
+msgid "^BG%s^K1 shot themself to hell with their Laser%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:506
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:507
+#, c-format
+msgid "^BG%s^K1 forgot about their mine%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:508
+#, c-format
+msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:509
+#, c-format
+msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:510
+#, c-format
+msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:511
+#, c-format
+msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:512
+#, c-format
+msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:513
+#, c-format
+msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Nex%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:514
+#, c-format
+msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:515
+#, c-format
+msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:516
+#, c-format
+msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:517
+#, c-format
+msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:518
+#, c-format
+msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:519
+#, c-format
+msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:520
+#, c-format
+msgid "^BG%s^K1 blew themself up with their Rocketlauncher%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:521
+#, c-format
+msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:522
+#, c-format
+msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:523
+#, c-format
+msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:524
+#, c-format
+msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:525
+#, c-format
+msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:526
+#, c-format
+msgid "^BG%s^K1 is now thinking with portals%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:527
+#, c-format
+msgid "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:528
+#, c-format
+msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:529
+#, c-format
+msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:530
+#, c-format
+msgid "^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:548
+msgid "^BGYou are attacking!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:549
+msgid "^BGYou are defending!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:550
+msgid "^F4Begin!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:551
+msgid "^F4Game starts in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:552
+msgid "^F4Round starts in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:553
+msgid "^F4Round cannot start"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:556
+msgid "^F2Don't camp!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:557
+msgid ""
+"^BGYou are now free.\n"
+"^BGFeel free to ^F2try to capture^BG the flag again\n"
+"^BGif you think you will succeed."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:558
+msgid ""
+"^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."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:559
+msgid "^BGYou captured the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:560
+#, c-format
+msgid "^BGToo many flag throws! Throwing disabled for %s."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:561
+#, c-format
+msgid "^BG%s^BG passed the ^TC^TT^BG flag to %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:562
+#, c-format
+msgid "^BGYou received the ^TC^TT^BG flag from %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:563
+#, c-format
+msgid "^BG%s^BG requests you to pass the flag%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:564
+#, c-format
+msgid "^BGRequesting %s^BG to pass you the flag"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:565
+#, c-format
+msgid "^BGYou passed the ^TC^TT^BG flag to %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:566
+msgid "^BGYou got the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:567
+#, c-format
+msgid "^BGThe %senemy^BG got your flag! Retrieve it!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:568
+#, c-format
+msgid "^BGThe %senemy (^BG%s%s)^BG got your flag! Retrieve it!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:569
+#, c-format
+msgid "^BGYour %steam mate^BG got the flag! Protect them!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:570
+#, c-format
+msgid "^BGYour %steam mate (^BG%s%s)^BG got the flag! Protect them!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:571
+msgid "^BGYou returned the ^TC^TT^BG flag!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:572
+msgid "^BGStalemate! Enemies can now see you on radar!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:573
+msgid "^BGStalemate! Flag carriers can now be seen by enemies on radar!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:574
+#, c-format
+msgid "^K3%sYou fragged ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:574
+#, c-format
+msgid "^K3%sYou scored against ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:575
+#, c-format
+msgid "^K1%sYou were fragged by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:575
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:576
+#, c-format
+msgid "^K1%sYou were fragged by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:576
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:577
+#, c-format
+msgid "^K3%sYou fragged ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:577
+#, c-format
+msgid "^K3%sYou scored against ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:578
+#, c-format
+msgid "^K1%sYou scored against ^BG%s^K1 while they were typing"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:578
+#, c-format
+msgid "^K1%sYou typefragged ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:579
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^K1 while typing!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:579
+#, c-format
+msgid "^K1%sYou were typefragged by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:580
+#, c-format
+msgid "^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:580
+#, c-format
+msgid "^K1%sYou were typefragged by ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:581
+#, c-format
+msgid "^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:581
+#, c-format
+msgid "^K1%sYou typefragged ^BG%s^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:582
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the nade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:583
+#, c-format
+msgid ""
+"^BGYou have been moved into a different team\n"
+"You are now on: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:584
+msgid "^K1Don't go against your team mates!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:584
+msgid "^K1Don't shoot your team mates!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:585
+msgid "^K1Die camper!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:585
+msgid "^K1Reconsider your tactics, camper!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:586
+msgid "^K1You unfairly eliminated yourself!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:587
+#, c-format
+msgid "^K1You were %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:588
+msgid "^K1You couldn't catch your breath!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:589
+msgid "^K1You hit the ground with a crunch!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:590
+msgid "^K1You felt a little too hot!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:590
+msgid "^K1You got a little bit too crispy!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:591
+msgid "^K1You killed your own dumb self!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:591
+msgid "^K1You need to be more careful!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:592
+msgid "^K1You couldn't stand the heat!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
+msgid "^K1Tastes like chicken!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:594
+msgid "^K1You forgot to put the pin back in!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:595
+msgid "^K1You are respawning for running out of ammo..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:595
+msgid "^K1You were killed for running out of ammo..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:596
+msgid "^K1You grew too old without taking your medicine"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:596
+msgid "^K1You need to preserve your health"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:597
+msgid "^K1You became a shooting star!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:598
+msgid "^K1You melted away in slime!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:599
+msgid "^K1You committed suicide!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:599
+msgid "^K1You ended it all!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:600
+msgid "^K1You got stuck in a swamp!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:601
+#, c-format
+msgid "^BGYou are now on: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:602
+msgid "^K1You died in an accident!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:603
+msgid "^K1You had an unfortunate run in with a turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:603
+msgid "^K1You were fragged by a turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:604
+msgid "^K1You had an unfortunate run in with an eWheel turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:604
+msgid "^K1You were fragged by an eWheel turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:605
+msgid "^K1You had an unfortunate run in with a Walker turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:605
+msgid "^K1You were fragged by a Walker turret!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:606
+msgid "^K1You got caught in the blast of a Bumblebee explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:607
+msgid "^K1You were crushed by a vehicle!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:608
+msgid "^K1You were caught in a Raptor cluster bomb!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:609
+msgid "^K1You got caught in the blast of a Raptor explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:610
+msgid "^K1You got caught in the blast of a Spiderbot explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:611
+msgid "^K1You were blasted to bits by a Spiderbot rocket!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:612
+msgid "^K1You got caught in the blast of a Racer explosion!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:613
+msgid "^K1You couldn't find shelter from a Racer rocket!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:614
+msgid "^K1Watch your step!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:615
+#, c-format
+msgid "^K1Moron! You fragged ^BG%s^K1, a team mate!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:615
+#, c-format
+msgid "^K1Moron! You went against ^BG%s^K1, a team mate!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:616
+#, c-format
+msgid "^K1You were fragged by ^BG%s^K1, a team mate"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:616
+#, c-format
+msgid "^K1You were scored against by ^BG%s^K1, a team mate"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:617
+msgid ""
+"^K1Stop idling!\n"
+"^BGDisconnecting in ^COUNT..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:618
+msgid "^F2You picked up some extra lives"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:619
+#, c-format
+msgid "^K3You froze ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:620
+#, c-format
+msgid "^K1You were frozen by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:621
+#, c-format
+msgid "^K3You revived ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:622
+msgid "^K3You revived yourself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:623
+#, c-format
+msgid "^K3You were revived by ^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:624
+#, c-format
+msgid "^K3You were automatically revived after %s second(s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:627
+msgid "^K1You froze yourself"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:628
+msgid "^K1Round already started, you spawn as frozen"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:636
+msgid ""
+"^K1No spawnpoints available!\n"
+"Hope your team can fix it..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:637
+msgid ""
+"^K1You may not join the game at this time.\n"
+"The player limit reached maximum capacity."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:640
+msgid "^BGYou picked up the ball"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
+msgid "^BGKilling people while you don't have the ball gives no points!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:642
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Help the key carriers to meet!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:643
+msgid ""
+"^BGAll keys are in ^TC^TT team^BG's hands!\n"
+"Interfere ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:644
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Meet the other key carriers ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:645
+msgid "^F4Round will start in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:646
+msgid "^BGScanning frequency range..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:647
+msgid "^BGYou are starting with the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:648 qcsrc/common/notifications.qh:649
+#, c-format
+msgid ""
+"^BGWaiting for players to join...\n"
+"Need active players for: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:650
+#, c-format
+msgid "^BGWaiting for %s player(s) to join..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:651
+msgid "^F4^COUNT^BG left to find some ammo!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:653
+#, c-format
+msgid "^F2Extra lives remaining: ^K1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:654
+msgid "^BGSecondary fire inflicts no damage!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:655
+#, c-format
+msgid "^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:656
+#, c-format
+msgid ""
+"^F2^COUNT^BG until weapon change...\n"
+"Next weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:657
+#, c-format
+msgid "^F2Active weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:658
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep fragging until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep scoring until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:660
+#, c-format
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"^BGAdded ^F4%s^BG to the game!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:661
+msgid "^F2Invisibility has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:662
+msgid "^F2Shield has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:663
+msgid "^F2Speed has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:664
+msgid "^F2Strength has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:665
+msgid "^F2You are invisible"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:666
+msgid "^F2Shield surrounds you"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:667
+msgid "^F2You are on speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:668
+msgid "^F2Strength infuses your weapons with devastating power"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:669
+msgid "^F2The race is over, finish your lap!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:670
+msgid "^F2Superweapons have broken down"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:671
+msgid "^F2Superweapons have been lost"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:672
+msgid "^F2You now have a superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:673
+msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:674
+msgid "^K1Changing team in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:675
+msgid "^K1Spectating in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:676
+msgid "^K1Suicide in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:677
+msgid "^F4Timeout begins in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:678
+msgid "^F4Timeout ends in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:961 qcsrc/common/notifications.qh:962
+#, c-format
+msgid " (near %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
+msgid "primary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:969 qcsrc/common/notifications.qh:970
+msgid "secondary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:980
+#, c-format
+msgid " ^F1(Press %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:989
+#, c-format
+msgid " with %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+msgid "TRIPLE FRAG! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 unlocked RAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+msgid "RAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 started a MASSACRE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+msgid "MASSACRE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 executed MAYHEM! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+msgid "MAYHEM! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 is a BERSERKER! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+msgid "BERSERKER! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 inflicts CARNAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+msgid "CARNAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+#, c-format
+msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+#, c-format
+msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1004
+msgid "ARMAGEDDON! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1010
+#, c-format
+msgid "%s(^F1Bot^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1012
+#, c-format
+msgid "%s(Ping ^F1%d^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1018
+#, c-format
+msgid ""
+"\n"
+"(Health ^1%d^BG / Armor ^2%d^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1020
+#, c-format
+msgid ""
+"\n"
+"(^F4Dead^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1057 qcsrc/common/notifications.qh:1070
+#, c-format
+msgid "%d score spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1069
+#, c-format
+msgid "%d frag spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1082
+msgid "First blood! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1082
+msgid "First score! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1086
+msgid "First casualty! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1086
+msgid "First victim! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1127
+#, c-format
+msgid "%s^K1 has %d frags in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1128
+#, c-format
+msgid "%s^K1 made %d scores in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1146
+#, c-format
+msgid "%s^K1 drew first blood! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1147
+#, c-format
+msgid "%s^K1 got the first score! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1163
+#, c-format
+msgid ", ending their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1164
+#, c-format
+msgid ", ending their %d score spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1178
+#, c-format
+msgid ", losing their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1179
+#, c-format
+msgid ", losing their %d score spree"
+msgstr ""
+
+#: qcsrc/common/teams.qh:26
+msgid "Red"
+msgstr ""
+
+#: qcsrc/common/teams.qh:27
+msgid "Blue"
+msgstr ""
+
+#: qcsrc/common/teams.qh:28
+msgid "Yellow"
+msgstr ""
+
+#: qcsrc/common/teams.qh:29
+msgid "Pink"
+msgstr ""
+
+#: qcsrc/common/teams.qh:30
+msgid "Team"
+msgstr ""
+
+#: qcsrc/common/teams.qh:31
+msgid "Neutral"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:35
+msgid "Usage: menu_cmd command..., where possible commands are:\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:36
+msgid "  sync - reloads all cvars on the current menu page\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:37
+msgid "  directmenu ITEM - select a menu item as main item\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:68
+msgid "Available options:\n"
+msgstr ""
+
+#: qcsrc/menu/command/menu_cmd.qc:119
+msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
+msgstr ""
+
+#: qcsrc/menu/item/label.c:82
+#, c-format
+msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
+msgstr ""
+
+#: qcsrc/menu/item/listbox.c:382
+#, c-format
+msgid "Item %d"
+msgstr ""
+
+#: qcsrc/menu/item/slider.c:64
+#, c-format
+msgid "%d (%s)"
+msgstr ""
+
+#: qcsrc/menu/item/textslider.c:31 qcsrc/menu/item/textslider.c:33
+msgid "custom"
+msgstr ""
+
+#: qcsrc/menu/menu.qc:59
+#, c-format
+msgid "^4MQC Build information: ^1%s\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/campaign.c:286
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:123
+msgid "???"
+msgstr ""
+
+#: qcsrc/menu/xonotic/campaign.c:287
+#, c-format
+msgid "Level %d: %s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:73
+msgid "forced to be saved to config.cfg"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:79 qcsrc/menu/xonotic/cvarlist.c:89
+msgid "will not be saved"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:84
+msgid "will be saved to config.cfg"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
+msgid "private"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:95
+msgid "engine setting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/cvarlist.c:97
+msgid "read only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_credits.c:5
+msgid "Credits"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_monstertools.c:44
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:271
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:99
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:78
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
+msgid "OK"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:4
+msgid "Welcome"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+msgid ""
+"Welcome to Xonotic, please select your language preference and enter your "
+"player name to get started.  You can change these options later through the "
+"menu system."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:52
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
+msgid "Name:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:74
+#: qcsrc/menu/xonotic/dialog_settings_user.c:65
+msgid "Text language:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+msgid "ALWU2N^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:88
+msgid "ALWU2N^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:89
+msgid "ALWU2N^Undecided"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:93
+msgid "Save settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:4
+msgid "Ammo Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:23
+msgid "Ammunition display:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:26
+msgid "Show only current ammo type"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:29
+msgid "Align icon:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:30
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:37
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:29
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:41
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:29
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:41
+msgid "Left"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:39
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:42
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:31
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:42
+msgid "Right"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:4
+msgid "Centerprint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:24
+msgid "Message duration:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:28
+msgid "Fade time:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:32
+msgid "Flip messages order"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:34
+msgid "Text alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:38
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:51
+msgid "Center"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:42
+msgid "Font scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4
+msgid "Chat Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:23
+msgid "Chat entries:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:26
+msgid "Chat size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:30
+msgid "Chat lifetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:34
+msgid "Chat beep sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:4
+msgid "Engine Info Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:23
+msgid "Engine info:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:26
+msgid "Use an averaging algorithm for fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:4
+msgid "Health/Armor Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:23
+msgid "Enable status bar"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:25
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:25
+msgid "Status bar alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:33
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:43
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:33
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:43
+msgid "Inward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:35
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:44
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:35
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:44
+msgid "Outward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:38
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:38
+msgid "Icon alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:46
+msgid "Flip health and armor positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:4
+msgid "Info Messages Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:23
+msgid "Info messages:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:26
+msgid "Flip align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_modicons.c:4
+msgid "Mod Icons Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:4
+msgid "Notification Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:23
+msgid "Notifications:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:26
+msgid "Also print notifications to the console"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:29
+msgid "Flip notify order"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:32
+msgid "Entry lifetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:36
+msgid "Entry fadetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:4
+msgid "Physics Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:22
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:22
+msgid "Panel disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:24
+msgid "Panel enabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:25
+msgid "Panel enabled even observing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:26
+msgid "Panel enabled only in Race/CTS"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:32
+msgid "Status bar"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:34
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:49
+msgid "Left align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:35
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:53
+msgid "Right align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:36
+msgid "Inward align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:37
+msgid "Outward align"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:41
+msgid "Flip speed/acceleration positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:45
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:29
+msgid "Speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:46
+msgid "Include vertical speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:57
+msgid "Speed unit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:59
+msgid "qu/s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:60
+msgid "m/s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:61
+msgid "km/h"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:62
+msgid "mph"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:63
+msgid "knots"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:65
+msgid "Show"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:68
+msgid "Top speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:74
+msgid "Acceleration:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:75
+msgid "Include vertical acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4
+msgid "Powerups Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:46
+msgid "Flip strength and shield positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:4
+msgid "Pressed Keys Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:23
+msgid "Panel enabled when spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:24
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:24
+msgid "Panel always enabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:31
+msgid "Forced aspect:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_racetimer.c:4
+msgid "Race Timer Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:4
+msgid "Radar Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:23
+msgid "Panel enabled in teamgames"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:30
+msgid "Radar:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:33
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:44
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:83
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:69
+#: qcsrc/menu/xonotic/util.qc:758
+msgid "Alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:37
+msgid "Rotation:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:39
+msgid "Forward"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:40
+msgid "West"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:41
+msgid "South"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:42
+msgid "East"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:43
+msgid "North"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:47
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:63
+msgid "Scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:51
+msgid "Zoom mode:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:53
+msgid "Zoomed in"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:54
+msgid "Zoomed out"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:55
+msgid "Always zoomed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:56
+msgid "Never zoomed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:4
+msgid "Score Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:23
+msgid "Score:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
+msgid "Rankings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:27
+msgid "Off"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
+msgid "And me"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:29
+msgid "Pure"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
+msgid "Timer Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:23
+msgid "Timer:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:26
+msgid "Show elapsed time"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:4
+msgid "Vote Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:23
+msgid "Alpha after voting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:4
+msgid "Weapons Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:25
+msgid "Fade out after:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:27
+msgid "Never"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:29
+#, c-format
+msgid "%ds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:33
+msgid "Fade effect:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:36
+msgid "EF^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:37
+msgid "Alpha"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:38
+msgid "Slide"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:39
+msgid "EF^Both"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:43
+msgid "Weapon icons:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46
+msgid "Show only owned weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49
+msgid "Show weapon ID as:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50
+msgid "SHOWAS^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51
+msgid "Number"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52
+msgid "Bind"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55
+msgid "Show Accuracy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:56
+msgid "Show Ammo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:59
+msgid "Ammo bar color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:65
+msgid "Ammo bar alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:4
+msgid "Panel HUD Setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:22
+msgid "Panel background defaults:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:24 qcsrc/menu/xonotic/util.qc:733
+msgid "Background:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:26
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:38
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:53
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:92 qcsrc/menu/xonotic/util.qc:736
+#: qcsrc/menu/xonotic/util.qc:752 qcsrc/menu/xonotic/util.qc:769
+msgid "Disable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:31
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:78 qcsrc/menu/xonotic/util.qc:741
+msgid "Color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:36 qcsrc/menu/xonotic/util.qc:749
+msgid "Border size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:51
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:90
+msgid "Team color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:59 qcsrc/menu/xonotic/util.qc:775
+msgid "Test team color in configure mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:62 qcsrc/menu/xonotic/util.qc:778
+msgid "Padding:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:69
+msgid "HUD Dock:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:71
+msgid "DOCK^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:72
+msgid "DOCK^Small"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:73
+msgid "DOCK^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:74
+msgid "DOCK^Large"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:97
+msgid "Grid settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:100
+msgid "Snap panels to grid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:103
+msgid "Grid size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:104
+msgid "X:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:110
+msgid "Y:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:118
+msgid "Exit setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:4
+msgid "Monster Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:19
+msgid "Monster:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:28
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Spawn"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:29
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Remove"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:31
+msgid "Move target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:32
+msgid "Follow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:33
+msgid "Wander"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:34
+msgid "Spawnpoint"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:35
+msgid "No moving"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:37
+msgid "Colors:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_monstertools.c:39
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:44
+msgid "Set skin:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:4
+msgid "Multiplayer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:18
+msgid "Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:19
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:5
+msgid "Create"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:20
+msgid "Demos"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:21
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:5
+msgid "Player Setup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:34
+msgid "Game type:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48
+msgid "Time limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:52
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:60
+msgid "Use map specified default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:55
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:155
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+msgid "Point limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63
+msgid "Player slots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66
+msgid "Number of bots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69
+msgid "Bot skill:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72
+msgid "Botlike"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73
+msgid "Beginner"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74
+msgid "You will win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75
+msgid "You can win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76
+msgid "You might win"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77
+msgid "Advanced"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78
+msgid "Expert"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79
+msgid "Pro"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80
+msgid "Assassin"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81
+msgid "Unhuman"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82
+msgid "Godlike"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87
+msgid "Mutators..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
+msgid "Advanced settings..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103
+msgid "Map list:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109
+msgid "Select all"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112
+msgid "Select none"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118
+msgid "Start Multiplayer!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153
+msgid "Capture limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:156
+msgid "Lives:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157
+msgid "Laps:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158
+msgid "Goals:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
+msgid "Frag limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:6
+msgid "Advanced server settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:25
+msgid "Game settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:28
+msgid "Allow spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:31
+msgid "Spawn shield:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:36
+msgid "Game speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:40
+msgid "Teamplay settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:43
+msgid "Friendly fire scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:47
+msgid "Virtual friendly fire (effect only)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:50
+msgid "Friendly fire penalty:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:54
+msgid "Virtual penalty (effect only)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:57
+msgid "Teams:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:66
+msgid "Map voting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:68
+msgid "No voting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:69
+msgid "2 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:70
+msgid "3 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:71
+msgid "4 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:72
+msgid "5 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:73
+msgid "6 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:74
+msgid "7 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:75
+msgid "8 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:76
+msgid "9 choices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:79
+msgid "Simple majority wins vcall"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:5
+msgid "Map Information"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "Full item placement"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "MinstaGib only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81
+msgid "Title:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:87
+msgid "Author:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:93
+msgid "Features:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98
+msgid "Game types:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:328
+msgid "Close"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124
+msgid "MAP^Play"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:7
+msgid "Mutators"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:33
+msgid "All Weapons Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:35
+msgid "Most Weapons Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:56
+#, c-format
+msgid "%s Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:68
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:162
+msgid "Dodging"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:70
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:254
+msgid "MinstaGib"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:72
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:208
+msgid "New Toys"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:74
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:258
+msgid "NIX"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:76
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:212
+msgid "Rocket Flying"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:78
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204
+msgid "Invincible Projectiles"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:266
+msgid "No start weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:189
+msgid "Low gravity"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:168
+msgid "Cloaked"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:90
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:171
+msgid "Midair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:92
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:174
+msgid "Vampire"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:94
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:216
+msgid "Piñata"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:96
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:220
+msgid "Weapons stay"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:179
+msgid "Blood loss"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:100
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201
+msgid "Jet pack"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:102
+msgid "No powerups"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104
+msgid "Powerups"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:106
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:165
+msgid "Touch explode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:108
+msgid "MUT^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:159
+msgid "Gameplay mutators:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:195
+msgid "Weapon & item mutators:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:198
+msgid "Grappling hook"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:225
+msgid "Regular (no arena)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:227
+msgid "Weapon arenas:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:244
+msgid "Most weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:248
+msgid "All weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:251
+msgid "Special arenas:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:262
+msgid "with laser"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:4
+msgid "Demo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:26
+msgid "Automatically record demos while playing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:29
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:28
+msgid "Filter:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:40
+msgid "Timedemo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43
+msgid "DEMO^Play"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:4
+msgid "Join"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
+msgid "SRVS^Empty"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
+msgid "SRVS^Full"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
+msgid "Pause"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:255
+msgid "Address:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
+msgid "Info..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
+msgid "Join!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:5
+msgid "Server Information"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:174
+#, c-format
+msgid "%d/%d"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:186
+#: qcsrc/menu/xonotic/util.qc:735 qcsrc/menu/xonotic/util.qc:751
+#: qcsrc/menu/xonotic/util.qc:760 qcsrc/menu/xonotic/util.qc:768
+#: qcsrc/menu/xonotic/util.qc:780
+msgid "Default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
+#, c-format
+msgid "%d modified"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
+msgid "Official"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:201
+msgid "N/A (auth library missing, can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:203
+msgid "N/A (auth library missing)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:209
+msgid "Not supported (can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211
+msgid "Not supported (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:215
+msgid "Supported (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217
+msgid "Supported (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:221
+msgid "Requested (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223
+msgid "Requested (won't encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:227
+msgid "Required (can't connect)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:229
+msgid "Required (will encrypt)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:249
+msgid "Hostname:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:263
+msgid "Gametype:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:268
+msgid "Map:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:273
+msgid "Mod:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:278
+msgid "Version:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:283
+msgid "Settings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:322
+msgid "Players:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:295
+msgid "Bots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:300
+msgid "Free slots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:306
+msgid "Encryption:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:311
+msgid "ID:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:316
+msgid "Key:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:61
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:20
+msgid "Model:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:73
+msgid "Glowing color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:82
+msgid "Detail color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93
+msgid "No crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:95
+msgid "Per weapon crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:98
+msgid "Custom crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117
+msgid "Crosshair size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:122
+msgid "Crosshair alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:128
+msgid "Crosshair color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130
+msgid "Per weapon"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:132
+msgid "By health"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:136
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:47
+msgid "Custom"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:144
+msgid "Other crosshair settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:152
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6
+msgid "Model settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6
+msgid "View settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:164
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6
+msgid "Weapon settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:174
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6
+msgid "HUD settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:180
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:164
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:200
+#: qcsrc/menu/xonotic/dialog_settings_input.c:90
+#: qcsrc/menu/xonotic/dialog_settings_user.c:88
+#: qcsrc/menu/xonotic/dialog_settings_video.c:143
+msgid "Apply immediately"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6
+msgid "Crosshair settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28
+msgid "Enable center crosshair dot"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31
+msgid "Dot size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36
+msgid "Dot alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41
+msgid "Dot color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43
+msgid "Use normal crosshair color"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54
+msgid "Crosshair animations:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57
+msgid "Smooth effects of crosshairs"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61
+msgid "Use rings to indicate weapon status"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67
+msgid "Hit testing:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69
+msgid "HTTST^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70
+msgid "HTTST^TrueAim"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71
+msgid "HTTST^Enemies"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76
+msgid "Blur crosshair if the shot is obstructed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81
+msgid "Animate when hitting an enemy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85
+msgid "Animate when picking up an item"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40
+msgid "Damage:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43
+msgid "Overlay:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:47
+msgid "Factor:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:53
+msgid "Fade rate:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:60
+msgid "Waypoints"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:75
+msgid "Edge offset:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83
+msgid "Show names above players"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:86
+msgid "Only when near crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:89
+msgid "Display health and armor"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:93
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:4
+msgid "Enter HUD editor"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:28
+msgid "In order for the HUD editor to show, you must first be in game."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30
+msgid "Do you wish to start a local game to set up the HUD?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33
+msgid "HDCNFRM^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36
+msgid "HDCNFRM^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28
+msgid "Body fading:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31
+msgid "Gibs:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33
+msgid "GIBS^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34
+msgid "GIBS^Few"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35
+msgid "GIBS^Many"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36
+msgid "GIBS^Lots"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:41
+msgid "Force player models to mine"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:43
+msgid "Force player colors to mine"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28
+msgid "Field of view:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31
+msgid "Zoom:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33
+msgid "RETICLE^Fullscreen"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34
+msgid "RETICLE^With reticle"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38
+msgid "ZOOM^Factor:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42
+msgid "ZOOM^Speed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52
+msgid "ZOOM^Instant"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56
+msgid "ZOOM^Sensitivity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59
+msgid "Velocity zoom:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61
+msgid "VZOOM^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62
+msgid "VZOOM^Forward only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63
+msgid "VZOOM^All directions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67
+msgid "VZOOM^Speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72
+msgid "Allow passing through walls while spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75
+msgid "1st person perspective"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79
+msgid "Smooth the view when landing from a jump"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83
+msgid "Smooth the view while crouching"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87
+msgid "View waving while idle"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91
+msgid "View bobbing while walking around"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96
+msgid "3rd person perspective"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100
+msgid "Back distance"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106
+msgid "Up distance"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29
+msgid "Weapon priority list:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33
+msgid "Up"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36
+msgid "Down"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41
+msgid "Use priority list for weapon cycling"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43
+msgid "Auto switch weapons on pickup"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:46
+msgid "Draw 1st person weapon model"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:58
+msgid "Gun model swaying"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63
+msgid "Gun model bobbing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:4
+msgid "Quit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:18
+msgid "Are you sure you want to quit?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:21
+msgid "Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_quit.c:22
+msgid "No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:4
+msgid "Sandbox Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
+msgid "Remove *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28
+msgid "Copy *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:29
+msgid "Paste"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:31
+msgid "Bone:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:36
+msgid "Set * as child"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:37
+msgid "Attach to *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:39
+msgid "Detach from *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:42
+msgid "Visual object properties for *:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:46
+msgid "Set alpha:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:49
+msgid "Set color main:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:51
+msgid "Set color glow:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:55
+msgid "Set frame:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:59
+msgid "Physical object properties for *:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:61
+msgid "Set material:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:67
+msgid "Set solidity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:68
+msgid "Non-solid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:69
+msgid "Solid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:70
+msgid "Set physics:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:71
+msgid "Static"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:72
+msgid "Movable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:73
+msgid "Physical"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:75
+msgid "Set scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:77
+msgid "Set force:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:81
+msgid "Claim *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:83
+msgid "* object info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:84
+msgid "* mesh info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:85
+msgid "* attachment info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:86
+msgid "Show help"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:87
+msgid "* is the object you are facing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:4
+msgid "Settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:18
+#: qcsrc/menu/xonotic/dialog_settings_input.c:4
+msgid "Input"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:19
+#: qcsrc/menu/xonotic/dialog_settings_video.c:4
+msgid "Video"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:20
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:4
+msgid "Effects"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:21
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:4
+msgid "Audio"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:22
+#: qcsrc/menu/xonotic/dialog_settings_user.c:4
+msgid "User"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:23
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:4
+msgid "Misc"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:27
+msgid "Master:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:33
+msgid "Music:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:41
+msgid "VOL^Ambient:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:48
+msgid "Info:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:55
+msgid "Items:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:62
+msgid "Pain:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:69
+msgid "Player:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:76
+msgid "Shots:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:83
+msgid "Voice:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:91
+msgid "Weapons:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:97
+msgid "New style sound attenuation"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:99
+msgid "Mute sounds when not active"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:102
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:156
+msgid "Frequency:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:104
+msgid "8 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:105
+msgid "11.025 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:106
+msgid "16 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:107
+msgid "22.05 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:108
+msgid "24 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:109
+msgid "32 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:110
+msgid "44.1 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:111
+msgid "48 kHz"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:114
+msgid "Channels:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:116
+msgid "Mono"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:117
+msgid "Stereo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:118
+msgid "2.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:119
+msgid "4"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:120
+msgid "5"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:121
+msgid "5.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:122
+msgid "6.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:123
+msgid "7.1"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:126
+msgid "Swap Stereo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:128
+msgid "Headphone friendly mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:132
+msgid "Hit indication sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:134
+msgid "Chat message sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:136
+msgid "Menu sounds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:139
+msgid "Time announcer:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:141
+msgid "WRN^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:142
+msgid "1 minute"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:143
+msgid "5 minutes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:144
+msgid "WRN^Both"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:151
+msgid "Automatic taunts"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:161
+msgid "Debug info about sounds"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:38
+msgid "Quality preset:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:41
+msgid "PRE^OMG!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:42
+msgid "PRE^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:43
+msgid "PRE^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:44
+msgid "PRE^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:45
+msgid "PRE^High"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:46
+msgid "PRE^Ultra"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:48
+msgid "PRE^Ultimate"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:52
+msgid "Geometry detail:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:54
+msgid "DET^Lowest"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:55
+msgid "DET^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:56
+msgid "DET^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:57
+msgid "DET^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:58
+msgid "DET^Best"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:59
+msgid "DET^Insane"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:62
+msgid "Player detail:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:65
+msgid "Texture resolution:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:69
+msgid "RES^Leet"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:70
+msgid "RES^Lowest"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:71
+msgid "RES^Very low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:72
+msgid "RES^Low"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:73
+msgid "RES^Normal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:74
+msgid "RES^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:75
+msgid "RES^Best"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:87
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:91
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:95
+msgid "Avoid lossy texture compression"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:105
+msgid "Show surfaces"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:108
+msgid "Use lightmaps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:109
+msgid "Deluxe mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:111
+msgid "Gloss"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:114
+msgid "Offset mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:116
+msgid "Relief mapping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:119
+msgid "Reflections:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:122
+msgid "Blurred"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:123
+msgid "REFL^Good"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:124
+msgid "Sharp"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:129
+msgid "Particles quality:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:132
+msgid "Particles distance:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:135
+msgid "Damage effects:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:137
+msgid "DMGPRTCLS^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:138
+msgid "DMGPRTCLS^Skeletal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:139
+msgid "DMGPRTCLS^All"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:142
+msgid "Particle effects for spawnpoints"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:146
+msgid "No dynamic lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:148
+msgid "Fake corona lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:151
+msgid "Realtime dynamic lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:153
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:157
+msgid "Shadows"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:156
+msgid "Realtime world lighting"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:161
+msgid "Use normal maps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:163
+msgid "Soft shadows"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:167
+msgid "Fade corona according to visibility"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:171
+msgid "Bloom"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:172
+msgid "Extra postprocessing effects"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:177
+msgid "Motion blur:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:183
+msgid "Decals"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:184
+msgid "Decals on models"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:188
+msgid "Distance:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:194
+msgid "Time:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:26
+msgid "Key bindings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:30
+msgid "Change key..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:34
+msgid "Edit..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:40
+msgid "Clear"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:46
+msgid "Pressing \"enter console\" key also closes it"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:48
+msgid "Automatically repeat jumping if holding jump"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:52
+#: qcsrc/menu/xonotic/dialog_settings_input.c:54
+#: qcsrc/menu/xonotic/dialog_settings_input.c:57
+msgid "Use joystick input"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:62
+msgid "Mouse:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:65
+msgid "Sensitivity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:69
+msgid "Smooth aiming"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:72
+msgid "Invert aiming"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:76
+#: qcsrc/menu/xonotic/dialog_settings_input.c:78
+#: qcsrc/menu/xonotic/dialog_settings_input.c:81
+msgid "Disable system mouse acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:86
+msgid "Enable built in mouse acceleration"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5
+msgid "User defined key bind"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:42
+msgid "Command when pressed:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:45
+msgid "Command when released:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:48
+msgid "Save"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:51
+msgid "Cancel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:26
+msgid "Network:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:31
+msgid "56k"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:32
+msgid "ISDN"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:33
+msgid "Slow ADSL"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:34
+msgid "Fast ADSL"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:35
+msgid "Broadband"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:39
+msgid "Input packets/s:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:45
+msgid "Local latency:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:50
+msgid "Client UDP port:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "Use encryption (AES) when available"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+msgid "Show netgraph"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
+msgid "Client-side movement prediction"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:67
+msgid "Movement error compensation"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
+msgid "Downloads:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+msgid "Maximum:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
+msgid "Speed (kB/s):"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
+msgid "Framerate:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+msgid "MAXFPS^5 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+msgid "MAXFPS^10 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+msgid "MAXFPS^20 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+msgid "MAXFPS^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+msgid "MAXFPS^40 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+msgid "MAXFPS^50 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+msgid "MAXFPS^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
+msgid "MAXFPS^70 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
+msgid "MAXFPS^100 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
+msgid "MAXFPS^125 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
+msgid "MAXFPS^200 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:99
+msgid "MAXFPS^Unlimited"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+msgid "Target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+msgid "TRGT^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+msgid "TRGT^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+msgid "TRGT^40 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+msgid "TRGT^50 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
+msgid "TRGT^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
+msgid "TRGT^100 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
+msgid "TRGT^125 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
+msgid "TRGT^200 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+msgid "Idle limit:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:118
+msgid "IDLFPS^10 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
+msgid "IDLFPS^20 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
+msgid "IDLFPS^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
+msgid "IDLFPS^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
+msgid "IDLFPS^Unlimited"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:127
+msgid "Show frames per second"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:130
+msgid "Save processing time for other apps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:134
+msgid "Menu tooltips:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:136
+msgid "TLTIP^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
+msgid "TLTIP^Standard"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:138
+msgid "TLTIP^Advanced"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:142
+msgid "Show current time"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:144
+msgid "Show current date"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+msgid "Enable developer mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5
+msgid "Advanced settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:32
+msgid "Cvar filter:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:45
+msgid "Setting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:49
+msgid "Type:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:53
+msgid "Value:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
+msgid "Description:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:27
+msgid "Menu skins:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:31
+msgid "Set skin"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:74
+msgid "Set language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:79
+msgid "Disable gore effects and harsh language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:82
+msgid "Allow player statistics to track your client"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user.c:84
+msgid "Allow player statistics to use your nickname"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:4
+msgid "Warning"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:17
+msgid "While connected language changes will be applied only to the menu,"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:19
+msgid "full language changes will take effect starting from the next game"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:23
+msgid "Disconnect now"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c:24
+msgid "Switch language"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:26
+msgid "Resolution:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:29
+msgid "Font/UI size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:31
+msgid "SZ^Unreadable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:32
+msgid "SZ^Tiny"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:33
+msgid "SZ^Little"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:34
+msgid "SZ^Small"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:35
+msgid "SZ^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:36
+msgid "SZ^Large"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:37
+msgid "SZ^Huge"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:38
+msgid "SZ^Gigantic"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:39
+msgid "SZ^Colossal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:42
+msgid "Color depth:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:44
+msgid "16bit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:45
+msgid "32bit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:48
+msgid "Full screen"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:49
+msgid "Vertical Synchronization"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:53
+msgid "Anisotropy:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:55
+msgid "ANISO^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:56
+#: qcsrc/menu/xonotic/dialog_settings_video.c:66
+msgid "2x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:57
+#: qcsrc/menu/xonotic/dialog_settings_video.c:67
+msgid "4x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:58
+msgid "8x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:59
+msgid "16x"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:62
+msgid "Antialiasing:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:65
+msgid "AA^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:71
+msgid "High-quality frame buffer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:76
+msgid "Depth first:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:78
+msgid "DF^Disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:79
+msgid "DF^World"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:80
+msgid "DF^All"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:83
+msgid "Vertex Buffer Objects (VBOs)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:86
+msgid "VBO^Off"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:87
+msgid "Vertices, some Tris (compatible)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:90
+msgid "Vertices"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:91
+msgid "Vertices and Triangles"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:94
+msgid "Brightness:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:97
+msgid "Contrast:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:100
+msgid "Gamma:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:105
+msgid "Contrast boost:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:110
+msgid "Saturation:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:116
+msgid "LIT^Ambient:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:119
+msgid "Intensity:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:123
+msgid "Wait for GPU to finish each frame"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:125
+msgid "Use OpenGL 2.0 shaders (GLSL)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:128
+msgid "Use GLSL to handle color control"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:133
+msgid "Psycho coloring (easter egg)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:136
+msgid "Trippy vertices (easter egg)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:139
+msgid "Flip view horizontally"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:4
+msgid "Singleplayer"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:116
+msgid "Instant action! (random map with bots)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:137
+msgid "Campaign Difficulty:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:138
+msgid "CSKL^Easy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:139
+msgid "CSKL^Medium"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:140
+msgid "CSKL^Hard"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:142
+msgid "Start Singleplayer!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:4
+msgid "Winner"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:5
+msgid "Team Selection"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:42
+msgid "join 'best' team (auto-select)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:46
+msgid "red"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:47
+msgid "blue"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:48
+msgid "yellow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:49
+msgid "pink"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:52
+msgid "spectate"
+msgstr ""
+
+#: qcsrc/menu/xonotic/mainwindow.c:40 qcsrc/menu/xonotic/mainwindow.c:43
+msgid "Do not press this button again!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:280
+msgid ""
+"Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:288
+#, c-format
+msgid "%s's Xonotic Server"
+msgstr ""
+
+#: qcsrc/menu/xonotic/maplist.c:293
+msgid ""
+"Huh? Can't play this (invalid game type). Refiltering so this won't happen "
+"again.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128
+msgid "spectator"
+msgstr ""
+
+#: qcsrc/menu/xonotic/playermodel.c:177
+msgid "<no model found>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:148
+msgid "SLCAT^Favorites"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:149
+msgid "SLCAT^Recommended"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:150
+msgid "SLCAT^Normal Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:151
+msgid "SLCAT^Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:152
+msgid "SLCAT^Competitive Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:153
+msgid "SLCAT^Modified Servers"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:154
+msgid "SLCAT^Overkill Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:155
+msgid "SLCAT^MinstaGib Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:156
+msgid "SLCAT^Defrag Mode"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:436
+msgid "Favorite"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:923
+msgid "Ping"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:924
+msgid "Host name"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:925
+msgid "Map"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:926
+msgid "Type"
+msgstr ""
+
+#: qcsrc/menu/xonotic/serverlist.c:927
+msgid "Players"
+msgstr ""
+
+#: qcsrc/menu/xonotic/skinlist.c:105
+msgid "<TITLE>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/skinlist.c:106
+msgid "<AUTHOR>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:77
+msgid "VOL^MAX"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:79
+msgid "VOL^OFF"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:81
+#, c-format
+msgid "%d %%"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:83
+#, c-format
+msgid "%.1f"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:85
+#, c-format
+msgid "%.2f %%"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:87
+#, c-format
+msgid "%s dB"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_resolution.c:116
+#, c-format
+msgid "%dx%d (%d:%d)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_resolution.c:119
+#, c-format
+msgid "%dx%d"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:308
+#, c-format
+msgid "error receiving update notification: status is %d\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:313
+msgid "error: received HTML instead of an update notification\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:318
+msgid "error: received carriage returns from update notification server\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:397
+#, c-format
+msgid ""
+"Update can be downloaded at:\n"
+"%s\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:497
+msgid "Autogenerating mapinfo for newly added maps..."
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:526
+#, c-format
+msgid "^1%s TEST BUILD"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:541
+#, c-format
+msgid "Update to %s now!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:626
+msgid ""
+"^1ERROR: Texture compression is required but not supported.\n"
+"^1Expect visual problems.\n"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:746
+msgid "Use default"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qc:766
+msgid "Team Color:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/util.qh:43
+msgid "Enable panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/weaponslist.c:102
+#, c-format
+msgid "%s (mutator weapon)"
+msgstr ""
+
+#: qcsrc/server/w_hlac.qc:11
+msgid "Heavy Laser Assault Cannon"
+msgstr ""
+
+#: qcsrc/server/w_hook.qc:11
+msgid "Grappling Hook"
+msgstr ""
+
+#: qcsrc/server/w_minstanex.qc:11
+msgid "MinstaNex"
+msgstr ""
+
+#: qcsrc/server/w_seeker.qc:11
+msgid "T.A.G. Seeker"
+msgstr ""
+
+#: qcsrc/server/w_tuba.qc:12
+#, no-c-format
+msgid "@!#%'n Tuba"
+msgstr ""
index dd16de9bc6ee4224b900bf576cfc86ff8e5fce20..18af3e8951af7491b789083dc8c097f249327cc2 100644 (file)
@@ -56,10 +56,10 @@ _cl_playermodel models/player/erebus.iqm
 _cl_playerskin 0
 
 seta cl_reticle 1 "control for toggling whether ANY zoom reticles are shown"
-seta cl_reticle_stretch 0 "whether to stretch reticles so they fit the screen (brakes image proportions)"
+seta cl_reticle_stretch 0 "whether to stretch reticles so they fit the screen (breaks image proportions)"
 seta cl_reticle_item_nex 1 "draw aiming reticle for the nex weapon's zoom, 0 disables and values between 0 and 1 change alpha"
 seta cl_reticle_item_normal 1 "draw reticle when zooming with the zoom button, 0 disables and values between 0 and 1 change alpha"
-fov 90
+fov 100
 seta cl_velocityzoom 0 "velocity based zooming of fov, negative values zoom out"
 seta cl_velocityzoom_type 3 "how to factor in speed, 1 = all velocity in all directions, 2 = velocity only in forward direction (can be negative), 3 = velocity only in forward direction (limited to forward only)"
 seta cl_velocityzoom_speed 1000 "target speed for fov factoring"
@@ -141,6 +141,9 @@ set rpn_linear_to_sRGB "dup 1.0 2.4 div pow 1.055 mul 0.055 sub exch 12.92 mul d
 // q3map_skylight 9.32523632 3
 alias skybox_nosRGB_to_sRGB "rpn $3 402.123 $4 div div $rpn_sRGB_to_linear 402.123 $4 div mul /new_skylight: $3 402.123 $4 div div $1 256 div $2 0.017453 mul sin mul add $rpn_sRGB_to_linear $3 402.123 $4 div div $rpn_sRGB_to_linear sub 256 mul $2 0.017453 mul sin div /new_sunlight:"
 
+set cl_orthoview 0 "enable top-down view of the map- meant to be used for radar map images (note: orthoview sets cvars temporarily, requires restart to return them to normal)"
+set cl_orthoview_nofog 1 "disable fog while in orthoview-- note, should not be enabled on ALL maps, i.e. oilrig works fine with this disabled"
+
 // these settings determine how much the view is affected by movement/damage
 cl_smoothviewheight 0.05 // time of the averaging to the viewheight value so that it creates a smooth transition for crouching and such. 0 for instant transition
 cl_deathfade 0 // fade screen to dark red when dead, value represents how fast the fade is (higher is faster)
@@ -221,6 +224,7 @@ seta cl_hitsound 1 "play a hit notifier sound when you have hit an enemy"
 set cl_hitsound_antispam_time 0.05 "don't play the hitsound more often than this"
 
 seta cl_eventchase_death 1 "camera goes into 3rd person mode when the player is dead"
+seta cl_eventchase_nexball 1 "camera goes into 3rd person mode when in nexball game-mode"
 seta cl_eventchase_distance 140 "final camera distance"
 seta cl_eventchase_speed 1.3 "how fast the camera slides back, 0 is instant"
 seta cl_eventchase_maxs "12 12 8" "max size of eventchase camera bbox"
@@ -454,6 +458,10 @@ seta menu_sandbox_edit_material ""
 
 bind f7 menu_showsandboxtools
 
+seta menu_monsters_edit_spawn ""
+seta menu_monsters_edit_skin 0
+seta menu_monsters_edit_movetarget 1
+
 set g_playerclip_collisions 1 "0 = disable collision testing against playerclips, might be useful on some defrag maps"
 set g_botclip_collisions 1 "0 = disable collision testing against botclips, might be useful on some defrag maps"
 
@@ -463,7 +471,10 @@ set g_spawn_alloweffects 1 "allow clients to enable spawn point and event effect
 set g_spawn_furthest 1 "this amount of the spawns shall be far away from any players"
 set g_spawn_useallspawns 0 "use all spawns, e.g. also team spawns in non-teamplay, and all spawns, even enemy spawns, in teamplay"
 // respawn delay
-set g_respawn_delay 2 "number of seconds you have to wait before you can respawn again"
+set g_respawn_delay_small 2 "small game number of seconds you have to wait before you can respawn again"
+set g_respawn_delay_small_count 0 "Player count per team for g_respawn_delay_small. <=0 values mean the minimum amount of players to have gameplay (typically 2 in FFA, 1 in teamplay)."
+set g_respawn_delay_large 2 "large game number of seconds you have to wait before you can respawn again"
+set g_respawn_delay_large_count 8 "Player count per team for g_respawn_delay_large. <=0 values mean the minimum amount of players to have gameplay (typically 2 in FFA, 1 in teamplay)."
 set g_respawn_delay_max 0 "number of seconds you can wait before you're forced to respawn (only effective with g_forced_respawn 1)"
 set g_respawn_waves 0 "respawn in waves (every n seconds), intended to decrease overwhelming base attacks"
 
@@ -533,12 +544,12 @@ r_mipsprites 1
 r_mipskins 1
 r_shadow_realtime_world_lightmaps 1
 cl_decals_fadetime 5
-cl_decals_time 2
+cl_decals_time 1
 seta cl_gunalign 3 "Gun alignment; 1 = center (if allowed by g_shootfromclient) or right, 2 = center (if allowed by g_shootfromclient) or left, 3 = right only, 4 = left only"
 seta cl_nogibs 0 "reduce number of violence effects, or remove them totally"
 seta cl_particlegibs 0 "simpler gibs"
 seta cl_gibs_damageforcescale 3.5 "force to push around gibs"
-seta cl_gibs_lifetime 5 "average lifetime of gibs"
+seta cl_gibs_lifetime 2.5 "average lifetime of gibs"
 seta cl_gibs_velocity_scale 1 "gib throw velocity force scale"
 seta cl_gibs_velocity_random 1 "gib throw velocity randomness scale"
 seta cl_gibs_velocity_up 1 "extra z velocity for gibs"
@@ -550,7 +561,7 @@ seta cl_casings_shell_time 30 "shell casing lifetime"
 seta cl_casings_bronze_time 10 "bullet casings lifetime"
 seta cl_casings_ticrate 0.1 "ticrate for casings"
 seta cl_casings_sloppy 1 "sloppy casings, may temporarily penetrate walls"
-seta cl_projectiles_sloppy 0 "sloppy projectiles, may temporarily penetrate walls"
+seta cl_projectiles_sloppy 1 "sloppy projectiles, may temporarily penetrate walls"
 cl_stainmaps 0
 cl_particles_smoke 1
 vid_gl20 1
@@ -802,6 +813,12 @@ seta g_maplist_votable_nodetail 1  "nodetail only shows total count instead of al
 seta g_maplist_votable_abstain 0       "when 1, you can abstain from your vote"
 seta g_maplist_votable_screenshot_dir "maps levelshots"        "where to look for map screenshots"
 
+set sv_vote_gametype 0 "show a vote screen for gametypes before map vote screen"
+set sv_vote_gametype_keeptwotime 10 "show only 2 options for this amount of time during gametype vote screen"
+set sv_vote_gametype_options "dm ctf ca lms tdm ft"
+set sv_vote_gametype_timeout 20
+set sv_vote_gametype_default_current 1 "Keep the current gametype if no one votes"
+
 set g_chat_flood_spl 3 "normal chat: seconds between lines to not count as flooding"
 set g_chat_flood_lmax 2        "normal chat: maximum number of lines per chat message at once"
 set g_chat_flood_burst 2       "normal chat: allow bursts of so many chat lines"
@@ -1045,7 +1062,7 @@ set con_completion_gotomap        map
 set con_completion_vmap                map
 set con_completion_vnextmap    map
 set con_completion_vdomap      map
-set con_completion_playermodel models/player/*.iqm
+set con_completion_playermodel "models/player/*.iqm"
 
 // helper
 // these non-saved engine cvars shall be saved
@@ -1072,6 +1089,8 @@ sv_gameplayfix_delayprojectiles 0
 sv_gameplayfix_q2airaccelerate 1
 sv_gameplayfix_stepmultipletimes 1
 
+cl_gameplayfix_fixedcheckwatertransition 1
+
 // delay for "kill" to prevent abuse
 set g_balance_kill_delay 2
 set g_balance_kill_antispam 5
@@ -1189,32 +1208,9 @@ set g_showweaponspawns 1 "display sprites for weapon spawns found on the map whe
 //   Quake-Joule:  1 qJ  = 1 qN * 1 qu
 //   Quake-Pascal: 1 qPa = 1 qN / 1 qu^2
 
-set g_ballistics_materialconstant 1414213562
-set g_ballistics_mindistance 16
+set g_ballistics_mindistance 2 // enable ballistics starting from 2 qu
 set g_ballistics_density_player 0.50 // players are 2x as easy to pass as walls
 set g_ballistics_density_corpse 0.10 // corpses are 10x as easy to pass as walls
-// unit: qJ / qu^3 (energy needed per volume unit of solid to push/burn away
-// parameter: bullet constant: mass / area in g/qu^2
-// = mass / (pi/4 * caliber^2)
-// with caliber in inches, mass in grams:
-// = 1.273239544735163 * mass / caliber^2
-// with caliber in inches, mass in grains:
-// = 0.082633246453312 * mass / caliber^2
-
-// bullet max travel distance inside solid:
-//   0.5 * v^2 * bulletconstant / g_ballistics_materialconstant
-
-// some bullet constants:
-//   http://hypertextbook.com/facts/2000/ShantayArmstrong.shtml
-//     second bullet: caliber .45, mass 16.2g, bullet constant 101.859163578813
-//     third bullet: caliber .338, mass 16.2g, bullet constant 180.5476053421592
-//     fourth bullet: caliber .25, mass 2.3g, bullet constant 46.85521524625399
-//   http://en.wikipedia.org/wiki/.50_BMG
-//     caliber .5, 360 grains, bullet constant 118.9918748927693
-//   AK-47:
-//     caliber .3, 62 grains, bullet constant 56.92512533450383
-//   .3 winchester magnum:
-//     caliber .3, 150 grains, bullet constant 137.7220774221867
 
 set cl_stripcolorcodes 0       "experimental feature (notes: strips ALL color codes from messages!)"
 
@@ -1268,7 +1264,7 @@ set bot_sound_monopoly 0 "when enabled, only bots can make any noise"
 
 set cl_loddistance1 1024
 set cl_loddistance2 3072
-seta cl_playerdetailreduction 1        "the higher, the less detailed player models are displayed (LOD)"
+seta cl_playerdetailreduction 4        "the higher, the less detailed player models are displayed (LOD)"
 seta cl_modeldetailreduction 1 "the higher, the less detailed certain map models are displayed (LOD)"
 
 set g_mapinfo_settemp_acl "+*" "ACL for mapinfo setting cvars"
@@ -1446,6 +1442,7 @@ r_shadow_glossintensity 1
 r_fakelight 1
 
 r_water_hideplayer 1 // hide your own feet/player model in refraction views, this way you don't see half of your body under water
+r_water_refractdistort 0.019
 
 // strength sound settings
 set sv_strengthsound_antispam_time 0.1 "minimum distance of strength sounds"
@@ -1562,6 +1559,7 @@ exec crosshairs.cfg
 exec gamemodes.cfg
 exec mutators.cfg
 exec notifications.cfg
+exec monsters.cfg
 
 // load console command aliases and settings
 exec commands.cfg
@@ -1594,3 +1592,8 @@ set cl_simpleitems_postfix "_simple" "posfix to add fo model name when simple it
 set cl_fullbright_items 0 "enable fullbright items (if server allows, controled by g_fullbrightitems)"
 set cl_weapon_stay_color "2 0.5 0.5" "Color of picked up weapons when g_weapon_stay > 0"
 set cl_weapon_stay_alpha 0.75 "Alpha of picked up weapons when g_weapon_stay > 0"
+
+// Facility for config.cfg use ONLY.
+// Interpreted in post-config.cfg.
+seta menu_forced_saved_cvars "" "These cvars will always be saved, despite engine/Xonotic cvar saving status"
+set menu_reverted_nonsaved_cvars "" "These cvars are currently marked as saved in the flags, but have been reverted and won't stay saved. INTERNAL USE ONLY."
index d069d5f0fc0d797a06ede44d4e0814e254d5dfb6..782521447a3c96ab998a73b28028c6c5f6f95d94 100644 (file)
@@ -7978,7 +7978,6 @@ alpha 190 190 180
 sizeincrease -80
 color 0xFFFFFF 0xFFFFFF
 
-
 // nade effects
 effect nade_blue
 trailspacing 1
index 979c8b17405a727ca64d57e04c21915ea75deb55..456061536d6986d9973275bfc62067906a81aa4d 100644 (file)
@@ -1,10 +1,10 @@
 cl_decals 1
 cl_decals_models 0
-cl_decals_time 4
+cl_decals_fadetime 4
 cl_particles_quality 1
 cl_damageeffect 1
 cl_spawn_point_particles 1
-cl_playerdetailreduction 0.5
+cl_playerdetailreduction 4
 gl_flashblend 0
 gl_picmip -1
 mod_q3bsp_nolightmaps 0
index 8d6e72a4d0b043a45531383ebe07b99b8828ec92..d98ba526d8e4f97f4a441def438be5bad3bc08f8 100644 (file)
@@ -1,10 +1,10 @@
 cl_decals 1
 cl_decals_models 0
-cl_decals_time 2
+cl_decals_fadetime 2
 cl_particles_quality 0.4
 cl_damageeffect 0
 cl_spawn_point_particles 0
-cl_playerdetailreduction 2
+cl_playerdetailreduction 4
 gl_flashblend 1
 gl_picmip 1
 mod_q3bsp_nolightmaps 1
index 1611943c64323588e9e53b057346194149423c82..58191f266e907d85f9adf26ccad59d440fc62b49 100644 (file)
@@ -1,10 +1,10 @@
 cl_decals 1
 cl_decals_models 0
-cl_decals_time 2
+cl_decals_fadetime 2
 cl_particles_quality 1
 cl_damageeffect 0
 cl_spawn_point_particles 0
-cl_playerdetailreduction 1
+cl_playerdetailreduction 4
 gl_flashblend 0
 gl_picmip 0
 mod_q3bsp_nolightmaps 0
index 064af655007dabaf85825570d73287d843eb917a..dd8cce9a787ed27958b26190c69b2ec86ce6519e 100644 (file)
@@ -1,10 +1,10 @@
 cl_decals 1
 cl_decals_models 0
-cl_decals_time 2
+cl_decals_fadetime 2
 cl_particles_quality 1
 cl_damageeffect 1
 cl_spawn_point_particles 1
-cl_playerdetailreduction 1
+cl_playerdetailreduction 4
 gl_flashblend 0
 gl_picmip 0
 mod_q3bsp_nolightmaps 0
index 9ede9c7d7236cbd8cb66ddf25d6dcc8900db39d4..7c39fbbef6335d8467d2747f119c9b96ab4421cd 100644 (file)
@@ -1,6 +1,6 @@
 cl_decals 0
 cl_decals_models 0
-cl_decals_time 2
+cl_decals_fadetime 2
 cl_particles_quality 0.4
 cl_damageeffect 0
 cl_spawn_point_particles 0
index 92539b9b76fb8e278a43375a685ccea517b0e2c6..6897ccc16fa9cfdd6e44e504e18b495570ba5054 100644 (file)
@@ -1,6 +1,6 @@
 cl_decals 1
 cl_decals_models 1
-cl_decals_time 10
+cl_decals_fadetime 10
 cl_particles_quality 1
 cl_damageeffect 2
 cl_spawn_point_particles 1
index 63cfc63ea9fedb7e82b692ab83477eb36c413484..d530f03b8b7ff004af587d317a6d2ae5f0c23b89 100644 (file)
@@ -1,10 +1,10 @@
 cl_decals 1
 cl_decals_models 0
-cl_decals_time 10
+cl_decals_fadetime 10
 cl_particles_quality 1
 cl_damageeffect 1
 cl_spawn_point_particles 1
-cl_playerdetailreduction 0
+cl_playerdetailreduction 2
 gl_flashblend 0
 gl_picmip -1
 mod_q3bsp_nolightmaps 0
index e20ba928dcb4271fc0d4e936e0ba999f284e367c..fa56c8fa07b14fcbe08cf0ad77000acdd6d32d2b 100644 (file)
@@ -36,6 +36,7 @@ alias cl_hook_gamestart_nb
 alias cl_hook_gamestart_cts
 alias cl_hook_gamestart_ka
 alias cl_hook_gamestart_ft
+alias cl_hook_gamestart_inv
 alias cl_hook_gameend
 alias cl_hook_activeweapon
 
@@ -56,10 +57,33 @@ alias sv_hook_gamestart_nb
 alias sv_hook_gamestart_cts
 alias sv_hook_gamestart_ka
 alias sv_hook_gamestart_ft
+alias sv_hook_gamestart_inv
 alias sv_hook_gamerestart
 alias sv_hook_gameend
 
 
+// =====================
+//  gametype vote hooks
+// =====================
+// these are called when the mode is switched via gametype vote screen, earlier than gamestart hooks (useful for enabling per-gamemode mutators)
+alias sv_vote_gametype_hook_all 
+alias sv_vote_gametype_hook_as
+alias sv_vote_gametype_hook_ca
+alias sv_vote_gametype_hook_ctf
+alias sv_vote_gametype_hook_cts
+alias sv_vote_gametype_hook_dm
+alias sv_vote_gametype_hook_dom
+alias sv_vote_gametype_hook_ft
+alias sv_vote_gametype_hook_inv
+alias sv_vote_gametype_hook_ka
+alias sv_vote_gametype_hook_kh
+alias sv_vote_gametype_hook_lms
+alias sv_vote_gametype_hook_nb
+alias sv_vote_gametype_hook_ons
+alias sv_vote_gametype_hook_rc
+alias sv_vote_gametype_hook_tdm
+
+
 // ===========
 //  leadlimit
 // ===========
@@ -78,55 +102,118 @@ seta g_keyhunt_point_leadlimit -1 "Keyhunt point lead limit overriding the mapin
 seta g_race_laps_limit -1      "Race laps limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
 seta g_nexball_goallimit -1 "Nexball goal limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
 seta g_nexball_goalleadlimit -1 "Nexball goal lead limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
+seta g_invasion_point_limit -1 "Invasion point limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
 
 
 // =================================
 //  respawn delay/waves/weapon_stay
 // =================================
-// when variables are set to anything other than 0, they take over the global setting...
-// to force disable delay or waves, set them to 0.125
-set g_ctf_respawn_delay 5
+// when variables are set to anything other than 0, they take over the global setting. Negative values force an output value of zero.
+set g_ctf_respawn_delay_small 1
+set g_ctf_respawn_delay_small_count 1
+set g_ctf_respawn_delay_large 5
+set g_ctf_respawn_delay_large_count 5
+set g_ctf_respawn_delay_max 0
 set g_ctf_respawn_waves 0
 set g_ctf_weapon_stay 0
-set g_dm_respawn_delay 0
+set g_dm_respawn_delay_small 0
+set g_dm_respawn_delay_small_count 0
+set g_dm_respawn_delay_large 0
+set g_dm_respawn_delay_large_count 0
+set g_dm_respawn_delay_max 0
 set g_dm_respawn_waves 0
 set g_dm_weapon_stay 0
-set g_dom_respawn_delay 0
+set g_dom_respawn_delay_small 0
+set g_dom_respawn_delay_small_count 0
+set g_dom_respawn_delay_large 0
+set g_dom_respawn_delay_large_count 0
+set g_dom_respawn_delay_max 0
 set g_dom_respawn_waves 0
 set g_dom_weapon_stay 0
-set g_lms_respawn_delay 0
+set g_lms_respawn_delay_small 0
+set g_lms_respawn_delay_small_count 0
+set g_lms_respawn_delay_large 0
+set g_lms_respawn_delay_large_count 0
+set g_lms_respawn_delay_max 0
 set g_lms_respawn_waves 0
 set g_lms_weapon_stay 0
-set g_tdm_respawn_delay 0
+set g_tdm_respawn_delay_small 0
+set g_tdm_respawn_delay_small_count 0
+set g_tdm_respawn_delay_large 0
+set g_tdm_respawn_delay_large_count 0
+set g_tdm_respawn_delay_max 0
 set g_tdm_respawn_waves 0
 set g_tdm_weapon_stay 0
-set g_ka_respawn_delay 0
+set g_ka_respawn_delay_small 0
+set g_ka_respawn_delay_small_count 0
+set g_ka_respawn_delay_large 0
+set g_ka_respawn_delay_large_count 0
+set g_ka_respawn_delay_max 0
 set g_ka_respawn_waves 0
 set g_ka_weapon_stay 0
-set g_kh_respawn_delay 0
+set g_kh_respawn_delay_small 0
+set g_kh_respawn_delay_small_count 0
+set g_kh_respawn_delay_large 0
+set g_kh_respawn_delay_large_count 0
+set g_kh_respawn_delay_max 0
 set g_kh_respawn_waves 0
 set g_kh_weapon_stay 0
-set g_ca_respawn_delay 0
+set g_ca_respawn_delay_small 0
+set g_ca_respawn_delay_small_count 0
+set g_ca_respawn_delay_large 0
+set g_ca_respawn_delay_large_count 0
+set g_ca_respawn_delay_max 0
 set g_ca_respawn_waves 0
 set g_ca_weapon_stay 0
-set g_nb_respawn_delay 0
+set g_nb_respawn_delay_small 0
+set g_nb_respawn_delay_small_count 0
+set g_nb_respawn_delay_large 0
+set g_nb_respawn_delay_large_count 0
+set g_nb_respawn_delay_max 0
 set g_nb_respawn_waves 0
 set g_nb_weapon_stay 0
-set g_as_respawn_delay 0
+set g_as_respawn_delay_small 0
+set g_as_respawn_delay_small_count 0
+set g_as_respawn_delay_large 0
+set g_as_respawn_delay_large_count 0
+set g_as_respawn_delay_max 0
 set g_as_respawn_waves 0
 set g_as_weapon_stay 0
-set g_ons_respawn_delay 0
+set g_ons_respawn_delay_small 0
+set g_ons_respawn_delay_small_count 0
+set g_ons_respawn_delay_large 0
+set g_ons_respawn_delay_large_count 0
+set g_ons_respawn_delay_max 0
 set g_ons_respawn_waves 0
 set g_ons_weapon_stay 0
+set g_rc_respawn_delay_small 0
+set g_rc_respawn_delay_small_count 0
+set g_rc_respawn_delay_large 0
+set g_rc_respawn_delay_large_count 0
+set g_rc_respawn_delay_max 0
 set g_rc_respawn_waves 0
-set g_rc_respawn_delay 0
 set g_rc_weapon_stay 0
+set g_cts_respawn_delay_small -1  // CTS shall have instant respawn.
+set g_cts_respawn_delay_small_count 0
+set g_cts_respawn_delay_large -1  // CTS shall have instant respawn.
+set g_cts_respawn_delay_large_count 0
+set g_cts_respawn_delay_max 0
 set g_cts_respawn_waves 0
-set g_cts_respawn_delay 0
 set g_cts_weapon_stay 2
+set g_ft_respawn_delay_small 0
+set g_ft_respawn_delay_small_count 0
+set g_ft_respawn_delay_large 0
+set g_ft_respawn_delay_large_count 0
+set g_ft_respawn_delay_max 0
 set g_ft_respawn_waves 0
-set g_ft_respawn_delay 0
 set g_ft_weapon_stay 0
+set g_inv_respawn_delay_small 0
+set g_inv_respawn_delay_small_count 0
+set g_inv_respawn_delay_large 0
+set g_inv_respawn_delay_large_count 0
+set g_inv_respawn_delay_max 0
+set g_inv_respawn_waves 0
+set g_inv_weapon_stay 0
 
 
 // =========
@@ -144,8 +231,9 @@ set g_ca_point_leadlimit 0
 set g_ca_spectate_enemies 0 "Allow spectating enemy player by dead player during clan arena games."
 set g_ca_warmup 10 "how long the players will have time to run around the map before the round starts"
 set g_ca_damage2score_multiplier 0.01
-set g_ca_round_timelimit 180
+set g_ca_round_timelimit 180 "round time limit in seconds"
 seta g_ca_teams_override 0
+set g_ca_team_spawns 0 "when 1, players spawn from the team spawnpoints of the map, if any"
 set g_ca_teams 0
 
 
@@ -200,6 +288,7 @@ set g_ctf_pass_timelimit 2 "how long a flag can stay trying to pass before it gi
 set g_ctf_pass_velocity 750 "how fast or far a player can pass the flag"
 set g_ctf_allow_vehicle_touch 0 "allow flags to be picked up/captured/returned without even leaving the vehicle"
 set g_ctf_allow_vehicle_carry 1 "allow players to hold flags inside a vehicle"
+set g_ctf_allow_monster_touch 0 "allow flags to be returned by monsters"
 
 set g_ctf_shield_max_ratio 0   "shield at most this percentage of a team from the enemy flag (try: 0.4 for 40%)"
 set g_ctf_shield_min_negscore 20       "shield the player from the flag if he's got this negative amount of points or less"
@@ -231,7 +320,7 @@ set g_cts_finish_kill_delay 10 "prevent cheating by running back to the start li
 // ==========================
 set g_dm 1 "Deathmatch: killing any other player is one frag, player with most frags wins"
 set g_tdm_teams 2 "how many teams are in team deathmatch (set by mapinfo)"
-set g_tdm_team_spawns 0 "when 1, a map can define team spawnpoints for TDM"
+set g_tdm_team_spawns 0 "when 1, players spawn from the team spawnpoints of the map, if any"
 seta g_tdm_teams_override 0    "how many teams are in team deathmatch"
 
 
@@ -266,10 +355,11 @@ set g_freezetag_revive_clearspeed 1.6 "Speed at which reviving progress gets los
 set g_freezetag_revive_extra_size 100 "Distance in qu that you can stand from a frozen teammate to keep reviving him"
 set g_freezetag_revive_falldamage 0 "Enable reviving from this amount of fall damage"
 set g_freezetag_revive_falldamage_health 40 "Amount of health player has if they revived from falling"
-set g_freezetag_round_timelimit 180
+set g_freezetag_round_timelimit 180 "round time limit in seconds"
 set g_freezetag_frozen_force 0.6 "How much to multiply the force on a frozen player with"
 set g_freezetag_frozen_maxtime 60 "frozen players will be automatically unfrozen after this time in seconds"
 seta g_freezetag_teams_override 0
+set g_freezetag_team_spawns 0 "when 1, players spawn from the team spawnpoints of the map, if any"
 set g_freezetag_teams 0
 
 
@@ -296,8 +386,6 @@ set g_keepawayball_effects 0 "Add together the numbers you want: EF_ADDITIVE (32
 set g_keepawayball_trail_color 254     "particle trail color from player/ball"
 set g_keepawayball_damageforcescale    3 "Scale of force which is applied to the ball by weapons/explosions/etc"
 set g_keepawayball_respawntime 10      "if no one picks up the ball, how long to wait until the ball respawns"
-seta g_keepaway_teams_override 0
-set g_keepaway_teams 0
 
 
 // ==========
@@ -404,3 +492,16 @@ set g_race 0 "Race: be faster than your opponents"
 set g_race_qualifying_timelimit 0
 set g_race_qualifying_timelimit_override -1
 set g_race_teams 0     "when 2, 3, or 4, the race is played as a team game (the team members can add up their laps)"
+
+// ==========
+//  invasion
+// ==========
+set g_invasion 0 "Invasion: survive against waves of monsters"
+set g_invasion_round_timelimit 120 "maximum time to kill all monsters"
+set g_invasion_warmup 10 "time between waves to prepare for battle"
+set g_invasion_monster_count 10 "number of monsters on first wave (increments)"
+set g_invasion_zombies_only 0 "only spawn zombies"
+set g_invasion_spawn_delay 0.25
+set g_invasion_spawnpoint_spawn_delay 0.5
+set g_invasion_teams 0 "number of teams in invasion (note: use mapinfo to set this)"
+set g_invasion_team_spawns 1 "use team spawns in teamplay invasion mode"
diff --git a/gfx/menu/luminos/color.tga b/gfx/menu/luminos/color.tga
deleted file mode 100644 (file)
index 3ce25a5..0000000
Binary files a/gfx/menu/luminos/color.tga and /dev/null differ
index 586f9b47ef07ed2f7d4660df0fa22edd15521b7d..5f1fc2bcd79eeb072bd996daa9104290e65fd9d6 100644 (file)
Binary files a/gfx/menu/luminos/colorbutton_c.tga and b/gfx/menu/luminos/colorbutton_c.tga differ
index 57d7d933cc38bb28c6fe88521c8dce43723feb01..0ca0d9b6b8a26e0d440611fbdd965835febfc2a4 100644 (file)
Binary files a/gfx/menu/luminos/colorbutton_f.tga and b/gfx/menu/luminos/colorbutton_f.tga differ
old mode 100755 (executable)
new mode 100644 (file)
index 110faa1..26e6da5
Binary files a/gfx/menu/luminos/colorbutton_n.tga and b/gfx/menu/luminos/colorbutton_n.tga differ
index 5e311c9090adaef842639e5a1d0dc5165e559423..025475ab746ad5962d9c004f1ac84e6373fe4841 100755 (executable)
@@ -46,6 +46,7 @@ ALPHA_BACKGROUND_INGAME         1
 ALPHA_DISABLED                  0.2
 ALPHA_BEHIND                    0.5
 ALPHA_TEXT                      0.7
+COLOR_TEXT                      '1 1 1'
 
 // mouse
 //   uses "cursor" images
@@ -67,6 +68,7 @@ MARGIN_TOOLTIP                  '8 8 0'
 BORDER_TOOLTIP                  '16 16 0'
 FONTSIZE_TOOLTIP                12
 ALPHA_TOOLTIP                   0.7
+COLOR_TOOLTIP                   '1 1 1'
 WIDTH_TOOLTIP                   0.3
 AVOID_TOOLTIP                   '8 8 0'
 
@@ -133,6 +135,8 @@ COLOR_SERVERLIST_HIGHPING       '1 0 0'
 ALPHA_SERVERLIST_HIGHPING       0.4
 ALPHA_SERVERLIST_FAVORITE       0.8
 COLOR_SERVERLIST_FAVORITE       '1 1 1'
+ALPHA_SERVERLIST_CATEGORY       0.7
+COLOR_SERVERLIST_CATEGORY       '1 1 1'
 
 // item: skin list
 COLOR_SKINLIST_TITLE            '1 1 1'
@@ -204,7 +208,6 @@ ALPHA_KEYGRABBER_KEYS           0.7
 
 // item: player color button
 //   uses "colorbutton" images
-//   uses "color" images
 
 // item: player name editor
 //   uses "charmap" images
diff --git a/gfx/menu/wickedx/color.tga b/gfx/menu/wickedx/color.tga
deleted file mode 100755 (executable)
index 5189ab4..0000000
Binary files a/gfx/menu/wickedx/color.tga and /dev/null differ
index 1c294f77f51a50a5a8085373e9e03d1144277f33..5f1fc2bcd79eeb072bd996daa9104290e65fd9d6 100644 (file)
Binary files a/gfx/menu/wickedx/colorbutton_c.tga and b/gfx/menu/wickedx/colorbutton_c.tga differ
index 0031c35e35c2c1f6a544c9bbca69ee53a685fba9..0ca0d9b6b8a26e0d440611fbdd965835febfc2a4 100644 (file)
Binary files a/gfx/menu/wickedx/colorbutton_f.tga and b/gfx/menu/wickedx/colorbutton_f.tga differ
old mode 100755 (executable)
new mode 100644 (file)
index 7fec859..26e6da5
Binary files a/gfx/menu/wickedx/colorbutton_n.tga and b/gfx/menu/wickedx/colorbutton_n.tga differ
index 15605128588e79c4e3c73c4f647a3e518837ea50..c5062d91a17be5c381a151a25d3deb861100d02c 100755 (executable)
@@ -46,6 +46,7 @@ ALPHA_BACKGROUND_INGAME         1
 ALPHA_DISABLED                  0.2
 ALPHA_BEHIND                    0.5
 ALPHA_TEXT                      0.7
+COLOR_TEXT                      '1 1 1'
 
 // mouse
 //   uses "cursor" images
@@ -67,6 +68,7 @@ MARGIN_TOOLTIP                  '8 8 0'
 BORDER_TOOLTIP                  '16 16 0'
 FONTSIZE_TOOLTIP                12
 ALPHA_TOOLTIP                   0.7
+COLOR_TOOLTIP                   '1 1 1'
 WIDTH_TOOLTIP                   0.3
 AVOID_TOOLTIP                   '8 8 0'
 
@@ -133,6 +135,8 @@ COLOR_SERVERLIST_HIGHPING       '1 0 0'
 ALPHA_SERVERLIST_HIGHPING       0.4
 ALPHA_SERVERLIST_FAVORITE       0.8
 COLOR_SERVERLIST_FAVORITE       '1 1 1'
+ALPHA_SERVERLIST_CATEGORY       0.7
+COLOR_SERVERLIST_CATEGORY       '1 1 1'
 
 // item: skin list
 COLOR_SKINLIST_TITLE            '1 1 1'
@@ -204,7 +208,6 @@ ALPHA_KEYGRABBER_KEYS           0.7
 
 // item: player color button
 //   uses "colorbutton" images
-//   uses "color" images
 
 // item: player name editor
 //   uses "charmap" images
diff --git a/gfx/menu/xaw/color.tga b/gfx/menu/xaw/color.tga
deleted file mode 100644 (file)
index c7d2fbd..0000000
Binary files a/gfx/menu/xaw/color.tga and /dev/null differ
index e3b92d15fe263e45b95914cc5e0fde4e74e5f3d0..c12daf484aef4ba62aa4ada30741788a257ddcb2 100644 (file)
Binary files a/gfx/menu/xaw/colorbutton_c.tga and b/gfx/menu/xaw/colorbutton_c.tga differ
index 31912d79536c50d53d4fa64fb7d08db2b4b72b80..1c737dc9d785535dfdd4ebfe6ac11a60b00eb19e 100644 (file)
Binary files a/gfx/menu/xaw/colorbutton_f.tga and b/gfx/menu/xaw/colorbutton_f.tga differ
index 5d678a6cd88fba822c3a0967ca3ae7e093ff1a8e..537f0254e17adb0065458b0384c5f7c1d87e33b2 100644 (file)
Binary files a/gfx/menu/xaw/colorbutton_n.tga and b/gfx/menu/xaw/colorbutton_n.tga differ
index 3bd555f031ed32255e35cec19596893bfc5597dc..2dc86f698f19f531bfcf7aa99798fcc8d051f8b5 100644 (file)
@@ -14,6 +14,7 @@ MARGIN_TOOLTIP                  '5 5 0'
 BORDER_TOOLTIP                  '1 1 0'
 FONTSIZE_TOOLTIP                12
 ALPHA_TOOLTIP                   0.7
+COLOR_TOOLTIP                   '1 1 1'
 WIDTH_TOOLTIP                   0.3
 AVOID_TOOLTIP                   '8 8 0'
 
@@ -61,6 +62,7 @@ ALPHA_BACKGROUND_INGAME         0
 ALPHA_DISABLED                  0.2
 ALPHA_BEHIND                    1
 ALPHA_TEXT                      0.7
+COLOR_TEXT                      '1 1 1'
 
 // item: button
 //   uses "button" images
@@ -163,7 +165,6 @@ ALPHAS_MAINMENU                 '1 1 1'
 
 // item: player color button
 //   uses "colorbutton" images
-//   uses "color" images
 
 // item: player model
 COLOR_MODELTITLE                '1 1 1'
@@ -197,6 +198,8 @@ COLOR_SERVERLIST_HIGHPING       '1 0 0'
 ALPHA_SERVERLIST_HIGHPING       0.2
 ALPHA_SERVERLIST_FAVORITE       0.8
 COLOR_SERVERLIST_FAVORITE       '1 1 1'
+ALPHA_SERVERLIST_CATEGORY       0.7
+COLOR_SERVERLIST_CATEGORY       '1 1 1'
 
 // item: server info
 COLOR_SERVERINFO_NAME           '1 1 1'
index f2b4fa4bd8504dca76aae7b705b2d948614518c0..f3bc914e6a48be696bd9e3b8879eb90d9ab0254f 100644 (file)
@@ -126,6 +126,7 @@ seta hud_panel_notify_flip "0"
 seta hud_panel_notify_fontsize "0.8"
 seta hud_panel_notify_time "10"
 seta hud_panel_notify_fadetime "3"
+seta hud_panel_notify_icon_aspect "2"
 
 seta hud_panel_timer 1
 seta hud_panel_timer_pos "0.800000 0.040000"
@@ -295,4 +296,14 @@ seta hud_panel_centerprint_fade_subsequent_passtwo_minalpha "0.5"
 seta hud_panel_centerprint_fade_subsequent_minfontsize "0.75"
 seta hud_panel_centerprint_fade_minfontsize "0"
 
+seta hud_panel_buffs 1
+seta hud_panel_buffs_pos "0.450000 0.855000"
+seta hud_panel_buffs_size "0.050000 0.070000"
+seta hud_panel_buffs_bg "0"
+seta hud_panel_buffs_bg_color ""
+seta hud_panel_buffs_bg_color_team ""
+seta hud_panel_buffs_bg_alpha ""
+seta hud_panel_buffs_bg_border ""
+seta hud_panel_buffs_bg_padding ""
+
 menu_sync
index c401132ac3d2fe00f44ca3d1c3da806f85ea6a5b..050689b38caf95d525f07e83f378649fc49dafff 100644 (file)
@@ -126,6 +126,7 @@ seta hud_panel_notify_flip "1"
 seta hud_panel_notify_fontsize "0.8"
 seta hud_panel_notify_time "10"
 seta hud_panel_notify_fadetime "3"
+seta hud_panel_notify_icon_aspect "2"
 
 seta hud_panel_timer 1
 seta hud_panel_timer_pos "0.435000 0"
@@ -295,4 +296,14 @@ seta hud_panel_centerprint_fade_subsequent_passtwo_minalpha "0.5"
 seta hud_panel_centerprint_fade_subsequent_minfontsize "0.75"
 seta hud_panel_centerprint_fade_minfontsize "0"
 
+seta hud_panel_buffs 1
+seta hud_panel_buffs_pos "0.450000 0.855000"
+seta hud_panel_buffs_size "0.050000 0.070000"
+seta hud_panel_buffs_bg "0"
+seta hud_panel_buffs_bg_color ""
+seta hud_panel_buffs_bg_color_team ""
+seta hud_panel_buffs_bg_alpha ""
+seta hud_panel_buffs_bg_border ""
+seta hud_panel_buffs_bg_padding ""
+
 menu_sync
index 518492ed4a7998973481221c835453a6f4d71bab..8fb6cbe93da88fd67f099c634126551449435fdf 100644 (file)
@@ -126,6 +126,7 @@ seta hud_panel_notify_flip "1"
 seta hud_panel_notify_fontsize "0.8"
 seta hud_panel_notify_time "10"
 seta hud_panel_notify_fadetime "3"
+seta hud_panel_notify_icon_aspect "2"
 
 seta hud_panel_timer 1
 seta hud_panel_timer_pos "0.435000 0"
@@ -295,4 +296,14 @@ seta hud_panel_centerprint_fade_subsequent_passtwo_minalpha "0.5"
 seta hud_panel_centerprint_fade_subsequent_minfontsize "0.75"
 seta hud_panel_centerprint_fade_minfontsize "0"
 
+seta hud_panel_buffs 1
+seta hud_panel_buffs_pos "0.450000 0.855000"
+seta hud_panel_buffs_size "0.050000 0.070000"
+seta hud_panel_buffs_bg "0"
+seta hud_panel_buffs_bg_color ""
+seta hud_panel_buffs_bg_color_team ""
+seta hud_panel_buffs_bg_alpha ""
+seta hud_panel_buffs_bg_border ""
+seta hud_panel_buffs_bg_padding ""
+
 menu_sync
index 0a5f05955ef8d1a24b1fd5dbcbc95db0e8de84bf..9d71e2e2872cc4f4d6e0624a2d2b5e74064fa5cf 100644 (file)
@@ -126,6 +126,7 @@ seta hud_panel_notify_flip "0"
 seta hud_panel_notify_fontsize "0.8"
 seta hud_panel_notify_time "10"
 seta hud_panel_notify_fadetime "3"
+seta hud_panel_notify_icon_aspect "2"
 
 seta hud_panel_timer 1
 seta hud_panel_timer_pos "0.870000 0"
@@ -295,4 +296,14 @@ seta hud_panel_centerprint_fade_subsequent_passtwo_minalpha "0.5"
 seta hud_panel_centerprint_fade_subsequent_minfontsize "0.75"
 seta hud_panel_centerprint_fade_minfontsize "0"
 
+seta hud_panel_buffs 1
+seta hud_panel_buffs_pos "0.450000 0.855000"
+seta hud_panel_buffs_size "0.050000 0.070000"
+seta hud_panel_buffs_bg "0"
+seta hud_panel_buffs_bg_color ""
+seta hud_panel_buffs_bg_color_team ""
+seta hud_panel_buffs_bg_alpha ""
+seta hud_panel_buffs_bg_border ""
+seta hud_panel_buffs_bg_padding ""
+
 menu_sync
index acf3ad921e84dd874a96f9b8bd6ca8d4253679ee..9e4678293d627419612564b5d12d91a4365d56fc 100644 (file)
@@ -126,6 +126,7 @@ seta hud_panel_notify_flip "0"
 seta hud_panel_notify_fontsize "1"
 seta hud_panel_notify_time "10"
 seta hud_panel_notify_fadetime "3"
+seta hud_panel_notify_icon_aspect "2"
 
 seta hud_panel_timer 1
 seta hud_panel_timer_pos "0.850000 0"
@@ -295,4 +296,14 @@ seta hud_panel_centerprint_fade_subsequent_passtwo_minalpha "0.5"
 seta hud_panel_centerprint_fade_subsequent_minfontsize "0.75"
 seta hud_panel_centerprint_fade_minfontsize "0"
 
+seta hud_panel_buffs 1
+seta hud_panel_buffs_pos "0.450000 0.855000"
+seta hud_panel_buffs_size "0.050000 0.070000"
+seta hud_panel_buffs_bg "0"
+seta hud_panel_buffs_bg_color ""
+seta hud_panel_buffs_bg_color_team ""
+seta hud_panel_buffs_bg_alpha ""
+seta hud_panel_buffs_bg_border ""
+seta hud_panel_buffs_bg_padding ""
+
 menu_sync
index 22f021434183f8611ae0307dc1b2314874ef6292..95d24acdbd67f30279c8f2f18aa94134dd2838a4 100644 (file)
@@ -58,6 +58,7 @@
 "dropweapon"                            "drop weapon"
 "+use"                                  "drop key / drop flag"
 "+button8"                              "drag object"
+"toggle chase_active"                   "3rd person view"
 ""                                      ""
 ""                                      "User defined"
 "+userbind 1"                           "$userbind1"
index 2aac70080a7e53e8e051ad6d7b2f470a2a631e7b..a878a1a815630b195679d669a128e4ad55f4c56e 100644 (file)
@@ -58,6 +58,7 @@
 "dropweapon"                            "Waffe wegwerfen"
 "+use"                                  "Schlüssel oder Flagge wegwerfen"
 "+button8"                              "Objekt ziehen"
+"toggle chase_active"                   "3rd person view (FIXME)"
 ""                                      ""
 ""                                      "Benutzerdefiniert"
 "+userbind 1"                           "$userbind1"
index 55c82cd3f7405b9efb36a84c495402231125d33b..0c3b8364c203f1e130de8c9d092b96f311ad17fa 100644 (file)
@@ -58,6 +58,7 @@
 "dropweapon"                            "soltar arma"
 "+use"                                  "soltar llave / soltar bandera"
 "+button8"                              "drag object (FIXME)"
+"toggle chase_active"                   "3rd person view (FIXME)"
 ""                                      ""
 ""                                      "Definido por el usuario"
 "+userbind 1"                           "$userbind1"
index 4693e38686428f1a52a98f336d286383d5d1a88d..7d0999a1e464d04985fb4c500d528ee0ba547629 100644 (file)
@@ -58,6 +58,7 @@
 "dropweapon"                            "lâcher l'arme"
 "+use"                                  "lâcher la clé / lâcher le drapeau"
 "+button8"                              "drag object (FIXME)"
+"toggle chase_active"                   "3rd person view (FIXME)"
 ""                                      ""
 ""                                      "Utilisateur"
 "+userbind 1"                           "$userbind1"
index 74d96470be0b5161ace4cf64ad9b47e6234ddb74..c4e418d120fef0551819ecc39dfe180a79b1c2ff 100644 (file)
@@ -58,6 +58,7 @@
 "dropweapon"                            "fegyver eldobás"
 "+use"                                  "zászló eldobás, kiszállás"
 "+button8"                              "drag object"
+"toggle chase_active"                   "3rd person view (FIXME)"
 ""                                      ""
 ""                                      "Felhasználói hozzárendelések"
 "+userbind 1"                           "$userbind1"
index 87d7840295d1bd6db9f04778c6e8e390152ab58e..e46ef92440616e732199569bf175ba717b8042d6 100644 (file)
@@ -58,6 +58,7 @@
 "dropweapon"                            "abbandona arma"
 "+use"                                  "abbandona chiave / bandiera"
 "+button8"                              "trascina oggetto"
+"toggle chase_active"                   "3rd person view (FIXME)"
 ""                                      ""
 ""                                      "Definiti dall'utente"
 "+userbind 1"                           "$userbind1"
index 4d4221a205d648285049e6e6fd39ef97ff321071..3431c25f67e721fec122dfea5a8b5e37167b430d 100644 (file)
@@ -58,6 +58,7 @@
 "dropweapon"                            "бросить оружие"
 "+use"                                  "бросить ключ или флаг"
 "+button8"                              "drag object"
+"toggle chase_active"                   "3rd person view (FIXME)"
 ""                                      ""
 ""                                      "Определенно пользователем"
 "+userbind 1"                           "$userbind1"
index 02b4e579b24b0e95741eb86ffd2e2596433515eb..eae9049c1dddfe833b867b90d042eda509ae4c47 100644 (file)
@@ -58,6 +58,7 @@
 "dropweapon"                            "викинути зброю"
 "+use"                                  "викинути ключ / прапор"
 "+button8"                              "drag object"
+"toggle chase_active"                   "3rd person view (FIXME)"
 ""                                      ""
 ""                                      "Визначені користувачем"
 "+userbind 1"                           "$userbind1"
diff --git a/models/monsters/mage.dpm b/models/monsters/mage.dpm
new file mode 100644 (file)
index 0000000..2e50fb5
Binary files /dev/null and b/models/monsters/mage.dpm differ
diff --git a/models/monsters/mage.dpm.framegroups b/models/monsters/mage.dpm.framegroups
new file mode 100644 (file)
index 0000000..4a72c65
--- /dev/null
@@ -0,0 +1,11 @@
+/*
+Generated framegroups file for mage
+Used by DarkPlaces to simulate frame groups in DPM models.
+*/
+
+1 31 30 1 // mage idle
+32 31 30 1 // mage walk
+63 16 30 1 // mage attack
+79 16 30 1 // mage hit
+95 31 30 0 // mage die
+126 31 60 1 // mage walk
diff --git a/models/monsters/shambler.mdl b/models/monsters/shambler.mdl
new file mode 100644 (file)
index 0000000..2e23dfa
Binary files /dev/null and b/models/monsters/shambler.mdl differ
diff --git a/models/monsters/shambler.mdl.framegroups b/models/monsters/shambler.mdl.framegroups
new file mode 100644 (file)
index 0000000..b003d56
--- /dev/null
@@ -0,0 +1 @@
+1 16 10 1 // shambler stand\r18 11 10 1 // shambler walk\r31 5 10 1 // shambler run\r37 11 10 1 // shambler smash\r49 8 10 1 // shambler swing right\r58 8 10 1 // shambler swing left\r67 11 10 1 // shambler magic\r79 5 10 0 // shambler pain\r85 10 10 0 // shambler death
\ No newline at end of file
diff --git a/models/monsters/shambler.mdl_0.sounds b/models/monsters/shambler.mdl_0.sounds
new file mode 100644 (file)
index 0000000..7e16968
--- /dev/null
@@ -0,0 +1,8 @@
+//TAG: shambler
+//death sound/monsters/shambler/death 0
+sight sound/monsters/shambler/sight 0
+//ranged sound/monsters/shambler/ranged 0
+//melee sound/monsters/shambler/melee 0
+//pain sound/monsters/shambler/pain 0
+//spawn sound/monsters/shambler/spawn 0
+idle sound/monsters/shambler/idle 2
diff --git a/models/monsters/spider.dpm b/models/monsters/spider.dpm
new file mode 100644 (file)
index 0000000..d0bc9ce
Binary files /dev/null and b/models/monsters/spider.dpm differ
diff --git a/models/monsters/spider.dpm.framegroups b/models/monsters/spider.dpm.framegroups
new file mode 100644 (file)
index 0000000..039a7c3
--- /dev/null
@@ -0,0 +1,9 @@
+/*
+Generated framegroups file for spider
+Used by DarkPlaces to simulate frame groups in DPM models.
+*/
+
+1 60 60 1 // spider idle
+61 41 120 1 // spider walk
+102 24 60 1 // spider attack
+125 10 60 1 // spider attack2
\ No newline at end of file
diff --git a/models/monsters/wizard.mdl b/models/monsters/wizard.mdl
new file mode 100644 (file)
index 0000000..b130ba0
Binary files /dev/null and b/models/monsters/wizard.mdl differ
diff --git a/models/monsters/wizard.mdl.framegroups b/models/monsters/wizard.mdl.framegroups
new file mode 100644 (file)
index 0000000..c51109a
--- /dev/null
@@ -0,0 +1 @@
+1 14 10 1 // wizard hover\r16 13 10 1 // wizard fly\r30 12 10 1 // wizard magic attack\r43 3 10 0 // wizard pain\r47 7 10 0 // wizard death
\ No newline at end of file
index 3d56cdb2f452d770d5896be4e177e9c5355c80f1..3d38a2864cc49b0f3a9f34be0bc73c6da21ef617 100644 (file)
@@ -1,4 +1,4 @@
-1 56 30 0      // zombie attackleap         1
+1 56 30 1      // zombie attackleap         1
 57 41 60 1     // zombie attackrun1         2
 98 41 60 1     // zombie attackrun2         3
 139 41 60 1    // zombie attackrun3         4
diff --git a/models/monsters/zombie.dpm_0.skin b/models/monsters/zombie.dpm_0.skin
new file mode 100644 (file)
index 0000000..19ad7a7
--- /dev/null
@@ -0,0 +1,2 @@
+bloodyskull,bloodyskull
+meat,meat
\ No newline at end of file
diff --git a/models/monsters/zombie.dpm_0.sounds b/models/monsters/zombie.dpm_0.sounds
new file mode 100644 (file)
index 0000000..7a7cff6
--- /dev/null
@@ -0,0 +1,8 @@
+//TAG: zombie
+death sound/monsters/zombie/death 0
+sight sound/monsters/zombie/sight 0
+//ranged sound/monsters/zombie/ranged 0
+//melee sound/monsters/zombie/melee 0
+//pain sound/monsters/zombie/pain 0
+spawn sound/monsters/zombie/spawn 0
+idle sound/monsters/zombie/idle 0
diff --git a/models/monsters/zombie.dpm_1.skin b/models/monsters/zombie.dpm_1.skin
new file mode 100644 (file)
index 0000000..1561520
--- /dev/null
@@ -0,0 +1,2 @@
+bloodyskull,bloodyskull_alien
+meat,meat_alien
\ No newline at end of file
diff --git a/models/monsters/zombie.dpm_2.skin b/models/monsters/zombie.dpm_2.skin
new file mode 100644 (file)
index 0000000..e00379e
--- /dev/null
@@ -0,0 +1,2 @@
+bloodyskull,bloodyskull_robot
+meat,meat_robot
\ No newline at end of file
diff --git a/models/monsters/zombie.dpm_3.skin b/models/monsters/zombie.dpm_3.skin
new file mode 100644 (file)
index 0000000..ad7e545
--- /dev/null
@@ -0,0 +1,2 @@
+bloodyskull,cleanskull
+meat,meat
\ No newline at end of file
index da0d2a16a24a7083bfeb2aa2296ffebb4defe7b7..b9f8a15e6353e81558c29b96eb1d9574369a0d11 100644 (file)
@@ -3,5 +3,12 @@ species human
 sex Male
 weight 105
 age 26
+bone_upperbody Bip001 Neck
+bone_aim0 0.25 Bip001 Neck
+bone_aim1 0.4 Bip001 Neck
+bone_aim2 0.2 Bip001 L UpperArm
+bone_aim3 0.35 bip01 r hand
+bone_weapon bip01 r hand
+fixbone 1
 
 overkill solider
index 3e3a6cfd836a6990f21bf266bc1ccd369b16d628..96c2f5b1cab20c81176442999d9a6f106ebd7280 100644 (file)
@@ -3,5 +3,12 @@ species human
 sex Male
 weight 105
 age 26
+bone_upperbody Bip001 Neck
+bone_aim0 0.25 Bip001 Neck
+bone_aim1 0.4 Bip001 Neck
+bone_aim2 0.2 Bip001 L UpperArm
+bone_aim3 0.35 bip01 r hand
+bone_weapon bip01 r hand
+fixbone 1
 
 overkill officer
\ No newline at end of file
index 7fa399e58dc840ba3fd965b2e8e0b898cced802b..406aac21e6723d2ca5c8b7e547b3012d2aa2b40e 100644 (file)
@@ -3,5 +3,12 @@ species human
 sex Male
 weight 105
 age 28
+bone_upperbody Bip001 Neck
+bone_aim0 0.25 Bip001 Neck
+bone_aim1 0.4 Bip001 Neck
+bone_aim2 0.2 Bip001 L UpperArm
+bone_aim3 0.35 bip01 r hand
+bone_weapon bip01 r hand
+fixbone 1
 
 overkill solider
index 7fa399e58dc840ba3fd965b2e8e0b898cced802b..406aac21e6723d2ca5c8b7e547b3012d2aa2b40e 100644 (file)
@@ -3,5 +3,12 @@ species human
 sex Male
 weight 105
 age 28
+bone_upperbody Bip001 Neck
+bone_aim0 0.25 Bip001 Neck
+bone_aim1 0.4 Bip001 Neck
+bone_aim2 0.2 Bip001 L UpperArm
+bone_aim3 0.35 bip01 r hand
+bone_weapon bip01 r hand
+fixbone 1
 
 overkill solider
index 0b52a01c88718b0c62b687b5f5070692f4811dc1..844f425282d35a86c630039767ab94fada298d8f 100644 (file)
@@ -3,5 +3,12 @@ species robot_solid
 sex None
 weight 200
 age 1
+bone_upperbody Bip001 Neck
+bone_aim0 0.25 Bip001 Neck
+bone_aim1 0.4 Bip001 Neck
+bone_aim2 0.2 Bip001 L UpperArm
+bone_aim3 0.35 bip01 r hand
+bone_weapon bip01 r hand
+fixbone 1
 
 Overkill robot
index 0b52a01c88718b0c62b687b5f5070692f4811dc1..844f425282d35a86c630039767ab94fada298d8f 100644 (file)
@@ -3,5 +3,12 @@ species robot_solid
 sex None
 weight 200
 age 1
+bone_upperbody Bip001 Neck
+bone_aim0 0.25 Bip001 Neck
+bone_aim1 0.4 Bip001 Neck
+bone_aim2 0.2 Bip001 L UpperArm
+bone_aim3 0.35 bip01 r hand
+bone_weapon bip01 r hand
+fixbone 1
 
 Overkill robot
index 3157342b2638a0d2a0cdf1b7eb00ef2405524398..03dd3f2f14457682df41588aa2ddbfd278ce8a95 100644 (file)
@@ -3,5 +3,12 @@ species robot_solid
 sex None
 weight 200
 age 1
+bone_upperbody Bip001 Neck
+bone_aim0 0.25 Bip001 Neck
+bone_aim1 0.4 Bip001 Neck
+bone_aim2 0.2 Bip001 L UpperArm
+bone_aim3 0.35 bip01 r hand
+bone_weapon bip01 r hand
+fixbone 1
 
 Overkill robot
index 3157342b2638a0d2a0cdf1b7eb00ef2405524398..03dd3f2f14457682df41588aa2ddbfd278ce8a95 100644 (file)
@@ -3,5 +3,12 @@ species robot_solid
 sex None
 weight 200
 age 1
+bone_upperbody Bip001 Neck
+bone_aim0 0.25 Bip001 Neck
+bone_aim1 0.4 Bip001 Neck
+bone_aim2 0.2 Bip001 L UpperArm
+bone_aim3 0.35 bip01 r hand
+bone_weapon bip01 r hand
+fixbone 1
 
 Overkill robot
diff --git a/monster_zombie.cfg b/monster_zombie.cfg
deleted file mode 100644 (file)
index 65d9e71..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-set g_monster_zombie_respawntime    2
-set g_monster_zombie_movespeed      350
-set g_monster_zombie_health         275
-set g_monster_zombie_stopspeed      90
-set g_monster_zombie_turnspeed      360
-set g_monster_zombie_idle_timer_min 5
-set g_monster_zombie_idle_timer_max 10
-set g_monster_zombie_targetrange    2048
-
-set g_monster_zombie_attack_run_range    128
-set g_monster_zombie_attack_run_hitrange 96
-set g_monster_zombie_attack_run_delay    0.35
-set g_monster_zombie_attack_run_damage   30
-set g_monster_zombie_attack_run_force    300
-
-set g_monster_zombie_attack_stand_range    64
-set g_monster_zombie_attack_stand_hitrange 64
-set g_monster_zombie_attack_stand_delay    0.25
-set g_monster_zombie_attack_stand_damage   60
-set g_monster_zombie_attack_stand_force    250
-
diff --git a/monsters.cfg b/monsters.cfg
new file mode 100644 (file)
index 0000000..3ff25a4
--- /dev/null
@@ -0,0 +1,104 @@
+// {{{ #1: Zombie
+set g_monster_zombie_attack_leap_damage 50
+set g_monster_zombie_attack_leap_delay 1.5
+set g_monster_zombie_attack_leap_force 55
+set g_monster_zombie_attack_leap_speed 500
+set g_monster_zombie_attack_melee_damage 40
+set g_monster_zombie_attack_melee_delay 1.2
+set g_monster_zombie_health 150
+set g_monster_zombie_speed_run 400
+set g_monster_zombie_speed_stop 100
+set g_monster_zombie_speed_walk 150
+// }}}
+// {{{ #2: Spider
+set g_monster_spider_attack_bite_damage 35
+set g_monster_spider_attack_bite_delay 1.2
+set g_monster_spider_attack_web_damagetime 4
+set g_monster_spider_attack_web_delay 1.5
+set g_monster_spider_attack_web_speed 1000
+set g_monster_spider_attack_web_speed_up 150
+set g_monster_spider_health 160
+set g_monster_spider_speed_run 450
+set g_monster_spider_speed_stop 100
+set g_monster_spider_speed_walk 150
+// }}}
+// {{{ #3: Mage
+set g_monster_mage_attack_push_damage 15
+set g_monster_mage_attack_push_delay 1
+set g_monster_mage_attack_push_force 300
+set g_monster_mage_attack_push_radius 150
+set g_monster_mage_attack_spike_accel 400
+set g_monster_mage_attack_spike_damage 30
+set g_monster_mage_attack_spike_decel 400
+set g_monster_mage_attack_spike_delay 2
+set g_monster_mage_attack_spike_radius 60
+set g_monster_mage_attack_spike_smart 1
+set g_monster_mage_attack_spike_smart_mindist 600
+set g_monster_mage_attack_spike_smart_trace_max 2500
+set g_monster_mage_attack_spike_smart_trace_min 1000
+set g_monster_mage_attack_spike_speed_max 370
+set g_monster_mage_attack_spike_turnrate 0.65
+set g_monster_mage_heal_allies 15
+set g_monster_mage_heal_delay 1.5
+set g_monster_mage_heal_minhealth 250
+set g_monster_mage_heal_range 200
+set g_monster_mage_heal_self 35
+set g_monster_mage_health 200
+set g_monster_mage_shield_blockpercent 0.8
+set g_monster_mage_shield_delay 7
+set g_monster_mage_shield_time 3
+set g_monster_mage_speed_run 75
+set g_monster_mage_speed_stop 50
+set g_monster_mage_speed_walk 50
+// }}}
+// {{{ #4: Wyvern
+set g_monster_wyvern_attack_fireball_damage 30
+set g_monster_wyvern_attack_fireball_damagetime 3
+set g_monster_wyvern_attack_fireball_edgedamage 20
+set g_monster_wyvern_attack_fireball_force 50
+set g_monster_wyvern_attack_fireball_radius 120
+set g_monster_wyvern_attack_fireball_speed 900
+set g_monster_wyvern_health 95
+set g_monster_wyvern_speed_run 120
+set g_monster_wyvern_speed_stop 300
+set g_monster_wyvern_speed_walk 40
+// }}}
+// {{{ #5: Shambler
+set g_monster_shambler_attack_claw_damage 50
+set g_monster_shambler_attack_lightning_damage 15
+set g_monster_shambler_attack_lightning_force 100
+set g_monster_shambler_attack_lightning_radius 50
+set g_monster_shambler_attack_lightning_radius_zap 250
+set g_monster_shambler_attack_lightning_speed 800
+set g_monster_shambler_attack_lightning_speed_up 150
+set g_monster_shambler_attack_smash_damage 50
+set g_monster_shambler_health 500
+set g_monster_shambler_speed_run 150
+set g_monster_shambler_speed_stop 300
+set g_monster_shambler_speed_walk 100
+// }}}
+
+// {{{ Misc
+set g_monsters 1
+set g_monsters_edit 0
+set g_monsters_think_delay 0.1
+set g_monsters_skill 1 "Monster skill (affecting some of their attributes). 1 - easy, 2 - medium, 3 - hard, 4 - insane, 5 - nightmare"
+set g_monsters_miniboss_chance 5
+set g_monsters_miniboss_healthboost 100
+set g_monsters_drop_time 10
+set g_monsters_owners 1
+set g_monsters_teams 1
+set g_monsters_score_kill 0
+set g_monsters_score_spawned 0
+set g_monsters_sounds 1
+set g_monsters_spawnshieldtime 2
+set g_monsters_typefrag 1
+set g_monsters_target_range 2000
+set g_monsters_target_infront 0
+set g_monsters_attack_range 120
+set g_monsters_respawn 1
+set g_monsters_respawn_delay 20
+set g_monsters_max 20
+set g_monsters_max_perplayer 0
+set g_monsters_armor_blockpercent 0.5
+// }}}
index 327cdd1a2aa2029548b651bc4daf28548bf6fe7c..9835f41ddbcf157823668587d557f82359cdeb23 100644 (file)
@@ -84,12 +84,10 @@ set g_balance_rifle_primary_shots 1
 set g_balance_rifle_primary_damage 80
 set g_balance_rifle_primary_spread 0
 set g_balance_rifle_primary_force 100
-set g_balance_rifle_primary_speed 40000
-set g_balance_rifle_primary_lifetime 5
 set g_balance_rifle_primary_refire 1.2
 set g_balance_rifle_primary_animtime 0.4
 set g_balance_rifle_primary_ammo 10
-set g_balance_rifle_primary_bulletconstant 110 // 62.2qu
+set g_balance_rifle_primary_solidpenetration 62.2
 set g_balance_rifle_primary_burstcost 0
 set g_balance_rifle_primary_bullethail 0 // empty magazine on shot
 set g_balance_rifle_secondary 1
@@ -99,12 +97,10 @@ set g_balance_rifle_secondary_shots 4
 set g_balance_rifle_secondary_damage 20
 set g_balance_rifle_secondary_spread 0.04
 set g_balance_rifle_secondary_force 50
-set g_balance_rifle_secondary_speed 20000
-set g_balance_rifle_secondary_lifetime 5
 set g_balance_rifle_secondary_refire 0.9
 set g_balance_rifle_secondary_animtime 0.3
 set g_balance_rifle_secondary_ammo 10
-set g_balance_rifle_secondary_bulletconstant 110 // 15.5qu
+set g_balance_rifle_secondary_solidpenetration 15.5
 set g_balance_rifle_secondary_burstcost 0
 set g_balance_rifle_secondary_bullethail 0 // empty magazine on shot
 set g_balance_rifle_switchdelay_drop 0.2
index e88fbc0afcc039cb3107c73ae778fdfce08239f2..8ee7751e3f7e6e1fda870bb73e5e2296ba99cab5 100644 (file)
@@ -77,6 +77,11 @@ set g_rocket_flying 0 "set to 1 to enable rocket flying in all balance configs"
 // =====================
 set g_spawn_near_teammate 0 "if set, players prefer spawns near a team mate"
 set g_spawn_near_teammate_distance 640 "max distance to consider a spawn to be near a team mate"
+set g_spawn_near_teammate_ignore_spawnpoint 0 "ignore spawnpoints and spawn right at team mates"
+set g_spawn_near_teammate_ignore_spawnpoint_delay 2.5 "how long to wait before its OK to spawn at a player after someone just spawned at this player"
+set g_spawn_near_teammate_ignore_spawnpoint_delay_death 0 "how long to wait before its OK to spawn at a player after death"
+set g_spawn_near_teammate_ignore_spawnpoint_check_health 1 "only allow spawn at this player if their health is full"
+set g_spawn_near_teammate_ignore_spawnpoint_closetodeath 1 "spawn as close to death location as possible"
 
 
 // ========================
@@ -156,3 +161,51 @@ set g_campcheck 0 "damages campers every few seconds"
 set g_campcheck_interval 10
 set g_campcheck_damage 100
 set g_campcheck_distance 1800
+
+
+// =======
+//  buffs
+// =======
+set cl_buffs_autoreplace 1 "automatically drop current buff when picking up another"
+set g_buffs 0 "enable buffs (requires buff items or powerups)"
+set g_buffs_waypoint_distance 1024 "maximum distance at which buff waypoint can be seen from item"
+set g_buffs_randomize 1 "randomize buff type when player drops buff"
+set g_buffs_random_lifetime 30 "re-spawn the buff again if it hasn't been touched after this time in seconds"
+set g_buffs_random_location 0 "randomize buff location on start and when reset"
+set g_buffs_random_location_attempts 10 "number of random locations a single buff will attempt to respawn at before giving up"
+set g_buffs_spawn_count 5 "how many buffs to spawn on the map if none exist already"
+set g_buffs_replace_powerups 1 "replace powerups on the map with random buffs"
+set g_buffs_cooldown_activate 5 "cooldown period when buff is first activated"
+set g_buffs_cooldown_respawn 3 "cooldown period when buff is reloading"
+set g_buffs_ammo 1 "ammo buff: infinite ammunition"
+set g_buffs_resistance 1 "resistance buff: greatly reduces damage taken"
+set g_buffs_resistance_blockpercent 0.7 "damage reduction multiplier, higher values mean less damage"
+set g_buffs_medic 1 "medic buff: increased regeneration speed, extra health, chance to survive a fatal attack"
+set g_buffs_medic_survive_chance 0.6 "multiplier chance of player surviving a fatal hit"
+set g_buffs_medic_survive_health 5 "amount of health player survives with after taking a fatal hit"
+set g_buffs_medic_rot 0.7 "health rot rate multiplier"
+set g_buffs_medic_max 1.5 "stable health medic limit multiplier"
+set g_buffs_medic_regen 1.7 "health medic rate multiplier"
+set g_buffs_vengeance 1 "vengeance buff: attackers also take damage"
+set g_buffs_vengeance_damage_multiplier 0.6 "amount of damage dealt the attacker takes when hitting a target with vengeance"
+set g_buffs_bash 1 "bash buff: increased knockback force and immunity to knockback"
+set g_buffs_bash_force 2 "bash force multiplier"
+set g_buffs_bash_force_self 1.2 "bash self force multiplier"
+set g_buffs_disability 1 "disability buff: attacks to players and monsters deal slowness (decreased movement/attack speed) for a few seconds"
+set g_buffs_disability_time 3 "time in seconds for target disability"
+set g_buffs_disability_speed 0.5 "player speed multiplier while disabled"
+set g_buffs_disability_rate 1.7 "player weapon rate multiplier while disabled"
+set g_buffs_speed 1 "speed buff: increased movement/attack/health regeneration speed, carrier takes slightly more damage"
+set g_buffs_speed_speed 1.7 "player speed multiplier while holding speed buff"
+set g_buffs_speed_rate 0.8 "player weapon rate multiplier while holding speed buff"
+set g_buffs_speed_damage_take 1.2 "damage taken multiplier while holding speed buff"
+set g_buffs_speed_regen 1.2 "regeneration speed multiplier while holding speed buff"
+set g_buffs_vampire 1 "vampire buff: attacks to players and monsters heal the carrier"
+set g_buffs_vampire_damage_steal 0.6 "damage stolen multiplier while holding vampire buff"
+set g_buffs_jump 1 "jump buff: greatly increased jump height"
+set g_buffs_jump_height 600 "jump height while holding jump buff"
+set g_buffs_flight 1 "flight buff: greatly decreased gravity"
+set g_buffs_flight_gravity 0.3 "player gravity multiplier while holding flight buff"
+set g_buffs_invisible 1 "invisible buff: carrier becomes invisible"
+set g_buffs_invisible_alpha 0.4 "player invisibility multiplier while holding invisible buff"
+
diff --git a/particles/hook_green.tga b/particles/hook_green.tga
deleted file mode 100644 (file)
index e01eb47..0000000
Binary files a/particles/hook_green.tga and /dev/null differ
diff --git a/particles/hook_white.tga b/particles/hook_white.tga
new file mode 100644 (file)
index 0000000..c60f070
Binary files /dev/null and b/particles/hook_white.tga differ
index 54955371bfba11cc8e98fdb77a26e14fdb4c3d46..c90020fdfabac73874fc3abbe6c98e5e443247d0 100644 (file)
@@ -1,7 +1,7 @@
 g_mod_physics Xonotic
 // current Xonotic physics
 
-sv_gravity 700
+sv_gravity 720
 sv_maxspeed 360
 sv_maxairspeed 360
 
@@ -16,13 +16,15 @@ sv_stepheight 31
 // Xon 0.7: 24+2
 // Samual: 31 (just below 32, keeping things smooth without allowing 32qu steps)
 
+// jump duration == 2*sv_jumpvelocity / sv_gravity
+// in this case: 0.6888888888 (thus either 20 or 21 frames)
 // jump height == sv_jumpvelocity^2 / (2*sv_gravity)
-// in this case: 42.87 qu
+// in this case: 42.71
 // player: 24+45 qu
-// total: 111.87qu
+// total: 111.71qu
 // this is smaller than 112 qu, so a 112 qu high corridor (7 of 8 grid units in
 // the 16 grid, and the 8th unit used for wall/floor) just lets a player jump!
-sv_jumpvelocity 245
+sv_jumpvelocity 248
 sv_wateraccelerate -1
 sv_waterfriction -1
 sv_airaccel_sideways_friction 0
diff --git a/post-config.cfg b/post-config.cfg
new file mode 100644 (file)
index 0000000..f74727f
--- /dev/null
@@ -0,0 +1,6 @@
+// Mark all cvars listed in menu_forced_saved_cvars as saved. That way they'll never disappear from config.cfg.
+alias _menu_forced_saved_cvars_next "set _forced_saved_cvar_ doit; set _forced_saved_cvar_${1 ?} done; _menu_forced_saved_cvars_chck ${* ?}"
+alias _menu_forced_saved_cvars_chck "_menu_forced_saved_cvars_$_forced_saved_cvar_ ${* ?}"
+alias _menu_forced_saved_cvars_doit "seta $1 \"${$1}\"; _menu_forced_saved_cvars_next ${2- ?}"
+alias _menu_forced_saved_cvars_done ""
+_menu_forced_saved_cvars_next ${menu_forced_saved_cvars ?}
index 833787328efe69d58f57cf868a9e798e184dca32..e271ad99050377127a47fc83baa710df3da6a627 100644 (file)
@@ -22,13 +22,10 @@ QCCFLAGS ?= \
 XON_BUILDSYSTEM =
 
 all: qc
+.PHONY: all
 
 .PHONY: qc
-qc:
-       $(MAKE) qc-recursive
-
-.PHONY: qc-recursive
-qc-recursive: ../menu.dat ../progs.dat ../csprogs.dat
+qc: ../menu.dat ../progs.dat ../csprogs.dat
 
 .PHONY: clean
 clean:
index a06eb5e6584e3ac96f48c489b762ee748ce9a127..c948c9a70e1e7f9c34d7f1ba8d6009fd221691a9 100644 (file)
@@ -53,7 +53,7 @@ void CSQC_Init(void)
        check_unacceptable_compiler_bugs();
 
 #ifdef WATERMARK
-       print(sprintf(_("^4CSQC Build information: ^1%s\n"), WATERMARK));
+       printf(_("^4CSQC Build information: ^1%s\n"), WATERMARK);
 #endif
 
        float i;
@@ -104,10 +104,12 @@ void CSQC_Init(void)
 
        // needs to be done so early because of the constants they create
        CALL_ACCUMULATED_FUNCTION(RegisterWeapons);
+       CALL_ACCUMULATED_FUNCTION(RegisterMonsters);
        CALL_ACCUMULATED_FUNCTION(RegisterGametypes);
        CALL_ACCUMULATED_FUNCTION(RegisterNotifications);
        CALL_ACCUMULATED_FUNCTION(RegisterDeathtypes);
        CALL_ACCUMULATED_FUNCTION(RegisterHUD_Panels);
+       CALL_ACCUMULATED_FUNCTION(RegisterBuffs);
 
        WaypointSprite_Load();
 
@@ -213,7 +215,7 @@ float SetTeam(entity o, float Team)
                        default:
                                if(GetTeam(Team, false) == world)
                                {
-                                       print(sprintf(_("trying to switch to unsupported team %d\n"), Team));
+                                       dprintf("trying to switch to unsupported team %d\n", Team);
                                        Team = NUM_SPECTATOR;
                                }
                                break;
@@ -229,7 +231,7 @@ float SetTeam(entity o, float Team)
                        default:
                                if(GetTeam(Team, false) == world)
                                {
-                                       print(sprintf(_("trying to switch to unsupported team %d\n"), Team));
+                                       dprintf("trying to switch to unsupported team %d\n", Team);
                                        Team = NUM_SPECTATOR;
                                }
                                break;
@@ -424,7 +426,7 @@ void Ent_ReadPlayerScore()
        if(!isNew && n != self.sv_entnum)
        {
                //print("A CSQC entity changed its owner!\n");
-               print(sprintf("A CSQC entity changed its owner! (edict: %d, classname: %s)\n", num_for_edict(self), self.classname));
+               printf("A CSQC entity changed its owner! (edict: %d, classname: %s)\n", num_for_edict(self), self.classname);
                isNew = true;
                Ent_Remove();
                self.enttype = ENT_CLIENT_SCORES;
@@ -687,7 +689,7 @@ void Ent_ReadSpawnPoint(float is_new) // entity for spawnpoint
                }
        }
 
-       //print(sprintf("Ent_ReadSpawnPoint(is_new = %d); origin = %s, team = %d, effect = %d\n", is_new, vtos(self.origin), teamnum, self.cnt));
+       //printf("Ent_ReadSpawnPoint(is_new = %d); origin = %s, team = %d, effect = %d\n", is_new, vtos(self.origin), teamnum, self.cnt);
 }
 
 void Ent_ReadSpawnEvent(float is_new)
@@ -738,7 +740,7 @@ void Ent_ReadSpawnEvent(float is_new)
                }
        }
 
-       //print(sprintf("Ent_ReadSpawnEvent(is_new = %d); origin = %s, entnum = %d, localentnum = %d\n", is_new, vtos(self.origin), entnum, player_localentnum));
+       //printf("Ent_ReadSpawnEvent(is_new = %d); origin = %s, entnum = %d, localentnum = %d\n", is_new, vtos(self.origin), entnum, player_localentnum);
 }
 
 // CSQC_Ent_Update : Called every frame that the server has indicated an update to the SSQC / CSQC entity has occured.
@@ -753,7 +755,7 @@ void CSQC_Ent_Update(float bIsNewEntity)
        t = ReadByte();
 
        if(autocvar_developer_csqcentities)
-               print(sprintf("CSQC_Ent_Update(%d) with self=%i self.entnum=%d self.enttype=%d t=%d\n", bIsNewEntity, self, self.entnum, self.enttype, t));
+               printf("CSQC_Ent_Update(%d) with self=%i self.entnum=%d self.enttype=%d t=%d\n", bIsNewEntity, self, self.entnum, self.enttype, t);
 
        // set up the "time" global for received entities to be correct for interpolation purposes
        savetime = time;
@@ -774,7 +776,7 @@ void CSQC_Ent_Update(float bIsNewEntity)
                if(t != self.enttype || bIsNewEntity)
                {
                        //print("A CSQC entity changed its type!\n");
-                       print(sprintf("A CSQC entity changed its type! (edict: %d, server: %d, type: %d -> %d)\n", num_for_edict(self), self.entnum, self.enttype, t));
+                       printf("A CSQC entity changed its type! (edict: %d, server: %d, type: %d -> %d)\n", num_for_edict(self), self.entnum, self.enttype, t);
                        Ent_Remove();
                        clearentity(self);
                        bIsNewEntity = 1;
@@ -784,7 +786,7 @@ void CSQC_Ent_Update(float bIsNewEntity)
        {
                if(!bIsNewEntity)
                {
-                       print(sprintf("A CSQC entity appeared out of nowhere! (edict: %d, server: %d, type: %d)\n", num_for_edict(self), self.entnum, t));
+                       printf("A CSQC entity appeared out of nowhere! (edict: %d, server: %d, type: %d)\n", num_for_edict(self), self.entnum, t);
                        bIsNewEntity = 1;
                }
        }
@@ -868,7 +870,7 @@ void Ent_Remove()
 void CSQC_Ent_Remove()
 {
        if(autocvar_developer_csqcentities)
-               print(sprintf("CSQC_Ent_Remove() with self=%i self.entnum=%d self.enttype=%d\n", self, self.entnum, self.enttype));
+               printf("CSQC_Ent_Remove() with self=%i self.entnum=%d self.enttype=%d\n", self, self.entnum, self.enttype);
 
        if(wasfreed(self))
        {
@@ -893,7 +895,7 @@ void Gamemode_Init()
 void CSQC_Parse_StuffCmd(string strMessage)
 {
        if(autocvar_developer_csqcentities)
-               print(sprintf("CSQC_Parse_StuffCmd(\"%s\")\n", strMessage));
+               printf("CSQC_Parse_StuffCmd(\"%s\")\n", strMessage);
 
        localcmd(strMessage);
 }
@@ -901,7 +903,7 @@ void CSQC_Parse_StuffCmd(string strMessage)
 void CSQC_Parse_Print(string strMessage)
 {
        if(autocvar_developer_csqcentities)
-               print(sprintf("CSQC_Parse_Print(\"%s\")\n", strMessage));
+               printf("CSQC_Parse_Print(\"%s\")\n", strMessage);
 
        print(ColorTranslateRGB(strMessage));
 }
@@ -910,7 +912,7 @@ void CSQC_Parse_Print(string strMessage)
 void CSQC_Parse_CenterPrint(string strMessage)
 {
        if(autocvar_developer_csqcentities)
-               print(sprintf("CSQC_Parse_CenterPrint(\"%s\")\n", strMessage));
+               printf("CSQC_Parse_CenterPrint(\"%s\")\n", strMessage);
 
        centerprint_hud(strMessage);
 }
@@ -921,8 +923,10 @@ void Fog_Force()
 {
        // TODO somehow thwart prvm_globalset client ...
 
-       if(forcefog != "")
-               localcmd(strcat(notranslate_fogcmd1, forcefog, notranslate_fogcmd2));
+       if(autocvar_cl_orthoview && autocvar_cl_orthoview_nofog)
+               { localcmd("\nr_drawfog 0\n"); }
+       else if(forcefog != "")
+               { localcmd(strcat(notranslate_fogcmd1, forcefog, notranslate_fogcmd2)); }
 }
 
 void Gamemode_Init();
@@ -931,6 +935,7 @@ void Ent_ScoresInfo()
        float i;
        self.classname = "ent_client_scores_info";
        gametype = ReadInt24_t();
+       HUD_ModIcons_SetFunc();
        for(i = 0; i < MAX_SCORE; ++i)
        {
                scores_label[i] = strzone(ReadString());
@@ -1199,7 +1204,7 @@ float CSQC_Parse_TempEntity()
                nTEID = ReadByte();
 
        if(autocvar_developer_csqcentities)
-               print(sprintf("CSQC_Parse_TempEntity() with nTEID=%d\n", nTEID));
+               printf("CSQC_Parse_TempEntity() with nTEID=%d\n", nTEID);
 
                // NOTE: Could just do return instead of break...
        switch(nTEID)
@@ -1216,10 +1221,6 @@ float CSQC_Parse_TempEntity()
                        Net_ReadRace();
                        bHandled = true;
                        break;
-               case TE_CSQC_ZCURVEPARTICLES:
-                       Net_ReadZCurveParticles();
-                       bHandled = true;
-                       break;
                case TE_CSQC_NEXGUNBEAMPARTICLE:
                        Net_ReadNexgunBeamParticle();
                        bHandled = true;
index 8c9d59dd91f9a77e421d746a0b8193a8c449fb0f..2a41ba13c673c601f9134052a5f4cba68425a5ee 100644 (file)
@@ -199,6 +199,17 @@ vector GetCurrentFov(float fov)
        return '1 0 0' * fovx + '0 1 0' * fovy;
 }
 
+vector GetOrthoviewFOV(vector ov_worldmin, vector ov_worldmax, vector ov_mid, vector ov_org)
+{
+       float fovx, fovy;
+       float width = (ov_worldmax_x - ov_worldmin_x);
+       float height = (ov_worldmax_y - ov_worldmin_y);
+       float distance_to_middle_of_world = vlen(ov_mid - ov_org);
+       fovx = atan2(width/2, distance_to_middle_of_world) / M_PI * 360.0;
+       fovy = atan2(height/2, distance_to_middle_of_world) / M_PI * 360.0;
+       return '1 0 0' * fovx + '0 1 0' * fovy;
+}
+
 // this function must match W_SetupShot!
 float zoomscript_caught;
 
@@ -307,13 +318,15 @@ float TrueAimCheck()
                        break;
        }
 
+       vector traceorigin = getplayerorigin(player_localentnum-1) + (eZ * getstati(STAT_VIEWHEIGHT));
+
        vecs = decompressShotOrigin(getstati(STAT_SHOTORG));
 
-       traceline(view_origin, view_origin + view_forward * MAX_SHOT_DISTANCE, mv, ta);
+       traceline(traceorigin, traceorigin + view_forward * MAX_SHOT_DISTANCE, mv, ta);
        trueaimpoint = trace_endpos;
 
-       if(vlen(trueaimpoint - view_origin) < g_trueaim_minrange)
-               trueaimpoint = view_origin + view_forward * g_trueaim_minrange;
+       if(vlen(trueaimpoint - traceorigin) < g_trueaim_minrange)
+               trueaimpoint = traceorigin + view_forward * g_trueaim_minrange;
 
        if(vecs_x > 0)
                vecs_y = -vecs_y;
@@ -321,7 +334,7 @@ float TrueAimCheck()
                vecs = '0 0 0';
 
        dv = view_right * vecs_y + view_up * vecs_z;
-       w_shotorg = view_origin + dv;
+       w_shotorg = traceorigin + dv;
 
        // now move the vecs forward as much as requested if possible
        tracebox(w_shotorg, mi, ma, w_shotorg + view_forward * (vecs_x + nudge), MOVE_NORMAL, ta); // FIXME this MOVE_NORMAL part will misbehave a little in csqc
@@ -479,7 +492,8 @@ void CSQC_UpdateView(float w, float h)
        // event chase camera
        if(autocvar_chase_active <= 0) // greater than 0 means it's enabled manually, and this code is skipped
        {
-               if((spectatee_status >= 0 && (autocvar_cl_eventchase_death && is_dead)) || intermission)
+               WepSet weapons_stat = WepSet_GetFromStat();
+               if(((spectatee_status >= 0 && (autocvar_cl_eventchase_death && is_dead)) || intermission) && !autocvar_cl_orthoview || (autocvar_cl_eventchase_nexball && gametype == MAPINFO_TYPE_NEXBALL && !(weapons_stat & WepSet_FromWeapon(WEP_PORTO))))
                {
                        // make special vector since we can't use view_origin (It is one frame old as of this code, it gets set later with the results this code makes.)
                        vector current_view_origin = (csqcplayer ? csqcplayer.origin : pmove_org);
@@ -548,6 +562,60 @@ void CSQC_UpdateView(float w, float h)
        WarpZone_FixView();
        //WarpZone_FixPMove();
 
+       vector ov_org = '0 0 0';
+       vector ov_mid = '0 0 0';
+       vector ov_worldmin = '0 0 0';
+       vector ov_worldmax = '0 0 0';
+       if(autocvar_cl_orthoview)
+       {
+               ov_worldmin = mi_picmin;
+               ov_worldmax = mi_picmax;
+
+               float ov_width = (ov_worldmax_x - ov_worldmin_x);
+               float ov_height = (ov_worldmax_y - ov_worldmin_y);
+               float ov_distance = (max(vid_width, vid_height) * max(ov_width, ov_height));
+
+               ov_mid = ((ov_worldmax + ov_worldmin) * 0.5);
+               ov_org = vec3(ov_mid_x, ov_mid_y, (ov_mid_z + ov_distance));
+
+               float ov_nearest = vlen(ov_org - vec3(
+                       bound(ov_worldmin_x, ov_org_x, ov_worldmax_x),
+                       bound(ov_worldmin_y, ov_org_y, ov_worldmax_y),
+                       bound(ov_worldmin_z, ov_org_z, ov_worldmax_z)
+               ));
+
+               float ov_furthest = 0;
+               float dist = 0;
+
+               if((dist = vlen(vec3(ov_worldmin_x, ov_worldmin_y, ov_worldmin_z) - ov_org)) > ov_furthest) { ov_furthest = dist; }
+               if((dist = vlen(vec3(ov_worldmax_x, ov_worldmin_y, ov_worldmin_z) - ov_org)) > ov_furthest) { ov_furthest = dist; }
+               if((dist = vlen(vec3(ov_worldmin_x, ov_worldmax_y, ov_worldmin_z) - ov_org)) > ov_furthest) { ov_furthest = dist; }
+               if((dist = vlen(vec3(ov_worldmin_x, ov_worldmin_y, ov_worldmax_z) - ov_org)) > ov_furthest) { ov_furthest = dist; }
+               if((dist = vlen(vec3(ov_worldmax_x, ov_worldmax_y, ov_worldmin_z) - ov_org)) > ov_furthest) { ov_furthest = dist; }
+               if((dist = vlen(vec3(ov_worldmin_x, ov_worldmax_y, ov_worldmax_z) - ov_org)) > ov_furthest) { ov_furthest = dist; }
+               if((dist = vlen(vec3(ov_worldmax_x, ov_worldmin_y, ov_worldmax_z) - ov_org)) > ov_furthest) { ov_furthest = dist; }
+               if((dist = vlen(vec3(ov_worldmax_x, ov_worldmax_y, ov_worldmax_z) - ov_org)) > ov_furthest) { ov_furthest = dist; }
+
+               cvar_settemp("r_nearclip", ftos(ov_nearest));
+               cvar_settemp("r_farclip_base", ftos(ov_furthest));
+               cvar_settemp("r_farclip_world", "0");
+               cvar_settemp("r_novis", "1");
+               cvar_settemp("r_useportalculling", "0");
+               cvar_settemp("r_useinfinitefarclip", "0");
+
+               setproperty(VF_ORIGIN, ov_org);
+               setproperty(VF_ANGLES, '90 0 0');
+
+               #if 0
+               printf("OrthoView: org = %s, angles = %s, distance = %f, nearest = %f, furthest = %f\n",
+                       vtos(ov_org),
+                       vtos(getpropertyvec(VF_ANGLES)),
+                       ov_distance,
+                       ov_nearest,
+                       ov_furthest);
+               #endif
+       }
+
        // Render the Scene
        view_origin = getpropertyvec(VF_ORIGIN);
        view_angles = getpropertyvec(VF_ANGLES);
@@ -689,7 +757,8 @@ void CSQC_UpdateView(float w, float h)
        vid_conheight = autocvar_vid_conheight;
        vid_pixelheight = autocvar_vid_pixelheight;
 
-       setproperty(VF_FOV, GetCurrentFov(fov));
+       if(autocvar_cl_orthoview) { setproperty(VF_FOV, GetOrthoviewFOV(ov_worldmin, ov_worldmax, ov_mid, ov_org)); }
+       else { setproperty(VF_FOV, GetCurrentFov(fov)); }
 
        // Camera for demo playback
        if(camera_active)
@@ -1170,7 +1239,7 @@ void CSQC_UpdateView(float w, float h)
                                }
                        }
 
-                       //print(sprintf("crosshair style: %s\n", wcross_style));
+                       //printf("crosshair style: %s\n", wcross_style);
                        wcross_name = strcat("gfx/crosshair", wcross_style);
 
                        // MAIN CROSSHAIR COLOR DECISION
@@ -1592,32 +1661,16 @@ void CSQC_common_hud(void)
        if(!(gametype == MAPINFO_TYPE_RACE || gametype == MAPINFO_TYPE_CTS))
                Accuracy_LoadLevels();
 
-    HUD_Main(); // always run these functions for alpha checks
-    HUD_DrawScoreboard();
+       HUD_Main(); // always run these functions for alpha checks
+       HUD_DrawScoreboard();
 
-    if (scoreboard_active) // scoreboard/accuracy
-        HUD_Reset();
-    else if (intermission == 2) // map voting screen
-    {
-        HUD_FinaleOverlay();
-        HUD_Reset();
-    }
-       /*
-       switch(hud)
+       if (scoreboard_active) // scoreboard/accuracy
+               HUD_Reset();
+       else if (intermission == 2) // map voting screen
        {
-               case HUD_SPIDERBOT:
-                       CSQC_SPIDER_HUD();
-                       break;
-
-               case HUD_WAKIZASHI:
-                       CSQC_WAKIZASHI_HUD();
-                       break;
-
-        case HUD_BUMBLEBEE:
-            CSQC_BUMBLE_HUD();
-            break;
+               MapVote_Draw();
+               HUD_Reset();
        }
-       */
 }
 
 
index 403792020ac7c7e08aa6a412f15abd5e98cffa9b..8516d32f6debeaf4faaa7fa539f5483a6e17eb86 100644 (file)
@@ -54,6 +54,8 @@ float autocvar_cl_gunalign;
 float autocvar_cl_hidewaypoints;
 float autocvar_cl_lockview;
 float autocvar_cl_nogibs;
+float autocvar_cl_orthoview;
+float autocvar_cl_orthoview_nofog;
 float autocvar_cl_particlegibs;
 float autocvar_cl_particles_oldnexbeam;
 float autocvar_cl_particles_quality;
@@ -266,6 +268,7 @@ float autocvar_hud_panel_notify_fadetime;
 float autocvar_hud_panel_notify_flip;
 float autocvar_hud_panel_notify_fontsize;
 float autocvar_hud_panel_notify_time;
+float autocvar_hud_panel_notify_icon_aspect;
 float autocvar_hud_panel_physics;
 float autocvar_hud_panel_physics_acceleration_progressbar_mode;
 float autocvar_hud_panel_physics_acceleration_progressbar_scale;
@@ -288,6 +291,8 @@ float autocvar_hud_panel_powerups_baralign;
 float autocvar_hud_panel_powerups_flip;
 float autocvar_hud_panel_powerups_iconalign;
 float autocvar_hud_panel_powerups_progressbar;
+float autocvar_hud_panel_buffs;
+//float autocvar_hud_panel_buffs_iconalign;
 string autocvar_hud_panel_powerups_progressbar_shield;
 string autocvar_hud_panel_powerups_progressbar_strength;
 string autocvar_hud_panel_powerups_progressbar_superweapons;
@@ -339,7 +344,17 @@ float autocvar_hud_panel_weapons_timeout_fadebgmin;
 float autocvar_hud_panel_weapons_timeout_fadefgmin;
 var float autocvar_hud_panel_weapons_timeout_speed_in = 0.25;
 var float autocvar_hud_panel_weapons_timeout_speed_out = 0.75;
+vector autocvar_hud_progressbar_acceleration_color;
+vector autocvar_hud_progressbar_acceleration_neg_color;
 float autocvar_hud_progressbar_alpha;
+vector autocvar_hud_progressbar_armor_color;
+vector autocvar_hud_progressbar_fuel_color;
+vector autocvar_hud_progressbar_health_color;
+vector autocvar_hud_progressbar_nexball_color;
+vector autocvar_hud_progressbar_shield_color;
+vector autocvar_hud_progressbar_speed_color;
+vector autocvar_hud_progressbar_strength_color;
+vector autocvar_hud_progressbar_superweapons_color;
 float autocvar_hud_showbinds;
 float autocvar_hud_showbinds_limit;
 float autocvar__hud_showbinds_reload;
@@ -398,6 +413,7 @@ float autocvar_viewsize;
 float autocvar_cl_hitsound;
 float autocvar_cl_hitsound_antispam_time;
 var float autocvar_cl_eventchase_death = 1;
+var float autocvar_cl_eventchase_nexball = 1;
 var float autocvar_cl_eventchase_distance = 140;
 var float autocvar_cl_eventchase_speed = 1.3;
 var vector autocvar_cl_eventchase_maxs = '12 12 8';
index fda38b125c6cc5780458ded23b7761e027400ba8..9d024941e6bf00d4b8c7f53133deca7535edbde4 100644 (file)
@@ -131,7 +131,7 @@ void BGMScript_InitEntity(entity e)
                e.bgmscriptline = e.bgmscriptline0 = i;
                if(i >= bgmscriptbufsize)
                {
-                       print(sprintf("ERROR: bgmscript does not define %s\n", e.bgmscript));
+                       printf("ERROR: bgmscript does not define %s\n", e.bgmscript);
                        strunzone(e.bgmscript);
                        e.bgmscript = string_null;
                }
index fb87f9a7456e07a772c6f05bbbcc4d0b79a3526a..120b6658df8792443433fc40d7192bc89c4e809b 100644 (file)
@@ -114,7 +114,7 @@ void CSQCPlayer_ModelAppearance_PostUpdate(void)
                self.forceplayermodels_isgoodmodel = fexists(self.forceplayermodels_savemodel);
                self.forceplayermodels_isgoodmodel_mdl = self.forceplayermodels_savemodel;
                if(!self.forceplayermodels_isgoodmodel)
-                       print(sprintf("Warning: missing model %s has been used\n", self.forceplayermodels_savemodel));
+                       printf("Warning: missing model %s has been used\n", self.forceplayermodels_savemodel);
        }
 }
 void CSQCPlayer_ModelAppearance_Apply(float islocalplayer)
@@ -218,16 +218,11 @@ void CSQCPlayer_ModelAppearance_Apply(float islocalplayer)
                // own team's color is never forced
                float forcecolor_friend = 0;
                float forcecolor_enemy = 0;
-               float teams_count = 0;
                entity tm;
 
-               for(tm = teams.sort_next; tm; tm = tm.sort_next)
-                       if(tm.team != NUM_SPECTATOR)
-                               ++teams_count;
-
                if(autocvar_cl_forcemyplayercolors)
                        forcecolor_friend = 1024 + autocvar_cl_forcemyplayercolors;
-               if(autocvar_cl_forceplayercolors && teams_count == 2)
+               if(autocvar_cl_forceplayercolors && team_count == 2)
                        forcecolor_enemy = 1024 + autocvar__cl_color;
 
                if(forcecolor_enemy && !forcecolor_friend)
@@ -292,7 +287,7 @@ void CSQCPlayer_ModelAppearance_Apply(float islocalplayer)
                else if(self.old_glowmod != '0 0 0') { self.old_glowmod = '0 0 0'; }
        }
 
-       //print(sprintf("CSQCPlayer_ModelAppearance_Apply(): state = %s, colormap = %f, glowmod = %s\n", (self.csqcmodel_isdead ? "DEAD" : "ALIVE"), self.colormap, vtos(self.glowmod)));
+       //printf("CSQCPlayer_ModelAppearance_Apply(): state = %s, colormap = %f, glowmod = %s\n", (self.csqcmodel_isdead ? "DEAD" : "ALIVE"), self.colormap, vtos(self.glowmod));
 }
 
 // FEATURE: fallback frames
@@ -362,7 +357,7 @@ float CSQCPlayer_FallbackFrame(float f)
                case 29: return 4; // anim_duckwalkbackright -> anim_duckwalk
                case 30: return 4; // anim_duckwalkbackleft -> anim_duckwalk
        }
-       print(sprintf("Frame %d missing in model %s, and we have no fallback - FAIL!\n", f, self.model));
+       printf("Frame %d missing in model %s, and we have no fallback - FAIL!\n", f, self.model);
        return f;
 }
 void CSQCPlayer_FallbackFrame_Apply(void)
index 196730a72dde016cbe3fd28308955ed2c2de6ee1..889e75d2679dc65cb7bfd18726479fd38fd8f97f 100644 (file)
@@ -83,7 +83,7 @@ void Draw_GrapplingHook()
                        break;
        }
 
-       if((self.owner.sv_entnum == player_localentnum - 1))
+       if((self.owner.sv_entnum == player_localentnum - 1) && autocvar_chase_active <= 0)
        {
                switch(self.HookType)
                {
@@ -129,30 +129,13 @@ void Draw_GrapplingHook()
                case ENT_CLIENT_HOOK:
                        intensity = 1;
                        offset = 0;
-                       if(t == NUM_TEAM_1)
+                       switch(t)
                        {
-                               tex = "particles/hook_red";
-                               rgb = '1 .3 .3';
-                       }
-                       else if(t == NUM_TEAM_2)
-                       {
-                               tex = "particles/hook_blue";
-                               rgb = '.3 .3 1';
-                       }
-                       else if(t == NUM_TEAM_3)
-                       {
-                               tex = "particles/hook_yellow";
-                               rgb = '1 1 .3';
-                       }
-                       else if(t == NUM_TEAM_4)
-                       {
-                               tex = "particles/hook_pink";
-                               rgb = '1 .3 1';
-                       }
-                       else
-                       {
-                               tex = "particles/hook_green";
-                               rgb = '.3 1 .3';
+                               case NUM_TEAM_1: tex = "particles/hook_red"; rgb = '1 0.3 0.3'; break;
+                               case NUM_TEAM_2: tex = "particles/hook_blue"; rgb = '0.3 0.3 1'; break;
+                               case NUM_TEAM_3: tex = "particles/hook_yellow"; rgb = '1 1 0.3'; break;
+                               case NUM_TEAM_4: tex = "particles/hook_pink"; rgb = '1 0.3 1'; break;
+                               default: tex = "particles/hook_white"; rgb = getcsqcplayercolor(self.sv_entnum); break;
                        }
                        break;
                case ENT_CLIENT_LGBEAM:
@@ -232,7 +215,9 @@ void Ent_ReadHook(float bIsNew, float type)
 
        if(sf & 1)
        {
-               self.owner = playerslots[ReadByte() - 1];
+               float myowner = ReadByte();
+               self.owner = playerslots[myowner - 1];
+               self.sv_entnum = myowner;
                switch(self.HookType)
                {
                        default:
index a78177b1991c5783e5e9b185cc5225d6a0d447d3..e1c95025892e272c556f33edbc86275df630a21a 100644 (file)
@@ -264,8 +264,8 @@ HUD panels
 
 // draw the background/borders
 #define HUD_Panel_DrawBg(theAlpha)\
-if(panel_bg != "0" && panel_bg != "")\
-       draw_BorderPicture(panel_pos - '1 1 0' * panel_bg_border, panel_bg, panel_size + '1 1 0' * 2 * panel_bg_border, panel_bg_color, panel_bg_alpha * theAlpha, '1 1 0' * (panel_bg_border/BORDER_MULTIPLIER))
+if(panel.current_panel_bg != "0" && panel.current_panel_bg != "")\
+       draw_BorderPicture(panel_pos - '1 1 0' * panel_bg_border, panel.current_panel_bg, panel_size + '1 1 0' * 2 * panel_bg_border, panel_bg_color, panel_bg_alpha * theAlpha, '1 1 0' * (panel_bg_border/BORDER_MULTIPLIER))
 
 //basically the same code of draw_ButtonPicture and draw_VertButtonPicture for the menu
 void HUD_Panel_DrawProgressBar(vector theOrigin, vector theSize, string pic, float length_ratio, float vertical, float baralign, vector theColor, float theAlpha, float drawflag)
@@ -489,7 +489,6 @@ void HUD_Weapons(void)
 
        // update generic hud functions
        HUD_Panel_UpdateCvars();
-       HUD_Panel_ApplyFadeAlpha();
 
        draw_beginBoldFont();
 
@@ -568,7 +567,7 @@ void HUD_Weapons(void)
                weapon_size_y = old_panel_size_y / rows;
 
                // change table values to include only the owned weapons
-               // weapon_size won't be changed
+               float columns_save = columns;
                if(weapon_count <= rows)
                {
                        rows = weapon_count;
@@ -577,6 +576,10 @@ void HUD_Weapons(void)
                else
                        columns = ceil(weapon_count / rows);
 
+               // enlarge weapon_size to match desired aspect ratio in order to capitalize on panel space
+               if(columns < columns_save)
+                       weapon_size_x = min(old_panel_size_x / columns, aspect * weapon_size_y);
+
                // reduce size of the panel
                panel_size_x = columns * weapon_size_x;
                panel_size_y = rows * weapon_size_y;
@@ -941,7 +944,7 @@ void DrawAmmoItem(vector myPos, vector mySize, float itemcode, float currently_s
 
 void HUD_Ammo(void)
 {
-    if(hud != HUD_NORMAL) return;
+       if(hud != HUD_NORMAL) return;
        if(!autocvar__hud_configure)
        {
                if(!autocvar_hud_panel_ammo) return;
@@ -949,7 +952,6 @@ void HUD_Ammo(void)
        }
 
        HUD_Panel_UpdateCvars();
-       HUD_Panel_ApplyFadeAlpha();
 
        draw_beginBoldFont();
 
@@ -964,6 +966,7 @@ void HUD_Ammo(void)
                mySize -= '2 2 0' * panel_bg_padding;
        }
 
+       const float AMMO_COUNT = 4;
        float rows = 0, columns, row, column;
        vector ammo_size;
        if (autocvar_hud_panel_ammo_onlycurrent)
@@ -1155,7 +1158,6 @@ void HUD_Powerups(void)
        }
 
        HUD_Panel_UpdateCvars();
-       HUD_Panel_ApplyFadeAlpha();
 
        draw_beginBoldFont();
 
@@ -1277,10 +1279,7 @@ void HUD_Powerups(void)
                const float maxshield = 30;
                float shield = ceil(shield_time);
                if(autocvar_hud_panel_powerups_progressbar)
-               {
-                       HUD_Panel_GetProgressBarColor(shield);
-                       HUD_Panel_DrawProgressBar(pos + shield_offset, mySize, autocvar_hud_panel_powerups_progressbar_shield, shield/maxshield, is_vertical, shield_baralign, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
-               }
+                       HUD_Panel_DrawProgressBar(pos + shield_offset, mySize, autocvar_hud_panel_powerups_progressbar_shield, shield/maxshield, is_vertical, shield_baralign, autocvar_hud_progressbar_shield_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
                if(autocvar_hud_panel_powerups_text)
                {
                        if(shield > 1)
@@ -1295,10 +1294,7 @@ void HUD_Powerups(void)
                const float maxstrength = 30;
                float strength = ceil(strength_time);
                if(autocvar_hud_panel_powerups_progressbar)
-               {
-                       HUD_Panel_GetProgressBarColor(strength);
-                       HUD_Panel_DrawProgressBar(pos + strength_offset, mySize, autocvar_hud_panel_powerups_progressbar_strength, strength/maxstrength, is_vertical, strength_baralign, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
-               }
+                       HUD_Panel_DrawProgressBar(pos + strength_offset, mySize, autocvar_hud_panel_powerups_progressbar_strength, strength/maxstrength, is_vertical, strength_baralign, autocvar_hud_progressbar_strength_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
                if(autocvar_hud_panel_powerups_text)
                {
                        if(strength > 1)
@@ -1313,10 +1309,7 @@ void HUD_Powerups(void)
                const float maxsuperweapons = 30;
                float superweapons = ceil(superweapons_time);
                if(autocvar_hud_panel_powerups_progressbar)
-               {
-                       HUD_Panel_GetProgressBarColor(superweapons);
-                       HUD_Panel_DrawProgressBar(pos + superweapons_offset, mySize, autocvar_hud_panel_powerups_progressbar_superweapons, superweapons/maxsuperweapons, is_vertical, superweapons_baralign, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
-               }
+                       HUD_Panel_DrawProgressBar(pos + superweapons_offset, mySize, autocvar_hud_panel_powerups_progressbar_superweapons, superweapons/maxsuperweapons, is_vertical, superweapons_baralign, autocvar_hud_progressbar_superweapons_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
                if(autocvar_hud_panel_powerups_text)
                {
                        if(superweapons > 1)
@@ -1396,7 +1389,6 @@ void HUD_HealthArmor(void)
        }
 
        HUD_Panel_UpdateCvars();
-       HUD_Panel_ApplyFadeAlpha();
        vector pos, mySize;
        pos = panel_pos;
        mySize = panel_size;
@@ -1427,10 +1419,7 @@ void HUD_HealthArmor(void)
                {
                        biggercount = "health";
                        if(autocvar_hud_panel_healtharmor_progressbar)
-                       {
-                               HUD_Panel_GetProgressBarColor(health);
-                               HUD_Panel_DrawProgressBar(pos, mySize, autocvar_hud_panel_healtharmor_progressbar_health, x/maxtotal, 0, (baralign == 1 || baralign == 2), progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
-                       }
+                               HUD_Panel_DrawProgressBar(pos, mySize, autocvar_hud_panel_healtharmor_progressbar_health, x/maxtotal, 0, (baralign == 1 || baralign == 2), autocvar_hud_progressbar_health_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
                        if(armor)
             if(autocvar_hud_panel_healtharmor_text)
                                drawpic_aspect_skin(pos + eX * mySize_x - eX * 0.5 * mySize_y, "armor", '0.5 0.5 0' * mySize_y, '1 1 1', panel_fg_alpha * armor / health, DRAWFLAG_NORMAL);
@@ -1439,10 +1428,7 @@ void HUD_HealthArmor(void)
                {
                        biggercount = "armor";
                        if(autocvar_hud_panel_healtharmor_progressbar)
-                       {
-                               HUD_Panel_GetProgressBarColor(armor);
-                               HUD_Panel_DrawProgressBar(pos, mySize, autocvar_hud_panel_healtharmor_progressbar_armor, x/maxtotal, 0, (baralign == 1 || baralign == 2), progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
-                       }
+                               HUD_Panel_DrawProgressBar(pos, mySize, autocvar_hud_panel_healtharmor_progressbar_armor, x/maxtotal, 0, (baralign == 1 || baralign == 2), autocvar_hud_progressbar_armor_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
                        if(health)
             if(autocvar_hud_panel_healtharmor_text)
                                drawpic_aspect_skin(pos + eX * mySize_x - eX * 0.5 * mySize_y, "health", '0.5 0.5 0' * mySize_y, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
@@ -1451,10 +1437,7 @@ void HUD_HealthArmor(void)
                        DrawNumIcon(pos, mySize, x, biggercount, 0, iconalign, HUD_Get_Num_Color(x, maxtotal), 1);
 
                if(fuel)
-               {
-                       HUD_Panel_GetProgressBarColor(fuel);
-                       HUD_Panel_DrawProgressBar(pos, eX * mySize_x + eY * 0.2 * mySize_y, "progressbar", fuel/100, 0, (baralign == 1 || baralign == 3), progressbar_color, panel_fg_alpha * 0.8, DRAWFLAG_NORMAL);
-               }
+                       HUD_Panel_DrawProgressBar(pos, eX * mySize_x + eY * 0.2 * mySize_y, "progressbar", fuel/100, 0, (baralign == 1 || baralign == 3), autocvar_hud_progressbar_fuel_color, panel_fg_alpha * 0.8, DRAWFLAG_NORMAL);
        }
        else
        {
@@ -1501,7 +1484,6 @@ void HUD_HealthArmor(void)
                {
                        if(autocvar_hud_panel_healtharmor_progressbar)
                        {
-                               HUD_Panel_GetProgressBarColor(health);
                                float p_health, pain_health_alpha;
                                p_health = health;
                                pain_health_alpha = 1;
@@ -1534,7 +1516,7 @@ void HUD_HealthArmor(void)
                                                if (time - health_damagetime < 1)
                                                {
                                                        float health_damagealpha = 1 - (time - health_damagetime)*(time - health_damagetime);
-                                                       HUD_Panel_DrawProgressBar(pos + health_offset, mySize, autocvar_hud_panel_healtharmor_progressbar_health, health_beforedamage/maxhealth, is_vertical, health_baralign, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * health_damagealpha, DRAWFLAG_NORMAL);
+                                                       HUD_Panel_DrawProgressBar(pos + health_offset, mySize, autocvar_hud_panel_healtharmor_progressbar_health, health_beforedamage/maxhealth, is_vertical, health_baralign, autocvar_hud_progressbar_health_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * health_damagealpha, DRAWFLAG_NORMAL);
                                                }
                                        }
                                        prev_health = health;
@@ -1547,7 +1529,7 @@ void HUD_HealthArmor(void)
                                                pain_health_alpha = BLINK_BASE + BLINK_FACTOR * cos(time * BLINK_FREQ);
                                        }
                                }
-                               HUD_Panel_DrawProgressBar(pos + health_offset, mySize, autocvar_hud_panel_healtharmor_progressbar_health, p_health/maxhealth, is_vertical, health_baralign, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * pain_health_alpha, DRAWFLAG_NORMAL);
+                               HUD_Panel_DrawProgressBar(pos + health_offset, mySize, autocvar_hud_panel_healtharmor_progressbar_health, p_health/maxhealth, is_vertical, health_baralign, autocvar_hud_progressbar_health_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * pain_health_alpha, DRAWFLAG_NORMAL);
                        }
                        if(autocvar_hud_panel_healtharmor_text)
                                DrawNumIcon(pos + health_offset, mySize, health, "health", is_vertical, health_iconalign, HUD_Get_Num_Color(health, maxhealth), 1);
@@ -1557,7 +1539,6 @@ void HUD_HealthArmor(void)
                {
                        if(autocvar_hud_panel_healtharmor_progressbar)
                        {
-                               HUD_Panel_GetProgressBarColor(armor);
                                float p_armor;
                                p_armor = armor;
                                if (autocvar_hud_panel_healtharmor_progressbar_gfx)
@@ -1589,12 +1570,12 @@ void HUD_HealthArmor(void)
                                                if (time - armor_damagetime < 1)
                                                {
                                                        float armor_damagealpha = 1 - (time - armor_damagetime)*(time - armor_damagetime);
-                                                       HUD_Panel_DrawProgressBar(pos + armor_offset, mySize, autocvar_hud_panel_healtharmor_progressbar_armor, armor_beforedamage/maxarmor, is_vertical, armor_baralign, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * armor_damagealpha, DRAWFLAG_NORMAL);
+                                                       HUD_Panel_DrawProgressBar(pos + armor_offset, mySize, autocvar_hud_panel_healtharmor_progressbar_armor, armor_beforedamage/maxarmor, is_vertical, armor_baralign, autocvar_hud_progressbar_armor_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * armor_damagealpha, DRAWFLAG_NORMAL);
                                                }
                                        }
                                        prev_armor = armor;
                                }
-                               HUD_Panel_DrawProgressBar(pos + armor_offset, mySize, autocvar_hud_panel_healtharmor_progressbar_armor, p_armor/maxarmor, is_vertical, armor_baralign, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+                               HUD_Panel_DrawProgressBar(pos + armor_offset, mySize, autocvar_hud_panel_healtharmor_progressbar_armor, p_armor/maxarmor, is_vertical, armor_baralign, autocvar_hud_progressbar_armor_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
                        }
                        if(autocvar_hud_panel_healtharmor_text)
                                DrawNumIcon(pos + armor_offset, mySize, armor, "armor", is_vertical, armor_iconalign, HUD_Get_Num_Color(armor, maxarmor), 1);
@@ -1610,8 +1591,7 @@ void HUD_HealthArmor(void)
                                mySize_x *= 2; //restore full panel size
                        else if (panel_ar < 1/4)
                                mySize_y *= 2; //restore full panel size
-                       HUD_Panel_GetProgressBarColor(fuel);
-                       HUD_Panel_DrawProgressBar(pos, mySize, "progressbar", fuel/100, is_vertical, fuel_baralign, progressbar_color, panel_fg_alpha * 0.8, DRAWFLAG_NORMAL);
+                       HUD_Panel_DrawProgressBar(pos, mySize, "progressbar", fuel/100, is_vertical, fuel_baralign, autocvar_hud_progressbar_fuel_color, panel_fg_alpha * 0.8, DRAWFLAG_NORMAL);
                }
        }
 }
@@ -1621,149 +1601,154 @@ void HUD_HealthArmor(void)
 
 void HUD_Notify_Push(string icon, string attacker, string victim)
 {
-       if(icon != "")
-       {
-               --kn_index;
-               if (kn_index == -1) { kn_index = KN_MAX_ENTRIES-1; }
-               notify_times[kn_index] = time;
+       if (icon == "")
+               return;
 
-               // icon
-               if(notify_icon[kn_index]) { strunzone(notify_icon[kn_index]); }
-               notify_icon[kn_index] = strzone(icon);
+       ++notify_count;
+       --notify_index;
 
-               // attacker
-               if(notify_attackers[kn_index]) { strunzone(notify_attackers[kn_index]); }
-               notify_attackers[kn_index] = strzone(attacker);
+       if (notify_index == -1)
+               notify_index = NOTIFY_MAX_ENTRIES-1;
 
-               // victim
-               if(notify_victims[kn_index]) { strunzone(notify_victims[kn_index]); }
-               notify_victims[kn_index] = strzone(victim);
+       // Free old strings
+       if (notify_attackers[notify_index])
+               strunzone(notify_attackers[notify_index]);
+
+       if (notify_victims[notify_index])
+               strunzone(notify_victims[notify_index]);
+
+       if (notify_icons[notify_index])
+               strunzone(notify_icons[notify_index]);
+
+       // Allocate new strings
+       if (victim != "")
+       {
+               notify_attackers[notify_index] = strzone(attacker);
+               notify_victims[notify_index] = strzone(victim);
        }
+       else
+       {
+               // In case of a notification without a victim, the attacker
+               // is displayed on the victim's side. Instead of special
+               // treatment later on, we can simply switch them here.
+               notify_attackers[notify_index] = string_null;
+               notify_victims[notify_index] = strzone(attacker);
+       }
+
+       notify_icons[notify_index] = strzone(icon);
+       notify_times[notify_index] = time;
 }
 
 void HUD_Notify(void)
 {
-       if(!autocvar__hud_configure)
-       {
-               if(!autocvar_hud_panel_notify) return;
-       }
+       if (!autocvar__hud_configure)
+               if (!autocvar_hud_panel_notify)
+                       return;
 
        HUD_Panel_UpdateCvars();
-       HUD_Panel_ApplyFadeAlpha();
-       vector pos, mySize;
-       pos = panel_pos;
-       mySize = panel_size;
-
        HUD_Panel_DrawBg(1);
-       if(panel_bg_padding)
+
+       if (!autocvar__hud_configure)
+               if (notify_count == 0)
+                       return;
+
+       vector pos, size;
+       pos  = panel_pos;
+       size = panel_size;
+
+       if (panel_bg_padding)
        {
-               pos += '1 1 0' * panel_bg_padding;
-               mySize -= '2 2 0' * panel_bg_padding;
+               pos  += '1 1 0' * panel_bg_padding;
+               size -= '2 2 0' * panel_bg_padding;
        }
 
-       float entries, height;
-       entries = bound(1, floor(KN_MAX_ENTRIES * mySize_y/mySize_x), KN_MAX_ENTRIES);
-       height = mySize_y/entries;
+       float fade_start = max(0, autocvar_hud_panel_notify_time);
+       float fade_time = max(0, autocvar_hud_panel_notify_fadetime);
+       float icon_aspect = max(1, autocvar_hud_panel_notify_icon_aspect);
 
-       vector fontsize;
-       float fontheight = height * autocvar_hud_panel_notify_fontsize;
-       fontsize = '0.5 0.5 0' * fontheight;
+       float entry_count = bound(1, floor(NOTIFY_MAX_ENTRIES * size_y / size_x), NOTIFY_MAX_ENTRIES);
+       float entry_height = size_y / entry_count;
 
-       float a;
-       float when;
-       when = autocvar_hud_panel_notify_time;
-       float fadetime;
-       fadetime = autocvar_hud_panel_notify_fadetime;
+       float panel_width_half = size_x * 0.5;
+       float icon_width_half = entry_height * icon_aspect / 2;
+       float name_maxwidth = panel_width_half - icon_width_half - size_x * NOTIFY_ICON_MARGIN;
+
+       vector font_size = '0.5 0.5 0' * entry_height * autocvar_hud_panel_notify_fontsize;
+       vector icon_size = (eX * icon_aspect + eY) * entry_height;
+       vector icon_left = eX * (panel_width_half - icon_width_half);
+       vector attacker_right = eX * name_maxwidth;
+       vector victim_left = eX * (size_x - name_maxwidth);
 
-       vector pos_attacker, pos_victim, pos_icon;
-       float width_attacker;
+       vector attacker_pos, victim_pos, icon_pos;
        string attacker, victim, icon;
+       float i, j, count, step, limit, alpha;
 
-       float i, j, step, limit;
-       if(autocvar_hud_panel_notify_flip) //order items from the top down
+       if (autocvar_hud_panel_notify_flip)
        {
+               // Order items from the top down
                i = 0;
                step = +1;
-               limit = entries;
+               limit = entry_count;
        }
-       else //order items from the bottom up
+       else
        {
-               i = entries - 1;
+               // Order items from the bottom up
+               i = entry_count - 1;
                step = -1;
                limit = -1;
        }
 
-       for(j = kn_index;  i != limit;  i += step, ++j)
+       for (j = notify_index, count = 0; i != limit; i += step, ++j, ++count)
        {
                if(autocvar__hud_configure)
                {
-                       if (step == +1)
-                               a = i;
-                       else // inverse order
-                               a = entries - 1 - i;
-                       attacker = textShortenToWidth(sprintf(_("Player %d"), a+1), 0.48 * mySize_x - height, fontsize, stringwidth_colors);
-                       victim = textShortenToWidth(sprintf(_("Player %d"), a+2), 0.48 * mySize_x - height, fontsize, stringwidth_colors);
-                       icon = strcat("weapon", get_weaponinfo(WEP_FIRST + mod(floor(a*2.4), WEP_LAST)).netname);
-                       a = bound(0, (when - a) / 4, 1);
-                       goto hud_config_notifyprint;
+                       attacker = sprintf(_("Player %d"), count + 1);
+                       victim = sprintf(_("Player %d"), count + 2);
+                       icon = strcat("weapon", get_weaponinfo(min(WEP_FIRST + count * 2, WEP_LAST)).netname);
+                       alpha = bound(0, 1.2 - count / entry_count, 1);
                }
                else
                {
-                       if (j == KN_MAX_ENTRIES)
+                       if (j == NOTIFY_MAX_ENTRIES)
                                j = 0;
 
-                       if(notify_times[j] + when > time)
-                               a = 1;
-                       else if(fadetime)
+                       if (notify_times[j] + fade_start > time)
+                               alpha = 1;
+                       else if (fade_time != 0)
                        {
-                               a = bound(0, (notify_times[j] + when + fadetime - time) / fadetime, 1);
-                               if(!a)
-                               {
+                               alpha = bound(0, (notify_times[j] + fade_start + fade_time - time) / fade_time, 1);
+                               if (alpha == 0)
                                        break;
-                               }
                        }
                        else
-                       {
                                break;
-                       }
 
                        attacker = notify_attackers[j];
                        victim = notify_victims[j];
-                       icon = notify_icon[j];
+                       icon = notify_icons[j];
                }
 
-               //type = notify_deathtype[j];
-               //w = DEATH_WEAPONOF(type);
-
-               if(icon != "")
+               if (icon != "" && victim != "")
                {
-                       if((attacker != "") && (victim == ""))
-                       {
-                               // Y [used by] X
-                               attacker = textShortenToWidth(attacker, 0.73 * mySize_x - height, fontsize, stringwidth_colors);
-                               pos_attacker = pos + eX * (0.27 * mySize_x + height) + eY * ((0.5 * fontsize_y + i * height) + (0.5 * (height - fontheight)));
-                               pos_icon = pos + eX * 0.25 * mySize_x - eX * height + eY * i * height;
+                       vector name_top = eY * (i * entry_height + 0.5 * (entry_height - font_size_y));
 
-                               drawpic_aspect_skin(pos_icon, icon, '2 1 0' * height, '1 1 1', panel_fg_alpha * a, DRAWFLAG_NORMAL);
-                               drawcolorcodedstring(pos_attacker, attacker, fontsize, panel_fg_alpha * a, DRAWFLAG_NORMAL);
-                       }
-                       else if((attacker != "") && (victim != ""))
+                       icon_pos = pos + icon_left + eY * i * entry_height;
+                       drawpic_aspect_skin(icon_pos, icon, icon_size, '1 1 1', panel_fg_alpha * alpha, DRAWFLAG_NORMAL);
+
+                       victim = textShortenToWidth(victim, name_maxwidth, font_size, stringwidth_colors);
+                       victim_pos = pos + victim_left + name_top;
+                       drawcolorcodedstring(victim_pos, victim, font_size, panel_fg_alpha * alpha, DRAWFLAG_NORMAL);
+
+                       if (attacker != "")
                        {
-                               // X [did action to] Y
-                               attacker = textShortenToWidth(attacker, 0.48 * mySize_x - height, fontsize, stringwidth_colors);
-                               victim = textShortenToWidth(victim, 0.48 * mySize_x - height, fontsize, stringwidth_colors);
-:hud_config_notifyprint
-                               width_attacker = stringwidth(attacker, TRUE, fontsize);
-                               pos_attacker = pos + eX * (0.48 * mySize_x - height - width_attacker) + eY * ((0.5 * fontsize_y + i * height) + (0.5 * (height - fontheight)));
-                               pos_victim = pos + eX * (0.52 * mySize_x + height) + eY * ((0.5 * fontsize_y + i * height) + (0.5 * (height - fontheight)));
-                               pos_icon = pos + eX * 0.5 * mySize_x - eX * height + eY * i * height;
-
-                               drawpic_aspect_skin(pos_icon, icon, '2 1 0' * height, '1 1 1', panel_fg_alpha * a, DRAWFLAG_NORMAL);
-                               drawcolorcodedstring(pos_attacker, attacker, fontsize, panel_fg_alpha * a, DRAWFLAG_NORMAL);
-                               drawcolorcodedstring(pos_victim, victim, fontsize, panel_fg_alpha * a, DRAWFLAG_NORMAL);
+                               attacker = textShortenToWidth(attacker, name_maxwidth, font_size, stringwidth_colors);
+                               attacker_pos = pos + attacker_right - eX * stringwidth(attacker, TRUE, font_size) + name_top;
+                               drawcolorcodedstring(attacker_pos, attacker, font_size, panel_fg_alpha * alpha, DRAWFLAG_NORMAL);
                        }
                }
        }
+
+       notify_count = count;
 }
 
 // Timer (#5)
@@ -1786,7 +1771,6 @@ void HUD_Timer(void)
        }
 
        HUD_Panel_UpdateCvars();
-       HUD_Panel_ApplyFadeAlpha();
 
        draw_beginBoldFont();
 
@@ -1850,11 +1834,15 @@ void HUD_Radar(void)
                {
                        if (autocvar_hud_panel_radar == 0) return;
                        if (autocvar_hud_panel_radar != 2 && !teamplay) return;
+                       if(radar_panel_modified)
+                       {
+                               panel.update_time = time; // forces reload of panel attributes
+                               radar_panel_modified = false;
+                       }
                }
        }
 
        HUD_Panel_UpdateCvars();
-       HUD_Panel_ApplyFadeAlpha();
 
        float f = 0;
 
@@ -1866,8 +1854,15 @@ void HUD_Radar(void)
                panel_pos_x = (vid_conwidth - panel_size_x) / 2;
                panel_pos_y = (vid_conheight - panel_size_y) / 2;
 
+               string panel_bg;
                panel_bg = strcat(hud_skin_path, "/border_default"); // always use the default border when maximized
-               if(precache_pic(panel_bg) == "") { panel_bg = "gfx/hud/default/border_default"; } // fallback
+               if(precache_pic(panel_bg) == "")
+                       panel_bg = "gfx/hud/default/border_default"; // fallback
+               if(!radar_panel_modified && panel_bg != panel.current_panel_bg)
+                       radar_panel_modified = true;
+               if(panel.current_panel_bg)
+                       strunzone(panel.current_panel_bg);
+               panel.current_panel_bg = strzone(panel_bg);
 
                switch(hud_panel_radar_maximized_zoommode)
                {
@@ -2016,7 +2011,7 @@ void HUD_Radar(void)
 // Score (#7)
 //
 void HUD_UpdatePlayerTeams();
-void HUD_Score_Rankings(vector pos, vector mySize, entity me, float team_count)
+void HUD_Score_Rankings(vector pos, vector mySize, entity me)
 {
        float score;
        entity tm = world, pl;
@@ -2146,7 +2141,6 @@ void HUD_Score(void)
        }
 
        HUD_Panel_UpdateCvars();
-       HUD_Panel_ApplyFadeAlpha();
        vector pos, mySize;
        pos = panel_pos;
        mySize = panel_size;
@@ -2207,7 +2201,7 @@ void HUD_Score(void)
        } else if (!teamplay) { // non-teamgames
                if ((spectatee_status == -1 && !autocvar__hud_configure) || autocvar_hud_panel_score_rankings)
                {
-                       HUD_Score_Rankings(pos, mySize, me, 0);
+                       HUD_Score_Rankings(pos, mySize, me);
                        return;
                }
                // me vector := [team/connected frags id]
@@ -2248,23 +2242,21 @@ void HUD_Score(void)
                drawstring_aspect(pos + eX * 0.75 * mySize_x, distribution_str, eX * 0.25 * mySize_x + eY * (1/3) * mySize_y, distribution_color, panel_fg_alpha, DRAWFLAG_NORMAL);
                draw_endBoldFont();
        } else { // teamgames
-               float scores_count = 0, row, column, rows = 0, columns = 0;
+               float row, column, rows = 0, columns = 0;
                local noref vector offset = '0 0 0';
                vector score_pos, score_size; //for scores other than myteam
-               if (spectatee_status == -1 || autocvar_hud_panel_score_rankings)
+               if(autocvar_hud_panel_score_rankings)
+               {
+                       HUD_Score_Rankings(pos, mySize, me);
+                       return;
+               }
+               if(spectatee_status == -1)
                {
-                       for(tm = teams.sort_next; tm, tm.team != NUM_SPECTATOR; tm = tm.sort_next)
-                               ++scores_count;
-                       if (autocvar_hud_panel_score_rankings)
-                       {
-                               HUD_Score_Rankings(pos, mySize, me, scores_count);
-                               return;
-                       }
                        rows = mySize_y/mySize_x;
-                       rows = bound(1, floor((sqrt(4 * (3/1) * rows * scores_count + rows * rows) + rows + 0.5) / 2), scores_count);
+                       rows = bound(1, floor((sqrt(4 * (3/1) * rows * team_count + rows * rows) + rows + 0.5) / 2), team_count);
                        //                               ^^^ ammo item aspect goes here
 
-                       columns = ceil(scores_count/rows);
+                       columns = ceil(team_count/rows);
 
                        score_size = eX * mySize_x*(1/columns) + eY * mySize_y*(1/rows);
 
@@ -2341,7 +2333,6 @@ void HUD_RaceTimer (void)
        }
 
        HUD_Panel_UpdateCvars();
-       HUD_Panel_ApplyFadeAlpha();
 
        draw_beginBoldFont();
 
@@ -2542,7 +2533,6 @@ void HUD_Vote(void)
                return;
 
        HUD_Panel_UpdateCvars();
-       HUD_Panel_ApplyFadeAlpha();
 
        if(uid2name_dialog)
        {
@@ -2693,11 +2683,6 @@ void DrawCAItem(vector myPos, vector mySize, float aspect_ratio, float layout, f
 void HUD_Mod_CA(vector myPos, vector mySize)
 {
        mod_active = 1; // required in each mod function that always shows something
-       entity tm;
-       float teams_count = 0;
-       for(tm = teams.sort_next; tm; tm = tm.sort_next)
-               if(tm.team != NUM_SPECTATOR)
-                       ++teams_count;
 
        float layout;
        if(gametype == MAPINFO_TYPE_CA)
@@ -2707,14 +2692,14 @@ void HUD_Mod_CA(vector myPos, vector mySize)
        float rows, columns, aspect_ratio;
        rows = mySize_y/mySize_x;
        aspect_ratio = (layout) ? 2 : 1;
-       rows = bound(1, floor((sqrt((4 * aspect_ratio * teams_count + rows) * rows) + rows + 0.5) / 2), teams_count);
-       columns = ceil(teams_count/rows);
+       rows = bound(1, floor((sqrt((4 * aspect_ratio * team_count + rows) * rows) + rows + 0.5) / 2), team_count);
+       columns = ceil(team_count/rows);
 
        int i;
        float row = 0, column = 0;
        vector pos, itemSize;
        itemSize = eX * mySize_x*(1/columns) + eY * mySize_y*(1/rows);
-       for(i=0; i<teams_count; ++i)
+       for(i=0; i<team_count; ++i)
        {
                pos = myPos + eX * column * itemSize_x + eY * row * itemSize_y;
 
@@ -3093,12 +3078,7 @@ void HUD_Mod_NexBall(vector pos, vector mySize)
                if (p > 1)
                        p = 2 - p;
 
-               //Draw the filling
-               HUD_Panel_GetProgressBarColor(nexball);
-               if(mySize_x > mySize_y)
-                       HUD_Panel_DrawProgressBar(pos, mySize, "progressbar", p, 0, 0, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
-               else
-                       HUD_Panel_DrawProgressBar(pos, mySize, "progressbar", p, 1, 0, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+               HUD_Panel_DrawProgressBar(pos, mySize, "progressbar", p, (mySize_x <= mySize_y), 0, autocvar_hud_progressbar_nexball_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
        }
 
        if (stat_items & IT_KEY1)
@@ -3324,24 +3304,19 @@ void DrawDomItem(vector myPos, vector mySize, float aspect_ratio, float layout,
 void HUD_Mod_Dom(vector myPos, vector mySize)
 {
        mod_active = 1; // required in each mod function that always shows something
-       entity tm;
-       float teams_count = 0;
-       for(tm = teams.sort_next; tm; tm = tm.sort_next)
-               if(tm.team != NUM_SPECTATOR)
-                       ++teams_count;
 
        float layout = autocvar_hud_panel_modicons_dom_layout;
        float rows, columns, aspect_ratio;
        rows = mySize_y/mySize_x;
        aspect_ratio = (layout) ? 3 : 1;
-       rows = bound(1, floor((sqrt((4 * aspect_ratio * teams_count + rows) * rows) + rows + 0.5) / 2), teams_count);
-       columns = ceil(teams_count/rows);
+       rows = bound(1, floor((sqrt((4 * aspect_ratio * team_count + rows) * rows) + rows + 0.5) / 2), team_count);
+       columns = ceil(team_count/rows);
 
        int i;
        float row = 0, column = 0;
        vector pos, itemSize;
        itemSize = eX * mySize_x*(1/columns) + eY * mySize_y*(1/rows);
-       for(i=0; i<teams_count; ++i)
+       for(i=0; i<team_count; ++i)
        {
                pos = myPos + eX * column * itemSize_x + eY * row * itemSize_y;
 
@@ -3356,6 +3331,22 @@ void HUD_Mod_Dom(vector myPos, vector mySize)
        }
 }
 
+void HUD_ModIcons_SetFunc()
+{
+       switch(gametype)
+       {
+               case MAPINFO_TYPE_KEYHUNT:              HUD_ModIcons_GameType = HUD_Mod_KH; break;
+               case MAPINFO_TYPE_CTF:                  HUD_ModIcons_GameType = HUD_Mod_CTF; break;
+               case MAPINFO_TYPE_NEXBALL:              HUD_ModIcons_GameType = HUD_Mod_NexBall; break;
+               case MAPINFO_TYPE_CTS:
+               case MAPINFO_TYPE_RACE:         HUD_ModIcons_GameType = HUD_Mod_Race; break;
+               case MAPINFO_TYPE_CA:
+               case MAPINFO_TYPE_FREEZETAG:    HUD_ModIcons_GameType = HUD_Mod_CA; break;
+               case MAPINFO_TYPE_DOMINATION:   HUD_ModIcons_GameType = HUD_Mod_Dom; break;
+               case MAPINFO_TYPE_KEEPAWAY:     HUD_ModIcons_GameType = HUD_Mod_Keepaway; break;
+       }
+}
+
 float mod_prev; // previous state of mod_active to check for a change
 float mod_alpha;
 float mod_change; // "time" when mod_active changed
@@ -3365,18 +3356,13 @@ void HUD_ModIcons(void)
        if(!autocvar__hud_configure)
        {
                if(!autocvar_hud_panel_modicons) return;
-               if (gametype != MAPINFO_TYPE_CTF && gametype != MAPINFO_TYPE_KEYHUNT && gametype != MAPINFO_TYPE_NEXBALL && gametype != MAPINFO_TYPE_CTS && gametype != MAPINFO_TYPE_RACE && gametype != MAPINFO_TYPE_CA && gametype != MAPINFO_TYPE_FREEZETAG && gametype != MAPINFO_TYPE_KEEPAWAY && gametype != MAPINFO_TYPE_DOMINATION) return;
+               if(!HUD_ModIcons_GameType) return;
        }
 
        HUD_Panel_UpdateCvars();
-       HUD_Panel_ApplyFadeAlpha();
 
        draw_beginBoldFont();
 
-       vector pos, mySize;
-       pos = panel_pos;
-       mySize = panel_size;
-
        if(mod_active != mod_prev) {
                mod_change = time;
                mod_prev = mod_active;
@@ -3392,25 +3378,14 @@ void HUD_ModIcons(void)
 
        if(panel_bg_padding)
        {
-               pos += '1 1 0' * panel_bg_padding;
-               mySize -= '2 2 0' * panel_bg_padding;
+               panel_pos += '1 1 0' * panel_bg_padding;
+               panel_size -= '2 2 0' * panel_bg_padding;
        }
 
-       // these MUST be ran in order to update mod_active
-       if(gametype == MAPINFO_TYPE_KEYHUNT)
-               HUD_Mod_KH(pos, mySize);
-       else if(gametype == MAPINFO_TYPE_CTF || autocvar__hud_configure)
-               HUD_Mod_CTF(pos, mySize); // forcealpha only needed for ctf icons, as only they are shown in config mode
-       else if(gametype == MAPINFO_TYPE_NEXBALL)
-               HUD_Mod_NexBall(pos, mySize);
-       else if(gametype == MAPINFO_TYPE_CTS || gametype == MAPINFO_TYPE_RACE)
-               HUD_Mod_Race(pos, mySize);
-       else if(gametype == MAPINFO_TYPE_CA || gametype == MAPINFO_TYPE_FREEZETAG)
-               HUD_Mod_CA(pos, mySize);
-       else if(gametype == MAPINFO_TYPE_DOMINATION)
-               HUD_Mod_Dom(pos, mySize);
-       else if(gametype == MAPINFO_TYPE_KEEPAWAY)
-               HUD_Mod_Keepaway(pos, mySize);
+       if(autocvar__hud_configure)
+               HUD_Mod_CTF(panel_pos, panel_size);
+       else
+               HUD_ModIcons_GameType(panel_pos, panel_size);
 
        draw_endBoldFont();
 }
@@ -3426,7 +3401,6 @@ void HUD_PressedKeys(void)
        }
 
        HUD_Panel_UpdateCvars();
-       HUD_Panel_ApplyFadeAlpha();
        vector pos, mySize;
        pos = panel_pos;
        mySize = panel_size;
@@ -3494,24 +3468,32 @@ void HUD_Chat(void)
                        return;
                }
                if(autocvar__con_chat_maximized)
+               {
                        if(!hud_draw_maximized) return;
+               }
+               else if(chat_panel_modified)
+               {
+                       panel.update_time = time; // forces reload of panel attributes
+                       chat_panel_modified = false;
+               }
        }
 
        HUD_Panel_UpdateCvars();
-       HUD_Panel_ApplyFadeAlpha();
 
        if(autocvar__con_chat_maximized && !autocvar__hud_configure) // draw at full screen height if maximized
        {
                panel_pos_y = panel_bg_border;
                panel_size_y = vid_conheight - panel_bg_border * 2;
-               if(panel_bg == "0") // force a border when maximized
+               if(panel.current_panel_bg == "0") // force a border when maximized
                {
-                       if(precache_pic(panel_bg) == "") {
-                               panel_bg = strcat(hud_skin_path, "/border_default");
-                               if(precache_pic(panel_bg) == "") {
-                                       panel_bg = "gfx/hud/default/border_default";
-                               }
-                       }
+                       string panel_bg;
+                       panel_bg = strcat(hud_skin_path, "/border_default");
+                       if(precache_pic(panel_bg) == "")
+                               panel_bg = "gfx/hud/default/border_default";
+                       if(panel.current_panel_bg)
+                               strunzone(panel.current_panel_bg);
+                       panel.current_panel_bg = strzone(panel_bg);
+                       chat_panel_modified = true;
                }
                panel_bg_alpha = max(0.75, panel_bg_alpha); // force an theAlpha of at least 0.75
        }
@@ -3572,7 +3554,6 @@ void HUD_EngineInfo(void)
        }
 
        HUD_Panel_UpdateCvars();
-       HUD_Panel_ApplyFadeAlpha();
        vector pos, mySize;
        pos = panel_pos;
        mySize = panel_size;
@@ -3633,7 +3614,6 @@ void HUD_InfoMessages(void)
        }
 
        HUD_Panel_UpdateCvars();
-       HUD_Panel_ApplyFadeAlpha();
        vector pos, mySize;
        pos = panel_pos;
        mySize = panel_size;
@@ -3820,7 +3800,6 @@ void HUD_Physics(void)
        }
 
        HUD_Panel_UpdateCvars();
-       HUD_Panel_ApplyFadeAlpha();
 
        draw_beginBoldFont();
 
@@ -3942,10 +3921,7 @@ void HUD_Physics(void)
        //draw speed
        if(speed)
        if(autocvar_hud_panel_physics_progressbar == 1 || autocvar_hud_panel_physics_progressbar == 2)
-       {
-               HUD_Panel_GetProgressBarColor(speed);
-               HUD_Panel_DrawProgressBar(panel_pos + speed_offset, panel_size, "progressbar", speed/max_speed, 0, speed_baralign, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
-       }
+               HUD_Panel_DrawProgressBar(panel_pos + speed_offset, panel_size, "progressbar", speed/max_speed, 0, speed_baralign, autocvar_hud_progressbar_speed_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
        vector tmp_offset = '0 0 0', tmp_size = '0 0 0';
        if (autocvar_hud_panel_physics_text == 1 || autocvar_hud_panel_physics_text == 2)
        {
@@ -4012,18 +3988,15 @@ void HUD_Physics(void)
                                        peak_offset_x = (1 - min(top_speed, max_speed)/max_speed) * panel_size_x;
                 else // if (speed_baralign == 2)
                     peak_offset_x = min(top_speed, max_speed)/max_speed * panel_size_x * 0.5;
-                               //if speed is not 0 the speed progressbar already fetched the color
-                               if (speed == 0)
-                                       HUD_Panel_GetProgressBarColor(speed);
                                peak_size_x = floor(panel_size_x * 0.01 + 1.5);
                 peak_size_y = panel_size_y;
                 if (speed_baralign == 2) // draw two peaks, on both sides
                 {
-                    drawfill(panel_pos + speed_offset + eX * (0.5 * panel_size_x + peak_offset_x - peak_size_x), peak_size, progressbar_color, f * autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
-                    drawfill(panel_pos + speed_offset + eX * (0.5 * panel_size_x - peak_offset_x + peak_size_x), peak_size, progressbar_color, f * autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+                    drawfill(panel_pos + speed_offset + eX * (0.5 * panel_size_x + peak_offset_x - peak_size_x), peak_size, autocvar_hud_progressbar_speed_color, f * autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+                    drawfill(panel_pos + speed_offset + eX * (0.5 * panel_size_x - peak_offset_x + peak_size_x), peak_size, autocvar_hud_progressbar_speed_color, f * autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
                 }
                 else
-                    drawfill(panel_pos + speed_offset + eX * (peak_offset_x - peak_size_x), peak_size, progressbar_color, f * autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+                    drawfill(panel_pos + speed_offset + eX * (peak_offset_x - peak_size_x), peak_size, autocvar_hud_progressbar_speed_color, f * autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
                        }
 
                        //top speed
@@ -4041,10 +4014,11 @@ void HUD_Physics(void)
        if(acceleration)
        if(autocvar_hud_panel_physics_progressbar == 1 || autocvar_hud_panel_physics_progressbar == 3)
        {
-               if (acceleration < 0)
-                       HUD_Panel_GetProgressBarColor(acceleration_neg);
+               vector progressbar_color;
+               if(acceleration < 0)
+                       progressbar_color = autocvar_hud_progressbar_acceleration_neg_color;
                else
-                       HUD_Panel_GetProgressBarColor(acceleration);
+                       progressbar_color = autocvar_hud_progressbar_acceleration_color;
 
                f = acceleration/autocvar_hud_panel_physics_acceleration_max;
                if (autocvar_hud_panel_physics_acceleration_progressbar_nonlinear)
@@ -4095,7 +4069,7 @@ float centerprint_showing;
 
 void centerprint_generic(float new_id, string strMessage, float duration, float countdown_num)
 {
-       //print(sprintf("centerprint_generic(%d, '%s^7', %d, %d);\n", new_id, strMessage, duration, countdown_num));
+       //printf("centerprint_generic(%d, '%s^7', %d, %d);\n", new_id, strMessage, duration, countdown_num);
        float i, j;
 
        if(strMessage == "" && new_id == 0)
@@ -4215,14 +4189,19 @@ void HUD_CenterPrint (void)
                }
        }
 
+       // this panel fades only when the menu does
+       float hud_fade_alpha_save = 0;
+       if(scoreboard_fade_alpha)
+       {
+               hud_fade_alpha_save = hud_fade_alpha;
+               hud_fade_alpha = 1 - autocvar__menu_alpha;
+       }
        HUD_Panel_UpdateCvars();
 
-       // this panel doesn't fade when showing the scoreboard
-       if(autocvar__menu_alpha)
-               HUD_Panel_ApplyFadeAlpha();
-
        if(scoreboard_fade_alpha)
        {
+               hud_fade_alpha = hud_fade_alpha_save;
+
                // move the panel below the scoreboard
                if (scoreboard_bottom >= 0.96 * vid_conheight)
                        return;
@@ -4261,8 +4240,7 @@ void HUD_CenterPrint (void)
        float a, sz, align, current_msg_pos_y = 0, msg_size;
        vector pos;
        string ts;
-
-       n = -1; // if no msg will be displayed, n stays -1
+       float all_messages_expired = TRUE;
 
        pos = panel_pos;
        if (autocvar_hud_panel_centerprint_flip)
@@ -4285,16 +4263,20 @@ void HUD_CenterPrint (void)
                                continue;
                }
 
+               all_messages_expired = FALSE;
 
                // fade the centerprint_hud in/out
-               if(centerprint_time[j] < 0)
-                       a = bound(0, (time - centerprint_expire_time[j]) / max(0.0001, autocvar_hud_panel_centerprint_fade_in), 1);
-               else if(centerprint_expire_time[j] - autocvar_hud_panel_centerprint_fade_out > time)
-                       a = bound(0, (time - (centerprint_expire_time[j] - centerprint_time[j])) / max(0.0001, autocvar_hud_panel_centerprint_fade_in), 1);
-               else if(centerprint_expire_time[j] > time)
+               if(centerprint_time[j] < 0)  // Expired but forced. Expire time is the fade-in time.
+                       a = (time - centerprint_expire_time[j]) / max(0.0001, autocvar_hud_panel_centerprint_fade_in);
+               else if(centerprint_expire_time[j] - autocvar_hud_panel_centerprint_fade_out > time)  // Regularily printed. Not fading out yet.
+                       a = (time - (centerprint_expire_time[j] - centerprint_time[j])) / max(0.0001, autocvar_hud_panel_centerprint_fade_in);
+               else // Expiring soon, so fade it out.
                        a = (centerprint_expire_time[j] - time) / max(0.0001, autocvar_hud_panel_centerprint_fade_out);
-               else
-                       a = 0;
+
+               if (a <= 0.5/255.0)  // Guaranteed invisible - don't show.
+                       continue;
+               if (a > 1)
+                       a = 1;
 
                // set the size from fading in/out before subsequent fading
                sz = autocvar_hud_panel_centerprint_fade_minfontsize + a * (1 - autocvar_hud_panel_centerprint_fade_minfontsize);
@@ -4305,6 +4287,7 @@ void HUD_CenterPrint (void)
                        a = a * bound(autocvar_hud_panel_centerprint_fade_subsequent_passone_minalpha, (1 - (g / max(1, autocvar_hud_panel_centerprint_fade_subsequent_passone))), 1); // pass one: all messages after the first have half theAlpha
                        a = a * bound(autocvar_hud_panel_centerprint_fade_subsequent_passtwo_minalpha, (1 - (g / max(1, autocvar_hud_panel_centerprint_fade_subsequent_passtwo))), 1); // pass two: after that, gradually lower theAlpha even more for each message
                }
+               a *= panel_fg_alpha;
 
                // finally set the size based on the new theAlpha from subsequent fading
                sz = sz * (autocvar_hud_panel_centerprint_fade_subsequent_minfontsize + a * (1 - autocvar_hud_panel_centerprint_fade_subsequent_minfontsize));
@@ -4344,7 +4327,8 @@ void HUD_CenterPrint (void)
                                {
                                        if (align)
                                                pos_x = panel_pos_x + (panel_size_x - stringwidth(ts, TRUE, fontsize)) * align;
-                                       drawcolorcodedstring(pos + eY * 0.5 * (1 - sz) * fontsize_y, ts, fontsize, a * panel_fg_alpha, DRAWFLAG_NORMAL);
+                                       if (a > 0.5/255.0)  // Otherwise guaranteed invisible - don't show. This is checked a second time after some multiplications with other factors were done so temporary changes of these cannot cause flicker.
+                                               drawcolorcodedstring(pos + eY * 0.5 * (1 - sz) * fontsize_y, ts, fontsize, a, DRAWFLAG_NORMAL);
                                        pos_y += fontsize_y;
                                }
                                else
@@ -4381,13 +4365,73 @@ void HUD_CenterPrint (void)
                }
        }
        drawfontscale = '1 1 0';
-       if (n == -1)
+       if (all_messages_expired)
        {
                centerprint_showing = FALSE;
                reset_centerprint_messages();
        }
 }
 
+// Buffs (#18)
+//
+void HUD_Buffs(void)
+{
+       float buffs = getstati(STAT_BUFFS, 0, 24);
+       if(!autocvar__hud_configure)
+       {
+               if(!autocvar_hud_panel_buffs) return;
+               if(spectatee_status == -1) return;
+               if(getstati(STAT_HEALTH) <= 0) return;
+               if(!buffs) return;
+       }
+       else
+       {
+               buffs = Buff_Type_first.items; // force first buff
+       }
+       
+       float b = 0; // counter to tell other functions that we have buffs
+       entity e;
+       string s = "";
+       for(e = Buff_Type_first; e; e = e.enemy) if(buffs & e.items)
+       {
+               ++b;
+               string o = strcat(rgb_to_hexcolor(Buff_Color(e.items)), Buff_PrettyName(e.items));
+               if(s == "")
+                       s = o;
+               else
+                       s = strcat(s, " ", o);
+       }
+
+       HUD_Panel_UpdateCvars();
+
+       draw_beginBoldFont();
+
+       vector pos, mySize;
+       pos = panel_pos;
+       mySize = panel_size;
+
+       HUD_Panel_DrawBg(bound(0, b, 1));
+       if(panel_bg_padding)
+       {
+               pos += '1 1 0' * panel_bg_padding;
+               mySize -= '2 2 0' * panel_bg_padding;
+       }
+
+       //float panel_ar = mySize_x/mySize_y;
+       //float is_vertical = (panel_ar < 1);
+       //float buff_iconalign = autocvar_hud_panel_buffs_iconalign;
+       vector buff_offset = '0 0 0';
+       
+       for(e = Buff_Type_first; e; e = e.enemy) if(buffs & e.items)
+       {
+               //DrawNumIcon(pos + buff_offset, mySize, shield, "shield", is_vertical, buff_iconalign, '1 1 1', 1);
+               drawcolorcodedstring_aspect(pos + buff_offset, s, mySize, panel_fg_alpha * 0.5, DRAWFLAG_NORMAL);
+       }
+
+       draw_endBoldFont();
+}
+
+
 /*
 ==================
 Main HUD system
@@ -4415,21 +4459,13 @@ void HUD_Main (void)
        if(scoreboard_fade_alpha)
                hud_fade_alpha = (1 - scoreboard_fade_alpha);
 
-       if(autocvar__hud_configure)
-               if(isdemo())
-                       HUD_Configure_Exit_Force();
+       HUD_Configure_Frame();
 
        if(intermission == 2) // no hud during mapvote
-       {
-               if (autocvar__hud_configure)
-                       HUD_Configure_Exit_Force();
                hud_fade_alpha = 0;
-       }
-       else if(autocvar__menu_alpha == 0 && scoreboard_fade_alpha == 0)
-               hud_fade_alpha = 1;
 
        // panels that we want to be active together with the scoreboard
-       // they must call HUD_Panel_ApplyFadeAlpha(); only when showing the menu
+       // they must fade only when the menu does
        if(scoreboard_fade_alpha == 1)
        {
                (panel = HUD_PANEL(CENTERPRINT)).panel_draw();
@@ -4450,24 +4486,6 @@ void HUD_Main (void)
                hud_skin_prev = strzone(autocvar_hud_skin);
        }
 
-       // HUD configure visible grid
-       if(autocvar__hud_configure && autocvar_hud_configure_grid && autocvar_hud_configure_grid_alpha)
-       {
-               hud_configure_gridSize_x = bound(0.005, cvar("hud_configure_grid_xsize"), 0.2);
-               hud_configure_gridSize_y = bound(0.005, cvar("hud_configure_grid_ysize"), 0.2);
-               hud_configure_realGridSize_x = hud_configure_gridSize_x * vid_conwidth;
-               hud_configure_realGridSize_y = hud_configure_gridSize_y * vid_conheight;
-               vector s;
-               // x-axis
-               s = eX + eY * vid_conheight;
-               for(i = 1; i < 1/hud_configure_gridSize_x; ++i)
-                       drawfill(eX * i * hud_configure_realGridSize_x, s, '0.5 0.5 0.5', autocvar_hud_configure_grid_alpha, DRAWFLAG_NORMAL);
-               // y-axis
-               s = eY + eX * vid_conwidth;
-               for(i = 1; i < 1/hud_configure_gridSize_y; ++i)
-                       drawfill(eY * i * hud_configure_realGridSize_y, s, '0.5 0.5 0.5', autocvar_hud_configure_grid_alpha, DRAWFLAG_NORMAL);
-       }
-
 #ifdef COMPAT_XON050_ENGINE
     current_player = (spectatee_status > 0) ? spectatee_status : player_localentnum;
 #else
@@ -4568,34 +4586,7 @@ void HUD_Main (void)
        if(autocvar__con_chat_maximized)
                (panel = HUD_PANEL(CHAT)).panel_draw();
 
-       if(autocvar__hud_configure)
-       {
-               if(tab_panel)
-               {
-                       panel = tab_panel;
-                       HUD_Panel_UpdatePosSize()
-                       drawfill(panel_pos - '1 1 0' * panel_bg_border, panel_size + '2 2 0' * panel_bg_border, '1 1 1', .2, DRAWFLAG_NORMAL);
-               }
-               if(highlightedPanel)
-               {
-                       panel = highlightedPanel;
-                       HUD_Panel_UpdatePosSize()
-                       HUD_Panel_HlBorder(panel_bg_border + 1.5 * hlBorderSize, '0 0.5 1', 0.25 * (1 - autocvar__menu_alpha));
-               }
-               if(!hud_configure_prev || hud_configure_prev == -1)
-               {
-                       if(autocvar_hud_cursormode) { setcursormode(1); }
-                       hudShiftState = 0;
-                       for(i = HUD_PANEL_NUM - 1; i >= 0; --i)
-                               hud_panel[panel_order[i]].update_time = time;
-               }
-       }
-       else if(hud_configure_prev && hud_configure_prev != -1 && autocvar_hud_cursormode)
-               setcursormode(0);
+       HUD_Configure_PostDraw();
 
        hud_configure_prev = autocvar__hud_configure;
-
-       if (!autocvar__hud_configure) // hud config mode disabled, enable normal theAlpha stuff again
-               if (menu_enabled)
-                       menu_enabled = 0;
 }
index 1fe76b091cc2239684a1a420d1e5ee95108b8a8e..55d4bd0db8c9fdd71265993fea3dd372549c83c9 100644 (file)
@@ -9,6 +9,8 @@ string hud_panelorder_prev;
 
 float hud_draw_maximized;
 float hud_panel_radar_maximized;
+float chat_panel_modified;
+float radar_panel_modified;
 
 vector mousepos;
 vector panel_click_distance; // mouse cursor distance from the top left corner of the panel (saved only upon a click)
@@ -47,7 +49,6 @@ const float S_CTRL = 2;
 const float S_ALT = 4;
 
 float menu_enabled; // 1 showing the entire HUD, 2 showing only the clicked panel
-float menu_enabled_time;
 
 float hud_fade_alpha;
 
@@ -56,8 +57,6 @@ string hud_skin_prev;
 
 vector myteamcolors;
 
-var vector progressbar_color;
-
 entity highlightedPanel_backup;
 var vector panel_pos_backup;
 var vector panel_size_backup;
@@ -80,7 +79,6 @@ entity panel;
 var float panel_enabled;
 var vector panel_pos;
 var vector panel_size;
-var string panel_bg;
 var string panel_bg_str; // "_str" vars contain the raw value of the cvar, non-"_str" contains what hud.qc code should use
 var vector panel_bg_color;
 var string panel_bg_color_str;
@@ -116,11 +114,12 @@ float current_player;
        HUD_PANEL(ENGINEINFO   , HUD_EngineInfo   , engineinfo) \
        HUD_PANEL(INFOMESSAGES , HUD_InfoMessages , infomessages) \
        HUD_PANEL(PHYSICS      , HUD_Physics      , physics) \
-       HUD_PANEL(CENTERPRINT  , HUD_CenterPrint  , centerprint)
+       HUD_PANEL(CENTERPRINT  , HUD_CenterPrint  , centerprint) \
+       HUD_PANEL(BUFFS        , HUD_Buffs        , buffs) 
 
 #define HUD_PANEL(NAME,draw_func,name) \
        float HUD_PANEL_##NAME; \
-       void ##draw_func(void); \
+       void draw_func(void); \
        void RegisterHUD_Panel_##NAME() \
        { \
                HUD_PANEL_LAST = HUD_PANEL_##NAME = HUD_PANEL_NUM; \
@@ -129,7 +128,7 @@ float current_player;
                hud_panelent.classname = "hud_panel"; \
                hud_panelent.panel_name = #name; \
                hud_panelent.panel_id = HUD_PANEL_##NAME; \
-               hud_panelent.panel_draw = ##draw_func; \
+               hud_panelent.panel_draw = draw_func; \
                ++HUD_PANEL_NUM; \
        } \
        ACCUMULATE_FUNCTION(RegisterHUD_Panels, RegisterHUD_Panel_##NAME);
@@ -146,24 +145,10 @@ HUD_PANELS
 // ----------------------
 // Little help for the poor people who have to make sense of this: Start from the bottom ;)
 
-#define HUD_Panel_GetProgressBarColor(item) \
-               progressbar_color = stov(cvar_string("hud_progressbar_" #item "_color"))
-#define HUD_Panel_GetProgressBarColorForString(item) \
-switch(item) {\
-       case "health": HUD_Panel_GetProgressBarColor(health); break;\
-       case "armor": HUD_Panel_GetProgressBarColor(armor); break;\
-       case "strength": HUD_Panel_GetProgressBarColor(strength); break;\
-       case "shield": HUD_Panel_GetProgressBarColor(shield); break;\
-       case "fuel": HUD_Panel_GetProgressBarColor(fuel); break;\
-       case "nexball": HUD_Panel_GetProgressBarColor(nexball); break;\
-       case "speed": HUD_Panel_GetProgressBarColor(speed); break;\
-       case "acceleration": HUD_Panel_GetProgressBarColor(acceleration); break;\
-       case "acceleration_neg": HUD_Panel_GetProgressBarColor(acceleration_neg); break;\
-} ENDS_WITH_CURLY_BRACE
-
-// Get value for panel_bg: if "" fetch default, else use panel_bg_str
+// Get value for panel.current_panel_bg: if "" fetch default, else use panel_bg_str
 // comment on last line of macro: // we probably want to see a background in config mode at all times...
 #define HUD_Panel_GetBg()\
+string panel_bg;\
 if(!autocvar__hud_configure && panel_bg_str == "0") {\
        panel_bg = "0";\
 } else {\
@@ -183,7 +168,10 @@ if(!autocvar__hud_configure && panel_bg_str == "0") {\
                        }\
                }\
        }\
-}
+}\
+if(panel.current_panel_bg)\
+       strunzone(panel.current_panel_bg);\
+panel.current_panel_bg = strzone(panel_bg);
 
 // Get value for panel_bg_color: if "" fetch default, else use panel_bg_color. Convert pants, shirt or teamcolor into a vector.
 #define HUD_Panel_GetColor()\
@@ -216,14 +204,6 @@ if(panel_bg_color_team_str == "") {\
        panel_bg_color_team = stof(panel_bg_color_team_str);\
 }
 
-// the check doesn't allow to fade this panel when showing the panel-specific menu dialog
-#define HUD_Panel_ApplyFadeAlpha()\
-if(!(menu_enabled == 2 && panel == highlightedPanel))\
-{\
-       panel_bg_alpha *= hud_fade_alpha;\
-       panel_fg_alpha *= hud_fade_alpha;\
-} ENDS_WITH_CURLY_BRACE
-
 // Get value for panel_bg_alpha: if "" fetch default, else use panel_bg_alpha. Also do various menu dialog fadeout/in checks, and minalpha checks
 // comment on line 3 of macro: // do not set a minalpha cap when showing the config dialog for this panel
 #define HUD_Panel_GetBgAlpha()\
@@ -255,13 +235,6 @@ if(panel_bg_border_str == "") {\
        panel_bg_border = stof(panel_bg_border_str);\
 } ENDS_WITH_CURLY_BRACE
 
-// Scale the pos and size vectors to absolute coordinates
-#define HUD_Panel_GetScaledVectors()\
-panel_pos_x *= vid_conwidth;\
-panel_pos_y *= vid_conheight;\
-panel_size_x *= vid_conwidth;\
-panel_size_y *= vid_conheight;
-
 // Get padding. See comments above, it's similar.
 // last line is a port of the old function, basically always make sure the panel contents are at least 5 pixels tall/wide, to disallow extreme padding values
 #define HUD_Panel_GetPadding()\
@@ -272,36 +245,12 @@ if(panel_bg_padding_str == "") {\
 }\
 panel_bg_padding = min(min(panel_size_x, panel_size_y)/2 - 5, panel_bg_padding);
 
-// Point to the macros above (stupid max macro length)
-#define HUD_Panel_GetStringVars()\
-HUD_Panel_GetBg()\
-if (panel_bg != "0") {\
-       HUD_Panel_GetColorTeam()\
-       HUD_Panel_GetColor()\
-       HUD_Panel_GetBgAlpha()\
-       HUD_Panel_GetBorder()\
-}\
-HUD_Panel_GetFgAlpha()\
-HUD_Panel_GetScaledVectors()\
-HUD_Panel_GetPadding()
-
-// return smoothly faded pos of given panel when a dialog is active
-var vector menu_enable_panelpos;
-#define HUD_Panel_GetMenuPos() \
-if(panel_size_x > panel_size_y)\
-       menu_enable_panelpos = eX * 0.5 * vid_conwidth - eX * 0.5 * panel_size_x + eY * 0.82 * vid_conheight;\
-else\
-       menu_enable_panelpos = eY * 0.5 * vid_conheight - eY * 0.5 * panel_size_y + eX * 0.7 * vid_conwidth;\
-panel_pos = (1 - autocvar__menu_alpha) * panel_pos + (autocvar__menu_alpha) * menu_enable_panelpos;
-
-// return smoothly faded size of given panel when a dialog is active
-//var vector menu_enable_maxsize;
-var float menu_enable_maxsize_x;
-var float menu_enable_maxsize_y;
-var vector menu_enable_size;
-#define HUD_Panel_GetMenuSize()\
-menu_enable_maxsize_x = 0.3 * vid_conwidth;\
-menu_enable_maxsize_y = 0.18 * vid_conheight;\
+// return smoothly faded pos and size of given panel when a dialog is active
+#define HUD_Panel_UpdatePosSize_ForMenu()\
+vector menu_enable_pos;\
+vector menu_enable_size = '0 0 0';\
+float menu_enable_maxsize_x = 0.3 * vid_conwidth;\
+float menu_enable_maxsize_y = 0.18 * vid_conheight;\
 if(panel_size_x > panel_size_y)\
 {\
        if(panel_size_y > menu_enable_maxsize_y)\
@@ -310,6 +259,7 @@ if(panel_size_x > panel_size_y)\
                menu_enable_size_x = panel_size_x * (menu_enable_maxsize_y/panel_size_y);\
                panel_size = (1 - autocvar__menu_alpha) * panel_size + (autocvar__menu_alpha) * menu_enable_size;\
        }\
+       menu_enable_pos = eX * 0.5 * vid_conwidth - eX * 0.5 * panel_size_x + eY * (vid_conheight - menu_enable_maxsize_y);\
 }\
 else\
 {\
@@ -319,7 +269,14 @@ else\
                menu_enable_size_y = panel_size_y * (menu_enable_maxsize_x/panel_size_x);\
                panel_size = (1 - autocvar__menu_alpha) * panel_size + (autocvar__menu_alpha) * menu_enable_size;\
        }\
-}
+       menu_enable_pos = eY * 0.5 * vid_conheight - eY * 0.5 * panel_size_y + eX * (vid_conwidth - menu_enable_maxsize_x);\
+}\
+panel_pos = (1 - autocvar__menu_alpha) * panel_pos + (autocvar__menu_alpha) * menu_enable_pos;
+
+// Scale the pos and size vectors to absolute coordinates
+#define HUD_Panel_ScalePosSize()\
+panel_pos_x *= vid_conwidth; panel_pos_y *= vid_conheight;\
+panel_size_x *= vid_conwidth; panel_size_y *= vid_conheight;
 
 // NOTE: in hud_configure mode cvars must be reloaded every frame
 #define HUD_Panel_UpdateCvars() \
@@ -327,70 +284,71 @@ if(panel.update_time <= time) { \
        if(autocvar__hud_configure) panel_enabled = cvar(strcat("hud_panel_", panel.panel_name)); \
        panel_pos = stov(cvar_string(strcat("hud_panel_", panel.panel_name, "_pos"))); \
        panel_size = stov(cvar_string(strcat("hud_panel_", panel.panel_name, "_size"))); \
+       HUD_Panel_ScalePosSize() \
        panel_bg_str = cvar_string(strcat("hud_panel_", panel.panel_name, "_bg")); \
        panel_bg_color_str = cvar_string(strcat("hud_panel_", panel.panel_name, "_bg_color")); \
        panel_bg_color_team_str = cvar_string(strcat("hud_panel_", panel.panel_name, "_bg_color_team")); \
        panel_bg_alpha_str = cvar_string(strcat("hud_panel_", panel.panel_name, "_bg_alpha")); \
        panel_bg_border_str = cvar_string(strcat("hud_panel_", panel.panel_name, "_bg_border")); \
        panel_bg_padding_str = cvar_string(strcat("hud_panel_", panel.panel_name, "_bg_padding")); \
-       HUD_Panel_GetStringVars()\
+       HUD_Panel_GetBg()\
+       if (panel.current_panel_bg != "0") {\
+               HUD_Panel_GetColorTeam()\
+               HUD_Panel_GetColor()\
+               HUD_Panel_GetBgAlpha()\
+               HUD_Panel_GetBorder()\
+       }\
+       HUD_Panel_GetFgAlpha()\
+       HUD_Panel_GetPadding()\
+       panel.current_panel_bg_alpha = panel_bg_alpha; \
+       panel.current_panel_fg_alpha = panel_fg_alpha; \
        if(menu_enabled == 2 && panel == highlightedPanel) {\
-               HUD_Panel_GetMenuSize()\
-               HUD_Panel_GetMenuPos()\
-       } \
+               HUD_Panel_UpdatePosSize_ForMenu()\
+       } else {\
+               panel_bg_alpha *= hud_fade_alpha;\
+               panel_fg_alpha *= hud_fade_alpha;\
+       }\
        panel.current_panel_pos = panel_pos; \
        panel.current_panel_size = panel_size; \
-       if(panel.current_panel_bg) \
-               strunzone(panel.current_panel_bg); \
-       if(panel_bg == "")\
-       {\
-               /*print(sprintf("^xf08 %s panel: panel_bg is empty\n", panel.panel_name));*/\
-               panel_bg = "0";\
-       }\
-       panel.current_panel_bg = strzone(panel_bg); \
-       panel.current_panel_bg_alpha = panel_bg_alpha; \
        panel.current_panel_bg_border = panel_bg_border; \
        panel.current_panel_bg_color = panel_bg_color; \
        panel.current_panel_bg_color_team = panel_bg_color_team; \
        panel.current_panel_bg_padding = panel_bg_padding; \
-       panel.current_panel_fg_alpha = panel_fg_alpha; \
        panel.update_time = (autocvar__hud_configure) ? time : time + autocvar_hud_panel_update_interval; \
 } else { \
        panel_pos = panel.current_panel_pos; \
        panel_size = panel.current_panel_size; \
-       panel_bg = panel.current_panel_bg; \
-       if(panel.current_panel_bg == "")\
-       {\
-               /*print(sprintf("^xf08 %s panel: panel.current_panel_bg is empty\n", panel.panel_name));*/\
-               panel_bg = "0";\
-       }\
-       panel_bg_alpha = panel.current_panel_bg_alpha; \
+       panel_bg_alpha = panel.current_panel_bg_alpha * hud_fade_alpha; \
        panel_bg_border = panel.current_panel_bg_border; \
        panel_bg_color = panel.current_panel_bg_color; \
        panel_bg_color_team = panel.current_panel_bg_color_team; \
        panel_bg_padding = panel.current_panel_bg_padding; \
-       panel_fg_alpha = panel.current_panel_fg_alpha; \
+       panel_fg_alpha = panel.current_panel_fg_alpha * hud_fade_alpha; \
 } ENDS_WITH_CURLY_BRACE
 
 #define HUD_Panel_UpdatePosSize() {\
 panel_enabled = cvar(strcat("hud_panel_", panel.panel_name)); \
 panel_pos = stov(cvar_string(strcat("hud_panel_", panel.panel_name, "_pos"))); \
 panel_size = stov(cvar_string(strcat("hud_panel_", panel.panel_name, "_size"))); \
-HUD_Panel_GetScaledVectors()\
+HUD_Panel_ScalePosSize()\
 if(menu_enabled == 2 && panel == highlightedPanel) {\
-       HUD_Panel_GetMenuSize()\
-       HUD_Panel_GetMenuPos()\
+       HUD_Panel_UpdatePosSize_ForMenu()\
 }\
 panel_bg_border_str = cvar_string(strcat("hud_panel_", panel.panel_name, "_bg_border")); \
 HUD_Panel_GetBorder() \
 } ENDS_WITH_CURLY_BRACE
 
+#define NOTIFY_MAX_ENTRIES 10
+#define NOTIFY_ICON_MARGIN 0.02
 
-#define KN_MAX_ENTRIES 10
+float notify_index;
+float notify_count;
+float notify_times[NOTIFY_MAX_ENTRIES];
+string notify_attackers[NOTIFY_MAX_ENTRIES];
+string notify_victims[NOTIFY_MAX_ENTRIES];
+string notify_icons[NOTIFY_MAX_ENTRIES];
 
-float kn_index;
-float notify_times[KN_MAX_ENTRIES];
-string notify_icon[KN_MAX_ENTRIES];
-string notify_attackers[KN_MAX_ENTRIES];
-string notify_victims[KN_MAX_ENTRIES];
 void HUD_Notify_Push(string icon, string attacker, string victim);
+
+var void HUD_ModIcons_GameType(vector pos, vector size);
+void HUD_ModIcons_SetFunc();
index 869e30dda0d782f593b9a95e8b60cd371dd94048..8ecc326b1e788441547b2fd7ec2081ffbd7bbd60 100644 (file)
@@ -119,6 +119,7 @@ void HUD_Panel_ExportCfg(string cfgname)
                                        HUD_Write_PanelCvar_q("_fontsize");
                                        HUD_Write_PanelCvar_q("_time");
                                        HUD_Write_PanelCvar_q("_fadetime");
+                                       HUD_Write_PanelCvar_q("_icon_aspect");
                                        break;
                                case HUD_PANEL_TIMER:
                                        HUD_Write_PanelCvar_q("_increment");
@@ -193,11 +194,11 @@ void HUD_Panel_ExportCfg(string cfgname)
                }
                HUD_Write("menu_sync\n"); // force the menu to reread the cvars, so that the dialogs are updated
 
-               print(sprintf(_("^2Successfully exported to %s! (Note: It's saved in data/data/)\n"), filename));
+               printf(_("^2Successfully exported to %s! (Note: It's saved in data/data/)\n"), filename);
                fclose(fh);
        }
        else
-               print(sprintf(_("^1Couldn't write to %s\n"), filename));
+               printf(_("^1Couldn't write to %s\n"), filename);
 }
 
 void HUD_Configure_Exit_Force()
@@ -651,10 +652,6 @@ float HUD_Panel_InputEvent(float bInputType, float nPrimary, float nSecondary)
        if(!autocvar__hud_configure)
                return false;
 
-       // block any input while a menu dialog is fading
-       if(autocvar__menu_alpha)
-               return true;
-
        if(bInputType == 3)
        {
                mousepos_x = nPrimary;
@@ -662,6 +659,15 @@ float HUD_Panel_InputEvent(float bInputType, float nPrimary, float nSecondary)
                return true;
        }
 
+       // block any input while a menu dialog is fading
+       // don't block mousepos read as it leads to cursor jumps in the interaction with the menu
+       if(autocvar__menu_alpha)
+       {
+               hudShiftState = 0;
+               mouseClicked = 0;
+               return true;
+       }
+
        // allow console bind to work
        string con_keys;
        float keys;
@@ -721,7 +727,6 @@ float HUD_Panel_InputEvent(float bInputType, float nPrimary, float nSecondary)
                if (bInputType == 1)
                        return true;
                menu_enabled = 1;
-               menu_enabled_time = time;
                localcmd("menu_showhudexit\n");
        }
        else if(nPrimary == K_BACKSPACE && hudShiftState & S_CTRL)
@@ -1068,22 +1073,11 @@ void HUD_Panel_Highlight(float allow_move)
 void HUD_Panel_EnableMenu()
 {
        menu_enabled = 2;
-       menu_enabled_time = time;
        localcmd("menu_showhudoptions ", highlightedPanel.panel_name, "\n");
 }
 float mouse_over_panel;
 void HUD_Panel_Mouse()
 {
-       // TODO: needs better check... is there any float that contains the current state of the menu? _menu_alpha isn't apparently updated the frame the menu gets enabled
-       if (autocvar__menu_alpha == 0 && time - menu_enabled_time > 0.5)
-               menu_enabled = 0;
-
-       /*
-       print("menu_enabled: ", ftos(menu_enabled), "\n");
-       print("Highlighted: ", ftos(highlightedPanel), "\n");
-       print("Menu theAlpha: ", ftos(autocvar__menu_alpha), "\n");
-       */
-
        if(autocvar__menu_alpha == 1)
                return;
 
@@ -1197,6 +1191,66 @@ void HUD_Panel_Mouse()
 
        prevMouseClicked = mouseClicked;
 }
+void HUD_Configure_DrawGrid()
+{
+       float i;
+       if(autocvar_hud_configure_grid && autocvar_hud_configure_grid_alpha)
+       {
+               hud_configure_gridSize_x = bound(0.005, cvar("hud_configure_grid_xsize"), 0.2);
+               hud_configure_gridSize_y = bound(0.005, cvar("hud_configure_grid_ysize"), 0.2);
+               hud_configure_realGridSize_x = hud_configure_gridSize_x * vid_conwidth;
+               hud_configure_realGridSize_y = hud_configure_gridSize_y * vid_conheight;
+               vector s;
+               // x-axis
+               s = eX + eY * vid_conheight;
+               for(i = 1; i < 1/hud_configure_gridSize_x; ++i)
+                       drawfill(eX * i * hud_configure_realGridSize_x, s, '0.5 0.5 0.5', autocvar_hud_configure_grid_alpha, DRAWFLAG_NORMAL);
+               // y-axis
+               s = eY + eX * vid_conwidth;
+               for(i = 1; i < 1/hud_configure_gridSize_y; ++i)
+                       drawfill(eY * i * hud_configure_realGridSize_y, s, '0.5 0.5 0.5', autocvar_hud_configure_grid_alpha, DRAWFLAG_NORMAL);
+       }
+}
+
+float _menu_alpha_prev;
+void HUD_Configure_Frame()
+{
+       float i;
+       if(autocvar__hud_configure)
+       {
+               if(isdemo() || intermission == 2)
+               {
+                       HUD_Configure_Exit_Force();
+                       return;
+               }
+
+               if(!hud_configure_prev || hud_configure_prev == -1)
+               {
+                       if(autocvar_hud_cursormode)
+                               setcursormode(1);
+                       hudShiftState = 0;
+                       for(i = HUD_PANEL_NUM - 1; i >= 0; --i)
+                               hud_panel[panel_order[i]].update_time = time;
+               }
+
+               // NOTE this check is necessary because _menu_alpha isn't updated the frame the menu gets enabled
+               if(autocvar__menu_alpha != _menu_alpha_prev)
+               {
+                       if(autocvar__menu_alpha == 0)
+                               menu_enabled = 0;
+                       _menu_alpha_prev = autocvar__menu_alpha;
+               }
+
+               HUD_Configure_DrawGrid();
+       }
+       else if(hud_configure_prev)
+       {
+               if(menu_enabled)
+                       menu_enabled = 0;
+               if(autocvar_hud_cursormode)
+                       setcursormode(0);
+       }
+}
 
 const float hlBorderSize = 4;
 const string hlBorder = "gfx/hud/default/border_highlighted";
@@ -1209,3 +1263,22 @@ void HUD_Panel_HlBorder(float myBorder, vector color, float theAlpha)
        drawpic_tiled(panel_pos - '1 1 0' * myBorder + eY * hlBorderSize, hlBorder2, '1 8 0' * hlBorderSize, eY * (panel_size_y + 2 * myBorder - 2 * hlBorderSize) + eX * hlBorderSize, color, theAlpha, DRAWFLAG_NORMAL);
        drawpic_tiled(panel_pos - '1 1 0' * myBorder + eY * hlBorderSize + eX * (panel_size_x + 2 * myBorder - hlBorderSize), hlBorder2, '1 8 0' * hlBorderSize, eY * (panel_size_y + 2 * myBorder - 2 * hlBorderSize) + eX * hlBorderSize, color, theAlpha, DRAWFLAG_NORMAL);
 }
+
+void HUD_Configure_PostDraw()
+{
+       if(autocvar__hud_configure)
+       {
+               if(tab_panel)
+               {
+                       panel = tab_panel;
+                       HUD_Panel_UpdatePosSize()
+                       drawfill(panel_pos - '1 1 0' * panel_bg_border, panel_size + '2 2 0' * panel_bg_border, '1 1 1', .2, DRAWFLAG_NORMAL);
+               }
+               if(highlightedPanel)
+               {
+                       panel = highlightedPanel;
+                       HUD_Panel_UpdatePosSize()
+                       HUD_Panel_HlBorder(panel_bg_border + 1.5 * hlBorderSize, '0 0.5 1', 0.25 * (1 - autocvar__menu_alpha));
+               }
+       }
+}
index 8caeb01d524064f51c3191440555c0cd814ce0e3..a354bacf28d9ecbec0b259bb5055f2989c889a98 100644 (file)
@@ -6,17 +6,26 @@ string mv_pics[MAPVOTE_COUNT];
 string mv_pk3[MAPVOTE_COUNT];
 float mv_preview[MAPVOTE_COUNT];
 float mv_votes[MAPVOTE_COUNT];
+float mv_avail[MAPVOTE_COUNT];
+float mv_avail_start[MAPVOTE_COUNT];
 entity mv_pk3list;
 float mv_abstain;
 float mv_ownvote;
 float mv_detail;
 float mv_timeout;
-float mv_maps_mask;
 float mv_top2_time;
 float mv_top2_alpha;
 
 vector mv_mousepos;
 float mv_selection;
+float mv_columns;
+float mv_mouse_selection;
+float mv_selection_keyboard;
+
+float gametypevote;
+string mapvote_chosenmap;
+vector gtv_text_size;
+vector gtv_text_size_small;
 
 string MapVote_FormatMapItem(float id, string map, float count, float maxwidth, vector fontsize)
 {
@@ -26,7 +35,7 @@ string MapVote_FormatMapItem(float id, string map, float count, float maxwidth,
        {
                if(count == 1)
                        post = _(" (1 vote)");
-               else if(count >= 0)
+               else if(count >= 0 && mv_avail[id] == GTV_AVAILABLE)
                        post = sprintf(_(" (%d votes)"), count);
                else
                        post = "";
@@ -38,9 +47,14 @@ string MapVote_FormatMapItem(float id, string map, float count, float maxwidth,
        return strcat(pre, map, post);
 }
 
-vector MapVote_RGB(float id, float count)
+string GameTypeVote_DescriptionByID(float id)
+{
+       return MapInfo_Type_Description(MapInfo_Type_FromString(mv_maps[id]));
+}
+
+vector MapVote_RGB(float id)
 {
-       if(count < 0)
+       if(mv_avail[id] != GTV_AVAILABLE)
                return '1 1 1';
        if(id == mv_ownvote)
                return '0 1 0';
@@ -50,6 +64,100 @@ vector MapVote_RGB(float id, float count)
                return '1 1 1';
 }
 
+void GameTypeVote_DrawGameTypeItem(vector pos, float maxh, float tsize, string gtype, string pic, float count, float id)
+{
+       float alpha;
+       float desc_padding = gtv_text_size_x * 3;
+       float rect_margin = hud_fontsize_y / 2;
+       vector rect_pos = pos - '0.5 0.5 0' * rect_margin;
+       vector rect_size = '1 1 0';
+       rect_size_x = tsize + rect_margin;
+       rect_size_y = maxh + rect_margin;
+       vector rgb = MapVote_RGB(id);
+       vector offset = pos;
+       float nlines = 0;
+       
+       if(mv_avail_start[id] != GTV_AVAILABLE)
+               alpha = 0.2;
+       else if ( mv_avail[id] != GTV_AVAILABLE && mv_top2_alpha)
+               alpha = mv_top2_alpha;
+       else
+               alpha = 1;
+       
+       if(id == mv_selection && mv_avail[id] == GTV_AVAILABLE)
+       {
+               drawfill(rect_pos, rect_size, '1 1 1', 0.1, DRAWFLAG_NORMAL);
+       }
+       if(id == mv_ownvote)
+       {
+               drawfill(rect_pos, rect_size, rgb, 0.1*alpha, DRAWFLAG_NORMAL);
+               drawborderlines(autocvar_scoreboard_border_thickness, rect_pos, rect_size, rgb, alpha, DRAWFLAG_NORMAL);
+       }
+       
+       entity title;
+       title = spawn();
+       title.message = MapVote_FormatMapItem(id, MapInfo_Type_ToText(MapInfo_Type_FromString(gtype)), 
+                                                                                 count, tsize, gtv_text_size);
+       title.origin = pos-offset;
+       
+       pos_y += gtv_text_size_small_y;
+       pos_y += gtv_text_size_y/2;
+       
+       maxh -= gtv_text_size_y;
+       
+       entity picent = spawn();
+       picent.origin = pos-offset;
+       picent.maxs = '1 1 0 ' * min(maxh, desc_padding) * 0.8;
+       
+       pos_x += desc_padding;
+       tsize -= desc_padding;
+       
+       string thelabel = GameTypeVote_DescriptionByID(id), ts;
+       entity last = title;
+       entity next = world;
+       if( thelabel != "") 
+       {
+               float i,n = tokenizebyseparator(thelabel, "\n");
+               for(i = 0; i < n && maxh > (nlines+1)*gtv_text_size_small_y; ++i)
+               {
+                       getWrappedLine_remaining = argv(i);
+                       while(getWrappedLine_remaining && maxh > (nlines+1)*gtv_text_size_small_y)
+                       {
+                               ts = getWrappedLine(tsize, gtv_text_size_small, stringwidth_colors);
+                               if (ts != "")
+                               {
+                                       next = spawn();
+                                       next.message = ts;
+                                       next.origin = pos-offset;
+                                       last.chain = next;
+                                       last = next;
+                                       pos_y += gtv_text_size_small_y;
+                                       nlines++;
+                               }
+                       }
+               }
+       }
+       
+       maxh -= max(nlines*gtv_text_size_small_y,picent.maxs_y);
+       if ( maxh > 0 )
+               offset_y += maxh/2;
+       drawstring(title.origin+offset, title.message, gtv_text_size, rgb, alpha, DRAWFLAG_NORMAL); 
+       
+       if(pic != "")
+               drawpic(picent.origin+offset, pic, picent.maxs, '1 1 1', alpha, DRAWFLAG_NORMAL);
+       
+       for ( last = title.chain; last ; )
+       {
+               drawstring(last.origin+offset, last.message, gtv_text_size_small, '1 1 1', alpha, DRAWFLAG_NORMAL);
+               next = last;
+               last = last.chain;
+               remove(next);
+       }
+       
+       remove(picent);
+       remove(title);
+}
+
 void MapVote_DrawMapItem(vector pos, float isize, float tsize, string map, string pic, float count, float id)
 {
        vector img_size = '0 0 0';
@@ -59,7 +167,7 @@ void MapVote_DrawMapItem(vector pos, float isize, float tsize, string map, strin
 
        isize -= hud_fontsize_y; // respect the text when calculating the image size
 
-       rgb = MapVote_RGB(id, count);
+       rgb = MapVote_RGB(id);
 
        img_size_y = isize;
        img_size_x = isize / 0.75; // 4:3 x can be stretched easily, height is defined in isize
@@ -71,7 +179,7 @@ void MapVote_DrawMapItem(vector pos, float isize, float tsize, string map, strin
        text_size = stringwidth(label, false, hud_fontsize);
 
        float theAlpha;
-       if (count < 0 && mv_top2_alpha)
+       if (mv_avail[id] != GTV_AVAILABLE && mv_top2_alpha)
                theAlpha = mv_top2_alpha;
        else
                theAlpha = 1;
@@ -101,7 +209,7 @@ void MapVote_DrawMapItem(vector pos, float isize, float tsize, string map, strin
        else
                drawborderlines(autocvar_scoreboard_border_thickness, pos, img_size, '0 0 0', theAlpha, DRAWFLAG_NORMAL);
 
-       if(id == mv_selection && count >= 0)
+       if(id == mv_selection && mv_avail[id] == GTV_AVAILABLE)
                drawfill(pos, img_size, '1 1 1', 0.1, DRAWFLAG_NORMAL);
 }
 
@@ -111,7 +219,7 @@ void MapVote_DrawAbstain(vector pos, float isize, float tsize, float count, floa
        float text_size;
        string label;
 
-       rgb = MapVote_RGB(id, count);
+       rgb = MapVote_RGB(id);
 
        pos_y = pos_y + hud_fontsize_y;
 
@@ -135,10 +243,10 @@ vector MapVote_GridVec(vector gridspec, float i, float m)
 
 float MapVote_Selection(vector topleft, vector cellsize, float rows, float columns)
 {
-       float cell;
+
        float c, r;
 
-       cell = -1;
+       mv_mouse_selection = -1;
 
        for (r = 0; r < rows; ++r)
                for (c = 0; c < columns; ++c)
@@ -148,18 +256,21 @@ float MapVote_Selection(vector topleft, vector cellsize, float rows, float colum
                                mv_mousepos_y >= topleft_y + cellsize_y *  r &&
                                mv_mousepos_y <= topleft_y + cellsize_y * (r + 1))
                        {
-                               cell = r * columns + c;
+                               mv_mouse_selection = r * columns + c;
                                break;
                        }
                }
 
-       if (cell >= mv_num_maps)
-               cell = -1;
+       if (mv_mouse_selection >= mv_num_maps)
+               mv_mouse_selection = -1;
 
-       if (mv_abstain && cell < 0)
-               return mv_num_maps;
+       if (mv_abstain && mv_mouse_selection < 0)
+               mv_mouse_selection = mv_num_maps;
 
-       return cell;
+       if ( mv_selection_keyboard )
+               return mv_selection;
+       
+       return mv_mouse_selection;
 }
 
 void MapVote_Draw()
@@ -169,7 +280,7 @@ void MapVote_Draw()
        vector pos;
        float isize;
        float center;
-       float columns, rows;
+       float rows;
        float tsize;
        vector dist = '0 0 0';
 
@@ -178,10 +289,14 @@ void MapVote_Draw()
 
        if (!autocvar_hud_cursormode)
        {
-               mv_mousepos = mv_mousepos + getmousepos();
+               vector mpos = mv_mousepos + getmousepos();
+               mpos_x = bound(0, mpos_x, vid_conwidth);
+               mpos_y = bound(0, mpos_y, vid_conheight);
+               
+               if ( mpos_x != mv_mousepos_x || mpos_y != mv_mousepos_y )
+                       mv_selection_keyboard = 0;
+               mv_mousepos = mpos;
 
-               mv_mousepos_x = bound(0, mv_mousepos_x, vid_conwidth);
-               mv_mousepos_y = bound(0, mv_mousepos_y, vid_conheight);
        }
 
        center = (vid_conwidth - 1)/2;
@@ -200,11 +315,18 @@ void MapVote_Draw()
        pos_z = 0;
 
        draw_beginBoldFont();
-       map = _("Vote for a map");
+       map = ((gametypevote) ? _("Decide the gametype") : _("Vote for a map"));
        pos_x = center - stringwidth(map, false, '12 0 0');
        drawstring(pos, map, '24 24 0', '1 1 1', 1, DRAWFLAG_NORMAL);
        pos_y += 26;
 
+       if( mapvote_chosenmap != "" )
+       {
+               pos_x = center - stringwidth(mapvote_chosenmap, false, hud_fontsize*1.5/2);
+               drawstring(pos, mapvote_chosenmap, hud_fontsize*1.5, '1 1 1', 1, DRAWFLAG_NORMAL);
+               pos_y += hud_fontsize_y*2;
+       }
+
        i = ceil(max(0, mv_timeout - time));
        map = sprintf(_("%d seconds left"), i);
        pos_x = center - stringwidth(map, false, '8 0 0');
@@ -218,36 +340,56 @@ void MapVote_Draw()
        if(mv_abstain)
                mv_num_maps -= 1;
 
-       if(mv_num_maps > 3)
-       {
-               columns = 3;
-       } else {
-               columns = mv_num_maps;
-       }
-       rows = ceil(mv_num_maps / columns);
+       rows = ceil(mv_num_maps / mv_columns);
 
-       dist_x = (xmax - xmin) / columns;
+       dist_x = (xmax - xmin) / mv_columns;
        dist_y = (ymax - pos_y) / rows;
-       tsize = dist_x - 10;
-       isize = min(dist_y - 10, 0.75 * tsize);
 
-       mv_selection = MapVote_Selection(pos, dist, rows, columns);
+       if ( gametypevote )
+       {
+               tsize = dist_x - hud_fontsize_y;
+               isize = dist_y;
+               float maxheight = (ymax - pos_y) / 3;
+               if ( isize > maxheight )
+               {
+                       pos_x += (isize - maxheight)/2;
+                       isize = maxheight;
+               }
+               else
+                       dist_y += hud_fontsize_y;
+               pos_x = ( vid_conwidth - dist_x * mv_columns ) / 2;
+       }
+       else
+       {
+               tsize = dist_x - 10;
+               isize = min(dist_y - 10, 0.75 * tsize);
+       }
+
+       mv_selection = MapVote_Selection(pos, dist, rows, mv_columns);
 
-       pos_x += (xmax - xmin) / (2 * columns);
+       if ( !gametypevote )
+               pos_x += dist_x / 2;
        pos_y += (dist_y - isize) / 2;
        ymax -= isize;
 
        if (mv_top2_time)
                mv_top2_alpha = max(0.2, 1 - (time - mv_top2_time)*(time - mv_top2_time));
 
+       void (vector, float, float, string, string, float, float) DrawItem;
+
+       if(gametypevote)
+               DrawItem = GameTypeVote_DrawGameTypeItem;
+       else
+               DrawItem = MapVote_DrawMapItem;
+
        for(i = 0; i < mv_num_maps; ++i)
        {
                tmp = mv_votes[i]; // FTEQCC bug: too many array accesses in the function call screw it up
                map = mv_maps[i];
                if(mv_preview[i])
-                       MapVote_DrawMapItem(pos + MapVote_GridVec(dist, i, columns), isize, tsize, map, mv_pics[i], tmp, i);
+                       DrawItem(pos + MapVote_GridVec(dist, i, mv_columns), isize, tsize, map, mv_pics[i], tmp, i);
                else
-                       MapVote_DrawMapItem(pos + MapVote_GridVec(dist, i, columns), isize, tsize, map, "", tmp, i);
+                       DrawItem(pos + MapVote_GridVec(dist, i, mv_columns), isize, tsize, map, "", tmp, i);
        }
 
        if(mv_abstain)
@@ -329,12 +471,35 @@ void MapVote_CheckPic(string pic, string pk3, float id)
        MapVote_CheckPK3(pic, pk3, id);
 }
 
+void MapVote_ReadMask()
+{
+       float i;
+       if ( mv_num_maps < 24 )
+       {
+               float mask, power;
+               if(mv_num_maps < 8)
+                       mask = ReadByte();
+               else if(mv_num_maps < 16)
+                       mask = ReadShort();
+               else
+                       mask = ReadLong();
+               
+               for(i = 0, power = 1; i < mv_num_maps; ++i, power *= 2)
+                       mv_avail[i] = (mask & power) ? GTV_AVAILABLE : GTV_FORBIDDEN;
+       }
+       else
+       {
+               for(i = 0; i < mv_num_maps; ++i )
+                       mv_avail[i] = ReadByte();
+       }
+}
+
 #define NUM_SSDIRS 4
 string ssdirs[NUM_SSDIRS];
 float n_ssdirs;
 void MapVote_Init()
 {
-       float i, j, power;
+       float i, j;
        string map, pk3, s;
 
        precache_sound ("misc/invshot.wav");
@@ -343,6 +508,7 @@ void MapVote_Init()
        if(autocvar_hud_cursormode) { setcursormode(1); }
        else { mv_mousepos = '0.5 0 0' * vid_conwidth + '0 0.5 0' * vid_conheight; }
        mv_selection = -1;
+       mv_selection_keyboard = 0;
 
        for(n_ssdirs = 0; ; ++n_ssdirs)
        {
@@ -363,39 +529,72 @@ void MapVote_Init()
        mv_ownvote = -1;
        mv_timeout = ReadCoord();
 
-       if(mv_num_maps <= 8)
-               mv_maps_mask = ReadByte();
-       else
-               mv_maps_mask = ReadShort();
+       gametypevote = ReadByte();
+       
+       float mv_real_num_maps = mv_num_maps - mv_abstain;
+
+       if(gametypevote)
+       {
+               mapvote_chosenmap = strzone(ReadString());
+               if ( gametypevote == 2 )
+                       gametypevote = 0;
+
+               gtv_text_size = hud_fontsize*1.4;
+               gtv_text_size_small = hud_fontsize*1.1;
+               
+               if (mv_real_num_maps > 8 )
+                       mv_columns = 3;
+               else
+                       mv_columns = min(2, mv_real_num_maps);
+    }
+    else
+       {
+               if (mv_real_num_maps > 16)
+                       mv_columns = 5;
+               else if (mv_real_num_maps > 9)
+                       mv_columns = 4;
+               else if(mv_real_num_maps > 3)
+                       mv_columns = 3;
+               else
+                       mv_columns = mv_real_num_maps;
+       }
+
+       MapVote_ReadMask();
+       for(i = 0; i < mv_num_maps; ++i )
+               mv_avail_start[i] = mv_avail[i];
 
        // Assume mv_pk3list is world, there should only be 1 mapvote per round
        mv_pk3list = world; // I'm still paranoid!
 
-       for(i = 0, power = 1; i < mv_num_maps; ++i, power *= 2)
+       for(i = 0; i < mv_num_maps; ++i)
        {
                mv_votes[i] = 0;
 
-               if(mv_maps_mask & power)
-               {
-                       map = strzone(ReadString());
-                       pk3 = strzone(ReadString());
-                       j = bound(0, ReadByte(), n_ssdirs - 1);
-
-                       mv_maps[i] = map;
-                       mv_pk3[i] = pk3;
-                       map = strzone(strcat(ssdirs[j], "/", map));
-                       mv_pics[i] = map;
+               map = strzone(ReadString());
+               pk3 = strzone(ReadString());
+               j = bound(0, ReadByte(), n_ssdirs - 1);
 
-                       mv_preview[i] = false;
+               mv_maps[i] = map;
+               mv_pk3[i] = pk3;
+               mv_avail[i] = ReadByte();
 
-                       MapVote_CheckPic(map, pk3, i);
+               if(gametypevote)
+               {
+                       //map = strzone(strcat("gfx/menu/default/gametype_", map));
+                       //map = strzone(sprintf("gfx/menu/%s/gametype_%s", autocvar_menu_skin, map));
+                       string mv_picpath = sprintf("gfx/menu/%s/gametype_%s", autocvar_menu_skin, map);
+                       if(precache_pic(mv_picpath) == "")
+                               mv_picpath = strcat("gfx/menu/default/gametype_", map);
+                       map = strzone(mv_picpath);
+                       mv_pics[i] = map;
+                       mv_preview[i] = PreviewExists(map);
                }
                else
                {
-                       mv_maps[i] = strzone("if-you-see-this-the-code-is-broken");
-                       mv_pk3[i] = strzone("if-you-see-this-the-code-is-broken");
-                       mv_pics[i] = strzone("if-you-see-this-the-code-is-broken");
+                       map = strzone(strcat(ssdirs[j], "/", map));
+                       mv_pics[i] = map;
                        mv_preview[i] = false;
+                       MapVote_CheckPic(map, pk3, i);
                }
        }
 
@@ -404,6 +603,68 @@ void MapVote_Init()
        n_ssdirs = 0;
 }
 
+void MapVote_SendChoice(float index)
+{
+       localcmd(strcat("\nimpulse ", ftos(index+1), "\n"));
+}
+
+float MapVote_MoveLeft(float pos)
+{
+       float imp;
+       if ( pos < 0 ) 
+               imp = mv_num_maps - 1;
+       else
+               imp = pos < 1 ? mv_num_maps - 1 : pos - 1;
+       if ( mv_avail[imp] != GTV_AVAILABLE && imp != mv_ownvote )
+               imp = MapVote_MoveLeft(imp);
+       return imp;
+}
+float MapVote_MoveRight(float pos)
+{
+       float imp;
+       if ( pos < 0 ) 
+               imp = 0;
+       else
+               imp = pos >= mv_num_maps - 1 ? 0 : pos + 1;
+       if ( mv_avail[imp] != GTV_AVAILABLE && imp != mv_ownvote )
+               imp = MapVote_MoveRight(imp);
+       return imp;
+}
+float MapVote_MoveUp(float pos)
+{
+       float imp;
+       if ( pos < 0 ) 
+               imp = mv_num_maps - 1;
+       else
+       {
+               imp = pos - mv_columns;
+               if ( imp < 0 )
+               {
+                       imp = floor(mv_num_maps/mv_columns)*mv_columns + pos % mv_columns;
+                       if ( imp >= mv_num_maps )
+                               imp -= mv_columns;
+               }
+       }
+       if ( mv_avail[imp] != GTV_AVAILABLE && imp != mv_ownvote )
+               imp = MapVote_MoveUp(imp);
+       return imp;
+}
+float MapVote_MoveDown(float pos)
+{
+       float imp;
+       if ( pos < 0 ) 
+               imp = 0;
+       else
+       {
+               imp = pos + mv_columns;
+               if ( imp >= mv_num_maps )
+                       imp = imp % mv_columns;
+       }
+       if ( mv_avail[imp] != GTV_AVAILABLE && imp != mv_ownvote )
+               imp = MapVote_MoveDown(imp);
+       return imp;
+}
+
 float MapVote_InputEvent(float bInputType, float nPrimary, float nSecondary)
 {
        float imp;
@@ -415,6 +676,7 @@ float MapVote_InputEvent(float bInputType, float nPrimary, float nSecondary)
        {
                mv_mousepos_x = nPrimary;
                mv_mousepos_y = nSecondary;
+               mv_selection_keyboard = 0;
                return true;
        }
 
@@ -440,48 +702,58 @@ float MapVote_InputEvent(float bInputType, float nPrimary, float nSecondary)
                case K_KP_8: localcmd("\nimpulse 8\n"); return true;
                case K_KP_9: localcmd("\nimpulse 9\n"); return true;
                case K_KP_0: localcmd("\nimpulse 10\n"); return true;
+
+               case K_RIGHTARROW:
+                       mv_selection_keyboard = 1;
+                       mv_selection = MapVote_MoveRight(mv_selection);
+                       return true;
+               case K_LEFTARROW:
+                       mv_selection_keyboard = 1;
+                       mv_selection = MapVote_MoveLeft(mv_selection);
+                       return true;
+               case K_DOWNARROW:
+                       mv_selection_keyboard = 1;
+                       mv_selection = MapVote_MoveDown(mv_selection);
+                       return true;
+               case K_UPARROW:
+                       mv_selection_keyboard = 1;
+                       mv_selection = MapVote_MoveUp(mv_selection);
+                       return true;
+               case K_KP_ENTER:
+               case K_ENTER:
+               case K_SPACE:
+                       if ( mv_selection_keyboard )
+                               MapVote_SendChoice(mv_selection);
+                       return true;
        }
 
        if (nPrimary == K_MOUSE1)
+       {
+               mv_selection_keyboard = 0;
+               mv_selection = mv_mouse_selection;
                if (mv_selection >= 0)
                {
                        imp = min(mv_selection + 1, mv_num_maps);
                        localcmd(strcat("\nimpulse ", ftos(imp), "\n"));
                        return true;
                }
+       }
 
        return false;
 }
 
 void MapVote_UpdateMask()
 {
-       float i, power;
-       float oldmask;
-
-       oldmask = mv_maps_mask;
-       if(mv_num_maps <= 8)
-               mv_maps_mask = ReadByte();
-       else
-               mv_maps_mask = ReadShort();
-
-       if((oldmask & mv_maps_mask) != oldmask)
-               if((oldmask & mv_maps_mask) == mv_maps_mask)
-                        sound(world, CH_INFO, "misc_invshot.wav", VOL_BASE, ATTEN_NONE);
-
-       // remove votes that no longer apply
-       for(i = 0, power = 1; i < mv_num_maps; ++i, power *= 2)
-               if (!(mv_maps_mask & power))
-                       mv_votes[i] = -1;
-
+       MapVote_ReadMask();
        mv_top2_time = time;
 }
 
 void MapVote_UpdateVotes()
 {
-       float i, power;
-       for(i = 0, power = 1; i < mv_num_maps; ++i, power *= 2)
+       float i;
+       for(i = 0; i < mv_num_maps; ++i)
        {
-               if(mv_maps_mask & power)
+               if(mv_avail[i] == GTV_AVAILABLE)
                {
                        if(mv_detail)
                                mv_votes[i] = ReadByte();
index 2c2fc56df0983219934ebbdd062dda2ca767fc6e..8b674e7826c2ccd6529e46a703d55ee00a21a2ae 100644 (file)
@@ -1,5 +1,6 @@
 entity players;
 entity teams;
+var float team_count; // real teams
 
 void AuditLists()
 {
@@ -81,6 +82,8 @@ float RegisterTeam(entity Team)
        if(teams.sort_next)
                teams.sort_next.sort_prev = Team;
        teams.sort_next = Team;
+       if(Team.team && Team.team != NUM_SPECTATOR)
+               ++team_count;
        AuditLists();
        return true;
 }
@@ -101,6 +104,8 @@ void RemoveTeam(entity Team)
        parent.sort_next = Team.sort_next;
        if(Team.sort_next)
                Team.sort_next.sort_prev = parent;
+       if(Team.team && Team.team != NUM_SPECTATOR)
+               --team_count;
        AuditLists();
 }
 
@@ -573,6 +578,31 @@ vector getplayerorigin(float pl)
        return GETPLAYERORIGIN_ERROR;
 }
 
+float getplayeralpha(float pl)
+{
+       entity e;
+
+       e = CSQCModel_server2csqc(pl + 1);
+       if(e)
+               return e.alpha;
+
+       return 1;
+}
+
+vector getcsqcplayercolor(float pl)
+{
+       entity e;
+
+       e = CSQCModel_server2csqc(pl);
+       if(e)
+       {
+               if(e.colormap > 0)
+                       return colormapPaletteColor(((e.colormap >= 1024) ? e.colormap : stof(getplayerkeyvalue(e.colormap - 1, "colors"))) & 0x0F, TRUE);
+       }
+
+       return '1 1 1';
+}
+
 float getplayerisdead(float pl)
 {
        entity e;
@@ -601,7 +631,7 @@ void URI_Get_Callback(float id, float status, string data)
        }
        else
        {
-               print(sprintf("Received HTTP request data for an invalid id %d.\n", id));
+               printf("Received HTTP request data for an invalid id %d.\n", id);
        }
 }
 
index 22bbd142f90871ad4d8c906eda836d489dca761d..b536797ce4b1d05f5159b64eb4e2f623aa0f03cb 100644 (file)
@@ -1,4 +1,3 @@
-const float STAT_MOVEFLAGS = 225;
 const float MOVEFLAG_GRAVITYUNAFFECTEDBYTICRATE = 4;
 #define GRAVITY_UNAFFECTED_BY_TICRATE (getstati(STAT_MOVEFLAGS) & MOVEFLAG_GRAVITYUNAFFECTEDBYTICRATE)
 
@@ -10,13 +9,77 @@ void _Movetype_CheckVelocity() // SV_CheckVelocity
 {
 }
 
-float _Movetype_CheckWater() // SV_CheckWater
+float _Movetype_CheckWater(entity ent) // SV_CheckWater
 {
-       return FALSE;
+       float supercontents;
+       float nativecontents;
+       vector point;
+
+       point = ent.move_origin;
+       point_z += (ent.mins_z + 1);
+
+       nativecontents = pointcontents(point);
+
+       if(ent.move_watertype)
+       if(ent.move_watertype != nativecontents)
+       {
+               //print(sprintf("_Movetype_CheckWater(): Original: '%d', New: '%d'\n", ent.move_watertype, nativecontents));
+               if(ent.contentstransition)
+                       ent.contentstransition(ent.move_watertype, nativecontents);
+       }
+
+       ent.move_waterlevel = 0;
+       ent.move_watertype = CONTENT_EMPTY;
+
+       supercontents = Mod_Q1BSP_SuperContentsFromNativeContents(nativecontents);
+       if(supercontents & DPCONTENTS_LIQUIDSMASK)
+       {
+               ent.move_watertype = nativecontents;
+               ent.move_waterlevel = 1;
+               point_y = (ent.origin_y + ((ent.mins_z + ent.maxs_y) * 0.5));
+               if(Mod_Q1BSP_SuperContentsFromNativeContents(pointcontents(point)) & DPCONTENTS_LIQUIDSMASK)
+               {
+                       ent.move_waterlevel = 2;
+                       point_y = ent.origin_y + ent.view_ofs_y;
+                       if(Mod_Q1BSP_SuperContentsFromNativeContents(pointcontents(point)) & DPCONTENTS_LIQUIDSMASK)
+                               ent.move_waterlevel = 3;
+               }
+       }
+
+       return (ent.move_waterlevel > 1);
 }
 
-void _Movetype_CheckWaterTransition() // SV_CheckWaterTransition
+void _Movetype_CheckWaterTransition(entity ent) // SV_CheckWaterTransition
 {
+       float contents = pointcontents(ent.move_origin);
+       
+       if(!ent.move_watertype)
+       {
+               // just spawned here
+               if(!autocvar_cl_gameplayfix_fixedcheckwatertransition)
+               {
+                       ent.move_watertype = contents;
+                       ent.move_waterlevel = 1;
+                       return;
+               }
+       }
+       else if(ent.move_watertype != contents)
+       {
+               //print(sprintf("_Movetype_CheckWaterTransition(): Origin: %s, Direct: '%d', Original: '%d', New: '%d'\n", vtos(ent.move_origin), pointcontents(ent.move_origin), ent.move_watertype, contents));
+               if(ent.contentstransition)
+                       ent.contentstransition(ent.move_watertype, contents);
+       }
+
+       if(contents <= CONTENT_WATER)
+       {
+               ent.move_watertype = contents;
+               ent.move_waterlevel = 1;
+       }
+       else
+       {
+               ent.move_watertype = CONTENT_EMPTY;
+               ent.move_waterlevel = (autocvar_cl_gameplayfix_fixedcheckwatertransition ? 0 : contents);
+       }
 }
 
 void _Movetype_Impact(entity oth) // SV_Impact
@@ -160,10 +223,10 @@ float _Movetype_UnstickEntity() // SV_UnstickEntity
                if(!_Movetype_TestEntityPosition('0 0 -1' * i)) goto success;
                if(!_Movetype_TestEntityPosition('0 0 1' * i)) goto success;
        }
-       dprint(sprintf(_("Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"), num_for_edict(self), self.classname, vtos(self.move_origin)));
+       dprintf(_("Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"), num_for_edict(self), self.classname, vtos(self.move_origin));
        return FALSE;
 :success
-       dprint(sprintf(_("Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"), num_for_edict(self), self.classname, vtos(self.move_origin)));
+       dprintf(_("Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"), num_for_edict(self), self.classname, vtos(self.move_origin));
        _Movetype_LinkEdict(TRUE);
        return TRUE;
 }
@@ -342,7 +405,7 @@ void _Movetype_Physics_Toss(float dt) // SV_Physics_Toss
                        self.move_velocity_z -= 0.5 * dt * getstatf(STAT_MOVEVARS_GRAVITY);
        }
 
-       _Movetype_CheckWaterTransition();
+       _Movetype_CheckWaterTransition(self);
 }
 
 void _Movetype_Physics_Frame(float movedt)
@@ -360,7 +423,7 @@ void _Movetype_Physics_Frame(float movedt)
                        error("SV_Physics_Follow not implemented");
                        break;
                case MOVETYPE_NOCLIP:
-                       _Movetype_CheckWater();
+                       _Movetype_CheckWater(self);
                        self.move_origin = self.move_origin + ticrate * self.move_velocity;
                        self.move_angles = self.move_angles + ticrate * self.move_avelocity;
                        _Movetype_LinkEdict(FALSE);
index 9f39ffc7bc846f94eecd0ba3e85e3f27e9293a4c..287226e53b7f918cbf4e788f99bcbf2e7252edb0 100644 (file)
@@ -5,11 +5,17 @@
 .vector move_velocity;
 .vector move_avelocity;
 .float move_flags;
+.float move_watertype;
+.float move_waterlevel;
 .void(void) move_touch;
+.void(float, float) contentstransition;
 .float move_bounce_factor;
 .float move_bounce_stopspeed;
 .float move_nomonsters; // -1 for MOVE_NORMAL, otherwise a MOVE_ constant
 
+// should match sv_gameplayfix_fixedcheckwatertransition
+var float autocvar_cl_gameplayfix_fixedcheckwatertransition = 1;
+
 void Movetype_Physics_MatchTicrate(float tr, float sloppy);
 void Movetype_Physics_MatchServer(float sloppy);
 void Movetype_Physics_NoMatchServer();
index ce8b6dd7f9ecbe612a0aeb52d87650633d6228e7..8751cc0c5535c107d2e4de8b43d2f033c232e408 100644 (file)
@@ -225,64 +225,6 @@ void Ent_RainOrSnow()
                self.draw = Draw_Snow;
 }
 
-entity zcurve;
-void zcurveparticles(float effectnum, vector start, vector end, float end_dz, float speed, float depth)
-{
-       // end_dz:
-       //   IF IT WERE A STRAIGHT LINE, it'd end end_dz above end
-
-       vector mid;
-       mid = (start + end) * 0.5;
-
-       end_dz *= 0.25;
-       mid_z += end_dz;
-
-       --depth;
-       if(depth < 0 || normalize(mid - start) * normalize(end - start) > 0.999999)
-       // TODO make this a variable threshold
-       // currently: 0.081 degrees
-       // 0.99999 would be 0.256 degrees and is visible
-       {
-               zcurve.velocity = speed * normalize(end - start);
-               trailparticles(zcurve, effectnum, start, end);
-       }
-       else
-       {
-               zcurveparticles(effectnum, start, mid, end_dz, speed, depth);
-               zcurveparticles(effectnum, mid, end, end_dz, speed, depth);
-       }
-}
-
-void Net_ReadZCurveParticles()
-{
-       vector start, end;
-       float end_dz;
-       float effectnum, speed;
-
-       if(!zcurve)
-       {
-               zcurve = spawn();
-               zcurve.classname = "zcurve";
-       }
-
-       effectnum = ReadShort();
-
-       start_x = ReadCoord();
-       start_y = ReadCoord();
-       start_z = ReadCoord();
-
-       do
-       {
-               end_x = ReadCoord();
-               end_y = ReadCoord();
-               end_z = ReadCoord();
-               end_dz = ReadCoord();
-               speed = ReadShort();
-               zcurveparticles(effectnum, start, end, end_dz, 16 * (speed & 0x7FFF), 5); // at most 32 segments
-       }
-       while(!(speed & 0x8000));
-}
-
 void Net_ReadNexgunBeamParticle()
 {
        vector shotorg, endpos;
index 7784fc1f693fe2bb54674220bb47c4ace5f57162..ad5e23aa88335e382a221201828870ad848af471 100644 (file)
@@ -84,8 +84,8 @@ void skel_set_boneabs(float s, float bone, vector absorg)
 
        /*
        vector neworg = skel_get_boneabs(s, bone);
-       print(sprintf("ANG: want: %v, got: %v\n", absang, fixedvectoangles2(v_forward, v_up)));
-       print(sprintf("ORG: want: %v, got: %v\n", absorg, neworg));
+       printf("ANG: want: %v, got: %v\n", absang, fixedvectoangles2(v_forward, v_up));
+       printf("ORG: want: %v, got: %v\n", absorg, neworg);
        */
 }
 
@@ -150,8 +150,8 @@ void skeleton_from_frames(entity e, float is_dead)
                        e.lerpfrac3 = 0;
                        e.lerpfrac4 = savelerpfrac4 * 2;
                }
-               //print(sprintf("Run: bone %d to %d, type %d\n", firstbone + 1, bone, bonetype));
-               //print(sprintf("frame %d %d %d %d lerpfrac * %d %d %d\n", e.frame, e.frame2, e.frame3, e.frame4, e.lerpfrac, e.lerpfrac3, e.lerpfrac4));
+               //printf("Run: bone %d to %d, type %d\n", firstbone + 1, bone, bonetype);
+               //printf("frame %d %d %d %d lerpfrac * %d %d %d\n", e.frame, e.frame2, e.frame3, e.frame4, e.lerpfrac, e.lerpfrac3, e.lerpfrac4);
                skel_build(s, e, m, 0, firstbone + 1, bone);
        }
        e.lerpfrac = savelerpfrac;
index fa61033f653b48f75947c6b95ea7a2e062ae8f0b..b7281c562124b2c8dc0c20be64254d23095fa8da 100644 (file)
@@ -8,6 +8,7 @@ sys-post.qh
 Defs.qc
 ../dpdefs/keycodes.qc
 ../common/constants.qh
+../common/stats.qh
 
 ../warpzonelib/anglestransform.qh
 ../warpzonelib/mathlib.qh
@@ -16,6 +17,7 @@ Defs.qc
 
 ../common/teams.qh
 ../common/util.qh
+../common/buffs.qh
 ../common/test.qh
 ../common/counting.qh
 ../common/items.qh
@@ -29,6 +31,8 @@ Defs.qc
 ../common/animdecide.qh
 command/cl_cmd.qh
 
+../common/monsters/monsters.qh
+
 autocvars.qh
 
 ../common/notifications.qh // must be after autocvars
@@ -113,6 +117,10 @@ noise.qc
 ../common/urllib.qc
 command/cl_cmd.qc
 
+../common/monsters/monsters.qc
+
+../common/buffs.qc
+
 ../warpzonelib/anglestransform.qc
 ../warpzonelib/mathlib.qc
 ../warpzonelib/common.qc
index 52f6e2324b5ecd578a15b1556e9ce90279fefc45..8cdcdf470c18c47dd2a97e5508f334b5ab647116 100644 (file)
@@ -308,6 +308,9 @@ void Ent_Projectile()
                        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;
@@ -399,6 +402,12 @@ void Ent_Projectile()
                                self.scale = 1.5;
                                self.avelocity = randomvec() * 720;
                                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';
index b037d03d20cb35a4431315f87bc6ade863153b8b..52bf9190b5e0edb2c8aa26cc156d11a601295a2f 100644 (file)
@@ -54,20 +54,6 @@ string TranslateScoresLabel(string l)
        }
 }
 
-void MapVote_Draw();
-void HUD_FinaleOverlay()
-{
-       /*vector pos;
-       pos_x = (vid_conwidth - 1)/2;
-       pos_y = 16;
-       pos_z = 0;*/
-
-       //drawpic(pos, "gfx/finale", '0 0 0', '1 1 1', scoreboard_alpha_fg, DRAWFLAG_NORMAL);
-
-       //drawstring(pos, "END", hud_fontsize, '1 1 1', 1, DRAWFLAG_NORMAL);
-       MapVote_Draw();
-}
-
 void Cmd_HUD_SetFields(float argc);
 void HUD_InitScores()
 {
@@ -390,7 +376,7 @@ void Cmd_HUD_SetFields(float argc)
                        hud_field[hud_num_fields] = SP_PL;
                } else if(str == "kd" || str == "kdr" || str == "kdratio" || str == "k/d") {
                        hud_field[hud_num_fields] = SP_KDRATIO;
-               } else if(str == "sum" || str == "diff" || str == "f-d") {
+               } else if(str == "sum" || str == "diff" || str == "k-d") {
                        hud_field[hud_num_fields] = SP_SUM;
                } else if(str == "name" || str == "nick") {
                        hud_field[hud_num_fields] = SP_NAME;
@@ -410,7 +396,7 @@ void Cmd_HUD_SetFields(float argc)
                        else
                        {
                                if (!nocomplain)
-                                       print(sprintf("^1Error:^7 Unknown score field: '%s'\n", str));
+                                       printf("^1Error:^7 Unknown score field: '%s'\n", str);
                                continue;
                        }
 :found
@@ -481,7 +467,7 @@ void Cmd_HUD_SetFields(float argc)
                        hud_size[hud_num_fields] = stringwidth(hud_title[hud_num_fields], FALSE, hud_fontsize);
                        hud_field[hud_num_fields] = ps_secondary;
                        ++hud_num_fields;
-                       print(sprintf("fixed missing field '%s'\n", scores_label[ps_secondary]));
+                       printf("fixed missing field '%s'\n", scores_label[ps_secondary]);
                }
                if(!have_primary)
                {
@@ -490,7 +476,7 @@ void Cmd_HUD_SetFields(float argc)
                        hud_size[hud_num_fields] = stringwidth(hud_title[hud_num_fields], FALSE, hud_fontsize);
                        hud_field[hud_num_fields] = ps_primary;
                        ++hud_num_fields;
-                       print(sprintf("fixed missing field '%s'\n", scores_label[ps_primary]));
+                       printf("fixed missing field '%s'\n", scores_label[ps_primary]);
                }
        }
 
@@ -1087,15 +1073,23 @@ vector HUD_DrawKeyValue(vector pos, string key, string value) {
 
 vector HUD_DrawMapStats(vector pos, vector rgb, vector bg_size) {
        float stat_secrets_found, stat_secrets_total;
-       float rows;
+       float stat_monsters_killed, stat_monsters_total;
+       float rows = 0;
        string val;
+       
+       // get monster stats
+       stat_monsters_killed = getstatf(STAT_MONSTERS_KILLED);
+       stat_monsters_total = getstatf(STAT_MONSTERS_TOTAL);
 
        // get secrets stats
        stat_secrets_found = getstatf(STAT_SECRETS_FOUND);
        stat_secrets_total = getstatf(STAT_SECRETS_TOTAL);
 
        // get number of rows
-       rows = (stat_secrets_total ? 1 : 0);
+       if(stat_secrets_total)
+               rows += 1;
+       if(stat_monsters_total)
+               rows += 1;
 
        // if no rows, return
        if (!rows)
@@ -1116,9 +1110,19 @@ vector HUD_DrawMapStats(vector pos, vector rgb, vector bg_size) {
                drawpic_tiled(pos, "gfx/scoreboard/scoreboard_bg", bg_size, tmp, rgb, scoreboard_alpha_bg, DRAWFLAG_NORMAL);
        drawborderlines(autocvar_scoreboard_border_thickness, pos, tmp, '0 0 0', scoreboard_alpha_bg * 0.75, DRAWFLAG_NORMAL);
 
+       // draw monsters
+       if(stat_monsters_total)
+       {
+               val = sprintf("%d/%d", stat_monsters_killed, stat_monsters_total);
+               pos = HUD_DrawKeyValue(pos, _("Monsters killed:"), val);
+       }
+
        // draw secrets
-       val = sprintf("%d/%d", stat_secrets_found, stat_secrets_total);
-       pos = HUD_DrawKeyValue(pos, _("Secrets found:"), val);
+       if(stat_secrets_total)
+       {
+               val = sprintf("%d/%d", stat_secrets_found, stat_secrets_total);
+               pos = HUD_DrawKeyValue(pos, _("Secrets found:"), val);
+       }
 
        // update position
        pos_y += 1.25 * hud_fontsize_y;
@@ -1309,7 +1313,7 @@ void HUD_DrawScoreboard()
                }
                pos = HUD_DrawScoreboardRankings(pos, playerslots[player_localnum], rgb, bg_size);
        }
-       else if(autocvar_scoreboard_accuracy && spectatee_status != -1 && !warmup_stage) {
+       else if(autocvar_scoreboard_accuracy && spectatee_status == 0 && !warmup_stage && gametype != MAPINFO_TYPE_NEXBALL) {
                if(teamplay)
                        pos = HUD_DrawScoreboardAccuracyStats(pos, Team_ColorRGB(myteam), bg_size);
                else
@@ -1345,7 +1349,7 @@ void HUD_DrawScoreboard()
 
        // Print info string
        float tl, fl, ll;
-       str = sprintf(_("playing on ^2%s^7"), shortmapname);
+       str = sprintf(_("playing ^3%s^7 on ^2%s^7"), MapInfo_Type_ToText(gametype), shortmapname);
        tl = getstatf(STAT_TIMELIMIT);
        fl = getstatf(STAT_FRAGLIMIT);
        ll = getstatf(STAT_LEADLIMIT);
@@ -1403,6 +1407,7 @@ void HUD_DrawScoreboard()
 
        // print information about respawn status
        float respawn_time = getstatf(STAT_RESPAWN_TIME);
+       if(!intermission)
        if(respawn_time)
        {
                if(respawn_time < 0)
index c581fba428fe42ff44f203da50c94f7f612e8eb1..5deba45c41efe5b66636d4fdd5b65ebfb64c1111 100644 (file)
@@ -100,7 +100,11 @@ void Draw_ShowNames(entity ent)
                else if(time > ent.fadedelay) // fade in for enemies
                        ent.alpha = min(1, ent.alpha + SHOWNAMES_FADESPEED * frametime);
 
-               if(!ent.alpha)
+               // multiply by player alpha
+               if(!ent.sameteam || (ent.sv_entnum == player_localentnum))
+                       ent.alpha *= getplayeralpha(ent.sv_entnum-1);
+
+               if(ent.alpha < ALPHA_MIN_VISIBLE && gametype != MAPINFO_TYPE_CTS)
                        return;
 
                float dist;
index f30e77af424007e8aebd4d8805c1fea2e19359f8..fa116dc731625ccc8e99afba627bd59049681004 100644 (file)
@@ -91,7 +91,7 @@ void Net_TargetMusic()
                sound(e, CH_BGM_SINGLE, e.noise, 0, ATTEN_NONE);
                if(getsoundtime(e, CH_BGM_SINGLE) < 0)
                {
-                       print(sprintf(_("Cannot initialize sound %s\n"), e.noise));
+                       printf(_("Cannot initialize sound %s\n"), e.noise);
                        strunzone(e.noise);
                        e.noise = string_null;
                }
@@ -180,7 +180,7 @@ void Ent_ReadTriggerMusic()
                        sound(self, CH_BGM_SINGLE, self.noise, 0, ATTEN_NONE);
                        if(getsoundtime(self, CH_BGM_SINGLE) < 0)
                        {
-                               print(sprintf(_("Cannot initialize sound %s\n"), self.noise));
+                               printf(_("Cannot initialize sound %s\n"), self.noise);
                                strunzone(self.noise);
                                self.noise = string_null;
                        }
index 2088348b17527dd50317c5a464a4afa6896415a0..ba640068ef82e7db0495d4b23d0a06850da215de 100644 (file)
@@ -291,7 +291,7 @@ void turret_draw2d()
        if(rgb == '0 0 0')
        {
                self.teamradar_color = '1 0 1';
-               print(sprintf("WARNING: sprite of name %s has no color, using pink so you notice it\n", spriteimage));
+               printf("WARNING: sprite of name %s has no color, using pink so you notice it\n", spriteimage);
        }
 
        txt = self.netname;
index a22347fe3ca3f53ebea4acbd59eb01aa05bc684f..38ce1090a12aea33334f64478bb69dd33bc27172 100644 (file)
@@ -63,15 +63,15 @@ void tubasound(entity e, float restart)
                                snd1 = TUBA_STARTNOTE(e.tuba_instrument, e.note);
                }
 
-               sound7(e, CH_TUBA, snd1, e.cnt * f1, e.attenuate * autocvar_g_balance_tuba_attenuation, 100 * p1, 0);
+               sound7(e, CH_TUBA_SINGLE, snd1, e.cnt * f1, e.attenuate * autocvar_g_balance_tuba_attenuation, 100 * p1, 0);
                if(f2)
-                       sound7(e.enemy, CH_TUBA, snd2, e.cnt * f2, e.attenuate * autocvar_g_balance_tuba_attenuation, 100 * p2, 0);
+                       sound7(e.enemy, CH_TUBA_SINGLE, snd2, e.cnt * f2, e.attenuate * autocvar_g_balance_tuba_attenuation, 100 * p2, 0);
        }
        else
        {
                if(restart)
                        snd1 = TUBA_STARTNOTE(e.tuba_instrument, e.note);
-               sound(e, CH_TUBA, snd1, e.cnt, e.attenuate * autocvar_g_balance_tuba_attenuation);
+               sound(e, CH_TUBA_SINGLE, snd1, e.cnt, e.attenuate * autocvar_g_balance_tuba_attenuation);
        }
 }
 
@@ -86,10 +86,10 @@ void Ent_TubaNote_Think()
        self.nextthink = time;
        if(self.cnt <= 0)
        {
-               sound(self, CH_TUBA, "misc/null.wav", 0, 0);
+               sound(self, CH_TUBA_SINGLE, "misc/null.wav", 0, 0);
                if(self.enemy)
                {
-                       sound(self.enemy, CH_TUBA, "misc/null.wav", 0, 0);
+                       sound(self.enemy, CH_TUBA_SINGLE, "misc/null.wav", 0, 0);
                        remove(self.enemy);
                }
                remove(self);
index a3e856d1438197df091be171493946c75273a1c5..38d1579282eed5650d36d556b21a4d4041cb6206 100644 (file)
@@ -115,39 +115,31 @@ void drawhealthbar(vector org, float rot, float h, vector sz, vector hotspot, fl
 // returns location of sprite text
 vector drawspritearrow(vector o, float ang, vector rgb, float a, float t)
 {
-       float SQRT2 = 1.414;
-       float BORDER; BORDER = 1.5 * t;
-       float TSIZE; TSIZE = 8 * t;
-       float RLENGTH; RLENGTH = 8 * t;
-       float RWIDTH; RWIDTH = 4 * t;
-       float MLENGTH; MLENGTH = 4 * t;
+       float size   = 9.0 * t;
+       float border = 1.5 * t;
+       float margin = 4.0 * t;
+
+       float borderDiag = border * 1.414;
+       vector arrowX  = eX * size;
+       vector arrowY  = eY * (size+borderDiag);
+       vector borderX = eX * (size+borderDiag);
+       vector borderY = eY * (size+borderDiag+border);
 
        R_BeginPolygon("", DRAWFLAG_NORMAL);
-       R_PolygonVertex(o + rotate(eX * -(TSIZE + BORDER * (1 + SQRT2)) + eY * (TSIZE + BORDER), ang), '0 0 0', '0 0 0', a);
-       R_PolygonVertex(o + rotate(eX *  (TSIZE + BORDER * (1 + SQRT2)) + eY * (TSIZE + BORDER), ang), '0 0 0', '0 0 0', a);
-       R_PolygonVertex(o + rotate(eY * -(        BORDER *      SQRT2),                          ang), '0 0 0', '0 0 0', a);
-       R_EndPolygon();
-       R_BeginPolygon("", DRAWFLAG_NORMAL);
-       R_PolygonVertex(o + rotate(eX * -(RWIDTH + BORDER) + eY * (TSIZE           + BORDER), ang), '0 0 0', '0 0 0', a);
-       R_PolygonVertex(o + rotate(eX * -(RWIDTH + BORDER) + eY * (TSIZE + RLENGTH + BORDER), ang), '0 0 0', '0 0 0', a);
-       R_PolygonVertex(o + rotate(eX *  (RWIDTH + BORDER) + eY * (TSIZE + RLENGTH + BORDER), ang), '0 0 0', '0 0 0', a);
-       R_PolygonVertex(o + rotate(eX *  (RWIDTH + BORDER) + eY * (TSIZE           + BORDER), ang), '0 0 0', '0 0 0', a);
+       R_PolygonVertex(o,                                  '0 0 0', '0 0 0', a);
+       R_PolygonVertex(o + rotate(arrowY  - borderX, ang), '0 0 0', '0 0 0', a);
+       R_PolygonVertex(o + rotate(borderY - borderX, ang), '0 0 0', '0 0 0', a);
+       R_PolygonVertex(o + rotate(borderY + borderX, ang), '0 0 0', '0 0 0', a);
+       R_PolygonVertex(o + rotate(arrowY  + borderX, ang), '0 0 0', '0 0 0', a);
        R_EndPolygon();
 
        R_BeginPolygon("", DRAWFLAG_ADDITIVE);
-       R_PolygonVertex(o + rotate(eX * -TSIZE + eY * TSIZE, ang), '0 0 0', rgb, a);
-       R_PolygonVertex(o + rotate(eX *  TSIZE + eY * TSIZE, ang), '0 0 0', rgb, a);
-       R_PolygonVertex(o + rotate('0 0 0',                  ang), '0 0 0', rgb, a);
-       R_EndPolygon();
-       R_BeginPolygon("", DRAWFLAG_ADDITIVE);
-       R_PolygonVertex(o + rotate(eX * -RWIDTH + eY *  TSIZE,            ang), '0 0 0', rgb, a);
-       R_PolygonVertex(o + rotate(eX * -RWIDTH + eY * (TSIZE + RLENGTH), ang), '0 0 0', rgb, a);
-       R_PolygonVertex(o + rotate(eX *  RWIDTH + eY * (TSIZE + RLENGTH), ang), '0 0 0', rgb, a);
-       R_PolygonVertex(o + rotate(eX *  RWIDTH + eY *  TSIZE,            ang), '0 0 0', rgb, a);
+       R_PolygonVertex(o + rotate(eY * borderDiag, ang), '0 0 0', rgb, a);
+       R_PolygonVertex(o + rotate(arrowY - arrowX, ang), '0 0 0', rgb, a);
+       R_PolygonVertex(o + rotate(arrowY + arrowX, ang), '0 0 0', rgb, a);
        R_EndPolygon();
 
-       return
-               o + rotate(eY * (TSIZE + RLENGTH + MLENGTH), ang);
+       return o + rotate(eY * (borderDiag+size+margin), ang);
 }
 
 // returns location of sprite healthbar
@@ -249,6 +241,7 @@ vector spritelookupcolor(string s, vector def)
 }
 string spritelookuptext(string s)
 {
+       if(substring(s, 0, 5) == "buff-") { return Buff_PrettyName(Buff_Type_FromSprite(s)); }
        switch(s)
        {
                case "as-push": return _("Push");
@@ -285,6 +278,7 @@ string spritelookuptext(string s)
                case "race-finish": return _("Finish");
                case "race-start": return _("Start");
                case "race-start-finish": return (race_checkpointtime || race_mycheckpointtime) ? _("Finish") : _("Start");
+               case "goal": return _("Goal");
                case "nb-ball": return _("Ball");
                case "ka-ball": return _("Ball");
                case "ka-ballcarrier": return _("Ball carrier");
@@ -457,7 +451,7 @@ void Draw_WaypointSprite()
        if(rgb == '0 0 0')
        {
                self.teamradar_color = '1 0 1';
-               print(sprintf("WARNING: sprite of name %s has no color, using pink so you notice it\n", spriteimage));
+               printf("WARNING: sprite of name %s has no color, using pink so you notice it\n", spriteimage);
        }
 
        if(time - floor(time) > 0.5)
diff --git a/qcsrc/common/buffs.qc b/qcsrc/common/buffs.qc
new file mode 100644 (file)
index 0000000..2f8e0fc
--- /dev/null
@@ -0,0 +1,63 @@
+vector Buff_Color(float buff_id)
+{
+       entity e;
+       for(e = Buff_Type_first; e; e = e.enemy)
+               if(buff_id == e.items)
+                       return e.colormod;
+       return '1 1 1';
+}
+
+string Buff_PrettyName(float buff_id)
+{
+       entity e;
+       for(e = Buff_Type_first; e; e = e.enemy)
+               if(buff_id == e.items)
+                       return e.message;
+       return "";
+}
+
+string Buff_Name(float buff_id)
+{
+       entity e;
+       for(e = Buff_Type_first; e; e = e.enemy)
+               if(buff_id == e.items)
+                       return e.netname;
+       return "";
+}
+
+float Buff_Type_FromName(string buff_name)
+{
+       entity e;
+       for(e = Buff_Type_first; e; e = e.enemy)
+               if(buff_name == e.netname)
+                       return e.items;
+       return 0;
+}
+
+float Buff_Type_FromSprite(string buff_sprite)
+{
+       entity e;
+       for(e = Buff_Type_first; e; e = e.enemy)
+               if(buff_sprite == e.model2)
+                       return e.items;
+       return 0;
+}
+
+
+float Buff_Skin(float buff_id)
+{
+       entity e;
+       for(e = Buff_Type_first; e; e = e.enemy)
+               if(buff_id == e.items)
+                       return e.skin;
+       return 0;
+}
+
+string Buff_Sprite(float buff_id)
+{
+       entity e;
+       for(e = Buff_Type_first; e; e = e.enemy)
+               if(buff_id == e.items)
+                       return e.model2;
+       return "";
+}
diff --git a/qcsrc/common/buffs.qh b/qcsrc/common/buffs.qh
new file mode 100644 (file)
index 0000000..c29dad6
--- /dev/null
@@ -0,0 +1,93 @@
+entity Buff_Type_first;
+entity Buff_Type_last;
+.entity enemy; // internal next pointer
+
+var float BUFF_LAST = 1;
+
+.float items; // buff ID
+.string netname; // buff name
+.string message; // human readable name
+.vector colormod; // buff color
+.string model2; // buff sprite
+.float skin; // buff skin
+
+#define REGISTER_BUFF(hname,sname,NAME,bskin,bcolor) \
+       var float BUFF_##NAME; \
+       var entity Buff_Type##sname; \
+       void RegisterBuffs_##sname() \
+       { \
+               BUFF_##NAME = BUFF_LAST * 2; \
+               BUFF_LAST = BUFF_##NAME; \
+               Buff_Type##sname = spawn(); \
+               Buff_Type##sname.items = BUFF_##NAME; \
+               Buff_Type##sname.netname = #sname; \
+               Buff_Type##sname.message = hname; \
+               Buff_Type##sname.skin = bskin; \
+               Buff_Type##sname.colormod = bcolor; \
+               Buff_Type##sname.model2 = strzone(strcat("buff-", #sname)); \
+               if(!Buff_Type_first) \
+                       Buff_Type_first = Buff_Type##sname; \
+               if(Buff_Type_last) \
+                       Buff_Type_last.enemy = Buff_Type##sname; \
+               Buff_Type_last = Buff_Type##sname; \
+       } \
+       ACCUMULATE_FUNCTION(RegisterBuffs, RegisterBuffs_##sname)
+
+REGISTER_BUFF(_("Ammo"),ammo,AMMO,3,'0.2 1 0.2');
+REGISTER_BUFF(_("Resistance"),resistance,RESISTANCE,0,'0.3 0.2 1');
+REGISTER_BUFF(_("Speed"),speed,SPEED,9,'1 1 0.2');
+REGISTER_BUFF(_("Medic"),medic,MEDIC,1,'1 0.3 1');
+REGISTER_BUFF(_("Bash"),bash,BASH,5,'1 0.4 0');
+REGISTER_BUFF(_("Vampire"),vampire,VAMPIRE,2,'1 0.15 0');
+REGISTER_BUFF(_("Disability"),disability,DISABILITY,7,'0.66 0.66 0.73');
+REGISTER_BUFF(_("Vengeance"),vengeance,VENGEANCE,15,'0.55 0.5 1');
+REGISTER_BUFF(_("Jump"),jump,JUMP,10,'0.7 0.2 1');
+REGISTER_BUFF(_("Flight"),flight,FLIGHT,11,'1 0.2 0.5');
+REGISTER_BUFF(_("Invisible"),invisible,INVISIBLE,12,'0.9 0.9 0.9');
+#undef REGISTER_BUFF
+
+#ifdef SVQC
+.float buffs;
+void buff_Init(entity ent);
+void buff_Init_Compat(entity ent, float replacement);
+
+#define BUFF_SPAWNFUNC(e,b,t) void spawnfunc_item_buff_##e() { self.buffs = b; self.team = t; buff_Init(self); }
+#define BUFF_SPAWNFUNC_Q3TA_COMPAT(o,r) void spawnfunc_item_##o() { buff_Init_Compat(self,r); }
+#define BUFF_SPAWNFUNCS(e,b)                         \
+        BUFF_SPAWNFUNC(e,           b,  0)           \
+        BUFF_SPAWNFUNC(e##_team1,   b,  NUM_TEAM_1) \
+        BUFF_SPAWNFUNC(e##_team2,   b,  NUM_TEAM_2) \
+        BUFF_SPAWNFUNC(e##_team3,   b,  NUM_TEAM_3) \
+        BUFF_SPAWNFUNC(e##_team4,   b,  NUM_TEAM_4) 
+
+BUFF_SPAWNFUNCS(resistance,            BUFF_RESISTANCE)
+BUFF_SPAWNFUNCS(ammo,                  BUFF_AMMO)
+BUFF_SPAWNFUNCS(speed,                 BUFF_SPEED)
+BUFF_SPAWNFUNCS(medic,                 BUFF_MEDIC)
+BUFF_SPAWNFUNCS(bash,                  BUFF_BASH)
+BUFF_SPAWNFUNCS(vampire,               BUFF_VAMPIRE)
+BUFF_SPAWNFUNCS(disability,            BUFF_DISABILITY)
+BUFF_SPAWNFUNCS(vengeance,             BUFF_VENGEANCE)
+BUFF_SPAWNFUNCS(jump,                  BUFF_JUMP)
+BUFF_SPAWNFUNCS(flight,                        BUFF_FLIGHT)
+BUFF_SPAWNFUNCS(invisible,             BUFF_INVISIBLE)
+BUFF_SPAWNFUNCS(random,                        0)
+
+BUFF_SPAWNFUNC_Q3TA_COMPAT(doubler,    BUFF_MEDIC)
+BUFF_SPAWNFUNC_Q3TA_COMPAT(resistance, BUFF_RESISTANCE)
+BUFF_SPAWNFUNC_Q3TA_COMPAT(scout,      BUFF_SPEED)
+BUFF_SPAWNFUNC_Q3TA_COMPAT(ammoregen,  BUFF_AMMO)
+
+// actually Q3
+BUFF_SPAWNFUNC_Q3TA_COMPAT(haste,      BUFF_SPEED)
+BUFF_SPAWNFUNC_Q3TA_COMPAT(invis,      BUFF_INVISIBLE)
+BUFF_SPAWNFUNC_Q3TA_COMPAT(medic,      BUFF_MEDIC)
+#endif
+
+vector Buff_Color(float buff_id);
+string Buff_PrettyName(float buff_id);
+string Buff_Name(float buff_id);
+float Buff_Type_FromName(string buff_name);
+float Buff_Type_FromSprite(string buff_sprite);
+float Buff_Skin(float buff_id);
+string Buff_Sprite(float buff_id);
index 5e8accbd2912ece956d6e9bc36cb1e0092b03afd..08b0b69ddffcedd8b52840e40aa601d739d990cb 100644 (file)
@@ -28,7 +28,7 @@ void Curl_URI_Get_Callback(float id, float status, string data)
        do_cvar = curl_uri_get_cvar[i];
        if(status != 0)
        {
-               print(sprintf(_("error: status is %d\n"), status));
+               printf(_("error: status is %d\n"), status);
                if(do_cvar)
                        strunzone(do_cvar);
                return;
@@ -252,12 +252,12 @@ void GenericCommand_dumpnotifs(float request)
                        if(fh >= 0)
                        {
                                Dump_Notifications(fh, alsoprint);
-                               print(sprintf("Dumping notifications... File located in ^2data/data/%s^7.\n", filename));
+                               printf("Dumping notifications... File located in ^2data/data/%s^7.\n", filename);
                                fclose(fh);
                        }
                        else
                        {
-                               print(sprintf("^1Error: ^7Could not open file '%s'!\n", filename));
+                               printf("^1Error: ^7Could not open file '%s'!\n", filename);
                        }
                        #else
                        print(_("Notification dump command only works with cl_cmd and sv_cmd.\n"));
@@ -433,7 +433,7 @@ void GenericCommand_restartnotifs(float request)
                case CMD_REQUEST_COMMAND:
                {
                        #ifndef MENUQC
-                       print(sprintf(
+                       printf(
                                strcat(
                                        "Restart_Notifications(): Restarting %d notifications... ",
                                        "Counts: MSG_ANNCE = %d, MSG_INFO = %d, MSG_CENTER = %d, MSG_MULTI = %d, MSG_CHOICE = %d\n"
@@ -450,7 +450,7 @@ void GenericCommand_restartnotifs(float request)
                                NOTIF_CENTER_COUNT,
                                NOTIF_MULTI_COUNT,
                                NOTIF_CHOICE_COUNT
-                       ));
+                       );
                        Destroy_All_Notifications();
                        CALL_ACCUMULATED_FUNCTION(RegisterNotifications);
                        #else
index e539dfe8c45a7679c147d20e67f282af6ca3e188..7c8e9b35d32ec342abc38aa5860edac3edef9433 100644 (file)
@@ -30,7 +30,6 @@ const float AS_FLOAT = 8;
 
 const float TE_CSQC_PICTURE = 100;
 const float TE_CSQC_RACE = 101;
-const float TE_CSQC_ZCURVEPARTICLES = 102;
 const float TE_CSQC_NEXGUNBEAMPARTICLE = 103;
 const float TE_CSQC_LIGHTNINGARC = 104;
 const float TE_CSQC_TEAMNAGGER = 105;
@@ -140,75 +139,6 @@ const float CVAR_READONLY = 4;
 ///////////////////////////
 // csqc communication stuff
 
-const float STAT_KH_KEYS = 32;
-const float STAT_CTF_STATE = 33;
-const float STAT_WEAPONS = 35;
-const float STAT_SWITCHWEAPON = 36;
-const float STAT_GAMESTARTTIME = 37;
-const float STAT_STRENGTH_FINISHED = 38;
-const float STAT_INVINCIBLE_FINISHED = 39;
-const float STAT_PRESSED_KEYS = 42;
-const float STAT_ALLOW_OLDNEXBEAM = 43; // this stat could later contain some other bits of info, like, more server-side particle config
-const float STAT_FUEL = 44;
-const float STAT_NB_METERSTART = 45;
-const float STAT_SHOTORG = 46; // compressShotOrigin
-const float STAT_LEADLIMIT = 47;
-const float STAT_WEAPON_CLIPLOAD = 48;
-const float STAT_WEAPON_CLIPSIZE = 49;
-const float STAT_NEX_CHARGE = 50;
-const float STAT_LAST_PICKUP = 51;
-const float STAT_HUD = 52;
-const float STAT_NEX_CHARGEPOOL = 53;
-const float STAT_HIT_TIME = 54;
-const float STAT_TYPEHIT_TIME = 55;
-const float STAT_LAYED_MINES = 56;
-const float STAT_HAGAR_LOAD = 57;
-const float STAT_SWITCHINGWEAPON = 58;
-const float STAT_SUPERWEAPONS_FINISHED = 59;
-
-const float STAT_VEHICLESTAT_HEALTH = 60;
-const float STAT_VEHICLESTAT_SHIELD = 61;
-const float STAT_VEHICLESTAT_ENERGY = 62;
-const float STAT_VEHICLESTAT_AMMO1 = 63;
-const float STAT_VEHICLESTAT_RELOAD1 = 64;
-const float STAT_VEHICLESTAT_AMMO2 = 65;
-const float STAT_VEHICLESTAT_RELOAD2 = 66;
-
-const float STAT_SECRETS_TOTAL = 70;
-const float STAT_SECRETS_FOUND = 71;
-
-const float STAT_RESPAWN_TIME = 72;
-const float STAT_ROUNDSTARTTIME = 73;
-
-const float STAT_WEAPONS2 = 74;
-const float STAT_WEAPONS3 = 75;
-
-// mod stats (1xx)
-const float STAT_REDALIVE = 100;
-const float STAT_BLUEALIVE = 101;
-const float STAT_YELLOWALIVE = 102;
-const float STAT_PINKALIVE = 103;
-
-// freeze tag
-const float STAT_FROZEN = 104;
-const float STAT_REVIVE_PROGRESS = 105;
-
-// domination
-const float STAT_DOM_TOTAL_PPS = 99;
-const float STAT_DOM_PPS_RED = 100;
-const float STAT_DOM_PPS_BLUE = 101;
-const float STAT_DOM_PPS_YELLOW = 102;
-const float STAT_DOM_PPS_PINK = 103;
-
-//const float STAT_SPIDERBOT_AIM 53 // compressShotOrigin
-//const float STAT_SPIDERBOT_TARGET 54 // compressShotOrigin
-
-// see DP source, quakedef.h
-const float STAT_MOVEVARS_AIRSPEEDLIMIT_NONQW = 222;
-const float STAT_MOVEVARS_AIRSTRAFEACCEL_QW = 223;
-const float STAT_MOVEVARS_MAXSPEED = 244;
-const float STAT_MOVEVARS_AIRACCEL_QW = 254;
-
 const float CTF_STATE_ATTACK = 1;
 const float CTF_STATE_DEFEND = 2;
 const float CTF_STATE_COMMANDER = 3;
@@ -228,7 +158,7 @@ const vector eZ = '0 0 1';
 
 // moved that here so the client knows the max.
 // # of maps, I'll use arrays for them :P
-#define MAPVOTE_COUNT 10
+#define MAPVOTE_COUNT 30
 
 /**
  * Lower scores are better (e.g. suicides)
@@ -278,23 +208,6 @@ const vector eZ = '0 0 1';
 #define SP_SCORE 3
 // game mode specific indices are not in common/, but in server/scores_rules.qc!
 
-#ifdef COMPAT_XON010_CHANNELS
-const float CH_INFO = 0; // only on world and csqc
-const float CH_TRIGGER = 0; // only on players; compat: FALSELY CONTROLLED BY "Info"
-const float CH_WEAPON_A = 1; // only on players and entities
-const float CH_WEAPON_SINGLE = 5; // only on players and entities
-const float CH_VOICE = 2; // only on players
-const float CH_BGM_SINGLE = 2; // only on csqc; compat: FALSELY CONTROLLED BY "Voice"
-const float CH_AMBIENT = 2; // only on csqc; compat: FALSELY CONTROLLED BY "Voice"
-const float CH_TRIGGER_SINGLE = 3; // only on players, entities, csqc
-const float CH_SHOTS = 4; // only on players, entities, csqc
-const float CH_SHOTS_SINGLE = 4; // only on players, entities, csqc
-const float CH_WEAPON_B = 5; // only on players and entities
-const float CH_PAIN = 6; // only on players and csqc
-const float CH_PAIN_SINGLE = 6; // only on players and csqc
-const float CH_PLAYER = 7; // only on players and entities
-const float CH_TUBA = 5; // only on csqc
-#else
 const float CH_INFO = 0;
 const float CH_TRIGGER = -3;
 const float CH_WEAPON_A = -1;
@@ -309,8 +222,8 @@ const float CH_WEAPON_B = -1;
 const float CH_PAIN = -6;
 const float CH_PAIN_SINGLE = 6;
 const float CH_PLAYER = -7;
-const float CH_TUBA = 5;
-#endif
+const float CH_PLAYER_SINGLE = 7;
+const float CH_TUBA_SINGLE = 5;
 
 const float ATTEN_NONE = 0;
 const float ATTEN_MIN = 0.015625;
@@ -355,6 +268,9 @@ const float PROJECTILE_WAKICANNON = 29;
 const float PROJECTILE_BUMBLE_GUN = 30;
 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;
@@ -450,3 +366,8 @@ noref var vector autocvar_sv_player_headsize = '24 24 12';
 #define URI_GET_UPDATENOTIFICATION 33
 #define URI_GET_URLLIB 128
 #define URI_GET_URLLIB_END 191
+
+// gametype votes
+#define GTV_AVAILABLE 0
+// for later use in per-map gametype filtering
+#define GTV_FORBIDDEN 2
index 4f96f7500eb96fe1faa8a584bdfdbd34de932cf3..595cad7eea387401d507ee998b6031b663f91e1d 100644 (file)
@@ -4,6 +4,7 @@
 
 #define DEATHTYPES \
        DEATHTYPE(DEATH_AUTOTEAMCHANGE,         DEATH_SELF_AUTOTEAMCHANGE,          NO_MSG,                        DEATH_SPECIAL_START) \
+       DEATHTYPE(DEATH_BUFF_VENGEANCE,         NO_MSG,                             DEATH_MURDER_VENGEANCE,        NORMAL_POS) \
        DEATHTYPE(DEATH_CAMP,                   DEATH_SELF_CAMP,                    NO_MSG,                        NORMAL_POS) \
        DEATHTYPE(DEATH_CHEAT,                  DEATH_SELF_CHEAT,                   DEATH_MURDER_CHEAT,            NORMAL_POS) \
        DEATHTYPE(DEATH_CUSTOM,                 DEATH_SELF_CUSTOM,                  NO_MSG,                        NORMAL_POS) \
        DEATHTYPE(DEATH_KILL,                   DEATH_SELF_SUICIDE,                 NO_MSG,                        NORMAL_POS) \
        DEATHTYPE(DEATH_LAVA,                   DEATH_SELF_LAVA,                    DEATH_MURDER_LAVA,             NORMAL_POS) \
        DEATHTYPE(DEATH_MIRRORDAMAGE,           DEATH_SELF_BETRAYAL,                NO_MSG,                        NORMAL_POS) \
+       DEATHTYPE(DEATH_MONSTER_MAGE,                   DEATH_SELF_MON_MAGE,                            DEATH_MURDER_MONSTER,              DEATH_MONSTER_FIRST) \
+       DEATHTYPE(DEATH_MONSTER_SHAMBLER_CLAW,  DEATH_SELF_MON_SHAMBLER_CLAW,           DEATH_MURDER_MONSTER,              NORMAL_POS) \
+       DEATHTYPE(DEATH_MONSTER_SHAMBLER_SMASH, DEATH_SELF_MON_SHAMBLER_SMASH,          DEATH_MURDER_MONSTER,              NORMAL_POS) \
+       DEATHTYPE(DEATH_MONSTER_SHAMBLER_ZAP,   DEATH_SELF_MON_SHAMBLER_ZAP,            DEATH_MURDER_MONSTER,              NORMAL_POS) \
+       DEATHTYPE(DEATH_MONSTER_SPIDER,                 DEATH_SELF_MON_SPIDER,                          DEATH_MURDER_MONSTER,              NORMAL_POS) \
+       DEATHTYPE(DEATH_MONSTER_WYVERN,                 DEATH_SELF_MON_WYVERN,                          DEATH_MURDER_MONSTER,              NORMAL_POS) \
+       DEATHTYPE(DEATH_MONSTER_ZOMBIE_JUMP,    DEATH_SELF_MON_ZOMBIE_JUMP,                     DEATH_MURDER_MONSTER,              NORMAL_POS) \
+       DEATHTYPE(DEATH_MONSTER_ZOMBIE_MELEE,   DEATH_SELF_MON_ZOMBIE_MELEE,            DEATH_MURDER_MONSTER,              DEATH_MONSTER_LAST) \
        DEATHTYPE(DEATH_NADE,                                   DEATH_SELF_NADE,                                        DEATH_MURDER_NADE,                         NORMAL_POS) \
        DEATHTYPE(DEATH_NOAMMO,                 DEATH_SELF_NOAMMO,                  NO_MSG,                        NORMAL_POS) \
        DEATHTYPE(DEATH_ROT,                    DEATH_SELF_ROT,                     NO_MSG,                        NORMAL_POS) \
@@ -86,6 +95,7 @@ DEATHTYPES
 #define DEATH_ISSPECIAL(t)            ((t) >= DEATH_SPECIAL_START)
 #define DEATH_ISVEHICLE(t)            ((t) >= DEATH_VHFIRST && (t) <= DEATH_VHLAST)
 #define DEATH_ISTURRET(t)             ((t) >= DEATH_TURRET_FIRST && (t) <= DEATH_TURRET_LAST)
+#define DEATH_ISMONSTER(t)            ((t) >= DEATH_MONSTER_FIRST && (t) <= DEATH_MONSTER_LAST)
 #define DEATH_WEAPONOFWEAPONDEATH(t)  ((t) & DEATH_WEAPONMASK)
 #define DEATH_ISWEAPON(t,w)           (!DEATH_ISSPECIAL(t) && DEATH_WEAPONOFWEAPONDEATH(t) == (w))
 #define DEATH_WEAPONOF(t)             (DEATH_ISSPECIAL(t) ? 0 : DEATH_WEAPONOFWEAPONDEATH(t))
index df71154be885faea83287a56d6a131da2746ca21..3fddd70d23187131d433c72d00bbe87691bc5887 100644 (file)
@@ -51,11 +51,11 @@ vector damage_explosion_calcpush(vector explosion_f, vector target_v, float spee
        v = explosion_calcpush(explosion_f * speedfactor, m, target_v, 1, 0);
        // the factor we then get is:
        //   1
-       print(sprintf("MASS: %f\nv: %v -> %v\nENERGY BEFORE == %f + %f = %f\nENERGY AFTER >= %f\n",
+       printf("MASS: %f\nv: %v -> %v\nENERGY BEFORE == %f + %f = %f\nENERGY AFTER >= %f\n",
                m,
                target_v, target_v + v,
                target_v * target_v, m * explosion_f * speedfactor * explosion_f * speedfactor, target_v * target_v + m * explosion_f * speedfactor * explosion_f * speedfactor,
-               (target_v + v) * (target_v + v)));
+               (target_v + v) * (target_v + v));
        return v;
 #endif
        return explosion_f * explosion_calcpush_getmultiplier(explosion_f * speedfactor, target_v);
index 35cc00232bfd329eab32beeb5907f6707852f7aa..264c9ca73bd56070b6a41d69e0a359ea0f1503db 100644 (file)
@@ -51,8 +51,6 @@ const float   IT_AMMO                      = 3968; // IT_SHELLS | IT_NAILS | IT_
 const float   IT_PICKUPMASK                = 51; // IT_FUEL_REGEN | IT_JETPACK | IT_UNLIMITED_AMMO; // strength and invincible are handled separately
 const float   IT_UNLIMITED_AMMO            = 3; // IT_UNLIMITED_SUPERWEAPONS | IT_UNLIMITED_WEAPON_AMMO;
 
-const float AMMO_COUNT = 4; // amount of ammo types to show in the inventory panel
-
 // variables:
 string weaponorder_byid;
 
index 21263719b32d035697b8d12cb13fe4926cde81c0..b060b375f08df8f4aeaa7bd1349ab17b4d3ea434 100644 (file)
@@ -313,6 +313,8 @@ float _MapInfo_Generate(string pFilename) // 0: failure, 1: ok ent, 2: ok bsp
                                        MapInfo_Map_supportedGametypes |= MAPINFO_TYPE_CTF;
                                else if(v == "team_CTF_blueflag")
                                        MapInfo_Map_supportedGametypes |= MAPINFO_TYPE_CTF;
+                               else if(v == "invasion_spawnpoint")
+                                       MapInfo_Map_supportedGametypes |= MAPINFO_TYPE_INVASION;
                                else if(v == "target_assault_roundend")
                                        MapInfo_Map_supportedGametypes |= MAPINFO_TYPE_ASSAULT;
                                else if(v == "onslaught_generator")
@@ -341,6 +343,8 @@ float _MapInfo_Generate(string pFilename) // 0: failure, 1: ok ent, 2: ok bsp
                                        MapInfo_Map_supportedFeatures |= MAPINFO_FEATURE_TURRETS;
                                else if(startsWith(v, "vehicle_"))
                                        MapInfo_Map_supportedFeatures |= MAPINFO_FEATURE_VEHICLES;
+                               else if(startsWith(v, "monster_"))
+                                       MapInfo_Map_supportedFeatures |= MAPINFO_FEATURE_MONSTERS;
                                else if(v == "target_music" || v == "trigger_music")
                                        _MapInfo_Map_worldspawn_music = string_null; // don't use regular BGM
                        }
@@ -600,14 +604,11 @@ void _MapInfo_Map_ApplyGametypeEx(string s, float pWantedType, float pThisType)
                p = strstrofs(sa, "=", 0);
                if(p < 0)
                {
-                       k = "timelimit";
-                       v = s;
-               }
-               else
-               {
-                       k = substring(sa, 0, p);
-                       v = substring(sa, p+1, -1);
+                       print("Invalid gametype setting in mapinfo for gametype ", MapInfo_Type_ToString(pWantedType), ": ", sa, "\n");
+                       continue;
                }
+               k = substring(sa, 0, p);
+               v = substring(sa, p+1, -1);
 
                if(k == "timelimit")
                {
@@ -632,6 +633,7 @@ void _MapInfo_Map_ApplyGametypeEx(string s, float pWantedType, float pThisType)
                        cvar_set("g_freezetag_teams", v);
                        cvar_set("g_keyhunt_teams", v);
                        cvar_set("g_domination_default_teams", v);
+                       cvar_set("g_invasion_teams", v);
                }
                else if(k == "qualifying_timelimit")
                {
@@ -643,7 +645,7 @@ void _MapInfo_Map_ApplyGametypeEx(string s, float pWantedType, float pThisType)
                }
                else
                {
-                       print("Invalid gametype key in mapinfo: ", k, "\n");
+                       print("Invalid gametype setting in mapinfo for gametype ", MapInfo_Type_ToString(pWantedType), ": ", sa, "\n");
                }
        }
 
@@ -680,6 +682,12 @@ float MapInfo_Type_FromString(string t)
                t = "ka";
                print("'. Should use '", t, "'.\n");
        }
+       if(t == "invasion")
+       {
+               print("MapInfo_Type_FromString (probably ", MapInfo_Map_bspname, "): using deprecated name '", t);
+               t = "inv";
+               print("'. Should use '", t, "'.\n");
+       }
        if(t == "all")
                return MAPINFO_TYPE_ALL;
        for(e = MapInfo_Type_first; e; e = e.enemy)
@@ -688,6 +696,15 @@ float MapInfo_Type_FromString(string t)
        return 0;
 }
 
+string MapInfo_Type_Description(float t)
+{
+       entity e;
+       for(e = MapInfo_Type_first; e; e = e.enemy)
+               if(t == e.items)
+                       return e.gametype_description;
+       return "";
+}
+
 string MapInfo_Type_ToString(float t)
 {
        entity e;
@@ -973,6 +990,7 @@ float MapInfo_Get_ByName_NoFallbacks(string pFilename, float pAllowGenerate, flo
                        if     (t == "weapons") MapInfo_Map_supportedFeatures |= MAPINFO_FEATURE_WEAPONS;
                        else if(t == "turrets") MapInfo_Map_supportedFeatures |= MAPINFO_FEATURE_TURRETS;
                        else if(t == "vehicles") MapInfo_Map_supportedFeatures |= MAPINFO_FEATURE_VEHICLES;
+                       else if(t == "monsters") MapInfo_Map_supportedFeatures |= MAPINFO_FEATURE_MONSTERS;
                        else if(t == "new_toys") MapInfo_Map_supportedFeatures |= MAPINFO_FEATURE_WEAPONS;
                        else
                                dprint("Map ", pFilename, " supports unknown feature ", t, ", ignored\n");
@@ -1256,14 +1274,14 @@ void MapInfo_LoadMap(string s, float reinit)
                localcmd(strcat("\nchangelevel ", s, "\n"));
 }
 
-string MapInfo_ListAllowedMaps(float pRequiredFlags, float pForbiddenFlags)
+string MapInfo_ListAllowedMaps(float type, float pRequiredFlags, float pForbiddenFlags)
 {
        string out;
        float i;
 
        // to make absolutely sure:
        MapInfo_Enumerate();
-       MapInfo_FilterGametype(MapInfo_CurrentGametype(), MapInfo_CurrentFeatures(), pRequiredFlags, pForbiddenFlags, 0);
+       MapInfo_FilterGametype(type, MapInfo_CurrentFeatures(), pRequiredFlags, pForbiddenFlags, 0);
 
        out = "";
        for(i = 0; i < MapInfo_count; ++i)
index eb93b8de817df90c268d3d4fa51b589bb68a6f18..aa1d8fd5e7fbd3c05756aed46131fb0bcd2cdd61 100644 (file)
@@ -8,8 +8,9 @@ entity MapInfo_Type_last;
 .string mdl; // game type short name
 .string message; // human readable name
 .string model2; // game type defaults
+.string gametype_description; // game type description
 
-#define REGISTER_GAMETYPE(hname,sname,g_name,NAME,defaults) \
+#define REGISTER_GAMETYPE(hname,sname,g_name,NAME,defaults,gdescription) \
        var float MAPINFO_TYPE_##NAME; \
        var entity MapInfo_Type##g_name; \
        void RegisterGametypes_##g_name() \
@@ -22,6 +23,7 @@ entity MapInfo_Type_last;
                MapInfo_Type##g_name.mdl = #sname; \
                MapInfo_Type##g_name.message = hname; \
                MapInfo_Type##g_name.model2 = defaults; \
+               MapInfo_Type##g_name.gametype_description = gdescription; \
                if(!MapInfo_Type_first) \
                        MapInfo_Type_first = MapInfo_Type##g_name; \
                if(MapInfo_Type_last) \
@@ -33,51 +35,55 @@ entity MapInfo_Type_last;
 #define IS_GAMETYPE(NAME) \
        (MapInfo_LoadedGametype == MAPINFO_TYPE_##NAME)
 
-REGISTER_GAMETYPE(_("Deathmatch"),dm,g_dm,DEATHMATCH,"timelimit=20 pointlimit=30 leadlimit=0");
+REGISTER_GAMETYPE(_("Deathmatch"),dm,g_dm,DEATHMATCH,"timelimit=20 pointlimit=30 leadlimit=0",_("Kill all enemies"));
 #define g_dm IS_GAMETYPE(DEATHMATCH)
 
-REGISTER_GAMETYPE(_("Last Man Standing"),lms,g_lms,LMS,"timelimit=20 lives=9 leadlimit=0");
+REGISTER_GAMETYPE(_("Last Man Standing"),lms,g_lms,LMS,"timelimit=20 lives=9 leadlimit=0",_("Survive and kill until the enemies have no lives left"));
 #define g_lms IS_GAMETYPE(LMS)
 
-REGISTER_GAMETYPE(_("Race"),rc,g_race,RACE,"timelimit=20 qualifying_timelimit=5 laplimit=7 teamlaplimit=15 leadlimit=0");
+REGISTER_GAMETYPE(_("Race"),rc,g_race,RACE,"timelimit=20 qualifying_timelimit=5 laplimit=7 teamlaplimit=15 leadlimit=0",_("Race against other players to the finish line"));
 #define g_race IS_GAMETYPE(RACE)
 
-REGISTER_GAMETYPE(_("Race CTS"),cts,g_cts,CTS,"timelimit=20 skill=-1");
+REGISTER_GAMETYPE(_("Race CTS"),cts,g_cts,CTS,"timelimit=20 skill=-1",_("Race for fastest time"));
 #define g_cts IS_GAMETYPE(CTS)
 
-REGISTER_GAMETYPE(_("Team Deathmatch"),tdm,g_tdm,TEAM_DEATHMATCH,"timelimit=20 pointlimit=50 teams=2 leadlimit=0");
+REGISTER_GAMETYPE(_("Team Deathmatch"),tdm,g_tdm,TEAM_DEATHMATCH,"timelimit=20 pointlimit=50 teams=2 leadlimit=0",_("Kill all enemy teammates"));
 #define g_tdm IS_GAMETYPE(TEAM_DEATHMATCH)
 
-REGISTER_GAMETYPE(_("Capture the Flag"),ctf,g_ctf,CTF,"timelimit=20 caplimit=10 leadlimit=0");
+REGISTER_GAMETYPE(_("Capture the Flag"),ctf,g_ctf,CTF,"timelimit=20 caplimit=10 leadlimit=0",_("Find and bring the enemy flag to your base to capture it"));
 #define g_ctf IS_GAMETYPE(CTF)
 
-REGISTER_GAMETYPE(_("Clan Arena"),ca,g_ca,CA,"timelimit=20 pointlimit=10 leadlimit=0");
+REGISTER_GAMETYPE(_("Clan Arena"),ca,g_ca,CA,"timelimit=20 pointlimit=10 leadlimit=0",_("Kill all enemy teammates to win the round"));
 #define g_ca IS_GAMETYPE(CA)
 
-REGISTER_GAMETYPE(_("Domination"),dom,g_domination,DOMINATION,"timelimit=20 pointlimit=200 teams=2 leadlimit=0");
+REGISTER_GAMETYPE(_("Domination"),dom,g_domination,DOMINATION,"timelimit=20 pointlimit=200 teams=2 leadlimit=0",_("Capture all the control points to win"));
 #define g_domination IS_GAMETYPE(DOMINATION)
 
-REGISTER_GAMETYPE(_("Key Hunt"),kh,g_keyhunt,KEYHUNT,"timelimit=20 pointlimit=1000 teams=3 leadlimit=0");
+REGISTER_GAMETYPE(_("Key Hunt"),kh,g_keyhunt,KEYHUNT,"timelimit=20 pointlimit=1000 teams=3 leadlimit=0",_("Gather all the keys to win the round"));
 #define g_keyhunt IS_GAMETYPE(KEYHUNT)
 
-REGISTER_GAMETYPE(_("Assault"),as,g_assault,ASSAULT,"timelimit=20");
+REGISTER_GAMETYPE(_("Assault"),as,g_assault,ASSAULT,"timelimit=20",_("Destroy obstacles to find and destroy the enemy power core before time runs out"));
 #define g_assault IS_GAMETYPE(ASSAULT)
 
-REGISTER_GAMETYPE(_("Onslaught"),ons,g_onslaught,ONSLAUGHT,"timelimit=20");
+REGISTER_GAMETYPE(_("Onslaught"),ons,g_onslaught,ONSLAUGHT,"timelimit=20",_("Capture control points to reach and destroy the enemy generator"));
 #define g_onslaught IS_GAMETYPE(ONSLAUGHT)
 
-REGISTER_GAMETYPE(_("Nexball"),nb,g_nexball,NEXBALL,"timelimit=20 pointlimit=5 leadlimit=0");
+REGISTER_GAMETYPE(_("Nexball"),nb,g_nexball,NEXBALL,"timelimit=20 pointlimit=5 leadlimit=0",_("XonSports"));
 #define g_nexball IS_GAMETYPE(NEXBALL)
 
-REGISTER_GAMETYPE(_("Freeze Tag"),ft,g_freezetag,FREEZETAG,"timelimit=20 pointlimit=10 teams=2 leadlimit=0");
+REGISTER_GAMETYPE(_("Freeze Tag"),ft,g_freezetag,FREEZETAG,"timelimit=20 pointlimit=10 teams=2 leadlimit=0",_("Kill enemies to freeze them, stand next to teammates to revive them"));
 #define g_freezetag IS_GAMETYPE(FREEZETAG)
 
-REGISTER_GAMETYPE(_("Keepaway"),ka,g_keepaway,KEEPAWAY,"timelimit=20 pointlimit=30");
+REGISTER_GAMETYPE(_("Keepaway"),ka,g_keepaway,KEEPAWAY,"timelimit=20 pointlimit=30",_("Hold the ball to get points for kills"));
 #define g_keepaway IS_GAMETYPE(KEEPAWAY)
 
+REGISTER_GAMETYPE(_("Invasion"),inv,g_invasion,INVASION,"pointlimit=50 teams=0",_("Survive against waves of monsters"));
+#define g_invasion IS_GAMETYPE(INVASION)
+
 const float MAPINFO_FEATURE_WEAPONS       = 1; // not defined for minstagib-only maps
 const float MAPINFO_FEATURE_VEHICLES      = 2;
 const float MAPINFO_FEATURE_TURRETS       = 4;
+const float MAPINFO_FEATURE_MONSTERS      = 8;
 
 const float MAPINFO_FLAG_HIDDEN           = 1; // not in lsmaps/menu/vcall/etc., can just be changed to manually
 const float MAPINFO_FLAG_FORBIDDEN        = 2; // don't even allow the map by a cvar setting that allows hidden maps
@@ -130,13 +136,14 @@ float MapInfo_CheckMap(string s); // returns 0 if the map can't be played with t
 void MapInfo_LoadMap(string s, float reinit);
 
 // list all maps for the current game type
-string MapInfo_ListAllowedMaps(float pFlagsRequired, float pFlagsForbidden);
+string MapInfo_ListAllowedMaps(float type, float pFlagsRequired, float pFlagsForbidden);
 // list all allowed maps (for any game type)
 string MapInfo_ListAllAllowedMaps(float pFlagsRequired, float pFlagsForbidden);
 
 // gets a gametype from a string
 string _MapInfo_GetDefaultEx(float t);
 float MapInfo_Type_FromString(string t);
+string MapInfo_Type_Description(float t);
 string MapInfo_Type_ToString(float t);
 string MapInfo_Type_ToText(float t);
 void MapInfo_SwitchGameType(float t);
diff --git a/qcsrc/common/monsters/all.qh b/qcsrc/common/monsters/all.qh
new file mode 100644 (file)
index 0000000..d30f298
--- /dev/null
@@ -0,0 +1,5 @@
+#include "monster/zombie.qc"
+#include "monster/spider.qc"
+#include "monster/mage.qc"
+#include "monster/wyvern.qc"
+#include "monster/shambler.qc"
diff --git a/qcsrc/common/monsters/monster/mage.qc b/qcsrc/common/monsters/monster/mage.qc
new file mode 100644 (file)
index 0000000..bda48d5
--- /dev/null
@@ -0,0 +1,422 @@
+#ifdef REGISTER_MONSTER
+REGISTER_MONSTER(
+/* MON_##id   */ MAGE,
+/* function   */ m_mage,
+/* spawnflags */ MON_FLAG_MELEE | MON_FLAG_RANGED,
+/* mins,maxs  */ '-36 -36 -24', '36 36 50',
+/* model      */ "mage.dpm",
+/* netname    */ "mage",
+/* fullname   */ _("Mage")
+);
+
+#else
+#ifdef SVQC
+float autocvar_g_monster_mage_health;
+float autocvar_g_monster_mage_attack_spike_damage;
+float autocvar_g_monster_mage_attack_spike_radius;
+float autocvar_g_monster_mage_attack_spike_delay;
+float autocvar_g_monster_mage_attack_spike_accel;
+float autocvar_g_monster_mage_attack_spike_decel;
+float autocvar_g_monster_mage_attack_spike_turnrate;
+float autocvar_g_monster_mage_attack_spike_speed_max;
+float autocvar_g_monster_mage_attack_spike_smart;
+float autocvar_g_monster_mage_attack_spike_smart_trace_min;
+float autocvar_g_monster_mage_attack_spike_smart_trace_max;
+float autocvar_g_monster_mage_attack_spike_smart_mindist;
+float autocvar_g_monster_mage_attack_push_damage;
+float autocvar_g_monster_mage_attack_push_radius;
+float autocvar_g_monster_mage_attack_push_delay;
+float autocvar_g_monster_mage_attack_push_force;
+float autocvar_g_monster_mage_heal_self;
+float autocvar_g_monster_mage_heal_allies;
+float autocvar_g_monster_mage_heal_minhealth;
+float autocvar_g_monster_mage_heal_range;
+float autocvar_g_monster_mage_heal_delay;
+float autocvar_g_monster_mage_shield_time;
+float autocvar_g_monster_mage_shield_delay;
+float autocvar_g_monster_mage_shield_blockpercent;
+float autocvar_g_monster_mage_speed_stop;
+float autocvar_g_monster_mage_speed_run;
+float autocvar_g_monster_mage_speed_walk;
+
+const float mage_anim_idle             = 0;
+const float mage_anim_walk             = 1;
+const float mage_anim_attack   = 2;
+const float mage_anim_pain             = 3;
+const float mage_anim_death            = 4;
+const float mage_anim_run              = 5;
+
+void() mage_heal;
+void() mage_shield;
+
+.entity mage_spike;
+.float shield_ltime;
+
+float friend_needshelp(entity e)
+{
+       if(e == world)
+               return FALSE;
+       if(e.health <= 0)
+               return FALSE;
+       if(DIFF_TEAM(e, self) && e != self.monster_owner)
+               return FALSE;
+       if(e.freezetag_frozen)
+               return FALSE;
+       if(!IS_PLAYER(e))
+               return ((e.flags & FL_MONSTER) && e.health < e.max_health);
+       if(e.items & IT_INVINCIBLE)
+               return FALSE;
+
+       switch(self.skin)
+       {
+               case 0: return (e.health < autocvar_g_balance_health_regenstable);
+               case 1: return ((e.ammo_cells && e.ammo_cells < g_pickup_cells_max) || (e.ammo_rockets && e.ammo_rockets < g_pickup_rockets_max) || (e.ammo_nails && e.ammo_nails < g_pickup_nails_max) || (e.ammo_shells && e.ammo_shells < g_pickup_shells_max));
+               case 2: return (e.armorvalue < autocvar_g_balance_armor_regenstable);
+               case 3: return (e.health > 0);
+       }
+
+       return FALSE;
+}
+
+void mage_spike_explode()
+{
+       self.event_damage = func_null;
+
+       sound(self, CH_SHOTS, "weapons/grenade_impact.wav", VOL_BASE, ATTEN_NORM);
+
+       self.realowner.mage_spike = world;
+
+       pointparticles(particleeffectnum("explosion_small"), self.origin, '0 0 0', 1);
+       RadiusDamage (self, self.realowner, (autocvar_g_monster_mage_attack_spike_damage), (autocvar_g_monster_mage_attack_spike_damage) * 0.5, (autocvar_g_monster_mage_attack_spike_radius), world, 0, DEATH_MONSTER_MAGE, other);
+
+       remove (self);
+}
+
+void mage_spike_touch()
+{
+       PROJECTILE_TOUCH;
+
+       mage_spike_explode();
+}
+
+// copied from W_Seeker_Think
+void mage_spike_think()
+{
+       entity e;
+       vector desireddir, olddir, newdir, eorg;
+       float turnrate;
+       float dist;
+       float spd;
+
+       if (time > self.ltime || self.enemy.health <= 0 || self.owner.health <= 0)
+       {
+               self.projectiledeathtype |= HITTYPE_SPLASH;
+               mage_spike_explode();
+       }
+
+       spd = vlen(self.velocity);
+       spd = bound(
+               spd - (autocvar_g_monster_mage_attack_spike_decel) * frametime,
+               (autocvar_g_monster_mage_attack_spike_speed_max),
+               spd + (autocvar_g_monster_mage_attack_spike_accel) * frametime
+       );
+
+       if (self.enemy != world)
+               if (self.enemy.takedamage != DAMAGE_AIM || self.enemy.deadflag != DEAD_NO)
+                       self.enemy = world;
+
+       if (self.enemy != world)
+       {
+               e                               = self.enemy;
+               eorg                    = 0.5 * (e.absmin + e.absmax);
+               turnrate                = (autocvar_g_monster_mage_attack_spike_turnrate); // how fast to turn
+               desireddir              = normalize(eorg - self.origin);
+               olddir                  = normalize(self.velocity); // get my current direction
+               dist                    = vlen(eorg - self.origin);
+
+               // Do evasive maneuvers for world objects? ( this should be a cpu hog. :P )
+               if ((autocvar_g_monster_mage_attack_spike_smart) && (dist > (autocvar_g_monster_mage_attack_spike_smart_mindist)))
+               {
+                       // Is it a better idea (shorter distance) to trace to the target itself?
+                       if ( vlen(self.origin + olddir * self.wait) < dist)
+                               traceline(self.origin, self.origin + olddir * self.wait, FALSE, self);
+                       else
+                               traceline(self.origin, eorg, FALSE, self);
+
+                       // Setup adaptive tracelength
+                       self.wait = bound((autocvar_g_monster_mage_attack_spike_smart_trace_min), vlen(self.origin - trace_endpos), self.wait = (autocvar_g_monster_mage_attack_spike_smart_trace_max));
+
+                       // Calc how important it is that we turn and add this to the desierd (enemy) dir.
+                       desireddir = normalize(((trace_plane_normal * (1 - trace_fraction)) + (desireddir * trace_fraction)) * 0.5);
+               }
+
+               newdir = normalize(olddir + desireddir * turnrate); // take the average of the 2 directions; not the best method but simple & easy
+               self.velocity = newdir * spd; // make me fly in the new direction at my flight speed
+       }
+       else
+               dist = 0;
+
+       ///////////////
+
+       //self.angles = vectoangles(self.velocity);                     // turn model in the new flight direction
+       self.nextthink = time;// + 0.05; // csqc projectiles
+       UpdateCSQCProjectile(self);
+}
+
+void mage_attack_spike()
+{
+       entity missile;
+       vector dir = normalize((self.enemy.origin + '0 0 10') - self.origin);
+
+       makevectors(self.angles);
+
+       missile = spawn ();
+       missile.owner = missile.realowner = self;
+       missile.think = mage_spike_think;
+       missile.ltime = time + 7;
+       missile.nextthink = time;
+       missile.solid = SOLID_BBOX;
+       missile.movetype = MOVETYPE_FLYMISSILE;
+       missile.flags = FL_PROJECTILE;
+       setorigin(missile, self.origin + v_forward * 14 + '0 0 30' + v_right * -14);
+       setsize (missile, '0 0 0', '0 0 0');
+       missile.velocity = dir * 400;
+       missile.avelocity = '300 300 300';
+       missile.enemy = self.enemy;
+       missile.touch = mage_spike_touch;
+
+       self.mage_spike = missile;
+
+       CSQCProjectile(missile, TRUE, PROJECTILE_MAGE_SPIKE, TRUE);
+}
+
+void mage_heal()
+{
+       entity head;
+       float washealed = FALSE;
+
+       for(head = findradius(self.origin, (autocvar_g_monster_mage_heal_range)); head; head = head.chain) if(friend_needshelp(head))
+       {
+               washealed = TRUE;
+               string fx = "";
+               if(IS_PLAYER(head))
+               {
+                       switch(self.skin)
+                       {
+                               case 0:
+                                       if(head.health < autocvar_g_balance_health_regenstable) head.health = bound(0, head.health + (autocvar_g_monster_mage_heal_allies), autocvar_g_balance_health_regenstable);
+                                       fx = "healing_fx";
+                                       break;
+                               case 1:
+                                       if(head.ammo_cells) head.ammo_cells = bound(head.ammo_cells, head.ammo_cells + 1, g_pickup_cells_max);
+                                       if(head.ammo_rockets) head.ammo_rockets = bound(head.ammo_rockets, head.ammo_rockets + 1, g_pickup_rockets_max);
+                                       if(head.ammo_shells) head.ammo_shells = bound(head.ammo_shells, head.ammo_shells + 2, g_pickup_shells_max);
+                                       if(head.ammo_nails) head.ammo_nails = bound(head.ammo_nails, head.ammo_nails + 5, g_pickup_nails_max);
+                                       fx = "ammoregen_fx";
+                                       break;
+                               case 2:
+                                       if(head.armorvalue < autocvar_g_balance_armor_regenstable)
+                                       {
+                                               head.armorvalue = bound(0, head.armorvalue + (autocvar_g_monster_mage_heal_allies), autocvar_g_balance_armor_regenstable);
+                                               fx = "armorrepair_fx";
+                                       }
+                                       break;
+                               case 3:
+                                       head.health = bound(0, head.health - ((head == self)  ? (autocvar_g_monster_mage_heal_self) : (autocvar_g_monster_mage_heal_allies)), autocvar_g_balance_health_regenstable);
+                                       fx = "rage";
+                                       break;
+                       }
+
+                       pointparticles(particleeffectnum(fx), head.origin, '0 0 0', 1);
+               }
+               else
+               {
+                       pointparticles(particleeffectnum("healing_fx"), head.origin, '0 0 0', 1);
+                       head.health = bound(0, head.health + (autocvar_g_monster_mage_heal_allies), head.max_health);
+                       if(!(head.spawnflags & MONSTERFLAG_INVINCIBLE))
+                               WaypointSprite_UpdateHealth(head.sprite, head.health);
+               }
+       }
+
+       if(washealed)
+       {
+               self.frame = mage_anim_attack;
+               self.attack_finished_single = time + (autocvar_g_monster_mage_heal_delay);
+       }
+}
+
+void mage_push()
+{
+       sound(self, CH_SHOTS, "weapons/tagexp1.wav", 1, ATTEN_NORM);
+       RadiusDamage (self, self, (autocvar_g_monster_mage_attack_push_damage), (autocvar_g_monster_mage_attack_push_damage), (autocvar_g_monster_mage_attack_push_radius), world, (autocvar_g_monster_mage_attack_push_force), DEATH_MONSTER_MAGE, self.enemy);
+       pointparticles(particleeffectnum("TE_EXPLOSION"), self.origin, '0 0 0', 1);
+
+       self.frame = mage_anim_attack;
+       self.attack_finished_single = time + (autocvar_g_monster_mage_attack_push_delay);
+}
+
+void mage_teleport()
+{
+       if(vlen(self.enemy.origin - self.origin) >= 500)
+               return;
+
+       makevectors(self.enemy.angles);
+       tracebox(self.enemy.origin + ((v_forward * -1) * 200), self.mins, self.maxs, self.origin, MOVE_NOMONSTERS, self);
+
+       if(trace_fraction < 1)
+               return;
+
+       pointparticles(particleeffectnum("spawn_event_neutral"), self.origin, '0 0 0', 1);
+       setorigin(self, self.enemy.origin + ((v_forward * -1) * 200));
+
+       self.attack_finished_single = time + 0.2;
+}
+
+void mage_shield_remove()
+{
+       self.effects &= ~(EF_ADDITIVE | EF_BLUE);
+       self.armorvalue = 0;
+       self.m_armor_blockpercent = autocvar_g_monsters_armor_blockpercent;
+}
+
+void mage_shield()
+{
+       self.effects |= (EF_ADDITIVE | EF_BLUE);
+       self.lastshielded = time + (autocvar_g_monster_mage_shield_delay);
+       self.m_armor_blockpercent = (autocvar_g_monster_mage_shield_blockpercent);
+       self.armorvalue = self.health;
+       self.shield_ltime = time + (autocvar_g_monster_mage_shield_time);
+       self.frame = mage_anim_attack;
+       self.attack_finished_single = time + 1;
+}
+
+float mage_attack(float attack_type)
+{
+       switch(attack_type)
+       {
+               case MONSTER_ATTACK_MELEE:
+               {
+                       if(random() <= 0.7)
+                       {
+                               mage_push();
+                               return TRUE;
+                       }
+
+                       return FALSE;
+               }
+               case MONSTER_ATTACK_RANGED:
+               {
+                       if(!self.mage_spike)
+                       {
+                               if(random() <= 0.4)
+                               {
+                                       mage_teleport();
+                                       return TRUE;
+                               }
+                               else
+                               {
+                                       self.frame = mage_anim_attack;
+                                       self.attack_finished_single = time + (autocvar_g_monster_mage_attack_spike_delay);
+                                       defer(0.2, mage_attack_spike);
+                                       return TRUE;
+                               }
+                       }
+
+                       if(self.mage_spike)
+                               return TRUE;
+                       else
+                               return FALSE;
+               }
+       }
+
+       return FALSE;
+}
+
+void spawnfunc_monster_mage()
+{
+       self.classname = "monster_mage";
+
+       if(!monster_initialize(MON_MAGE)) { remove(self); return; }
+}
+
+// compatibility with old spawns
+void spawnfunc_monster_shalrath() { spawnfunc_monster_mage(); }
+
+float m_mage(float req)
+{
+       switch(req)
+       {
+               case MR_THINK:
+               {
+                       entity head;
+                       float need_help = FALSE;
+
+                       for(head = findradius(self.origin, (autocvar_g_monster_mage_heal_range)); head; head = head.chain)
+                       if(head != self)
+                       if(friend_needshelp(head))
+                       {
+                               need_help = TRUE;
+                               break;
+                       }
+
+                       if(self.health < (autocvar_g_monster_mage_heal_minhealth) || need_help)
+                       if(time >= self.attack_finished_single)
+                       if(random() < 0.5)
+                               mage_heal();
+
+                       if(time >= self.shield_ltime && self.armorvalue)
+                               mage_shield_remove();
+
+                       if(self.enemy)
+                       if(self.health < self.max_health)
+                       if(time >= self.lastshielded)
+                       if(random() < 0.5)
+                               mage_shield();
+
+                       monster_move((autocvar_g_monster_mage_speed_run), (autocvar_g_monster_mage_speed_walk), (autocvar_g_monster_mage_speed_stop), mage_anim_walk, mage_anim_run, mage_anim_idle);
+                       return TRUE;
+               }
+               case MR_DEATH:
+               {
+                       self.frame = mage_anim_death;
+                       return TRUE;
+               }
+               case MR_SETUP:
+               {
+                       if(!self.health) self.health = (autocvar_g_monster_mage_health);
+
+                       self.monster_loot = spawnfunc_item_health_large;
+                       self.monster_attackfunc = mage_attack;
+                       self.frame = mage_anim_walk;
+
+                       return TRUE;
+               }
+               case MR_PRECACHE:
+               {
+                       precache_model("models/monsters/mage.dpm");
+                       precache_sound ("weapons/grenade_impact.wav");
+                       precache_sound ("weapons/tagexp1.wav");
+                       return TRUE;
+               }
+       }
+
+       return TRUE;
+}
+
+#endif // SVQC
+#ifdef CSQC
+float m_mage(float req)
+{
+       switch(req)
+       {
+               case MR_PRECACHE:
+               {
+                       return TRUE;
+               }
+       }
+
+       return TRUE;
+}
+
+#endif // CSQC
+#endif // REGISTER_MONSTER
diff --git a/qcsrc/common/monsters/monster/shambler.qc b/qcsrc/common/monsters/monster/shambler.qc
new file mode 100644 (file)
index 0000000..0e82fe8
--- /dev/null
@@ -0,0 +1,255 @@
+#ifdef REGISTER_MONSTER
+REGISTER_MONSTER(
+/* MON_##id   */ SHAMBLER,
+/* function   */ m_shambler,
+/* spawnflags */ MONSTER_SIZE_BROKEN | MON_FLAG_SUPERMONSTER | MON_FLAG_MELEE | MON_FLAG_RANGED,
+/* mins,maxs  */ '-41 -41 -31', '41 41 65',
+/* model      */ "shambler.mdl",
+/* netname    */ "shambler",
+/* fullname   */ _("Shambler")
+);
+
+#else
+#ifdef SVQC
+float autocvar_g_monster_shambler_health;
+float autocvar_g_monster_shambler_attack_smash_damage;
+float autocvar_g_monster_shambler_attack_claw_damage;
+float autocvar_g_monster_shambler_attack_lightning_damage;
+float autocvar_g_monster_shambler_attack_lightning_force;
+float autocvar_g_monster_shambler_attack_lightning_radius;
+float autocvar_g_monster_shambler_attack_lightning_radius_zap;
+float autocvar_g_monster_shambler_attack_lightning_speed;
+float autocvar_g_monster_shambler_attack_lightning_speed_up;
+float autocvar_g_monster_shambler_speed_stop;
+float autocvar_g_monster_shambler_speed_run;
+float autocvar_g_monster_shambler_speed_walk;
+
+const float shambler_anim_stand                = 0;
+const float shambler_anim_walk         = 1;
+const float shambler_anim_run          = 2;
+const float shambler_anim_smash                = 3;
+const float shambler_anim_swingr       = 4;
+const float shambler_anim_swingl       = 5;
+const float shambler_anim_magic                = 6;
+const float shambler_anim_pain         = 7;
+const float shambler_anim_death                = 8;
+
+.float shambler_lastattack; // delay attacks separately
+
+void shambler_smash()
+{
+       makevectors(self.angles);
+       pointparticles(particleeffectnum("explosion_medium"), (self.origin + (v_forward * 150)) - ('0 0 1' * self.maxs_z), '0 0 0', 1);
+       sound(self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTEN_NORM);
+
+       tracebox(self.origin + v_forward * 50, self.mins * 0.5, self.maxs * 0.5, self.origin + v_forward * 500, MOVE_NORMAL, self);
+
+       if(trace_ent.takedamage)
+               Damage(trace_ent, self, self, (autocvar_g_monster_shambler_attack_smash_damage) * Monster_SkillModifier(), DEATH_MONSTER_SHAMBLER_SMASH, trace_ent.origin, normalize(trace_ent.origin - self.origin));
+}
+
+void shambler_swing()
+{
+       float r = (random() < 0.5);
+       monster_melee(self.enemy, (autocvar_g_monster_shambler_attack_claw_damage), ((r) ? shambler_anim_swingr : shambler_anim_swingl), self.attack_range, 0.8, DEATH_MONSTER_SHAMBLER_CLAW, TRUE);
+       if(r)
+       {
+               defer(0.5, shambler_swing);
+               self.attack_finished_single += 0.5;
+       }
+}
+
+void shambler_lightning_explode()
+{
+       entity head;
+
+       sound(self, CH_SHOTS, "weapons/electro_impact.wav", VOL_BASE, ATTEN_NORM);
+       pointparticles(particleeffectnum("electro_impact"), '0 0 0', '0 0 0', 1);
+
+       self.event_damage = func_null;
+       self.takedamage = DAMAGE_NO;
+       self.movetype = MOVETYPE_NONE;
+       self.velocity = '0 0 0';
+
+       if(self.movetype == MOVETYPE_NONE)
+               self.velocity = self.oldvelocity;
+
+       RadiusDamage (self, self.realowner, (autocvar_g_monster_shambler_attack_lightning_damage), (autocvar_g_monster_shambler_attack_lightning_damage), (autocvar_g_monster_shambler_attack_lightning_radius), world, (autocvar_g_monster_shambler_attack_lightning_force), self.projectiledeathtype, other);
+
+       for(head = findradius(self.origin, (autocvar_g_monster_shambler_attack_lightning_radius_zap)); head; head = head.chain) if(head != self.realowner) if(head.takedamage)
+       {
+               te_csqc_lightningarc(self.origin, head.origin);
+               Damage(head, self, self.realowner, (autocvar_g_monster_shambler_attack_lightning_damage) * Monster_SkillModifier(), DEATH_MONSTER_SHAMBLER_ZAP, head.origin, '0 0 0');
+       }
+
+       self.think = SUB_Remove;
+       self.nextthink = time + 0.2;
+}
+
+void shambler_lightning_damage(entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
+{
+       if (self.health <= 0)
+               return;
+
+       if (!W_CheckProjectileDamage(inflictor.realowner, self.realowner, deathtype, -1)) // no exceptions
+               return; // g_projectiles_damage says to halt
+
+       self.health = self.health - damage;
+
+       if (self.health <= 0)
+               W_PrepareExplosionByDamage(attacker, self.use);
+}
+
+void shambler_lightning_touch()
+{
+       PROJECTILE_TOUCH;
+
+       self.use ();
+}
+
+void shambler_lightning_think()
+{
+       self.nextthink = time;
+       if (time > self.cnt)
+       {
+               other = world;
+               shambler_lightning_explode();
+               return;
+       }
+}
+
+void shambler_lightning()
+{
+       entity gren;
+
+       monster_makevectors(self.enemy);
+
+       gren = spawn ();
+       gren.owner = gren.realowner = self;
+       gren.classname = "grenade";
+       gren.bot_dodge = TRUE;
+       gren.bot_dodgerating = (autocvar_g_monster_shambler_attack_lightning_damage);
+       gren.movetype = MOVETYPE_BOUNCE;
+       PROJECTILE_MAKETRIGGER(gren);
+       gren.projectiledeathtype = DEATH_MONSTER_SHAMBLER_ZAP;
+       setorigin(gren, CENTER_OR_VIEWOFS(self));
+       setsize(gren, '-8 -8 -8', '8 8 8');
+       gren.scale = 2.5;
+
+       gren.cnt = time + 5;
+       gren.nextthink = time;
+       gren.think = shambler_lightning_think;
+       gren.use = shambler_lightning_explode;
+       gren.touch = shambler_lightning_touch;
+
+       gren.takedamage = DAMAGE_YES;
+       gren.health = 50;
+       gren.damageforcescale = 0;
+       gren.event_damage = shambler_lightning_damage;
+       gren.damagedbycontents = TRUE;
+       gren.missile_flags = MIF_SPLASH | MIF_ARC;
+       W_SetupProjectileVelocityEx(gren, v_forward, v_up, (autocvar_g_monster_shambler_attack_lightning_speed), (autocvar_g_monster_shambler_attack_lightning_speed_up), 0, 0, FALSE);
+
+       gren.angles = vectoangles (gren.velocity);
+       gren.flags = FL_PROJECTILE;
+
+       CSQCProjectile(gren, TRUE, PROJECTILE_SHAMBLER_LIGHTNING, TRUE);
+}
+
+float shambler_attack(float attack_type)
+{
+       switch(attack_type)
+       {
+               case MONSTER_ATTACK_MELEE:
+               {
+                       shambler_swing();
+                       return TRUE;
+               }
+               case MONSTER_ATTACK_RANGED:
+               {
+                       if(time >= self.shambler_lastattack) // shambler doesn't attack much
+                       if(self.flags & FL_ONGROUND)
+                       if(random() <= 0.5 && vlen(self.enemy.origin - self.origin) <= 500)
+                       {
+                               self.frame = shambler_anim_smash;
+                               defer(0.7, shambler_smash);
+                               self.attack_finished_single = time + 1.1;
+                               self.shambler_lastattack = time + 3;
+                               return TRUE;
+                       }
+                       else if(random() <= 0.1) // small chance, don't want this spammed
+                       {
+                               self.frame = shambler_anim_magic;
+                               self.attack_finished_single = time + 1.1;
+                               self.shambler_lastattack = time + 3;
+                               defer(0.6, shambler_lightning);
+                               return TRUE;
+                       }
+
+                       return FALSE;
+               }
+       }
+
+       return FALSE;
+}
+
+void spawnfunc_monster_shambler()
+{
+       self.classname = "monster_shambler";
+
+       if(!monster_initialize(MON_SHAMBLER)) { remove(self); return; }
+}
+
+float m_shambler(float req)
+{
+       switch(req)
+       {
+               case MR_THINK:
+               {
+                       monster_move((autocvar_g_monster_shambler_speed_run), (autocvar_g_monster_shambler_speed_walk), (autocvar_g_monster_shambler_speed_stop), shambler_anim_run, shambler_anim_walk, shambler_anim_stand);
+                       return TRUE;
+               }
+               case MR_DEATH:
+               {
+                       self.frame = shambler_anim_death;
+                       return TRUE;
+               }
+               case MR_SETUP:
+               {
+                       if(!self.health) self.health = (autocvar_g_monster_shambler_health);
+                       if(!self.attack_range) self.attack_range = 150;
+
+                       self.monster_loot = spawnfunc_item_health_mega;
+                       self.monster_attackfunc = shambler_attack;
+                       self.frame = shambler_anim_stand;
+                       self.weapon = WEP_NEX;
+
+                       return TRUE;
+               }
+               case MR_PRECACHE:
+               {
+                       precache_model("models/monsters/shambler.mdl");
+                       return TRUE;
+               }
+       }
+
+       return TRUE;
+}
+
+#endif // SVQC
+#ifdef CSQC
+float m_shambler(float req)
+{
+       switch(req)
+       {
+               case MR_PRECACHE:
+               {
+                       return TRUE;
+               }
+       }
+
+       return TRUE;
+}
+
+#endif // CSQC
+#endif // REGISTER_MONSTER
diff --git a/qcsrc/common/monsters/monster/spider.qc b/qcsrc/common/monsters/monster/spider.qc
new file mode 100644 (file)
index 0000000..7e35b8b
--- /dev/null
@@ -0,0 +1,177 @@
+#ifdef REGISTER_MONSTER
+REGISTER_MONSTER(
+/* MON_##id   */ SPIDER,
+/* function   */ m_spider,
+/* spawnflags */ MON_FLAG_MELEE | MON_FLAG_RANGED,
+/* mins,maxs  */ '-18 -18 -25', '18 18 30',
+/* model      */ "spider.dpm",
+/* netname    */ "spider",
+/* fullname   */ _("Spider")
+);
+
+#else
+#ifdef SVQC
+float autocvar_g_monster_spider_health;
+float autocvar_g_monster_spider_attack_bite_damage;
+float autocvar_g_monster_spider_attack_bite_delay;
+float autocvar_g_monster_spider_attack_web_damagetime;
+float autocvar_g_monster_spider_attack_web_speed;
+float autocvar_g_monster_spider_attack_web_speed_up;
+float autocvar_g_monster_spider_attack_web_delay;
+float autocvar_g_monster_spider_speed_stop;
+float autocvar_g_monster_spider_speed_run;
+float autocvar_g_monster_spider_speed_walk;
+
+const float spider_anim_idle           = 0;
+const float spider_anim_walk           = 1;
+const float spider_anim_attack         = 2;
+const float spider_anim_attack2                = 3;
+
+.float spider_web_delay;
+
+void spider_web_explode()
+{
+       entity e;
+       if(self)
+       {
+               pointparticles(particleeffectnum("electro_impact"), self.origin, '0 0 0', 1);
+               RadiusDamage(self, self.realowner, 0, 0, 25, world, 25, self.projectiledeathtype, world);
+
+               for(e = findradius(self.origin, 25); e; e = e.chain) if(e != self) if(e.takedamage && e.deadflag == DEAD_NO) if(e.health > 0) if(e.monsterid != MON_SPIDER)
+                       e.spider_slowness = time + (autocvar_g_monster_spider_attack_web_damagetime);
+
+               remove(self);
+       }
+}
+
+void spider_web_touch()
+{
+       PROJECTILE_TOUCH;
+
+       spider_web_explode();
+}
+
+void spider_shootweb()
+{
+       monster_makevectors(self.enemy);
+
+       sound(self, CH_SHOTS, "weapons/electro_fire2.wav", VOL_BASE, ATTEN_NORM);
+
+       entity proj = spawn ();
+       proj.classname = "plasma";
+       proj.owner = proj.realowner = self;
+       proj.use = spider_web_touch;
+       proj.think = adaptor_think2use_hittype_splash;
+       proj.bot_dodge = TRUE;
+       proj.bot_dodgerating = 0;
+       proj.nextthink = time + 5;
+       PROJECTILE_MAKETRIGGER(proj);
+       proj.projectiledeathtype = DEATH_MONSTER_SPIDER;
+       setorigin(proj, CENTER_OR_VIEWOFS(self));
+
+       //proj.glow_size = 50;
+       //proj.glow_color = 45;
+       proj.movetype = MOVETYPE_BOUNCE;
+       W_SetupProjectileVelocityEx(proj, v_forward, v_up, (autocvar_g_monster_spider_attack_web_speed), (autocvar_g_monster_spider_attack_web_speed_up), 0, 0, FALSE);
+       proj.touch = spider_web_touch;
+       setsize(proj, '-4 -4 -4', '4 4 4');
+       proj.takedamage = DAMAGE_NO;
+       proj.damageforcescale = 0;
+       proj.health = 500;
+       proj.event_damage = func_null;
+       proj.flags = FL_PROJECTILE;
+       proj.damagedbycontents = TRUE;
+
+       proj.bouncefactor = 0.3;
+       proj.bouncestop = 0.05;
+       proj.missile_flags = MIF_SPLASH | MIF_ARC;
+
+       CSQCProjectile(proj, TRUE, PROJECTILE_ELECTRO, TRUE);
+}
+
+float spider_attack(float attack_type)
+{
+       switch(attack_type)
+       {
+               case MONSTER_ATTACK_MELEE:
+               {
+                       return monster_melee(self.enemy, (autocvar_g_monster_spider_attack_bite_damage), ((random() > 0.5) ? spider_anim_attack : spider_anim_attack2), self.attack_range, (autocvar_g_monster_spider_attack_bite_delay), DEATH_MONSTER_SPIDER, TRUE);
+               }
+               case MONSTER_ATTACK_RANGED:
+               {
+                       if(time >= self.spider_web_delay)
+                       {
+                               self.frame = spider_anim_attack2;
+                               self.attack_finished_single = time + (autocvar_g_monster_spider_attack_web_delay);
+                               spider_shootweb();
+                               self.spider_web_delay = time + 3;
+                               return TRUE;
+                       }
+
+                       return FALSE;
+               }
+       }
+
+       return FALSE;
+}
+
+void spawnfunc_monster_spider()
+{
+       self.classname = "monster_spider";
+
+       if(!monster_initialize(MON_SPIDER)) { remove(self); return; }
+}
+
+float m_spider(float req)
+{
+       switch(req)
+       {
+               case MR_THINK:
+               {
+                       monster_move((autocvar_g_monster_spider_speed_run), (autocvar_g_monster_spider_speed_walk), (autocvar_g_monster_spider_speed_stop), spider_anim_walk, spider_anim_walk, spider_anim_idle);
+                       return TRUE;
+               }
+               case MR_DEATH:
+               {
+                       self.frame = spider_anim_attack;
+                       self.angles_x = 180;
+                       return TRUE;
+               }
+               case MR_SETUP:
+               {
+                       if(!self.health) self.health = (autocvar_g_monster_spider_health);
+
+                       self.monster_loot = spawnfunc_item_health_medium;
+                       self.monster_attackfunc = spider_attack;
+                       self.frame = spider_anim_idle;
+
+                       return TRUE;
+               }
+               case MR_PRECACHE:
+               {
+                       precache_model("models/monsters/spider.dpm");
+                       precache_sound ("weapons/electro_fire2.wav");
+                       return TRUE;
+               }
+       }
+
+       return TRUE;
+}
+
+#endif // SVQC
+#ifdef CSQC
+float m_spider(float req)
+{
+       switch(req)
+       {
+               case MR_PRECACHE:
+               {
+                       return TRUE;
+               }
+       }
+
+       return TRUE;
+}
+
+#endif // CSQC
+#endif // REGISTER_MONSTER
diff --git a/qcsrc/common/monsters/monster/wyvern.qc b/qcsrc/common/monsters/monster/wyvern.qc
new file mode 100644 (file)
index 0000000..ed4962d
--- /dev/null
@@ -0,0 +1,158 @@
+#ifdef REGISTER_MONSTER
+REGISTER_MONSTER(
+/* MON_##id   */ WYVERN,
+/* function   */ m_wyvern,
+/* spawnflags */ MONSTER_TYPE_FLY | MONSTER_SIZE_BROKEN | MON_FLAG_RANGED,
+/* mins,maxs  */ '-20 -20 -58', '20 20 20',
+/* model      */ "wizard.mdl",
+/* netname    */ "wyvern",
+/* fullname   */ _("Wyvern")
+);
+
+#else
+#ifdef SVQC
+float autocvar_g_monster_wyvern_health;
+float autocvar_g_monster_wyvern_attack_fireball_damage;
+float autocvar_g_monster_wyvern_attack_fireball_edgedamage;
+float autocvar_g_monster_wyvern_attack_fireball_damagetime;
+float autocvar_g_monster_wyvern_attack_fireball_force;
+float autocvar_g_monster_wyvern_attack_fireball_radius;
+float autocvar_g_monster_wyvern_attack_fireball_speed;
+float autocvar_g_monster_wyvern_speed_stop;
+float autocvar_g_monster_wyvern_speed_run;
+float autocvar_g_monster_wyvern_speed_walk;
+
+const float wyvern_anim_hover  = 0;
+const float wyvern_anim_fly            = 1;
+const float wyvern_anim_magic  = 2;
+const float wyvern_anim_pain   = 3;
+const float wyvern_anim_death  = 4;
+
+void wyvern_fireball_explode()
+{
+       entity e;
+       if(self)
+       {
+               pointparticles(particleeffectnum("fireball_explode"), self.origin, '0 0 0', 1);
+
+               RadiusDamage(self, self.realowner, (autocvar_g_monster_wyvern_attack_fireball_damage), (autocvar_g_monster_wyvern_attack_fireball_edgedamage), (autocvar_g_monster_wyvern_attack_fireball_force), world, (autocvar_g_monster_wyvern_attack_fireball_radius), self.projectiledeathtype, world);
+
+               for(e = world; (e = findfloat(e, takedamage, DAMAGE_AIM)); ) if(vlen(e.origin - self.origin) <= (autocvar_g_monster_wyvern_attack_fireball_radius))
+                       Fire_AddDamage(e, self, 5 * Monster_SkillModifier(), (autocvar_g_monster_wyvern_attack_fireball_damagetime), self.projectiledeathtype);
+
+               remove(self);
+       }
+}
+
+void wyvern_fireball_touch()
+{
+       PROJECTILE_TOUCH;
+
+       wyvern_fireball_explode();
+}
+
+void wyvern_fireball()
+{
+       entity missile = spawn();
+       vector dir = normalize((self.enemy.origin + '0 0 10') - self.origin);
+
+       monster_makevectors(self.enemy);
+
+       missile.owner = missile.realowner = self;
+       missile.solid = SOLID_TRIGGER;
+       missile.movetype = MOVETYPE_FLYMISSILE;
+       missile.projectiledeathtype = DEATH_MONSTER_WYVERN;
+       setsize(missile, '-6 -6 -6', '6 6 6');
+       setorigin(missile, self.origin + self.view_ofs + v_forward * 14);
+       missile.flags = FL_PROJECTILE;
+       missile.velocity = dir * (autocvar_g_monster_wyvern_attack_fireball_speed);
+       missile.avelocity = '300 300 300';
+       missile.nextthink = time + 5;
+       missile.think = wyvern_fireball_explode;
+       missile.enemy = self.enemy;
+       missile.touch = wyvern_fireball_touch;
+       CSQCProjectile(missile, TRUE, PROJECTILE_FIREMINE, TRUE);
+}
+
+float wyvern_attack(float attack_type)
+{
+       switch(attack_type)
+       {
+               case MONSTER_ATTACK_MELEE:
+               case MONSTER_ATTACK_RANGED:
+               {
+                       self.attack_finished_single = time + 1.2;
+
+                       wyvern_fireball();
+
+                       return TRUE;
+               }
+       }
+
+       return FALSE;
+}
+
+void spawnfunc_monster_wyvern()
+{
+       self.classname = "monster_wyvern";
+
+       if(!monster_initialize(MON_WYVERN)) { remove(self); return; }
+}
+
+// compatibility with old spawns
+void spawnfunc_monster_wizard() { spawnfunc_monster_wyvern(); }
+
+float m_wyvern(float req)
+{
+       switch(req)
+       {
+               case MR_THINK:
+               {
+                       monster_move((autocvar_g_monster_wyvern_speed_run), (autocvar_g_monster_wyvern_speed_walk), (autocvar_g_monster_wyvern_speed_stop), wyvern_anim_fly, wyvern_anim_hover, wyvern_anim_hover);
+                       return TRUE;
+               }
+               case MR_DEATH:
+               {
+                       self.frame = wyvern_anim_death;
+                       self.velocity_x = -200 + 400 * random();
+                       self.velocity_y = -200 + 400 * random();
+                       self.velocity_z = 100 + 100 * random();
+                       return TRUE;
+               }
+               case MR_SETUP:
+               {
+                       if(!self.health) self.health = (autocvar_g_monster_wyvern_health);
+
+                       self.monster_loot = spawnfunc_item_cells;
+                       self.monster_attackfunc = wyvern_attack;
+                       self.frame = wyvern_anim_hover;
+
+                       return TRUE;
+               }
+               case MR_PRECACHE:
+               {
+                       precache_model("models/monsters/wizard.mdl");
+                       return TRUE;
+               }
+       }
+
+       return TRUE;
+}
+
+#endif // SVQC
+#ifdef CSQC
+float m_wyvern(float req)
+{
+       switch(req)
+       {
+               case MR_PRECACHE:
+               {
+                       return TRUE;
+               }
+       }
+
+       return TRUE;
+}
+
+#endif // CSQC
+#endif // REGISTER_MONSTER
diff --git a/qcsrc/common/monsters/monster/zombie.qc b/qcsrc/common/monsters/monster/zombie.qc
new file mode 100644 (file)
index 0000000..25afaf7
--- /dev/null
@@ -0,0 +1,196 @@
+#ifdef REGISTER_MONSTER
+REGISTER_MONSTER(
+/* MON_##id   */ ZOMBIE,
+/* function   */ m_zombie,
+/* spawnflags */ MON_FLAG_MELEE,
+/* mins,maxs  */ '-18 -18 -25', '18 18 47',
+/* model      */ "zombie.dpm",
+/* netname    */ "zombie",
+/* fullname   */ _("Zombie")
+);
+
+#else
+#ifdef SVQC
+float autocvar_g_monster_zombie_health;
+float autocvar_g_monster_zombie_attack_melee_damage;
+float autocvar_g_monster_zombie_attack_melee_delay;
+float autocvar_g_monster_zombie_attack_leap_damage;
+float autocvar_g_monster_zombie_attack_leap_force;
+float autocvar_g_monster_zombie_attack_leap_speed;
+float autocvar_g_monster_zombie_attack_leap_delay;
+float autocvar_g_monster_zombie_speed_stop;
+float autocvar_g_monster_zombie_speed_run;
+float autocvar_g_monster_zombie_speed_walk;
+
+const float zombie_anim_attackleap                     = 0;
+const float zombie_anim_attackrun1                     = 1;
+const float zombie_anim_attackrun2                     = 2;
+const float zombie_anim_attackrun3                     = 3;
+const float zombie_anim_attackstanding1                = 4;
+const float zombie_anim_attackstanding2                = 5;
+const float zombie_anim_attackstanding3                = 6;
+const float zombie_anim_blockend                       = 7;
+const float zombie_anim_blockstart                     = 8;
+const float zombie_anim_deathback1                     = 9;
+const float zombie_anim_deathback2                     = 10;
+const float zombie_anim_deathback3                     = 11;
+const float zombie_anim_deathfront1                    = 12;
+const float zombie_anim_deathfront2                    = 13;
+const float zombie_anim_deathfront3                    = 14;
+const float zombie_anim_deathleft1                     = 15;
+const float zombie_anim_deathleft2                     = 16;
+const float zombie_anim_deathright1                    = 17;
+const float zombie_anim_deathright2                    = 18;
+const float zombie_anim_idle                           = 19;
+const float zombie_anim_painback1                      = 20;
+const float zombie_anim_painback2                      = 21;
+const float zombie_anim_painfront1                     = 22;
+const float zombie_anim_painfront2                     = 23;
+const float zombie_anim_runbackwards           = 24;
+const float zombie_anim_runbackwardsleft       = 25;
+const float zombie_anim_runbackwardsright      = 26;
+const float zombie_anim_runforward                     = 27;
+const float zombie_anim_runforwardleft         = 28;
+const float zombie_anim_runforwardright                = 29;
+const float zombie_anim_spawn                          = 30;
+
+void zombie_attack_leap_touch()
+{
+       if (self.health <= 0)
+               return;
+
+       vector angles_face;
+
+       if(other.takedamage)
+       {
+               angles_face = vectoangles(self.moveto - self.origin);
+               angles_face = normalize(angles_face) * (autocvar_g_monster_zombie_attack_leap_force);
+               Damage(other, self, self, (autocvar_g_monster_zombie_attack_leap_damage) * Monster_SkillModifier(), DEATH_MONSTER_ZOMBIE_JUMP, other.origin, angles_face);
+               self.touch = MonsterTouch; // instantly turn it off to stop damage spam
+       }
+
+       if (trace_dphitcontents)
+               self.touch = MonsterTouch;
+}
+
+void zombie_blockend()
+{
+       if(self.health <= 0)
+               return;
+
+       self.frame = zombie_anim_blockend;
+       self.armorvalue = 0;
+       self.m_armor_blockpercent = autocvar_g_monsters_armor_blockpercent;
+}
+
+float zombie_block()
+{
+       self.frame = zombie_anim_blockstart;
+       self.armorvalue = 100;
+       self.m_armor_blockpercent = 0.9;
+       self.state = MONSTER_STATE_ATTACK_MELEE; // freeze monster
+       self.attack_finished_single = time + 2.1;
+
+       defer(2, zombie_blockend);
+
+       return TRUE;
+}
+
+float zombie_attack(float attack_type)
+{
+       switch(attack_type)
+       {
+               case MONSTER_ATTACK_MELEE:
+               {
+                       float rand = random(), chosen_anim;
+
+                       if(rand < 0.33)
+                               chosen_anim = zombie_anim_attackstanding1;
+                       else if(rand < 0.66)
+                               chosen_anim = zombie_anim_attackstanding2;
+                       else
+                               chosen_anim = zombie_anim_attackstanding3;
+
+                       if(random() < 0.3 && self.health < 75 && self.enemy.health > 10)
+                               return zombie_block();
+
+                       return monster_melee(self.enemy, (autocvar_g_monster_zombie_attack_melee_damage), chosen_anim, self.attack_range, (autocvar_g_monster_zombie_attack_melee_delay), DEATH_MONSTER_ZOMBIE_MELEE, TRUE);
+               }
+               case MONSTER_ATTACK_RANGED:
+               {
+                       makevectors(self.angles);
+                       return monster_leap(zombie_anim_attackleap, zombie_attack_leap_touch, v_forward * (autocvar_g_monster_zombie_attack_leap_speed) + '0 0 200', (autocvar_g_monster_zombie_attack_leap_delay));
+               }
+       }
+
+       return FALSE;
+}
+
+void spawnfunc_monster_zombie()
+{
+       self.classname = "monster_zombie";
+
+       if(!monster_initialize(MON_ZOMBIE)) { remove(self); return; }
+}
+
+float m_zombie(float req)
+{
+       switch(req)
+       {
+               case MR_THINK:
+               {
+                       monster_move((autocvar_g_monster_zombie_speed_run), (autocvar_g_monster_zombie_speed_walk), (autocvar_g_monster_zombie_speed_stop), zombie_anim_runforward, zombie_anim_runforward, zombie_anim_idle);
+                       return TRUE;
+               }
+               case MR_DEATH:
+               {
+                       self.armorvalue = 0;
+                       self.m_armor_blockpercent = autocvar_g_monsters_armor_blockpercent;
+                       self.frame = ((random() > 0.5) ? zombie_anim_deathback1 : zombie_anim_deathfront1);
+                       return TRUE;
+               }
+               case MR_SETUP:
+               {
+                       if(!self.health) self.health = (autocvar_g_monster_zombie_health);
+
+                       if(self.spawnflags & MONSTERFLAG_NORESPAWN)
+                               self.spawnflags &= ~MONSTERFLAG_NORESPAWN; // zombies always respawn
+
+                       self.spawnflags |= MONSTER_RESPAWN_DEATHPOINT;
+
+                       self.monster_loot = spawnfunc_item_health_medium;
+                       self.monster_attackfunc = zombie_attack;
+                       self.frame = zombie_anim_spawn;
+                       self.spawn_time = time + 2.1;
+                       self.spawnshieldtime = self.spawn_time;
+                       self.respawntime = 0.2;
+
+                       return TRUE;
+               }
+               case MR_PRECACHE:
+               {
+                       precache_model("models/monsters/zombie.dpm");
+                       return TRUE;
+               }
+       }
+
+       return TRUE;
+}
+
+#endif // SVQC
+#ifdef CSQC
+float m_zombie(float req)
+{
+       switch(req)
+       {
+               case MR_PRECACHE:
+               {
+                       return TRUE;
+               }
+       }
+
+       return TRUE;
+}
+
+#endif // CSQC
+#endif // REGISTER_MONSTER
diff --git a/qcsrc/common/monsters/monsters.qc b/qcsrc/common/monsters/monsters.qc
new file mode 100644 (file)
index 0000000..67e176c
--- /dev/null
@@ -0,0 +1,45 @@
+#include "all.qh"
+
+// MONSTER PLUGIN SYSTEM
+entity monster_info[MON_MAXCOUNT];
+entity dummy_monster_info;
+
+void register_monster(float id, float(float) func, float monsterflags, vector min_s, vector max_s, string modelname, string shortname, string mname)
+{
+       entity e;
+       monster_info[id - 1] = e = spawn();
+       e.classname = "monster_info";
+       e.monsterid = id;
+       e.netname = shortname;
+       e.monster_name = mname;
+       e.monster_func = func;
+       e.mdl = modelname;
+       e.spawnflags = monsterflags;
+       e.mins = min_s;
+       e.maxs = max_s;
+       e.model = strzone(strcat("models/monsters/", modelname));
+}
+float m_null(float dummy) { return 0; }
+void register_monsters_done()
+{
+       dummy_monster_info = spawn();
+       dummy_monster_info.classname = "monster_info";
+       dummy_monster_info.monsterid = 0; // you can recognize dummies by this
+       dummy_monster_info.netname = "";
+       dummy_monster_info.monster_name = "Monster";
+       dummy_monster_info.monster_func = m_null;
+       dummy_monster_info.mdl = "";
+       dummy_monster_info.mins = '-0 -0 -0';
+       dummy_monster_info.maxs = '0 0 0';
+       dummy_monster_info.model = "";
+}
+entity get_monsterinfo(float id)
+{
+       entity m;
+       if(id < MON_FIRST || id > MON_LAST)
+               return dummy_monster_info;
+       m = monster_info[id - 1];
+       if(m)
+               return m;
+       return dummy_monster_info;
+}
diff --git a/qcsrc/common/monsters/monsters.qh b/qcsrc/common/monsters/monsters.qh
new file mode 100644 (file)
index 0000000..c355e12
--- /dev/null
@@ -0,0 +1,67 @@
+// monster requests
+#define MR_SETUP                 1 // (SERVER) setup monster data
+#define MR_THINK                 2 // (SERVER) logic to run every frame
+#define MR_DEATH                 3 // (SERVER) called when monster dies
+#define MR_PRECACHE              4 // (BOTH) precaches models/sounds used by this monster
+
+// functions:
+entity get_monsterinfo(float id);
+
+// special spawn flags
+const float MONSTER_RESPAWN_DEATHPOINT = 16; // re-spawn where we died
+const float MONSTER_TYPE_FLY = 32;
+const float MONSTER_TYPE_SWIM = 64;
+const float MONSTER_SIZE_BROKEN = 128; // TODO: remove when bad models are replaced
+const float MON_FLAG_SUPERMONSTER = 256; // incredibly powerful monster
+const float MON_FLAG_RANGED = 512; // monster shoots projectiles
+const float MON_FLAG_MELEE = 1024;
+
+// entity properties of monsterinfo:
+.float monsterid; // MON_...
+.string netname; // short name
+.string monster_name; // human readable name
+.float(float) monster_func; // m_...
+.string mdl; // currently a copy of the model
+.string model; // full name of model
+.float spawnflags;
+.vector mins, maxs; // monster hitbox size
+
+// other useful macros
+#define MON_ACTION(monstertype,mrequest) (get_monsterinfo(monstertype)).monster_func(mrequest)
+#define M_NAME(monstertype) (get_monsterinfo(monstertype)).monster_name
+
+// =====================
+//     Monster Registration
+// =====================
+
+float m_null(float dummy);
+void register_monster(float id, float(float) func, float monsterflags, vector min_s, vector max_s, string modelname, string shortname, string mname);
+void register_monsters_done();
+
+const float MON_MAXCOUNT = 24;
+#define MON_FIRST 1
+float MON_COUNT;
+float MON_LAST;
+
+#define REGISTER_MONSTER_2(id,func,monsterflags,min_s,max_s,modelname,shortname,mname) \
+       float id; \
+       float func(float); \
+       void RegisterMonsters_##id() \
+       { \
+               MON_LAST = (id = MON_FIRST + MON_COUNT); \
+               ++MON_COUNT; \
+               register_monster(id,func,monsterflags,min_s,max_s,modelname,shortname,mname); \
+       } \
+       ACCUMULATE_FUNCTION(RegisterMonsters, RegisterMonsters_##id)
+#ifdef MENUQC
+#define REGISTER_MONSTER(id,func,monsterflags,min_s,max_s,modelname,shortname,mname) \
+       REGISTER_MONSTER_2(MON_##id,m_null,monsterflags,min_s,max_s,modelname,shortname,mname)
+#else
+#define REGISTER_MONSTER(id,func,monsterflags,min_s,max_s,modelname,shortname,mname) \
+       REGISTER_MONSTER_2(MON_##id,func,monsterflags,min_s,max_s,modelname,shortname,mname)
+#endif
+
+#include "all.qh"
+
+#undef REGISTER_MONSTER
+ACCUMULATE_FUNCTION(RegisterMonsters, register_monsters_done);
diff --git a/qcsrc/common/monsters/spawn.qc b/qcsrc/common/monsters/spawn.qc
new file mode 100644 (file)
index 0000000..be5accf
--- /dev/null
@@ -0,0 +1,76 @@
+entity spawnmonster (string monster, float monster_id, entity spawnedby, entity own, vector orig, float respwn, float invincible, float moveflag)
+{
+       // ensure spawnfunc database is initialized
+       //initialize_field_db();
+
+       entity e = spawn();
+       float i;
+
+       e.spawnflags = MONSTERFLAG_SPAWNED;
+
+       if(!respwn)
+               e.spawnflags |= MONSTERFLAG_NORESPAWN;
+
+       if(invincible)
+               e.spawnflags |= MONSTERFLAG_INVINCIBLE;
+
+       setorigin(e, orig);
+
+       if(monster == "random")
+       {
+               RandomSelection_Init();
+               for(i = MON_FIRST; i <= MON_LAST; ++i)
+                       RandomSelection_Add(world, 0, (get_monsterinfo(i)).netname, 1, 1);
+
+               monster = RandomSelection_chosen_string;
+       }
+
+       if(monster != "")
+       {
+               float found = 0;
+               entity mon;
+               for(i = MON_FIRST; i <= MON_LAST; ++i)
+               {
+                       mon = get_monsterinfo(i);
+                       if(mon.netname == monster)
+                       {
+                               found = TRUE;
+                               monster_id = mon.monsterid; // we have the monster, old monster id is no longer required
+                               break;
+                       }
+               }
+               if(!found)
+                       monster = (get_monsterinfo(MON_FIRST)).netname;
+       }
+
+       if(monster == "")
+       if(monster_id)
+               monster = (get_monsterinfo(monster_id)).netname;
+
+       e.realowner = spawnedby;
+
+       if(moveflag)
+               e.monster_moveflags = moveflag;
+
+       if(IS_PLAYER(spawnedby))
+       {
+               if(teamplay && autocvar_g_monsters_teams)
+                       e.team = spawnedby.team; // colors handled in spawn code
+
+               if(autocvar_g_monsters_owners)
+                       e.monster_owner = own; // using .owner makes the monster non-solid for its master
+
+               e.angles = spawnedby.angles;
+       }
+
+       //monster = strcat("$ spawnfunc_monster_", monster);
+       
+       entity oldself = self;
+       self = e;
+       monster_initialize(monster_id);
+       self = oldself;
+
+       //target_spawn_edit_entity(e, monster, world, world, world, world, world);
+
+       return e;
+}
diff --git a/qcsrc/common/monsters/spawn.qh b/qcsrc/common/monsters/spawn.qh
new file mode 100644 (file)
index 0000000..02d3086
--- /dev/null
@@ -0,0 +1 @@
+entity spawnmonster (string monster, float monster_id, entity spawnedby, entity own, vector orig, float respwn, float invincible, float moveflag);
diff --git a/qcsrc/common/monsters/sv_monsters.qc b/qcsrc/common/monsters/sv_monsters.qc
new file mode 100644 (file)
index 0000000..34e7ceb
--- /dev/null
@@ -0,0 +1,1196 @@
+// =========================
+//     SVQC Monster Properties
+// =========================
+
+
+void monster_dropitem()
+{
+       if(!self.candrop || !self.monster_loot)
+               return;
+
+       vector org = self.origin + ((self.mins + self.maxs) * 0.5);
+       entity e = spawn(), oldself = self;
+
+       e.monster_loot = self.monster_loot;
+
+       other = e;
+       MUTATOR_CALLHOOK(MonsterDropItem);
+       e = other;
+
+       if(e && e.monster_loot)
+       {
+               self = e;
+               e.noalign = TRUE;
+               e.monster_loot();
+               e.gravity = 1;
+               e.movetype = MOVETYPE_TOSS;
+               e.reset = SUB_Remove;
+               setorigin(e, org);
+               e.velocity = randomvec() * 175 + '0 0 325';
+               e.item_spawnshieldtime = time + 0.7;
+               e.classname = "droppedweapon"; // use weapon handling to remove it on touch
+               SUB_SetFade(e, time + autocvar_g_monsters_drop_time, 1);
+               self = oldself;
+       }
+}
+
+float Monster_SkillModifier()
+{
+       float t = 0.5+self.monster_skill*((1.2-0.3)/10);
+
+       return t;
+}
+
+float monster_isvalidtarget (entity targ, entity ent)
+{
+       if(!targ || !ent)
+               return FALSE; // someone doesn't exist
+
+       if(targ == ent)
+               return FALSE; // don't attack ourselves
+
+       //traceline(ent.origin, targ.origin, MOVE_NORMAL, ent);
+
+       //if(trace_ent != targ)
+               //return FALSE;
+
+       if(targ.vehicle_flags & VHF_ISVEHICLE)
+       if(!((get_monsterinfo(ent.monsterid)).spawnflags & MON_FLAG_RANGED))
+               return FALSE; // melee attacks are useless against vehicles
+
+       if(time < game_starttime)
+               return FALSE; // monsters do nothing before the match has started
+
+       if(targ.takedamage == DAMAGE_NO)
+               return FALSE; // enemy can't be damaged
+
+       if(targ.items & IT_INVISIBILITY)
+               return FALSE; // enemy is invisible
+
+       if(substring(targ.classname, 0, 10) == "onslaught_")
+               return FALSE; // don't attack onslaught targets
+
+       if(IS_SPEC(targ) || IS_OBSERVER(targ))
+               return FALSE; // enemy is a spectator
+
+       if(!(targ.vehicle_flags & VHF_ISVEHICLE))
+       if(targ.deadflag != DEAD_NO || ent.deadflag != DEAD_NO || targ.health <= 0 || ent.health <= 0)
+               return FALSE; // enemy/self is dead
+
+       if(ent.monster_owner == targ)
+               return FALSE; // don't attack our master
+
+       if(targ.monster_owner == ent)
+               return FALSE; // don't attack our pet
+
+       if(!(targ.vehicle_flags & VHF_ISVEHICLE))
+       if(targ.flags & FL_NOTARGET)
+               return FALSE; // enemy can't be targeted
+
+       if(!autocvar_g_monsters_typefrag)
+       if(targ.BUTTON_CHAT)
+               return FALSE; // no typefragging!
+
+       if(SAME_TEAM(targ, ent))
+               return FALSE; // enemy is on our team
+
+       if (targ.freezetag_frozen)
+               return FALSE; // ignore frozen
+
+       if(autocvar_g_monsters_target_infront || (ent.spawnflags & MONSTERFLAG_INFRONT))
+       if(ent.enemy != targ)
+       {
+               float dot;
+
+               makevectors (ent.angles);
+               dot = normalize (targ.origin - ent.origin) * v_forward;
+
+               if(dot <= 0.3)
+                       return FALSE;
+       }
+
+       return TRUE;
+}
+
+entity FindTarget (entity ent)
+{
+       if(MUTATOR_CALLHOOK(MonsterFindTarget)) { return ent.enemy; } // Handled by a mutator
+
+       entity head, closest_target = world;
+       head = findradius(ent.origin, ent.target_range);
+       //head = WarpZone_FindRadius(ent.origin, ent.target_range, TRUE);
+
+       while(head) // find the closest acceptable target to pass to
+       {
+               if(head.monster_attack)
+               if(monster_isvalidtarget(head, ent))
+               {
+                       // if it's a player, use the view origin as reference (stolen from RadiusDamage functions in g_damage.qc)
+                       vector head_center = CENTER_OR_VIEWOFS(head);
+                       //vector head_center = WarpZone_UnTransformOrigin(head, CENTER_OR_VIEWOFS(head));
+                       vector ent_center = CENTER_OR_VIEWOFS(ent);
+
+                       traceline(ent_center, head_center, MOVE_NORMAL, ent);
+
+                       if(trace_ent == head)
+                       if(closest_target)
+                       {
+                               vector closest_target_center = CENTER_OR_VIEWOFS(closest_target);
+                               //vector closest_target_center = WarpZone_UnTransformOrigin(closest_target, CENTER_OR_VIEWOFS(closest_target));
+                               if(vlen(ent_center - head_center) < vlen(ent_center - closest_target_center))
+                                       { closest_target = head; }
+                       }
+                       else { closest_target = head; }
+               }
+
+               head = head.chain;
+       }
+
+       return closest_target;
+}
+
+void MonsterTouch ()
+{
+       if(other == world)
+               return;
+
+       if(self.enemy != other)
+       if(!(other.flags & FL_MONSTER))
+       if(monster_isvalidtarget(other, self))
+               self.enemy = other;
+}
+
+string get_monster_model_datafilename(string m, float sk, string fil)
+{
+       if(m)
+               m = strcat(m, "_");
+       else
+               m = "models/monsters/*_";
+       if(sk >= 0)
+               m = strcat(m, ftos(sk));
+       else
+               m = strcat(m, "*");
+       return strcat(m, ".", fil);
+}
+
+void PrecacheMonsterSounds(string f)
+{
+       float fh;
+       string s;
+       fh = fopen(f, FILE_READ);
+       if(fh < 0)
+               return;
+       while((s = fgets(fh)))
+       {
+               if(tokenize_console(s) != 3)
+               {
+                       dprint("Invalid sound info line: ", s, "\n");
+                       continue;
+               }
+               PrecacheGlobalSound(strcat(argv(1), " ", argv(2)));
+       }
+       fclose(fh);
+}
+
+void precache_monstersounds()
+{
+       string m = (get_monsterinfo(self.monsterid)).model;
+       float globhandle, n, i;
+       string f;
+
+       globhandle = search_begin(strcat(m, "_*.sounds"), TRUE, FALSE);
+       if (globhandle < 0)
+               return;
+       n = search_getsize(globhandle);
+       for (i = 0; i < n; ++i)
+       {
+               //print(search_getfilename(globhandle, i), "\n");
+               f = search_getfilename(globhandle, i);
+               PrecacheMonsterSounds(f);
+       }
+       search_end(globhandle);
+}
+
+void ClearMonsterSounds()
+{
+#define _MSOUND(m) if(self.monstersound_##m) { strunzone(self.monstersound_##m); self.monstersound_##m = string_null; }
+       ALLMONSTERSOUNDS
+#undef _MSOUND
+}
+
+.string GetMonsterSoundSampleField(string type)
+{
+       GetMonsterSoundSampleField_notFound = 0;
+       switch(type)
+       {
+#define _MSOUND(m) case #m: return monstersound_##m;
+               ALLMONSTERSOUNDS
+#undef _MSOUND
+       }
+       GetMonsterSoundSampleField_notFound = 1;
+       return string_null;
+}
+
+float LoadMonsterSounds(string f, float first)
+{
+       float fh;
+       string s;
+       var .string field;
+       fh = fopen(f, FILE_READ);
+       if(fh < 0)
+       {
+               dprint("Monster sound file not found: ", f, "\n");
+               return 0;
+       }
+       while((s = fgets(fh)))
+       {
+               if(tokenize_console(s) != 3)
+                       continue;
+               field = GetMonsterSoundSampleField(argv(0));
+               if(GetMonsterSoundSampleField_notFound)
+                       continue;
+               if(self.field)
+                       strunzone(self.field);
+               self.field = strzone(strcat(argv(1), " ", argv(2)));
+       }
+       fclose(fh);
+       return 1;
+}
+
+.float skin_for_monstersound;
+void UpdateMonsterSounds()
+{
+       entity mon = get_monsterinfo(self.monsterid);
+
+       if(self.skin == self.skin_for_monstersound)
+               return;
+       self.skin_for_monstersound = self.skin;
+       ClearMonsterSounds();
+       //LoadMonsterSounds("sound/monsters/default.sounds", 1);
+       if(!autocvar_g_debug_defaultsounds)
+       if(!LoadMonsterSounds(get_monster_model_datafilename(mon.model, self.skin, "sounds"), 0))
+               LoadMonsterSounds(get_monster_model_datafilename(mon.model, 0, "sounds"), 0);
+}
+
+void MonsterSound(.string samplefield, float sound_delay, float delaytoo, float chan)
+{
+       if(!autocvar_g_monsters_sounds) { return; }
+
+       if(delaytoo)
+       if(time < self.msound_delay)
+               return; // too early
+       GlobalSound(self.samplefield, chan, VOICETYPE_PLAYERSOUND);
+
+       self.msound_delay = time + sound_delay;
+}
+
+void monster_makevectors(entity e)
+{
+       vector v;
+
+       v = e.origin + (e.mins + e.maxs) * 0.5;
+       self.v_angle = vectoangles(v - (self.origin + self.view_ofs));
+       self.v_angle_x = -self.v_angle_x;
+
+       makevectors(self.v_angle);
+}
+
+float monster_melee(entity targ, float damg, float anim, float er, float anim_finished, float deathtype, float dostop)
+{
+       if (self.health <= 0)
+               return FALSE; // attacking while dead?!
+
+       if(dostop)
+       {
+               self.velocity_x = 0;
+               self.velocity_y = 0;
+               self.state = MONSTER_STATE_ATTACK_MELEE;
+       }
+
+       self.frame = anim;
+
+       if(anim_finished != 0)
+               self.attack_finished_single = time + anim_finished;
+
+       monster_makevectors(targ);
+
+       traceline(self.origin + self.view_ofs, self.origin + v_forward * er, 0, self);
+
+       if(trace_ent.takedamage)
+               Damage(trace_ent, self, self, damg * Monster_SkillModifier(), deathtype, trace_ent.origin, normalize(trace_ent.origin - self.origin));
+
+       return TRUE;
+}
+
+void Monster_CheckMinibossFlag ()
+{
+       if(MUTATOR_CALLHOOK(MonsterCheckBossFlag))
+               return;
+
+       float chance = random() * 100;
+
+       // g_monsters_miniboss_chance cvar or spawnflags 64 causes a monster to be a miniboss
+       if ((self.spawnflags & MONSTERFLAG_MINIBOSS) || (chance < autocvar_g_monsters_miniboss_chance))
+       {
+               self.health += autocvar_g_monsters_miniboss_healthboost;
+               self.effects |= EF_RED;
+               if(!self.weapon)
+                       self.weapon = WEP_NEX;
+       }
+}
+
+float Monster_CanRespawn(entity ent)
+{
+       other = ent;
+       if(ent.deadflag == DEAD_DEAD) // don't call when monster isn't dead
+       if(MUTATOR_CALLHOOK(MonsterRespawn))
+               return TRUE; // enabled by a mutator
+
+       if(ent.spawnflags & MONSTERFLAG_NORESPAWN)
+               return FALSE;
+
+       if(!autocvar_g_monsters_respawn)
+               return FALSE;
+
+       return TRUE;
+}
+
+float monster_initialize(float mon_id);
+void monster_respawn()
+{
+       // is this function really needed?
+       monster_initialize(self.monsterid);
+}
+
+void Monster_Fade ()
+{
+       if(Monster_CanRespawn(self))
+       {
+               self.spawnflags |= MONSTERFLAG_RESPAWNED;
+               self.think = monster_respawn;
+               self.nextthink = time + self.respawntime;
+               self.monster_lifetime = 0;
+               self.deadflag = DEAD_RESPAWNING;
+               if(self.spawnflags & MONSTER_RESPAWN_DEATHPOINT)
+               {
+                       self.pos1 = self.origin;
+                       self.pos2 = self.angles;
+               }
+               self.event_damage = func_null;
+               self.takedamage = DAMAGE_NO;
+               setorigin(self, self.pos1);
+               self.angles = self.pos2;
+               self.health = self.max_health;
+               setmodel(self, "null");
+       }
+       else
+       {
+               // number of monsters spawned with mobspawn command
+               totalspawned -= 1;
+
+               SUB_SetFade(self, time + 3, 1);
+       }
+}
+
+float Monster_CanJump (vector vel)
+{
+       if(self.state)
+               return FALSE; // already attacking
+       if(!(self.flags & FL_ONGROUND))
+               return FALSE; // not on the ground
+       if(self.health <= 0)
+               return FALSE; // called when dead?
+       if(time < self.attack_finished_single)
+               return FALSE; // still attacking
+
+       vector old = self.velocity;
+
+       self.velocity = vel;
+       tracetoss(self, self);
+       self.velocity = old;
+       if (trace_ent != self.enemy)
+               return FALSE;
+
+       return TRUE;
+}
+
+float monster_leap (float anm, void() touchfunc, vector vel, float anim_finished)
+{
+       if(!Monster_CanJump(vel))
+               return FALSE;
+
+       self.frame = anm;
+       self.state = MONSTER_STATE_ATTACK_LEAP;
+       self.touch = touchfunc;
+       self.origin_z += 1;
+       self.velocity = vel;
+       self.flags &= ~FL_ONGROUND;
+
+       self.attack_finished_single = time + anim_finished;
+
+       return TRUE;
+}
+
+void monster_checkattack(entity e, entity targ)
+{
+       if(e == world)
+               return;
+       if(targ == world)
+               return;
+
+       if(!e.monster_attackfunc)
+               return;
+
+       if(time < e.attack_finished_single)
+               return;
+
+       if(vlen(targ.origin - e.origin) <= e.attack_range)
+       if(e.monster_attackfunc(MONSTER_ATTACK_MELEE))
+       {
+               MonsterSound(monstersound_melee, 0, FALSE, CH_VOICE);
+               return;
+       }
+
+       if(vlen(targ.origin - e.origin) > e.attack_range)
+       if(e.monster_attackfunc(MONSTER_ATTACK_RANGED))
+       {
+               MonsterSound(monstersound_ranged, 0, FALSE, CH_VOICE);
+               return;
+       }
+}
+
+void monster_use ()
+{
+       if(!self.enemy)
+       if(self.health > 0)
+       if(monster_isvalidtarget(activator, self))
+               self.enemy = activator;
+}
+
+.float last_trace;
+.float last_enemycheck; // for checking enemy
+vector monster_pickmovetarget(entity targ)
+{
+       // enemy is always preferred target
+       if(self.enemy)
+       {
+               vector targ_origin = ((self.enemy.absmin + self.enemy.absmax) * 0.5);
+               targ_origin = WarpZone_RefSys_TransformOrigin(self.enemy, self, targ_origin); // origin of target as seen by the monster (us)
+               WarpZone_TraceLine(self.origin, targ_origin, MOVE_NOMONSTERS, self);
+               
+               if((self.enemy == world)
+                       || (self.enemy.deadflag != DEAD_NO || self.enemy.health < 1)
+                       || (self.enemy.freezetag_frozen)
+                       || (self.enemy.flags & FL_NOTARGET)
+                       || (self.enemy.alpha < 0.5)
+                       || (self.enemy.takedamage == DAMAGE_NO)
+                       || (vlen(self.origin - targ_origin) > self.target_range)
+                       || ((trace_fraction < 1) && (trace_ent != self.enemy)))
+                       //|| (time > self.ctf_droptime + autocvar_g_ctf_pass_timelimit)) // TODO: chase timelimit?
+               {
+                       self.enemy = world;
+                       self.pass_distance = 0;
+               }
+               
+               if(self.enemy)
+               {
+                       /*WarpZone_TrailParticles(world, particleeffectnum("red_pass"), self.origin, targ_origin);
+                       print("Trace origin: ", vtos(targ_origin), "\n");
+                       print("Target origin: ", vtos(self.enemy.origin), "\n");
+                       print("My origin: ", vtos(self.origin), "\n"); */
+                       
+                       self.monster_movestate = MONSTER_MOVE_ENEMY;
+                       self.last_trace = time + 1.2;
+                       return targ_origin;
+               }
+       
+               /*makevectors(self.angles);
+               self.monster_movestate = MONSTER_MOVE_ENEMY;
+               self.last_trace = time + 1.2;
+               return self.enemy.origin; */
+       }
+
+       switch(self.monster_moveflags)
+       {
+               case MONSTER_MOVE_OWNER:
+               {
+                       self.monster_movestate = MONSTER_MOVE_OWNER;
+                       self.last_trace = time + 0.3;
+                       return (self.monster_owner) ? self.monster_owner.origin : self.origin;
+               }
+               case MONSTER_MOVE_SPAWNLOC:
+               {
+                       self.monster_movestate = MONSTER_MOVE_SPAWNLOC;
+                       self.last_trace = time + 2;
+                       return self.pos1;
+               }
+               case MONSTER_MOVE_NOMOVE:
+               {
+                       self.monster_movestate = MONSTER_MOVE_NOMOVE;
+                       self.last_trace = time + 2;
+                       return self.origin;
+               }
+               default:
+               case MONSTER_MOVE_WANDER:
+               {
+                       vector pos;
+                       self.monster_movestate = MONSTER_MOVE_WANDER;
+
+                       if(targ)
+                       {
+                               self.last_trace = time + 0.5;
+                               pos = targ.origin;
+                       }
+                       else
+                       {
+                               self.last_trace = time + self.wander_delay;
+
+                               self.angles_y = rint(random() * 500);
+                               makevectors(self.angles);
+                               pos = self.origin + v_forward * self.wander_distance;
+
+                               if(((self.flags & FL_FLY) && (self.spawnflags & MONSTERFLAG_FLY_VERTICAL)) || (self.flags & FL_SWIM))
+                               {
+                                       pos_z = random() * 200;
+                                       if(random() >= 0.5)
+                                               pos_z *= -1;
+                               }
+                       }
+
+                       return pos;
+               }
+       }
+}
+
+void monster_CalculateVelocity(entity mon, vector to, vector from, float turnrate, float movespeed)
+{
+       float current_distance = vlen((('1 0 0' * to_x) + ('0 1 0' * to_y)) - (('1 0 0' * from_x) + ('0 1 0' * from_y))); // for the sake of this check, exclude Z axis
+       float initial_height = 0; //min(50, (targ_distance * tanh(20)));
+       float current_height = (initial_height * min(1, (current_distance / self.pass_distance)));
+       //print("current_height = ", ftos(current_height), ", initial_height = ", ftos(initial_height), ".\n");
+
+       vector targpos;
+       if(current_height) // make sure we can actually do this arcing path
+       {
+               targpos = (to + ('0 0 1' * current_height));
+               WarpZone_TraceLine(mon.origin, targpos, MOVE_NOMONSTERS, mon);
+               if(trace_fraction < 1)
+               {
+                       //print("normal arc line failed, trying to find new pos...");
+                       WarpZone_TraceLine(to, targpos, MOVE_NOMONSTERS, mon);
+                       targpos = (trace_endpos + '0 0 -10');
+                       WarpZone_TraceLine(mon.origin, targpos, MOVE_NOMONSTERS, mon);
+                       if(trace_fraction < 1) { targpos = to; /* print(" ^1FAILURE^7, reverting to original direction.\n"); */ }
+                       /*else { print(" ^3SUCCESS^7, using new arc line.\n"); } */
+               }
+       }
+       else { targpos = to; }
+
+       //mon.angles = normalize(('0 1 0' * to_y) - ('0 1 0' * from_y));
+
+       vector desired_direction = normalize(targpos - from);
+       if(turnrate) { mon.velocity = (normalize(normalize(mon.velocity) + (desired_direction * 50)) * movespeed); }
+       else { mon.velocity = (desired_direction * movespeed); }
+
+       //mon.steerto = steerlib_attract2(targpos, 0.5, 500, 0.95);
+       //mon.angles = vectoangles(mon.velocity);
+}
+
+void monster_move(float runspeed, float walkspeed, float stopspeed, float manim_run, float manim_walk, float manim_idle)
+{
+       //fixedmakevectors(self.angles);
+
+       if(self.target2)
+               self.goalentity = find(world, targetname, self.target2);
+
+       entity targ;
+
+       if(self.flags & FL_SWIM)
+       {
+               if(self.waterlevel < WATERLEVEL_WETFEET)
+               {
+                       if(time >= self.last_trace)
+                       {
+                               self.fish_wasdrowning = TRUE;
+                               self.last_trace = time + 0.4;
+
+                               Damage (self, world, world, 2, DEATH_DROWN, self.origin, '0 0 0');
+                               self.angles = '90 90 0';
+                               if(random() < 0.5)
+                               {
+                                       self.velocity_y += random() * 50;
+                                       self.velocity_x -= random() * 50;
+                               }
+                               else
+                               {
+                                       self.velocity_y -= random() * 50;
+                                       self.velocity_x += random() * 50;
+                               }
+                               self.velocity_z += random() * 150;
+                       }
+
+
+                       self.movetype = MOVETYPE_BOUNCE;
+                       //self.velocity_z = -200;
+
+                       return;
+               }
+               else if(self.fish_wasdrowning)
+               {
+                       self.fish_wasdrowning = FALSE;
+                       self.angles_x = 0;
+                       self.movetype = MOVETYPE_WALK;
+               }
+       }
+
+       targ = self.goalentity;
+
+       monster_target = targ;
+       monster_speed_run = runspeed;
+       monster_speed_walk = walkspeed;
+
+       if(MUTATOR_CALLHOOK(MonsterMove) || gameover || self.draggedby != world || (round_handler_IsActive() && !round_handler_IsRoundStarted()) || time < game_starttime || (autocvar_g_campaign && !campaign_bots_may_start) || time < self.spawn_time)
+       {
+               runspeed = walkspeed = 0;
+               if(time >= self.spawn_time)
+                       self.frame = manim_idle;
+               movelib_beak_simple(stopspeed);
+               return;
+       }
+
+       targ = monster_target;
+       runspeed = bound(0, monster_speed_run * Monster_SkillModifier(), runspeed * 2); // limit maxspeed to prevent craziness
+       walkspeed = bound(0, monster_speed_walk * Monster_SkillModifier(), walkspeed * 2); // limit maxspeed to prevent craziness
+
+       if(time < self.spider_slowness)
+       {
+               runspeed *= 0.5;
+               walkspeed *= 0.5;
+       }
+
+       if(teamplay)
+       if(autocvar_g_monsters_teams)
+       if(DIFF_TEAM(self.monster_owner, self))
+               self.monster_owner = world;
+
+       if(time >= self.last_enemycheck)
+       {
+               if(!self.enemy)
+               {
+                       self.enemy = FindTarget(self);
+                       if(self.enemy)
+                       {
+                               WarpZone_RefSys_Copy(self.enemy, self);
+                               WarpZone_RefSys_AddInverse(self.enemy, self); // wz1^-1 ... wzn^-1 receiver
+                               self.moveto = WarpZone_RefSys_TransformOrigin(self.enemy, self, (0.5 * (self.enemy.absmin + self.enemy.absmax)));
+                               
+                               self.pass_distance = vlen((('1 0 0' * self.enemy.origin_x) + ('0 1 0' * self.enemy.origin_y)) - (('1 0 0' *  self.origin_x) + ('0 1 0' *  self.origin_y)));
+                               MonsterSound(monstersound_sight, 0, FALSE, CH_VOICE);
+                       }
+               }
+
+               self.last_enemycheck = time + 1; // check for enemies every second
+       }
+
+       if(self.state == MONSTER_STATE_ATTACK_MELEE && time >= self.attack_finished_single)
+               self.state = 0;
+
+       if(self.state != MONSTER_STATE_ATTACK_MELEE) // don't move if set
+       if(time >= self.last_trace || self.enemy) // update enemy instantly
+               self.moveto = monster_pickmovetarget(targ);
+
+       if(!self.enemy)
+               MonsterSound(monstersound_idle, 7, TRUE, CH_VOICE);
+
+       if(self.state == MONSTER_STATE_ATTACK_LEAP && (self.flags & FL_ONGROUND))
+       {
+               self.state = 0;
+               self.touch = MonsterTouch;
+       }
+
+       if(self.state == MONSTER_STATE_ATTACK_MELEE)
+               self.moveto = self.origin;
+
+       if(self.enemy && self.enemy.vehicle)
+               runspeed = 0;
+
+       if(!(((self.flags & FL_FLY) && (self.spawnflags & MONSTERFLAG_FLY_VERTICAL)) || (self.flags & FL_SWIM)))
+               //v_forward = normalize(self.moveto - self.origin);
+       //else
+               self.moveto_z = self.origin_z;
+
+       if(vlen(self.origin - self.moveto) > 64)
+       {
+               if((self.flags & FL_ONGROUND) || ((self.flags & FL_FLY) || (self.flags & FL_SWIM)))
+                       monster_CalculateVelocity(self, self.moveto, self.origin, TRUE, ((self.enemy) ? runspeed : walkspeed));
+               
+               /*&if(self.flags & FL_FLY || self.flags & FL_SWIM)
+                       movelib_move_simple(v_forward, ((self.enemy) ? runspeed : walkspeed), 0.6);
+               else
+                       movelib_move_simple_gravity(v_forward, ((self.enemy) ? runspeed : walkspeed), 0.6); */
+
+               if(time > self.pain_finished)
+               if(time > self.attack_finished_single)
+               if(vlen(self.velocity) > 10)
+                       self.frame = ((self.enemy) ? manim_run : manim_walk);
+               else
+                       self.frame = manim_idle;
+       }
+       else
+       {
+               entity e = find(world, targetname, self.target2);
+               if(e.target2)
+                       self.target2 = e.target2;
+               else if(e.target)
+                       self.target2 = e.target;
+
+               movelib_beak_simple(stopspeed);
+               if(time > self.attack_finished_single)
+               if(time > self.pain_finished)
+               if (vlen(self.velocity) <= 30)
+                       self.frame = manim_idle;
+       }
+       
+       self.steerto = steerlib_attract2(self.moveto, 0.5, 500, 0.95);
+       
+       vector real_angle = vectoangles(self.steerto) - self.angles;
+       float turny = 25;
+       if(self.state == MONSTER_STATE_ATTACK_MELEE)
+               turny = 0;
+       if(turny)
+       {
+               turny = bound(turny * -1, shortangle_f(real_angle_y, self.angles_y), turny);
+               self.angles_y += turny;
+       }
+
+       monster_checkattack(self, self.enemy);
+}
+
+void monster_remove(entity mon)
+{
+       if(!mon)
+               return; // nothing to remove
+
+       pointparticles(particleeffectnum("item_pickup"), mon.origin, '0 0 0', 1);
+
+       if(mon.weaponentity)
+               remove(mon.weaponentity);
+
+       WaypointSprite_Kill(mon.sprite);
+
+       remove(mon);
+}
+
+void monster_dead_think()
+{
+       self.nextthink = time + self.ticrate;
+
+       CSQCMODEL_AUTOUPDATE();
+
+       if(self.monster_lifetime != 0)
+       if(time >= self.monster_lifetime)
+       {
+               Monster_Fade();
+               return;
+       }
+}
+
+void monsters_setstatus()
+{
+       self.stat_monsters_total = monsters_total;
+       self.stat_monsters_killed = monsters_killed;
+}
+
+void Monster_Appear()
+{
+       self.enemy = activator;
+       self.spawnflags &= ~MONSTERFLAG_APPEAR; // otherwise, we get an endless loop
+       monster_initialize(self.monsterid);
+}
+
+float Monster_CheckAppearFlags(entity ent, float monster_id)
+{
+       if(!(ent.spawnflags & MONSTERFLAG_APPEAR))
+               return FALSE;
+
+       ent.think = func_null;
+       ent.monsterid = monster_id; // set so this monster is properly registered (otherwise, normal initialization is used)
+       ent.nextthink = 0;
+       ent.use = Monster_Appear;
+       ent.flags = FL_MONSTER; // set so this monster can get butchered
+
+       return TRUE;
+}
+
+void monsters_reset()
+{
+       setorigin(self, self.pos1);
+       self.angles = self.pos2;
+
+       self.health = self.max_health;
+       self.velocity = '0 0 0';
+       self.enemy = world;
+       self.goalentity = world;
+       self.attack_finished_single = 0;
+       self.moveto = self.origin;
+}
+
+void monsters_corpse_damage (entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
+{
+       self.health -= damage;
+
+       Violence_GibSplash_At(hitloc, force, 2, bound(0, damage, 200) / 16, self, attacker);
+
+       if(self.health <= -100) // 100 health until gone?
+       {
+               Violence_GibSplash_At(hitloc, force, 2, bound(0, damage, 200) / 16, self, attacker);
+
+               // number of monsters spawned with mobspawn command
+               totalspawned -= 1;
+
+               self.think = SUB_Remove;
+               self.nextthink = time + 0.1;
+               self.event_damage = func_null;
+       }
+}
+
+void monster_die(entity attacker, float gibbed)
+{
+       self.think = monster_dead_think;
+       self.nextthink = time;
+       self.monster_lifetime = time + 5;
+
+       monster_dropitem();
+
+       MonsterSound(monstersound_death, 0, FALSE, CH_VOICE);
+
+       if(!(self.spawnflags & MONSTERFLAG_SPAWNED) && !(self.spawnflags & MONSTERFLAG_RESPAWNED))
+               monsters_killed += 1;
+
+       if(IS_PLAYER(attacker))
+       if(autocvar_g_monsters_score_spawned || !((self.spawnflags & MONSTERFLAG_SPAWNED) || (self.spawnflags & MONSTERFLAG_RESPAWNED)))
+               PlayerScore_Add(attacker, SP_SCORE, +autocvar_g_monsters_score_kill);
+
+       if(gibbed)
+       {
+               // number of monsters spawned with mobspawn command
+               totalspawned -= 1;
+       }
+
+       if(self.candrop && self.weapon)
+               W_ThrowNewWeapon(self, self.weapon, 0, self.origin, randomvec() * 150 + '0 0 325');
+
+       self.event_damage       = ((gibbed) ? func_null : monsters_corpse_damage);
+       self.solid                      = SOLID_CORPSE;
+       self.takedamage         = DAMAGE_AIM;
+       self.deadflag           = DEAD_DEAD;
+       self.enemy                      = world;
+       self.movetype           = MOVETYPE_TOSS;
+       self.moveto                     = self.origin;
+       self.touch                      = MonsterTouch; // reset incase monster was pouncing
+       self.reset                      = func_null;
+       self.state                      = 0;
+       self.attack_finished_single = 0;
+
+       if(!((self.flags & FL_FLY) || (self.flags & FL_SWIM)))
+               self.velocity = '0 0 0';
+
+       MON_ACTION(self.monsterid, MR_DEATH);
+}
+
+void monsters_damage (entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
+{
+       if((self.spawnflags & MONSTERFLAG_INVINCIBLE) && deathtype != DEATH_KILL)
+               return;
+
+       if(time < self.pain_finished && deathtype != DEATH_KILL)
+               return;
+
+       if(time < self.spawnshieldtime && deathtype != DEATH_KILL)
+               return;
+
+       if(deathtype == DEATH_FALL && self.draggedby != world)
+               return;
+
+       vector v;
+       float take, save;
+
+       v = healtharmor_applydamage(self.armorvalue, self.m_armor_blockpercent, deathtype, damage);
+       take = v_x;
+       save = v_y;
+
+       self.health -= take;
+
+       WaypointSprite_UpdateHealth(self.sprite, self.health);
+
+       self.dmg_time = time;
+
+       if(sound_allowed(MSG_BROADCAST, attacker) && deathtype != DEATH_DROWN)
+               spamsound (self, CH_PAIN, "misc/bodyimpact1.wav", VOL_BASE, ATTEN_NORM);  // FIXME: PLACEHOLDER
+
+       self.velocity += force * self.damageforcescale;
+
+       if(deathtype != DEATH_DROWN)
+       {
+               Violence_GibSplash_At(hitloc, force, 2, bound(0, take, 200) / 16, self, attacker);
+               if (take > 50)
+                       Violence_GibSplash_At(hitloc, force * -0.1, 3, 1, self, attacker);
+               if (take > 100)
+                       Violence_GibSplash_At(hitloc, force * -0.2, 3, 1, self, attacker);
+       }
+
+       if(self.health <= 0)
+       {
+               if(deathtype == DEATH_KILL)
+                       self.candrop = FALSE; // killed by mobkill command
+
+               // TODO: fix this?
+               activator = attacker;
+               other = self.enemy;
+               SUB_UseTargets();
+               self.target2 = self.oldtarget2; // reset to original target on death, incase we respawn
+
+               monster_die(attacker, (self.health <= -100 || deathtype == DEATH_KILL));
+
+               WaypointSprite_Kill(self.sprite);
+
+               frag_attacker = attacker;
+               frag_target = self;
+               MUTATOR_CALLHOOK(MonsterDies);
+
+               if(self.health <= -100 || deathtype == DEATH_KILL) // check if we're already gibbed
+               {
+                       Violence_GibSplash(self, 1, 0.5, attacker);
+
+                       self.think = SUB_Remove;
+                       self.nextthink = time + 0.1;
+               }
+       }
+}
+
+void monster_setupcolors(entity mon)
+{
+       if(IS_PLAYER(mon.monster_owner))
+               mon.colormap = mon.monster_owner.colormap;
+       else if(teamplay && mon.team)
+               mon.colormap = 1024 + (mon.team - 1) * 17;
+       else
+       {
+               if(mon.monster_skill <= MONSTER_SKILL_EASY)
+                       mon.colormap = 1029;
+               else if(mon.monster_skill <= MONSTER_SKILL_MEDIUM)
+                       mon.colormap = 1027;
+               else if(mon.monster_skill <= MONSTER_SKILL_HARD)
+                       mon.colormap = 1038;
+               else if(mon.monster_skill <= MONSTER_SKILL_INSANE)
+                       mon.colormap = 1028;
+               else if(mon.monster_skill <= MONSTER_SKILL_NIGHTMARE)
+                       mon.colormap = 1032;
+               else
+                       mon.colormap = 1024;
+       }
+}
+
+void monster_changeteam(entity ent, float newteam)
+{
+       if(!teamplay) { return; }
+       
+       ent.team = newteam;
+       ent.monster_attack = TRUE; // new team, activate attacking
+       monster_setupcolors(ent);
+       
+       if(ent.sprite)
+       {
+               WaypointSprite_UpdateTeamRadar(ent.sprite, RADARICON_DANGER, ((newteam) ? Team_ColorRGB(newteam) : '1 0 0'));
+
+               ent.sprite.team = newteam;
+               ent.sprite.SendFlags |= 1;
+       }
+}
+
+void monster_think()
+{
+       self.think = monster_think;
+       self.nextthink = self.ticrate;
+
+       if(self.monster_lifetime)
+       if(time >= self.monster_lifetime)
+       {
+               Damage(self, self, self, self.health + self.max_health, DEATH_KILL, self.origin, self.origin);
+               return;
+       }
+
+       MON_ACTION(self.monsterid, MR_THINK);
+
+       CSQCMODEL_AUTOUPDATE();
+}
+
+float monster_spawn()
+{
+       MON_ACTION(self.monsterid, MR_SETUP);
+
+       if(!(self.spawnflags & MONSTERFLAG_RESPAWNED))
+       {
+               Monster_CheckMinibossFlag();
+               self.health *= Monster_SkillModifier();
+       }
+
+       self.max_health = self.health;
+       self.pain_finished = self.nextthink;
+
+       if(IS_PLAYER(self.monster_owner))
+               self.effects |= EF_DIMLIGHT;
+
+       if(!(self.spawnflags & MONSTERFLAG_RESPAWNED))
+       if(!self.skin)
+               self.skin = rint(random() * 4);
+
+       if(!self.attack_range)
+               self.attack_range = autocvar_g_monsters_attack_range;
+
+       if(!self.wander_delay) { self.wander_delay = 2; }
+       if(!self.wander_distance) { self.wander_distance = 600; }
+
+       precache_monstersounds();
+       UpdateMonsterSounds();
+
+       if(teamplay)
+               self.monster_attack = TRUE; // we can have monster enemies in team games
+
+       MonsterSound(monstersound_spawn, 0, FALSE, CH_VOICE);
+
+       WaypointSprite_Spawn(M_NAME(self.monsterid), 0, 1024, self, '0 0 1' * (self.maxs_z + 15), world, self.team, self, sprite, TRUE, RADARICON_DANGER, ((self.team) ? Team_ColorRGB(self.team) : '1 0 0'));
+       if(!(self.spawnflags & MONSTERFLAG_INVINCIBLE))
+       {
+               WaypointSprite_UpdateMaxHealth(self.sprite, self.max_health);
+               WaypointSprite_UpdateHealth(self.sprite, self.health);
+       }
+
+       self.think = monster_think;
+       self.nextthink = time + self.ticrate;
+
+       if(MUTATOR_CALLHOOK(MonsterSpawn))
+               return FALSE;
+
+       return TRUE;
+}
+
+float monster_initialize(float mon_id)
+{
+       if(!autocvar_g_monsters) { return FALSE; }
+       if(!(self.spawnflags & MONSTERFLAG_RESPAWNED)) { MON_ACTION(mon_id, MR_PRECACHE); }
+       if(Monster_CheckAppearFlags(self, mon_id)) { return TRUE; } // return true so the monster isn't removed
+
+       entity mon = get_monsterinfo(mon_id);
+
+       if(!self.monster_skill)
+               self.monster_skill = cvar("g_monsters_skill");
+
+       // support for quake style removing monsters based on skill
+       if(self.monster_skill == MONSTER_SKILL_EASY) if(self.spawnflags & MONSTERSKILL_NOTEASY) { return FALSE; }
+       if(self.monster_skill == MONSTER_SKILL_MEDIUM) if(self.spawnflags & MONSTERSKILL_NOTMEDIUM) { return FALSE; }
+       if(self.monster_skill == MONSTER_SKILL_HARD) if(self.spawnflags & MONSTERSKILL_NOTHARD) { return FALSE; }
+
+       if(self.team && !teamplay)
+               self.team = 0;
+
+       if(!(self.spawnflags & MONSTERFLAG_SPAWNED)) // naturally spawned monster
+       if(!(self.spawnflags & MONSTERFLAG_RESPAWNED)) // don't count re-spawning monsters either
+               monsters_total += 1;
+
+       setmodel(self, mon.model);
+       //setsize(self, mon.mins, mon.maxs);
+       self.flags                              = FL_MONSTER;
+       self.takedamage                 = DAMAGE_AIM;
+       self.bot_attack                 = TRUE;
+       self.iscreature                 = TRUE;
+       self.teleportable               = TRUE;
+       self.damagedbycontents  = TRUE;
+       self.monsterid                  = mon_id;
+       self.damageforcescale   = 0;
+       self.event_damage               = monsters_damage;
+       self.touch                              = MonsterTouch;
+       self.use                                = monster_use;
+       self.solid                              = SOLID_BBOX;
+       self.movetype                   = MOVETYPE_WALK;
+       self.spawnshieldtime    = time + autocvar_g_monsters_spawnshieldtime;
+       self.enemy                              = world;
+       self.velocity                   = '0 0 0';
+       self.moveto                             = self.origin;
+       self.pos1                               = self.origin;
+       self.pos2                               = self.angles;
+       self.reset                              = monsters_reset;
+       self.netname                    = mon.netname;
+       self.monster_name               = M_NAME(mon_id);
+       self.candrop                    = TRUE;
+       self.view_ofs                   = '0 0 1' * (self.maxs_z * 0.5);
+       self.oldtarget2                 = self.target2;
+       self.pass_distance              = 0;
+       self.deadflag                   = DEAD_NO;
+       self.noalign                    = ((mon.spawnflags & MONSTER_TYPE_FLY) || (mon.spawnflags & MONSTER_TYPE_SWIM));
+       self.spawn_time                 = time;
+       self.spider_slowness    = 0;
+       self.gravity                    = 1;
+       self.dphitcontentsmask  = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_BOTCLIP | DPCONTENTS_MONSTERCLIP;
+
+       if(!self.scale)
+               self.scale = 1;
+
+       if(autocvar_g_monsters_edit)
+               self.grab = 1; // owner may carry their monster
+
+       if(autocvar_g_fullbrightplayers)
+               self.effects |= EF_FULLBRIGHT;
+
+       if(autocvar_g_nodepthtestplayers)
+               self.effects |= EF_NODEPTHTEST;
+
+       if(mon.spawnflags & MONSTER_TYPE_SWIM)
+               self.flags |= FL_SWIM;
+
+       if(mon.spawnflags & MONSTER_TYPE_FLY)
+       {
+               self.flags |= FL_FLY;
+               self.movetype = MOVETYPE_FLY;
+       }
+
+       if(mon.spawnflags & MONSTER_SIZE_BROKEN)
+       if(!(self.spawnflags & MONSTERFLAG_RESPAWNED))
+               self.scale *= 1.3;
+               
+       setsize(self, mon.mins * self.scale, mon.maxs * self.scale);
+
+       if(!self.ticrate)
+               self.ticrate = autocvar_g_monsters_think_delay;
+
+       self.ticrate = bound(sys_frametime, self.ticrate, 60);
+
+       if(!self.m_armor_blockpercent)
+               self.m_armor_blockpercent = 0.5;
+
+       if(!self.target_range)
+               self.target_range = autocvar_g_monsters_target_range;
+
+       if(!self.respawntime)
+               self.respawntime = autocvar_g_monsters_respawn_delay;
+
+       if(!self.monster_moveflags)
+               self.monster_moveflags = MONSTER_MOVE_WANDER;
+
+       if(!self.noalign)
+       {
+               setorigin(self, self.origin + '0 0 20');
+               tracebox(self.origin + '0 0 64', self.mins, self.maxs, self.origin - '0 0 10000', MOVE_WORLDONLY, self);
+               setorigin(self, trace_endpos);
+       }
+
+       if(!monster_spawn())
+               return FALSE;
+
+       if(!(self.spawnflags & MONSTERFLAG_RESPAWNED))
+               monster_setupcolors(self);
+
+       CSQCMODEL_AUTOINIT();
+
+       return TRUE;
+}
diff --git a/qcsrc/common/monsters/sv_monsters.qh b/qcsrc/common/monsters/sv_monsters.qh
new file mode 100644 (file)
index 0000000..239db02
--- /dev/null
@@ -0,0 +1,88 @@
+.string spawnmob;
+.float monster_attack;
+
+.entity monster_owner; // new monster owner entity, fixes non-solid monsters
+
+.float stat_monsters_killed; // stats
+.float stat_monsters_total;
+float monsters_total;
+float monsters_killed;
+void monsters_setstatus(); // monsters.qc
+.float monster_moveflags; // checks where to move when not attacking
+
+.float wander_delay;
+.float wander_distance;
+
+.float monster_lifetime;
+
+.float spider_slowness; // special spider timer
+
+void monster_remove(entity mon); // removes a monster
+
+.float(float attack_type) monster_attackfunc;
+const float MONSTER_ATTACK_MELEE = 1;
+const float MONSTER_ATTACK_RANGED = 2;
+
+.float monster_skill;
+const float MONSTER_SKILL_EASY = 1;
+const float MONSTER_SKILL_MEDIUM = 3;
+const float MONSTER_SKILL_HARD = 5;
+const float MONSTER_SKILL_INSANE = 7;
+const float MONSTER_SKILL_NIGHTMARE = 10;
+
+.float fish_wasdrowning; // used to reset a drowning fish's angles if it reaches water again
+
+.float candrop;
+
+.float attack_range;
+
+.float spawn_time; // stop monster from moving around right after spawning
+
+.string oldtarget2;
+.float lastshielded;
+
+.vector oldangles;
+
+.float m_armor_blockpercent;
+
+// monster sounds
+// copied from player sounds
+.float msound_delay; // temporary antilag system
+#define ALLMONSTERSOUNDS \
+               _MSOUND(death) \
+               _MSOUND(sight) \
+               _MSOUND(ranged) \
+               _MSOUND(melee) \
+               _MSOUND(pain) \
+               _MSOUND(spawn) \
+               _MSOUND(idle)
+
+#define _MSOUND(m) .string monstersound_##m;
+ALLMONSTERSOUNDS
+#undef _MSOUND
+
+float GetMonsterSoundSampleField_notFound;
+
+const float MONSTERSKILL_NOTEASY = 256; // monster will not spawn on skill <= 1
+const float MONSTERSKILL_NOTMEDIUM = 512; // monster will not spawn on skill 2
+const float MONSTERSKILL_NOTHARD = 1024; // monster will not spawn on skill >= 3
+
+// new flags
+const float MONSTERFLAG_APPEAR = 2; // delay spawn until triggered
+const float MONSTERFLAG_NORESPAWN = 4;
+const float MONSTERFLAG_FLY_VERTICAL = 8; // fly/swim vertically
+const float MONSTERFLAG_INFRONT = 32; // only check for enemies infront of us
+const float MONSTERFLAG_MINIBOSS = 64; // monster spawns as mini-boss (also has a chance of naturally becoming one)
+const float MONSTERFLAG_INVINCIBLE = 128; // monster doesn't take damage (may be used for map objects & temporary monsters)
+const float MONSTERFLAG_SPAWNED = 16384; // flag for spawned monsters
+const float MONSTERFLAG_RESPAWNED = 32768; // flag for re-spawned monsters
+
+.float monster_movestate; // used to tell what the monster is currently doing
+const float MONSTER_MOVE_OWNER = 1; // monster will move to owner if in range, or stand still
+const float MONSTER_MOVE_WANDER = 2; // monster will ignore owner & wander around
+const float MONSTER_MOVE_SPAWNLOC = 3; // monster will move to its spawn location when not attacking
+const float MONSTER_MOVE_NOMOVE = 4; // monster simply stands still
+const float MONSTER_MOVE_ENEMY = 5; // used only as a movestate
+
+const float MONSTER_STATE_ATTACK_LEAP = 1;
+const float MONSTER_STATE_ATTACK_MELEE = 2;
index 8c297513e72e4f97ac85a42ffa24a5043498ea93..4fd6e1f25dcc37373a00a04a565aec114867ddb2 100644 (file)
@@ -281,7 +281,7 @@ string Process_Notif_Line(
        // done to both MSG_INFO and MSG_CENTER
        if(substring(input, (strlen(input) - 1), 1) == "\n")
        {
-               print(sprintf(
+               printf(
                        strcat(
                                "^1TRAILING NEW LINE AT END OF NOTIFICATION: ",
                                "^7net_type = %s, net_name = %s, string = %s.\n"
@@ -289,7 +289,7 @@ string Process_Notif_Line(
                        notiftype,
                        notifname,
                        stringtype
-               ));
+               );
                notif_error = TRUE;
                input = substring(input, 1, (strlen(input) - 1));
        }
@@ -316,7 +316,7 @@ string Process_Notif_Args(
                        {
                                if(sel_num == NOTIF_MAX_ARGS)
                                {
-                                       print(sprintf(
+                                       printf(
                                                strcat(
                                                        "^1NOTIFICATION HAS TOO MANY ARGUMENTS: ",
                                                        "^7net_type = %s, net_name = %s, max args = %d.\n"
@@ -324,7 +324,7 @@ string Process_Notif_Args(
                                                notiftype,
                                                notifname,
                                                NOTIF_MAX_ARGS
-                                       ));
+                                       );
                                        notif_error = TRUE;
                                        break;
                                }
@@ -348,7 +348,7 @@ string Process_Notif_Args(
                                        #undef ARG_CASE_ARG_CS_SV_HA
                                        default:
                                        {
-                                               print(sprintf(
+                                               printf(
                                                        strcat(
                                                                "^1NOTIFICATION WITH UNKNOWN TOKEN IN ARGUMENT STRING: ",
                                                                "^7net_type = %s, net_name = %s, args arg = '%s'.\n"
@@ -356,7 +356,7 @@ string Process_Notif_Args(
                                                        notiftype,
                                                        notifname,
                                                        selected
-                                               ));
+                                               );
                                                notif_error = TRUE;
                                                break;
                                        }
@@ -367,7 +367,7 @@ string Process_Notif_Args(
                        {
                                if(sel_num == NOTIF_MAX_HUDARGS)
                                {
-                                       print(sprintf(
+                                       printf(
                                                strcat(
                                                        "^1NOTIFICATION HAS TOO MANY ARGUMENTS: ",
                                                        "^7net_type = %s, net_name = %s, max hudargs = %d.\n"
@@ -375,7 +375,7 @@ string Process_Notif_Args(
                                                notiftype,
                                                notifname,
                                                NOTIF_MAX_HUDARGS
-                                       ));
+                                       );
                                        notif_error = TRUE;
                                        break;
                                }
@@ -399,7 +399,7 @@ string Process_Notif_Args(
                                        #undef ARG_CASE_ARG_CS_SV_HA
                                        default:
                                        {
-                                               print(sprintf(
+                                               printf(
                                                        strcat(
                                                                "^1NOTIFICATION WITH UNKNOWN TOKEN IN ARGUMENT STRING: ",
                                                                "^7net_type = %s, net_name = %s, hudargs arg = '%s'.\n"
@@ -407,7 +407,7 @@ string Process_Notif_Args(
                                                        notiftype,
                                                        notifname,
                                                        selected
-                                               ));
+                                               );
                                                notif_error = TRUE;
                                                break;
                                        }
@@ -418,7 +418,7 @@ string Process_Notif_Args(
                        {
                                if(sel_num == NOTIF_MAX_DURCNT)
                                {
-                                       print(sprintf(
+                                       printf(
                                                strcat(
                                                        "^1NOTIFICATION HAS TOO MANY ARGUMENTS: ",
                                                        "^7net_type = %s, net_name = %s, max durcnt = %d.\n"
@@ -426,7 +426,7 @@ string Process_Notif_Args(
                                                notiftype,
                                                notifname,
                                                NOTIF_MAX_DURCNT
-                                       ));
+                                       );
                                        notif_error = TRUE;
                                        break;
                                }
@@ -453,7 +453,7 @@ string Process_Notif_Args(
                                                if(ftos(stof(selected)) != "") { ++sel_num; }
                                                else
                                                {
-                                                       print(sprintf(
+                                                       printf(
                                                                strcat(
                                                                        "^1NOTIFICATION WITH UNKNOWN TOKEN IN ARGUMENT STRING: ",
                                                                        "^7net_type = %s, net_name = %s, durcnt arg = '%s'.\n"
@@ -461,7 +461,7 @@ string Process_Notif_Args(
                                                                notiftype,
                                                                notifname,
                                                                selected
-                                                       ));
+                                                       );
                                                        notif_error = TRUE;
                                                }
                                                break;
@@ -591,14 +591,14 @@ void Create_Notification_Entity(
                                }
                                else
                                {
-                                       print(sprintf(
+                                       printf(
                                                strcat(
                                                        "^1NOTIFICATION WITH NO SOUND: ",
                                                        "^7net_type = %s, net_name = %s.\n"
                                                ),
                                                typestring,
                                                namestring
-                                       ));
+                                       );
                                        notif_error = TRUE;
                                }
                        }
@@ -638,7 +638,7 @@ void Create_Notification_Entity(
                                        }
                                        else if((hudargs == "") && (durcnt ==""))
                                        {
-                                               print(sprintf(
+                                               printf(
                                                        strcat(
                                                                "^1NOTIFICATION HAS ARG COUNTS BUT NO ARGS OR HUDARGS OR DURCNT: ",
                                                                "^7net_type = %s, net_name = %s, strnum = %d, flnum = %d\n"
@@ -647,7 +647,7 @@ void Create_Notification_Entity(
                                                        namestring,
                                                        strnum,
                                                        flnum
-                                               ));
+                                               );
                                                notif_error = TRUE;
                                        }
                                }
@@ -672,27 +672,27 @@ void Create_Notification_Entity(
                                        if(icon != "") { notif.nent_icon = strzone(icon); }
                                        else
                                        {
-                                               print(sprintf(
+                                               printf(
                                                        strcat(
                                                                "^1NOTIFICATION HAS HUDARGS BUT NO ICON: ",
                                                                "^7net_type = %s, net_name = %s.\n"
                                                        ),
                                                        typestring,
                                                        namestring
-                                               ));
+                                               );
                                                notif_error = TRUE;
                                        }
                                }
                                else if(icon != "")
                                {
-                                       print(sprintf(
+                                       printf(
                                                strcat(
                                                        "^1NOTIFICATION HAS ICON BUT NO HUDARGS: ",
                                                        "^7net_type = %s, net_name = %s.\n"
                                                ),
                                                typestring,
                                                namestring
-                                       ));
+                                       );
                                        notif_error = TRUE;
                                }
 
@@ -704,14 +704,14 @@ void Create_Notification_Entity(
                                        if(cpid != NO_MSG) { notif.nent_cpid = cpid; }
                                        else
                                        {
-                                               print(sprintf(
+                                               printf(
                                                        strcat(
                                                                "^1NOTIFICATION HAS DURCNT BUT NO CPID: ",
                                                                "^7net_type = %s, net_name = %s.\n"
                                                        ),
                                                        typestring,
                                                        namestring
-                                               ));
+                                               );
                                                notif_error = TRUE;
                                        }
                                }
@@ -746,14 +746,14 @@ void Create_Notification_Entity(
                                // Check to make sure a string was chosen
                                if(notif.nent_string == "")
                                {
-                                       print(sprintf(
+                                       printf(
                                                strcat(
                                                        "^1EMPTY NOTIFICATION: ",
                                                        "^7net_type = %s, net_name = %s.\n"
                                                ),
                                                typestring,
                                                namestring
-                                       ));
+                                       );
                                        notif_error = TRUE;
                                }
                        }
@@ -766,14 +766,14 @@ void Create_Notification_Entity(
                        // Set MSG_MULTI string/float counts
                        if((anncename == NO_MSG) && (infoname == NO_MSG) && (centername == NO_MSG))
                        {
-                               print(sprintf(
+                               printf(
                                        strcat(
                                                "^1NOTIFICATION WITH NO SUBCALLS: ",
                                                "^7net_type = %s, net_name = %s.\n"
                                        ),
                                        typestring,
                                        namestring
-                               ));
+                               );
                                notif_error = TRUE;
                        }
                        else
@@ -810,14 +810,14 @@ void Create_Notification_Entity(
                {
                        if((chtype == NO_MSG) || (optiona == NO_MSG) || (optionb == NO_MSG))
                        {
-                               print(sprintf(
+                               printf(
                                        strcat(
                                                "^1NOTIFICATION IS MISSING CHOICE PARAMS: ",
                                                "^7net_type = %s, net_name = %s.\n"
                                        ),
                                        typestring,
                                        namestring
-                               ));
+                               );
                                notif_error = TRUE;
                        }
                        else
@@ -857,14 +857,14 @@ void Create_Notification_Entity(
 
                                        default:
                                        {
-                                               print(sprintf(
+                                               printf(
                                                        strcat(
                                                                "^1NOTIFICATION WITH IMPROPER TYPE: ",
                                                                "^7net_type = %d, net_name = %s.\n"
                                                        ),
                                                        typeid,
                                                        namestring
-                                               ));
+                                               );
                                                notif_error = TRUE;
                                                break;
                                        }
@@ -900,14 +900,14 @@ void Create_Notification_Entity(
 
                default:
                {
-                       print(sprintf(
+                       printf(
                                strcat(
                                        "^1NOTIFICATION WITH IMPROPER TYPE: ",
                                        "^7net_type = %d, net_name = %s.\n"
                                ),
                                typeid,
                                namestring
-                       ));
+                       );
                        notif_error = TRUE;
                        break;
                }
@@ -1312,7 +1312,8 @@ void Local_Notification_sound(
 
 void Local_Notification_HUD_Notify_Push(
        string icon, string hudargs,
-       string s1, string s2, string s3, string s4)
+       string s1, string s2, string s3, string s4,
+       float f1, float f2, float f3, float f4)
 {
        string selected;
        float sel_num;
@@ -1344,10 +1345,11 @@ void Local_Notification_HUD_Notify_Push(
        }
        #ifdef NOTIFICATIONS_DEBUG
        Debug_Notification(sprintf(
-               "Local_Notification_HUD_Notify_Push('%s^7', '%s', %s, %s);\n",
+               "Local_Notification_HUD_Notify_Push('%s^7', '%s', %s, %s, %s);\n",
                icon,
                hudargs,
                MakeConsoleSafe(sprintf("'%s^7', '%s^7', '%s^7', '%s^7'", s1, s2, s3, s4)),
+               sprintf("%d, %d, %d, %d", f1, f2, f3, f4),
                MakeConsoleSafe(sprintf("'%s^7', '%s^7'", stof(arg_slot[0]), stof(arg_slot[1])))
        ));
        #endif
@@ -1547,7 +1549,8 @@ void Local_Notification(float net_type, float net_name, ...count)
                                Local_Notification_HUD_Notify_Push(
                                        notif.nent_icon,
                                        notif.nent_hudargs,
-                                       s1, s2, s3, s4);
+                                       s1, s2, s3, s4,
+                                       f1, f2, f3, f4);
                        }
                        #endif
                        break;
index be4cdfec00e0b476743399f78c8ce79edbe3c0df..89807ecaeda7bd0a7fc3a1f79d2362b4c795c861 100644 (file)
@@ -339,6 +339,7 @@ void Send_Notification_WOCOVA(
        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"), "") \
@@ -352,11 +353,13 @@ void Send_Notification_WOCOVA(
        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_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"), "") \
@@ -375,6 +378,7 @@ void Send_Notification_WOCOVA(
        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"), "") \
@@ -387,6 +391,14 @@ void Send_Notification_WOCOVA(
        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_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"), "") \
@@ -429,6 +441,10 @@ void Send_Notification_WOCOVA(
        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"), "") \
@@ -446,6 +462,7 @@ void Send_Notification_WOCOVA(
        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"), "") \
@@ -454,14 +471,14 @@ void Send_Notification_WOCOVA(
        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",        "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",        "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 s2",  "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",        "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",                                          "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",                  "race_newrecordserver",  _("^BG%s^BG set the %s%s^BG place record with %s%s"), "") \
+       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"), "") \
@@ -579,6 +596,7 @@ void Send_Notification_WOCOVA(
        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_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")) \
@@ -614,6 +632,9 @@ void Send_Notification_WOCOVA(
        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"), "") \
@@ -624,6 +645,7 @@ void Send_Notification_WOCOVA(
        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!"), "") \
@@ -684,6 +706,7 @@ void Send_Notification_WOCOVA(
        MSG_MULTI_NOTIF(1, DEATH_MURDER_FALL,                    NO_MSG,        INFO_DEATH_MURDER_FALL,                    NO_MSG) \
        MSG_MULTI_NOTIF(1, DEATH_MURDER_FIRE,                    NO_MSG,        INFO_DEATH_MURDER_FIRE,                    NO_MSG) \
        MSG_MULTI_NOTIF(1, DEATH_MURDER_LAVA,                    NO_MSG,        INFO_DEATH_MURDER_LAVA,                    NO_MSG) \
+       MSG_MULTI_NOTIF(1, DEATH_MURDER_MONSTER,                 NO_MSG,        INFO_DEATH_MURDER_MONSTER,                 CENTER_DEATH_SELF_MONSTER) \
        MSG_MULTI_NOTIF(1, DEATH_MURDER_NADE,                    NO_MSG,        INFO_DEATH_MURDER_NADE,                    NO_MSG) \
        MSG_MULTI_NOTIF(1, DEATH_MURDER_SHOOTING_STAR,           NO_MSG,        INFO_DEATH_MURDER_SHOOTING_STAR,           NO_MSG) \
        MSG_MULTI_NOTIF(1, DEATH_MURDER_SLIME,                   NO_MSG,        INFO_DEATH_MURDER_SLIME,                   NO_MSG) \
@@ -702,6 +725,7 @@ void Send_Notification_WOCOVA(
        MSG_MULTI_NOTIF(1, DEATH_MURDER_VH_WAKI_DEATH,           NO_MSG,        INFO_DEATH_MURDER_VH_WAKI_DEATH,           NO_MSG) \
        MSG_MULTI_NOTIF(1, DEATH_MURDER_VH_WAKI_GUN,             NO_MSG,        INFO_DEATH_MURDER_VH_WAKI_GUN,             NO_MSG) \
        MSG_MULTI_NOTIF(1, DEATH_MURDER_VH_WAKI_ROCKET,          NO_MSG,        INFO_DEATH_MURDER_VH_WAKI_ROCKET,          NO_MSG) \
+       MSG_MULTI_NOTIF(1, DEATH_MURDER_VENGEANCE,               NO_MSG,        INFO_DEATH_MURDER_VENGEANCE,               NO_MSG) \
        MSG_MULTI_NOTIF(1, DEATH_MURDER_VOID,                    NO_MSG,        INFO_DEATH_MURDER_VOID,                    NO_MSG) \
        MSG_MULTI_NOTIF(1, DEATH_SELF_AUTOTEAMCHANGE,            NO_MSG,        INFO_DEATH_SELF_AUTOTEAMCHANGE,            CENTER_DEATH_SELF_AUTOTEAMCHANGE) \
        MSG_MULTI_NOTIF(1, DEATH_SELF_BETRAYAL,                  NO_MSG,        INFO_DEATH_SELF_BETRAYAL,                  CENTER_DEATH_SELF_BETRAYAL) \
@@ -713,6 +737,14 @@ void Send_Notification_WOCOVA(
        MSG_MULTI_NOTIF(1, DEATH_SELF_FIRE,                      NO_MSG,        INFO_DEATH_SELF_FIRE,                      CENTER_DEATH_SELF_FIRE) \
        MSG_MULTI_NOTIF(1, DEATH_SELF_GENERIC,                   NO_MSG,        INFO_DEATH_SELF_GENERIC,                   CENTER_DEATH_SELF_GENERIC) \
        MSG_MULTI_NOTIF(1, DEATH_SELF_LAVA,                      NO_MSG,        INFO_DEATH_SELF_LAVA,                      CENTER_DEATH_SELF_LAVA) \
+       MSG_MULTI_NOTIF(1, DEATH_SELF_MON_MAGE,                                  NO_MSG,        INFO_DEATH_SELF_MON_MAGE,                                  CENTER_DEATH_SELF_MONSTER) \
+       MSG_MULTI_NOTIF(1, DEATH_SELF_MON_SHAMBLER_CLAW,                 NO_MSG,        INFO_DEATH_SELF_MON_SHAMBLER_CLAW,                 CENTER_DEATH_SELF_MONSTER) \
+       MSG_MULTI_NOTIF(1, DEATH_SELF_MON_SHAMBLER_SMASH,                NO_MSG,        INFO_DEATH_SELF_MON_SHAMBLER_SMASH,                CENTER_DEATH_SELF_MONSTER) \
+       MSG_MULTI_NOTIF(1, DEATH_SELF_MON_SHAMBLER_ZAP,                  NO_MSG,        INFO_DEATH_SELF_MON_SHAMBLER_ZAP,                  CENTER_DEATH_SELF_MONSTER) \
+       MSG_MULTI_NOTIF(1, DEATH_SELF_MON_SPIDER,                                NO_MSG,        INFO_DEATH_SELF_MON_SPIDER,                                CENTER_DEATH_SELF_MONSTER) \
+       MSG_MULTI_NOTIF(1, DEATH_SELF_MON_WYVERN,                                NO_MSG,        INFO_DEATH_SELF_MON_WYVERN,                                CENTER_DEATH_SELF_MONSTER) \
+       MSG_MULTI_NOTIF(1, DEATH_SELF_MON_ZOMBIE_JUMP,                   NO_MSG,        INFO_DEATH_SELF_MON_ZOMBIE_JUMP,                   CENTER_DEATH_SELF_MONSTER) \
+       MSG_MULTI_NOTIF(1, DEATH_SELF_MON_ZOMBIE_MELEE,                  NO_MSG,        INFO_DEATH_SELF_MON_ZOMBIE_MELEE,                  CENTER_DEATH_SELF_MONSTER) \
        MSG_MULTI_NOTIF(1, DEATH_SELF_NADE,                                              NO_MSG,                INFO_DEATH_SELF_NADE,                                      CENTER_DEATH_SELF_NADE) \
        MSG_MULTI_NOTIF(1, DEATH_SELF_NOAMMO,                    NO_MSG,        INFO_DEATH_SELF_NOAMMO,                    CENTER_DEATH_SELF_NOAMMO) \
        MSG_MULTI_NOTIF(1, DEATH_SELF_ROT,                       NO_MSG,        INFO_DEATH_SELF_ROT,                       CENTER_DEATH_SELF_ROT) \
@@ -744,6 +776,8 @@ void Send_Notification_WOCOVA(
        MSG_MULTI_NOTIF(1, DEATH_SELF_VH_WAKI_DEATH,             NO_MSG,        INFO_DEATH_SELF_VH_WAKI_DEATH,             CENTER_DEATH_SELF_VH_WAKI_DEATH) \
        MSG_MULTI_NOTIF(1, DEATH_SELF_VH_WAKI_ROCKET,            NO_MSG,        INFO_DEATH_SELF_VH_WAKI_ROCKET,            CENTER_DEATH_SELF_VH_WAKI_ROCKET) \
        MSG_MULTI_NOTIF(1, DEATH_SELF_VOID,                      NO_MSG,        INFO_DEATH_SELF_VOID,                      CENTER_DEATH_SELF_VOID) \
+       MSG_MULTI_NOTIF(1, ITEM_BUFF_DROP,                       NO_MSG,        INFO_ITEM_BUFF_DROP,                       CENTER_ITEM_BUFF_DROP) \
+       MSG_MULTI_NOTIF(1, ITEM_BUFF_GOT,                        NO_MSG,        INFO_ITEM_BUFF_GOT,                        CENTER_ITEM_BUFF_GOT) \
        MSG_MULTI_NOTIF(1, ITEM_WEAPON_DONTHAVE,                 NO_MSG,        INFO_ITEM_WEAPON_DONTHAVE,                 CENTER_ITEM_WEAPON_DONTHAVE) \
        MSG_MULTI_NOTIF(1, ITEM_WEAPON_DROP,                     NO_MSG,        INFO_ITEM_WEAPON_DROP,                     CENTER_ITEM_WEAPON_DROP) \
        MSG_MULTI_NOTIF(1, ITEM_WEAPON_GOT,                      NO_MSG,        INFO_ITEM_WEAPON_GOT,                      CENTER_ITEM_WEAPON_GOT) \
@@ -911,6 +945,7 @@ var float autocvar_notification_show_sprees_center_specialonly = TRUE;
     item_wepname: return full name of a weapon from weaponid
     item_wepammo: ammo display for weapon from string
     item_centime: amount of time to display weapon message in centerprint
+    item_buffname: return full name of a buff from buffid
     death_team: show the full name of the team a player is switching from
 */
 
@@ -948,9 +983,9 @@ string arg_slot[NOTIF_MAX_ARGS];
     ARG_CASE(ARG_CS,        "f1secs",        count_seconds(f1)) \
     ARG_CASE(ARG_CS_SV,     "f1ord",         count_ordinal(f1)) \
     ARG_CASE(ARG_CS,        "f1time",        process_time(2, f1)) \
-    ARG_CASE(ARG_CS_SV,     "f1race_time",   mmssss(f1)) \
-    ARG_CASE(ARG_CS_SV,     "f2race_time",   mmssss(f2)) \
-    ARG_CASE(ARG_CS_SV,     "f3race_time",   mmssss(f3)) \
+    ARG_CASE(ARG_CS_SV_HA,  "f1race_time",   mmssss(f1)) \
+    ARG_CASE(ARG_CS_SV_HA,  "f2race_time",   mmssss(f2)) \
+    ARG_CASE(ARG_CS_SV_HA,  "f3race_time",   mmssss(f3)) \
     ARG_CASE(ARG_CS_SV,     "race_col",      CCR(((f1 == 1) ? "^F1" : "^F2"))) \
     ARG_CASE(ARG_CS_SV,     "race_diff",     ((f2 > f3) ? sprintf(CCR("^1[+%s]"), mmssss(f2 - f3)) : sprintf(CCR("^2[-%s]"), mmssss(f3 - f2)))) \
     ARG_CASE(ARG_CS,        "missing_teams", notif_arg_missing_teams(f1, f2, f3, f4)) \
@@ -963,6 +998,7 @@ string arg_slot[NOTIF_MAX_ARGS];
     ARG_CASE(ARG_CS_SV,     "spree_end",     (autocvar_notification_show_sprees ? notif_arg_spree_inf(-1, "", "", f1) : "")) \
     ARG_CASE(ARG_CS_SV,     "spree_lost",    (autocvar_notification_show_sprees ? notif_arg_spree_inf(-2, "", "", f1) : "")) \
     ARG_CASE(ARG_CS_SV,     "item_wepname",  W_Name(f1)) \
+    ARG_CASE(ARG_CS_SV,     "item_buffname", sprintf("%s%s", rgb_to_hexcolor(Buff_Color(f1)), Buff_PrettyName(f1))) \
     ARG_CASE(ARG_CS_SV,     "item_wepammo",  (s1 != "" ? sprintf(_(" with %s"), s1) : "")) \
     ARG_CASE(ARG_DC,        "item_centime",  ftos(autocvar_notification_item_centerprinttime)) \
     ARG_CASE(ARG_SV,        "death_team",    Team_ColoredFullName(f1)) \
@@ -1466,7 +1502,7 @@ void RegisterNotifications_First()
        #define dedi ""
        #endif
 
-       print(sprintf("Beginning notification initialization on %s%s program...\n", dedi, PROGNAME));
+       printf("Beginning notification initialization on %s%s program...\n", dedi, PROGNAME);
 
        // maybe do another implementation of this with checksums? for now, we don't need versioning
        /*if(autocvar_notification_version != NOTIF_VERSION)
@@ -1478,8 +1514,8 @@ void RegisterNotifications_First()
                #endif
                        notif_global_error = TRUE;
 
-               print(sprintf("^1NOTIFICATION VERSION MISMATCH: ^7program = %s, config = %d, code = %d.\n",
-                       PROGNAME, autocvar_notification_version, NOTIF_VERSION));
+               printf("^1NOTIFICATION VERSION MISMATCH: ^7program = %s, config = %d, code = %d.\n",
+                       PROGNAME, autocvar_notification_version, NOTIF_VERSION);
        }*/
 }
 
diff --git a/qcsrc/common/stats.qh b/qcsrc/common/stats.qh
new file mode 100644 (file)
index 0000000..7965597
--- /dev/null
@@ -0,0 +1,285 @@
+// Full list of all stat constants, icnluded in a single location for easy reference
+// 255 is the current limit (MAX_CL_STATS - 1), engine will need to be modified if you wish to add more stats
+
+const float MAX_CL_STATS                = 256;
+const float STAT_HEALTH                 = 0;
+// 1 empty?
+const float STAT_WEAPON                 = 2;
+const float STAT_AMMO                   = 3;
+const float STAT_ARMOR                  = 4;
+const float STAT_WEAPONFRAME            = 5;
+const float STAT_SHELLS                 = 6;
+const float STAT_NAILS                  = 7;
+const float STAT_ROCKETS                = 8;
+const float STAT_CELLS                  = 9;
+const float STAT_ACTIVEWEAPON           = 10;
+const float STAT_TOTALSECRETS           = 11;
+const float STAT_TOTALMONSTERS          = 12;
+const float STAT_SECRETS                = 13;
+const float STAT_MONSTERS               = 14;
+const float STAT_ITEMS                  = 15;
+const float STAT_VIEWHEIGHT             = 16;
+// 17 empty?
+// 18 empty?
+// 19 empty?
+// 20 empty?
+const float STAT_VIEWZOOM               = 21;
+// 22 empty?
+// 23 empty?
+// 24 empty?
+// 25 empty?
+// 26 empty?
+// 27 empty?
+// 28 empty?
+// 29 empty?
+// 30 empty?
+// 31 empty?
+const float STAT_KH_KEYS                = 32;
+const float STAT_CTF_STATE              = 33;
+// 34 empty?
+const float STAT_WEAPONS                = 35;
+const float STAT_SWITCHWEAPON           = 36;
+const float STAT_GAMESTARTTIME          = 37;
+const float STAT_STRENGTH_FINISHED      = 38;
+const float STAT_INVINCIBLE_FINISHED    = 39;
+// 40 empty?
+// 41 empty?
+const float STAT_PRESSED_KEYS           = 42;
+const float STAT_ALLOW_OLDNEXBEAM       = 43; // this stat could later contain some other bits of info, like, more server-side particle config
+const float STAT_FUEL                   = 44;
+const float STAT_NB_METERSTART          = 45;
+const float STAT_SHOTORG                = 46; // compressShotOrigin
+const float STAT_LEADLIMIT              = 47;
+const float STAT_WEAPON_CLIPLOAD        = 48;
+const float STAT_WEAPON_CLIPSIZE        = 49;
+const float STAT_NEX_CHARGE             = 50;
+const float STAT_LAST_PICKUP            = 51;
+const float STAT_HUD                    = 52;
+const float STAT_NEX_CHARGEPOOL         = 53;
+const float STAT_HIT_TIME               = 54;
+const float STAT_TYPEHIT_TIME           = 55;
+const float STAT_LAYED_MINES            = 56;
+const float STAT_HAGAR_LOAD             = 57;
+const float STAT_SWITCHINGWEAPON        = 58;
+const float STAT_SUPERWEAPONS_FINISHED  = 59;
+const float STAT_VEHICLESTAT_HEALTH     = 60;
+const float STAT_VEHICLESTAT_SHIELD     = 61;
+const float STAT_VEHICLESTAT_ENERGY     = 62;
+const float STAT_VEHICLESTAT_AMMO1      = 63;
+const float STAT_VEHICLESTAT_RELOAD1    = 64;
+const float STAT_VEHICLESTAT_AMMO2      = 65;
+const float STAT_VEHICLESTAT_RELOAD2    = 66;
+const float STAT_VEHICLESTAT_W2MODE     = 67;
+// 68 empty?
+// 69 empty?
+const float STAT_SECRETS_TOTAL          = 70;
+const float STAT_SECRETS_FOUND          = 71;
+const float STAT_RESPAWN_TIME           = 72;
+const float STAT_ROUNDSTARTTIME         = 73;
+const float STAT_WEAPONS2               = 74;
+const float STAT_WEAPONS3               = 75;
+const float STAT_MONSTERS_TOTAL         = 76;
+const float STAT_MONSTERS_KILLED        = 77;
+const float STAT_BUFFS                  = 78;
+// 79 empty?
+// 80 empty?
+// 86 empty?
+// 87 empty?
+// 88 empty?
+// 89 empty?
+// 90 empty?
+// 91 empty?
+// 92 empty?
+// 93 empty?
+// 94 empty?
+// 95 empty?
+// 96 empty?
+// 97 empty?
+// 98 empty?
+// 99 empty?
+
+
+/* The following stats change depending on the gamemode, so can share the same ID */
+// IDs 100 to 104 reserved for gamemodes
+
+// freeze tag, clan arena, jailbreak
+const float STAT_REDALIVE               = 100;
+const float STAT_BLUEALIVE              = 101;
+const float STAT_YELLOWALIVE            = 102;
+const float STAT_PINKALIVE              = 103;
+
+// domination
+const float STAT_DOM_TOTAL_PPS          = 100;
+const float STAT_DOM_PPS_RED            = 101;
+const float STAT_DOM_PPS_BLUE           = 102;
+const float STAT_DOM_PPS_YELLOW         = 103;
+const float STAT_DOM_PPS_PINK           = 104;
+
+// vip
+const float STAT_VIP                    = 100;
+const float STAT_VIP_RED                = 101;
+const float STAT_VIP_BLUE               = 102;
+const float STAT_VIP_YELLOW             = 103;
+const float STAT_VIP_PINK               = 104;
+
+// key hunt
+const float STAT_KH_REDKEY_TEAM         = 100;
+const float STAT_KH_BLUEKEY_TEAM        = 101;
+const float STAT_KH_YELLOWKEY_TEAM      = 102;
+const float STAT_KH_PINKKEY_TEAM        = 103;
+
+/* Gamemode-specific stats end here */
+
+
+const float STAT_FROZEN                 = 105;
+const float STAT_REVIVE_PROGRESS        = 106;
+// 107 empty?
+// 108 empty?
+// 109 empty?
+// 110 empty?
+// 111 empty?
+// 112 empty?
+// 113 empty?
+// 114 empty?
+// 115 empty?
+// 116 empty?
+// 117 empty?
+// 118 empty?
+// 119 empty?
+// 120 empty?
+// 121 empty?
+// 122 empty?
+// 123 empty?
+// 124 empty?
+// 125 empty?
+// 126 empty?
+// 127 empty?
+// 128 empty?
+// 129 empty?
+// 130 empty?
+// 131 empty?
+// 132 empty?
+// 133 empty?
+// 134 empty?
+// 135 empty?
+// 136 empty?
+// 137 empty?
+// 138 empty?
+// 139 empty?
+// 140 empty?
+// 141 empty?
+// 142 empty?
+// 143 empty?
+// 144 empty?
+// 145 empty?
+// 146 empty?
+// 147 empty?
+// 148 empty?
+// 149 empty?
+// 150 empty?
+// 151 empty?
+// 152 empty?
+// 153 empty?
+// 154 empty?
+// 155 empty?
+// 156 empty?
+// 157 empty?
+// 158 empty?
+// 159 empty?
+// 160 empty?
+// 161 empty?
+// 162 empty?
+// 162 empty?
+// 163 empty?
+// 164 empty?
+// 165 empty?
+// 166 empty?
+// 167 empty?
+// 168 empty?
+// 169 empty?
+// 170 empty?
+// 171 empty?
+// 172 empty?
+// 173 empty?
+// 174 empty?
+// 175 empty?
+// 176 empty?
+// 177 empty?
+// 178 empty?
+// 179 empty?
+// 180 empty?
+// 181 empty?
+// 182 empty?
+// 183 empty?
+// 184 empty?
+// 185 empty?
+// 186 empty?
+// 187 empty?
+// 188 empty?
+// 189 empty?
+// 190 empty?
+// 191 empty?
+// 192 empty?
+// 193 empty?
+// 194 empty?
+// 195 empty?
+// 196 empty?
+// 197 empty?
+// 198 empty?
+// 199 empty?
+// 200 empty?
+// 201 empty?
+// 202 empty?
+// 203 empty?
+// 204 empty?
+// 205 empty?
+// 206 empty?
+// 207 empty?
+// 208 empty?
+// 209 empty?
+// 210 empty?
+// 211 empty?
+// 212 empty?
+// 213 empty?
+// 214 empty?
+// 215 empty?
+// 216 empty?
+// 217 empty?
+// 218 empty?
+// 219 empty?
+const float STAT_MOVEVARS_AIRACCEL_QW_STRETCHFACTOR     = 220;
+const float STAT_MOVEVARS_AIRCONTROL_PENALTY            = 221;
+const float STAT_MOVEVARS_AIRSPEEDLIMIT_NONQW           = 222;
+const float STAT_MOVEVARS_AIRSTRAFEACCEL_QW             = 223;
+const float STAT_MOVEVARS_AIRCONTROL_POWER              = 224;
+const float STAT_MOVEFLAGS                              = 225;
+const float STAT_MOVEVARS_WARSOWBUNNY_AIRFORWARDACCEL   = 226;
+const float STAT_MOVEVARS_WARSOWBUNNY_ACCEL             = 227;
+const float STAT_MOVEVARS_WARSOWBUNNY_TOPSPEED          = 228;
+const float STAT_MOVEVARS_WARSOWBUNNY_TURNACCEL         = 229;
+const float STAT_MOVEVARS_WARSOWBUNNY_BACKTOSIDERATIO   = 230;
+const float STAT_MOVEVARS_AIRSTOPACCELERATE             = 231;
+const float STAT_MOVEVARS_AIRSTRAFEACCELERATE           = 232;
+const float STAT_MOVEVARS_MAXAIRSTRAFESPEED             = 233;
+const float STAT_MOVEVARS_AIRCONTROL                    = 234;
+const float STAT_FRAGLIMIT                              = 235;
+const float STAT_TIMELIMIT                              = 236;
+const float STAT_MOVEVARS_WALLFRICTION                  = 237;
+const float STAT_MOVEVARS_FRICTION                      = 238;
+const float STAT_MOVEVARS_WATERFRICTION                 = 239;
+const float STAT_MOVEVARS_TICRATE                       = 240;
+const float STAT_MOVEVARS_TIMESCALE                     = 241;
+const float STAT_MOVEVARS_GRAVITY                       = 242;
+const float STAT_MOVEVARS_STOPSPEED                     = 243;
+const float STAT_MOVEVARS_MAXSPEED                      = 244;
+const float STAT_MOVEVARS_SPECTATORMAXSPEED             = 245;
+const float STAT_MOVEVARS_ACCELERATE                    = 246;
+const float STAT_MOVEVARS_AIRACCELERATE                 = 247;
+const float STAT_MOVEVARS_WATERACCELERATE               = 248;
+const float STAT_MOVEVARS_ENTGRAVITY                    = 249;
+const float STAT_MOVEVARS_JUMPVELOCITY                  = 250;
+const float STAT_MOVEVARS_EDGEFRICTION                  = 251;
+const float STAT_MOVEVARS_MAXAIRSPEED                   = 252;
+const float STAT_MOVEVARS_STEPHEIGHT                    = 253;
+const float STAT_MOVEVARS_AIRACCEL_QW                   = 254;
+const float STAT_MOVEVARS_AIRACCEL_SIDEWAYS_FRICTION    = 255;
index 15193fd41db338fddd48ba607fd8281bd6ce2ad4..ac792a387ab4e2acfce3408d0e5c819c7b781ff3 100644 (file)
@@ -3,7 +3,7 @@ float TEST_ok;
 
 void TEST_Fail(string cond)
 {
-       print(sprintf("Assertion failed: ", cond));
+       printf("Assertion failed: ", cond);
        //backtrace();
        ++TEST_failed;
 }
@@ -27,29 +27,29 @@ float TEST_RunAll()
        }
        if(f)
        {
-               print(sprintf("%d tests failed\n", f));
+               printf("%d tests failed\n", f);
                return 1;
        }
        else
        {
-               print(sprintf("All tests OK\n", f));
+               printf("All tests OK\n", f);
                return 0;
        }
 }
 
 float TEST_Run(string s)
 {
-       print(sprintf("%s: testing...\n", s));
+       printf("%s: testing...\n", s);
        TEST_failed = TEST_ok = 0;
        callfunction(strcat("_TEST_", s));
        if(TEST_failed > 0)
        {
-               print(sprintf("%s: %d items failed.\n", s, TEST_failed));
+               printf("%s: %d items failed.\n", s, TEST_failed);
                return 0;
        }
        else if(!TEST_ok)
        {
-               print(sprintf("%s: did not complete.\n", s));
+               printf("%s: did not complete.\n", s);
                return 0;
        }
        return 1;
index 9a5e0e7da274c8b1043f3f52ec838b03590919ad..c69d2f44aab4139b44e1da806baa8e6edbb58a7a 100644 (file)
@@ -33,7 +33,7 @@ float url_URI_Get_Callback(float id, float status, string data)
                return 0;
        if(e.url_rbuf >= 0 || e.url_wbuf >= 0)
        {
-               print(sprintf("WARNING: handle %d (%s) has already received data?!?\n", id + NUM_URL_ID, e.url_url));
+               printf("WARNING: handle %d (%s) has already received data?!?\n", id + NUM_URL_ID, e.url_url);
                return 0;
        }
 
index f39c30c0007cb03165d06d181c6c04e534497e25..4e8e1b59c8d35ac69ea37fe0f410f74eb1f79d92 100644 (file)
@@ -9,7 +9,6 @@
 
 #ifndef NOCOMPAT
 //# define WORKAROUND_XON010
-//# define COMPAT_XON010_CHANNELS
 //# define COMPAT_XON050_ENGINE
 # define COMPAT_NO_MOD_IS_XONOTIC
 # define COMPAT_XON060_DONTCRASH_CHECKPVS
index d1503a7b6b8bae9ea53c37c7bce2717ac64931f4..c50a3ba5350d3b1fd1bdb394bc0b3ca5852026dd 100644 (file)
@@ -874,7 +874,7 @@ float cvar_settemp(string tmp_cvar, string tmp_value)
 
        if(!cvar_type(tmp_cvar))
        {
-               print(sprintf("Error: cvar %s doesn't exist!\n", tmp_cvar));
+               printf("Error: cvar %s doesn't exist!\n", tmp_cvar);
                return 0;
        }
 
@@ -911,7 +911,7 @@ float cvar_settemp_restore()
                        ++i;
                }
                else
-                       print(sprintf("Error: cvar %s doesn't exist anymore! It can still be restored once it's manually recreated.\n", e.netname));
+                       printf("Error: cvar %s doesn't exist anymore! It can still be restored once it's manually recreated.\n", e.netname);
        }
 
        return i;
@@ -1312,7 +1312,7 @@ string find_last_color_code(string s)
                        ++carets;
 
                // check if carets aren't all escaped
-               if (carets == 1 || mod(carets, 2) == 1) // first check is just an optimization
+               if (carets & 1)
                {
                        if(i+1 <= len)
                        if(strstrofs("0123456789", substring(s, i+1, 1), 0) >= 0)
@@ -2752,3 +2752,55 @@ float Announcer_PickNumber(float type, float num)
        return NOTIF_ABORT; // abort sending if none of these numbers were right
 }
 #endif
+
+#ifndef MENUQC
+float Mod_Q1BSP_SuperContentsFromNativeContents(float nativecontents)
+{
+       switch(nativecontents)
+       {
+               case CONTENT_EMPTY:
+                       return 0;
+               case CONTENT_SOLID:
+                       return DPCONTENTS_SOLID | DPCONTENTS_OPAQUE;
+               case CONTENT_WATER:
+                       return DPCONTENTS_WATER;
+               case CONTENT_SLIME:
+                       return DPCONTENTS_SLIME;
+               case CONTENT_LAVA:
+                       return DPCONTENTS_LAVA | DPCONTENTS_NODROP;
+               case CONTENT_SKY:
+                       return DPCONTENTS_SKY | DPCONTENTS_NODROP | DPCONTENTS_OPAQUE; // to match behaviour of Q3 maps, let sky count as opaque
+       }
+       return 0;
+}
+
+float Mod_Q1BSP_NativeContentsFromSuperContents(float supercontents)
+{
+       if(supercontents & (DPCONTENTS_SOLID | DPCONTENTS_BODY))
+               return CONTENT_SOLID;
+       if(supercontents & DPCONTENTS_SKY)
+               return CONTENT_SKY;
+       if(supercontents & DPCONTENTS_LAVA)
+               return CONTENT_LAVA;
+       if(supercontents & DPCONTENTS_SLIME)
+               return CONTENT_SLIME;
+       if(supercontents & DPCONTENTS_WATER)
+               return CONTENT_WATER;
+       return CONTENT_EMPTY;
+}
+#endif
+
+vector bezier_quadratic_getpoint(vector a, vector b, vector c, float t)
+{
+       return
+               (c - 2 * b + a) * (t * t) +
+               (b - a) * (2 * t) +
+               a;
+}
+
+vector bezier_quadratic_getderivative(vector a, vector b, vector c, float t)
+{
+       return
+               (c - 2 * b + a) * (2 * t) +
+               (b - a) * 2;
+}
index a9f9095c7a40492e6615258364cc0ca059c08620..9b969134a56ef21ed1968505b3008aae94bd37ac 100644 (file)
@@ -215,7 +215,7 @@ float compressShotOrigin(vector v);
 vector decompressShotOrigin(float f);
 
 #ifdef SVQC
-string rankings_reply, ladder_reply, lsmaps_reply, maplist_reply; // cached replies
+string rankings_reply, ladder_reply, lsmaps_reply, maplist_reply, monsterlist_reply; // cached replies
 string records_reply[10];
 #endif
 
@@ -305,9 +305,9 @@ const float XENCODE_LEN = 5;
 string xencode(float f);
 float xdecode(string s);
 
-#ifndef COMPAT_XON010_CHANNELS
+// Play all sounds via sound7, for access to the extra channels.
+// Otherwise, channels 8 to 15 would be blocked for a weird QW feature.
 #define sound(e,c,s,v,a) sound7(e,c,s,v,a,0,0)
-#endif
 
 float lowestbit(float f);
 
@@ -367,6 +367,12 @@ void FindConnectedComponent(entity e, .entity fld, findNextEntityNearFunction_t
 // expand multiple arguments into one argument by stripping parenthesis
 #define XPD(...) __VA_ARGS__
 
+// Some common varargs functions. Lowercase as they match C.
+#define printf(...) print(sprintf(__VA_ARGS__))
+#define dprintf(...) dprint(sprintf(__VA_ARGS__))
+#define fprintf(file, ...) fputs(file, sprintf(__VA_ARGS__))
+#define bprintf(...) bprint(sprintf(__VA_ARGS__))
+
 #ifndef MENUQC
 void backtrace(string msg);
 #endif
@@ -430,3 +436,12 @@ void dedicated_print(string input);
 #define CNT_ROUNDSTART 6
 float Announcer_PickNumber(float type, float num);
 #endif
+
+#ifndef MENUQC
+float Mod_Q1BSP_SuperContentsFromNativeContents(float nativecontents);
+float Mod_Q1BSP_NativeContentsFromSuperContents(float supercontents);
+#endif
+
+// Quadratic splines (bezier)
+vector bezier_quadratic_getpoint(vector a, vector p, vector b, float t);
+vector bezier_quadratic_getderivative(vector a, vector p, vector b, float t);
index 46c312f160ec8e333bd566897cf37aabc559affd..4f7381a4af83fa73047368e1b9bccd5492e1cc09 100644 (file)
@@ -60,13 +60,13 @@ void CSQCPlayer_SetPredictionError(vector o, vector v, float onground_diff)
        // commented out as this one did not help
        if(onground_diff)
        {
-               print(sprintf("ONGROUND MISMATCH: %d x=%v v=%v\n", onground_diff, o, v));
+               printf("ONGROUND MISMATCH: %d x=%v v=%v\n", onground_diff, o, v);
                return;
        }
        */
        if(vlen(o) > 32 || vlen(v) > 192)
        {
-               //print(sprintf("TOO BIG: x=%v v=%v\n", o, v));
+               //printf("TOO BIG: x=%v v=%v\n", o, v);
                return;
        }
 
index f00971674ef8bca06675809fcc1526744450969b..ee1ce5d31e025d709b9b3f983b3c420f7a0cc429 100644 (file)
 #include "xonotic/dialog_firstrun.c"
 #include "xonotic/dialog_teamselect.c"
 #include "xonotic/dialog_sandboxtools.c"
+#include "xonotic/dialog_monstertools.c"
 #include "xonotic/dialog_settings.c"
 #include "xonotic/dialog_settings_video.c"
 #include "xonotic/dialog_settings_effects.c"
 #include "xonotic/dialog_settings_audio.c"
 #include "xonotic/dialog_settings_user.c"
+#include "xonotic/dialog_settings_user_languagewarning.c"
 #include "xonotic/dialog_settings_misc.c"
 #include "xonotic/dialog_multiplayer.c"
 #include "xonotic/dialog_multiplayer_playersetup.c"
 #include "xonotic/dialog_hudpanel_weapons.c"
 #include "xonotic/dialog_hudpanel_physics.c"
 #include "xonotic/dialog_hudpanel_centerprint.c"
+#include "xonotic/dialog_hudpanel_buffs.c"
 #include "xonotic/slider_picmip.c"
index 5d0e7437fa8de17e77b93e7514918077cc6019eb..0f6f96647198e5a4e5605cf13cd1c7608aa9737f 100644 (file)
@@ -20,7 +20,7 @@ CLASS(Label) EXTENDS(Item)
        ATTRIB(Label, realFontSize, vector, '0 0 0')
        ATTRIB(Label, realOrigin, vector, '0 0 0')
        ATTRIB(Label, alpha, float, 0.7)
-       ATTRIB(Label, colorL, vector, '1 1 1')
+       ATTRIB(Label, colorL, vector, SKINCOLOR_TEXT)
        ATTRIB(Label, disabled, float, 0)
        ATTRIB(Label, disabledAlpha, float, 0.3)
        ATTRIB(Label, textEntity, entity, NULL)
@@ -79,7 +79,7 @@ void Label_recalcPositionWithText(entity me, string t)
                        me.realOrigin_x = me.keepspaceLeft;
                if(!me.overrideCondenseFactor)
                        me.condenseFactor = spaceAvail / spaceUsed;
-               dprint(sprintf(_("NOTE: label text %s too wide for label, condensed by factor %f\n"), t, me.condenseFactor));
+               dprintf(_("NOTE: label text %s too wide for label, condensed by factor %f\n"), t, me.condenseFactor);
        }
 
        if(!me.overrideRealOrigin_y)
index 1398e5757e9277cdadbecaaed942742b2bb61c3d..d7fd581a32f9a3f15125d8ed246bcc90cbffc05a 100644 (file)
@@ -56,7 +56,7 @@ void m_init()
        check_unacceptable_compiler_bugs();
 
 #ifdef WATERMARK
-       print(sprintf(_("^4MQC Build information: ^1%s\n"), WATERMARK));
+       printf(_("^4MQC Build information: ^1%s\n"), WATERMARK);
 #endif
 
        // list all game dirs (TEST)
@@ -666,7 +666,7 @@ void m_tooltip(vector pos)
                        while(getWrappedLine_remaining)
                        {
                                s = getWrappedLine(SKINWIDTH_TOOLTIP, fontsize, draw_TextWidth_WithoutColors);
-                               draw_Text(p, s, fontsize, '1 1 1', SKINALPHA_TOOLTIP * menuTooltipAlpha, FALSE);
+                               draw_Text(p, s, fontsize, SKINCOLOR_TOOLTIP, SKINALPHA_TOOLTIP * menuTooltipAlpha, FALSE);
                                p_y += fontsize_y;
                        }
                }
index 4900b9d96bb52db193c8aaf82771634c94279755..86cb9621c7e31d2082e45dc01bf579cfd226d757 100644 (file)
@@ -25,6 +25,7 @@ oo/base.h
 ../common/command/generic.qh
 ../common/command/shared_defs.qh
 ../common/urllib.qh
+../common/monsters/monsters.qh
 
 command/menu_cmd.qh
 menu.qh
@@ -52,5 +53,6 @@ xonotic/util.qc
 ../common/mapinfo.qc
 ../common/items.qc
 ../common/urllib.qc
+../common/monsters/monsters.qc
 
 ../warpzonelib/mathlib.qc
index 6b5cac042ca970af7df0cc83c1c4e9f5e5e14585..6583898bc7ff8dfc5c50f4e0fa59291a91bcbd6b 100644 (file)
@@ -45,10 +45,11 @@ SKINBEGIN
        SKINSTRING(GFX_TOOLTIP, "tooltip");
        SKINVECTOR(MARGIN_TOOLTIP, '5 5 0');
        SKINVECTOR(BORDER_TOOLTIP, '1 1 0');
+       SKINVECTOR(AVOID_TOOLTIP, '8 8 0');
+       SKINFLOAT(WIDTH_TOOLTIP, 0.3);
        SKINFLOAT(FONTSIZE_TOOLTIP, 12);
        SKINFLOAT(ALPHA_TOOLTIP, 0.7);
-       SKINFLOAT(WIDTH_TOOLTIP, 0.3);
-       SKINVECTOR(AVOID_TOOLTIP, '8 8 0');
+       SKINVECTOR(COLOR_TOOLTIP, '1 1 1');
 
        // the individual dialog background colors
        SKINVECTOR(COLOR_DIALOG_FIRSTRUN, '0.7 0.7 1');
@@ -97,7 +98,8 @@ SKINBEGIN
        SKINFLOAT(ALPHA_DISABLED, 0.2);
        SKINFLOAT(ALPHA_BEHIND, 0.5);
        SKINFLOAT(ALPHA_TEXT, 0.7);
-
+       SKINVECTOR(COLOR_TEXT, '1 1 1');
+       
        // item: button
        SKINSTRING(GFX_BUTTON, "button");
        SKINSTRING(GFX_BUTTON_GRAY, "buttongray");
@@ -201,7 +203,6 @@ SKINBEGIN
 
        // item: player color button
        SKINSTRING(GFX_COLORBUTTON, "colorbutton");
-       SKINSTRING(GFX_COLORBUTTON_COLOR, "color");
 
        // item: player model
        SKINVECTOR(COLOR_MODELTITLE, '1 1 1');
@@ -227,6 +228,8 @@ SKINBEGIN
        SKINFLOAT(WIDTH_SCROLLBAR, 16);
 
        // item: server list
+       SKINFLOAT(ALPHA_SERVERLIST_CATEGORY, 0.7);
+       SKINVECTOR(COLOR_SERVERLIST_CATEGORY, '1 1 1');
        SKINFLOAT(ALPHA_SERVERLIST_FULL, 0.4);
        SKINFLOAT(ALPHA_SERVERLIST_EMPTY, 0.7);
        SKINVECTOR(COLOR_SERVERLIST_LOWPING, '0 1 0');
index 772c9e452cdfb72e6e74fd1a7f2b52ff86624acb..bcbdfee8db9d3585a4aa4e51567492207cd392bc 100644 (file)
@@ -3,9 +3,8 @@ CLASS(XonoticColorButton) EXTENDS(RadioButton)
        METHOD(XonoticColorButton, configureXonoticColorButton, void(entity, float, float, float))
        METHOD(XonoticColorButton, setChecked, void(entity, float))
        METHOD(XonoticColorButton, draw, void(entity))
-       ATTRIB(XonoticColorButton, fontSize, float, SKINFONTSIZE_NORMAL)
+       ATTRIB(XonoticColorButton, fontSize, float, 0)
        ATTRIB(XonoticColorButton, image, string, SKINGFX_COLORBUTTON)
-       ATTRIB(XonoticColorButton, image2, string, SKINGFX_COLORBUTTON_COLOR)
 
        ATTRIB(XonoticColorButton, useDownAsChecked, float, 1)
 
@@ -54,8 +53,6 @@ void XonoticColorButton_configureXonoticColorButton(entity me, float theGroup, f
        me.cvarPart = theColor;
        me.loadCvars(me);
        me.configureRadioButton(me, string_null, me.fontSize, me.image, theGroup, 0);
-       me.srcMulti = 1;
-       me.src2 = me.image2;
 }
 void XonoticColorButton_setChecked(entity me, float val)
 {
@@ -94,7 +91,10 @@ void XonoticColorButton_saveCvars(entity me)
 }
 void XonoticColorButton_draw(entity me)
 {
-       me.color2 = colormapPaletteColor(me.cvarValueFloat, me.cvarPart);
+       me.color  = colormapPaletteColor(me.cvarValueFloat, me.cvarPart);
+       me.colorC = me.color;
+       me.colorF = me.color;
+       me.colorD = me.color;
        SUPER(XonoticColorButton).draw(me);
 }
 #endif
index eca6df5f358f44c9210f7c1cb20eb88bfcb3d8c5..e0727373c14b3a4795db1cde2f3caadaec45bfbc 100644 (file)
@@ -72,39 +72,60 @@ vector color_hslimage(vector v, vector margin)
 
 float XonoticColorpicker_mouseDrag(entity me, vector coords)
 {
-       float i;
+       float i, carets;
        for(;;)
        {
                i = me.controlledTextbox.cursorPos;
                if(i >= 2)
                {
                        if(substring(me.controlledTextbox.text, i-2, 1) == "^")
-                               if(strstrofs("0123456789", substring(me.controlledTextbox.text, i-1, 1), 0) >= 0)
-                               {
-                                       me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0);
-                                       me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0);
-                                       continue;
-                               }
+                       {
+                               carets = 1;
+                               while (i - 2 - carets >= 0 && substring(me.controlledTextbox.text, i - 2 - carets, 1) == "^")
+                                       ++carets;
+                               if (carets & 1)
+                                       if(strstrofs("0123456789", substring(me.controlledTextbox.text, i-1, 1), 0) >= 0)
+                                       {
+                                               me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0);
+                                               me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0);
+                                               continue;
+                                       }
+                       }
                }
 
                if(i >= 5)
                {
                        if(substring(me.controlledTextbox.text, i-5, 2) == "^x")
-                               if(strstrofs("0123456789abcdefABCDEF", substring(me.controlledTextbox.text, i-3, 1), 0) >= 0)
-                                       if(strstrofs("0123456789abcdefABCDEF", substring(me.controlledTextbox.text, i-2, 1), 0) >= 0)
-                                               if(strstrofs("0123456789abcdefABCDEF", substring(me.controlledTextbox.text, i-1, 1), 0) >= 0)
-                                               {
-                                                       me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0);
-                                                       me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0);
-                                                       me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0);
-                                                       me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0);
-                                                       me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0);
-                                                       continue;
-                                               }
+                       {
+                               carets = 1;
+                               while (i - 5 - carets >= 0 && substring(me.controlledTextbox.text, i - 5 - carets, 1) == "^")
+                                       ++carets;
+                               if (carets & 1)
+                                       if(strstrofs("0123456789abcdefABCDEF", substring(me.controlledTextbox.text, i-3, 1), 0) >= 0)
+                                               if(strstrofs("0123456789abcdefABCDEF", substring(me.controlledTextbox.text, i-2, 1), 0) >= 0)
+                                                       if(strstrofs("0123456789abcdefABCDEF", substring(me.controlledTextbox.text, i-1, 1), 0) >= 0)
+                                                       {
+                                                               me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0);
+                                                               me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0);
+                                                               me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0);
+                                                               me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0);
+                                                               me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0);
+                                                               continue;
+                                                       }
+                       }
                }
                break;
        }
 
+       if(substring(me.controlledTextbox.text, i-1, 1) == "^")
+       {
+               carets = 1;
+               while (i - 1 - carets >= 0 && substring(me.controlledTextbox.text, i - 1 - carets, 1) == "^")
+                       ++carets;
+               if (carets & 1)
+                       me.controlledTextbox.enterText(me.controlledTextbox, "^"); // escape previous caret
+       }
+
        vector margin;
        margin = me.imagemargin;
        if(coords_x >= margin_x)
index 722917f553c8e7876f03ee0a0b4b0799f1bd4890..913a03eaf460aae082aa5d73bcda2241c615f4a4 100644 (file)
@@ -17,6 +17,7 @@ CLASS(XonoticCvarList) EXTENDS(XonoticListBox)
 
        METHOD(XonoticCvarList, mouseRelease, float(entity, vector))
        METHOD(XonoticCvarList, setSelected, void(entity, float))
+       METHOD(XonoticCvarList, updateCvarType, float(entity))
 
        ATTRIB(XonoticCvarList, controlledTextbox, entity, NULL)
        ATTRIB(XonoticCvarList, cvarNameBox, entity, NULL)
@@ -24,6 +25,7 @@ CLASS(XonoticCvarList) EXTENDS(XonoticListBox)
        ATTRIB(XonoticCvarList, cvarTypeBox, entity, NULL)
        ATTRIB(XonoticCvarList, cvarValueBox, entity, NULL)
        ATTRIB(XonoticCvarList, cvarDefaultBox, entity, NULL)
+       ATTRIB(XonoticCvarList, cvarNeedsForcing, float, 0)
 
        ATTRIB(XonoticCvarList, handle, float, -1)
        ATTRIB(XonoticCvarList, cvarName, string, string_null)
@@ -58,6 +60,45 @@ void XonoticCvarList_destroy(entity me)
 {
        buf_del(me.handle);
 }
+string autocvar_menu_forced_saved_cvars;
+string autocvar_menu_reverted_nonsaved_cvars;
+float XonoticCvarList_updateCvarType(entity me)
+{
+       float t;
+       t = cvar_type(me.cvarName);
+       me.cvarType = "";
+       float needsForcing;
+       if(strstrofs(strcat(" ", autocvar_menu_forced_saved_cvars, " "), strcat(" ", me.cvarName, " "), 0) >= 0)
+       {
+               me.cvarType = strcat(me.cvarType, ", ", _("forced to be saved to config.cfg"));
+               needsForcing = 0;
+       }
+       else if(strstrofs(strcat(" ", autocvar_menu_reverted_nonsaved_cvars, " "), strcat(" ", me.cvarName, " "), 0) >= 0)
+       {
+               // Currently claims to be saved, but won't be on next startup.
+               me.cvarType = strcat(me.cvarType, ", ", _("will not be saved"));
+               needsForcing = 1;
+       }
+       else if(t & CVAR_TYPEFLAG_SAVED)
+       {
+               me.cvarType = strcat(me.cvarType, ", ", _("will be saved to config.cfg"));
+               needsForcing = 0;
+       }
+       else
+       {
+               me.cvarType = strcat(me.cvarType, ", ", _("will not be saved"));
+               needsForcing = 1;
+       }
+       if(t & CVAR_TYPEFLAG_PRIVATE)
+               me.cvarType = strcat(me.cvarType, ", ", _("private"));
+       if(t & CVAR_TYPEFLAG_ENGINE)
+               me.cvarType = strcat(me.cvarType, ", ", _("engine setting"));
+       if(t & CVAR_TYPEFLAG_READONLY)
+               me.cvarType = strcat(me.cvarType, ", ", _("read only"));
+       me.cvarType = strzone(substring(me.cvarType, 2, strlen(me.cvarType) - 2));
+       me.cvarTypeBox.setText(me.cvarTypeBox, me.cvarType);
+       return needsForcing;
+}
 void XonoticCvarList_setSelected(entity me, float i)
 {
        string s;
@@ -77,30 +118,16 @@ void XonoticCvarList_setSelected(entity me, float i)
        me.cvarName = strzone(bufstr_get(me.handle, me.selectedItem));
        me.cvarDescription = strzone(cvar_description(me.cvarName));
        me.cvarDefault = strzone(cvar_defstring(me.cvarName));
-
-       float t;
-       t = cvar_type(me.cvarName);
-       me.cvarType = "";
-       if(t & CVAR_TYPEFLAG_SAVED)
-               me.cvarType = strcat(me.cvarType, ", ", _("will be saved to config.cfg"));
-       else
-               me.cvarType = strcat(me.cvarType, ", ", _("will not be saved"));
-       if(t & CVAR_TYPEFLAG_PRIVATE)
-               me.cvarType = strcat(me.cvarType, ", ", _("private"));
-       if(t & CVAR_TYPEFLAG_ENGINE)
-               me.cvarType = strcat(me.cvarType, ", ", _("engine setting"));
-       if(t & CVAR_TYPEFLAG_READONLY)
-               me.cvarType = strcat(me.cvarType, ", ", _("read only"));
-       me.cvarType = strzone(substring(me.cvarType, 2, strlen(me.cvarType) - 2));
-
        me.cvarNameBox.setText(me.cvarNameBox, me.cvarName);
        me.cvarDescriptionBox.setText(me.cvarDescriptionBox, me.cvarDescription);
-       me.cvarTypeBox.setText(me.cvarTypeBox, me.cvarType);
+       float needsForcing = me.updateCvarType(me);
        me.cvarDefaultBox.setText(me.cvarDefaultBox, me.cvarDefault);
 
        // this one can handle tempstrings
        s = cvar_string(me.cvarName);
+       me.cvarNeedsForcing = 0;
        me.cvarValueBox.setText(me.cvarValueBox, s);
+       me.cvarNeedsForcing = needsForcing;
        me.cvarValueBox.cursorPos = strlen(s);
 }
 void CvarList_Filter_Change(entity box, entity me)
@@ -143,7 +170,11 @@ void XonoticCvarList_drawListBoxItem(entity me, float i, vector absSize, float i
        v = cvar_string(k);
        d = cvar_defstring(k);
        t = cvar_type(k);
-       if(t & CVAR_TYPEFLAG_SAVED)
+       if(strstrofs(strcat(" ", autocvar_menu_forced_saved_cvars, " "), strcat(" ", k, " "), 0) >= 0)
+               theAlpha = SKINALPHA_CVARLIST_SAVED;
+       else if(strstrofs(strcat(" ", autocvar_menu_reverted_nonsaved_cvars, " "), strcat(" ", k, " "), 0) >= 0)
+               theAlpha = SKINALPHA_CVARLIST_TEMPORARY;
+       else if(t & CVAR_TYPEFLAG_SAVED)
                theAlpha = SKINALPHA_CVARLIST_SAVED;
        else
                theAlpha = SKINALPHA_CVARLIST_TEMPORARY;
@@ -188,12 +219,32 @@ float XonoticCvarList_mouseRelease(entity me, vector pos)
 void CvarList_Value_Change(entity box, entity me)
 {
        cvar_set(me.cvarNameBox.text, box.text);
+       if(me.cvarNeedsForcing)
+       {
+               localcmd(sprintf("\nseta %1$s \"$%1$s\"\n", me.cvarName));
+               cvar_set("menu_reverted_nonsaved_cvars", substring(strreplace(strcat(" ", me.cvarName, " "), " ", strcat(" ", autocvar_menu_reverted_nonsaved_cvars, " ")), 1, -2));
+               if (autocvar_menu_forced_saved_cvars == "")
+                       cvar_set("menu_forced_saved_cvars", me.cvarName);
+               else
+                       cvar_set("menu_forced_saved_cvars", strcat(autocvar_menu_forced_saved_cvars, " ", me.cvarName));
+               me.cvarNeedsForcing = 0;
+               me.updateCvarType(me);
+       }
 }
 
 void CvarList_Revert_Click(entity btn, entity me)
 {
        me.cvarValueBox.setText(me.cvarValueBox, me.cvarDefault);
        me.cvarValueBox.cursorPos = strlen(me.cvarDefault);
+       if(strstrofs(strcat(" ", autocvar_menu_forced_saved_cvars, " "), strcat(" ", me.cvarName, " "), 0) >= 0)
+       {
+               cvar_set("menu_forced_saved_cvars", substring(strreplace(strcat(" ", me.cvarName, " "), " ", strcat(" ", autocvar_menu_forced_saved_cvars, " ")), 1, -2));
+               if (autocvar_menu_reverted_nonsaved_cvars == "")
+                       cvar_set("menu_reverted_nonsaved_cvars", me.cvarName);
+               else
+                       cvar_set("menu_reverted_nonsaved_cvars", strcat(autocvar_menu_reverted_nonsaved_cvars, " ", me.cvarName));
+       }
+       me.cvarNeedsForcing = me.updateCvarType(me);
 }
 
 void CvarList_End_Editing(entity box, entity me)
index ee8cf6a4f613c3e3db2ac8df019cfdcf3b5ac22e..cf0e987c0a475dc34fbe920dfc9fa5cd9b6c3686 100644 (file)
@@ -104,7 +104,7 @@ void XonoticDemoList_drawListBoxItem(entity me, float i, vector absSize, float i
 
        s = me.demoName(me,i);
        s = draw_TextShortenToWidth(s, me.columnNameSize, 0, me.realFontSize);
-       draw_Text(me.realUpperMargin * eY + (me.columnNameOrigin + 0.00 * (me.columnNameSize - draw_TextWidth(s, 0, me.realFontSize))) * eX, s, me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0);
+       draw_Text(me.realUpperMargin * eY + (me.columnNameOrigin + 0.00 * (me.columnNameSize - draw_TextWidth(s, 0, me.realFontSize))) * eX, s, me.realFontSize, SKINCOLOR_TEXT, SKINALPHA_TEXT, 0);
 }
 
 void XonoticDemoList_showNotify(entity me)
index 01ce7ba4347edba58ea9fc77a97f5d4d11dd2c86..1b975da2b188c8fd27098897d5553fc1d80b3245 100644 (file)
@@ -29,6 +29,12 @@ float CheckFirstRunButton(entity me)
        return 0;
 }
 
+void firstRun_setLanguage(entity me)
+{
+       if(prvm_language != cvar_string("_menu_prvm_language"))
+               localcmd("\nprvm_language \"$_menu_prvm_language\"; saveconfig; menu_restart\n");
+}
+
 void XonoticFirstRunDialog_fill(entity me)
 {
        entity e;
@@ -69,7 +75,7 @@ void XonoticFirstRunDialog_fill(entity me)
        me.TR(me);
                me.TD(me, 6, 2, e = makeXonoticLanguageList());
                        e.name = "languageselector_firstrun";
-                       e.doubleClickCommand = "prvm_language \"$_menu_prvm_language\"; saveconfig; menu_restart";
+                       e.setLanguage = firstRun_setLanguage;
        me.TR(me);
        me.TR(me);
 
diff --git a/qcsrc/menu/xonotic/dialog_hudpanel_buffs.c b/qcsrc/menu/xonotic/dialog_hudpanel_buffs.c
new file mode 100644 (file)
index 0000000..ac1033c
--- /dev/null
@@ -0,0 +1,22 @@
+#ifdef INTERFACE
+CLASS(XonoticHUDBuffsDialog) EXTENDS(XonoticRootDialog)
+       METHOD(XonoticHUDBuffsDialog, fill, void(entity))
+       ATTRIB(XonoticHUDBuffsDialog, title, string, _("Buffs Panel"))
+       ATTRIB(XonoticHUDBuffsDialog, color, vector, SKINCOLOR_DIALOG_TEAMSELECT)
+       ATTRIB(XonoticHUDBuffsDialog, intendedWidth, float, 0.4)
+       ATTRIB(XonoticHUDBuffsDialog, rows, float, 15)
+       ATTRIB(XonoticHUDBuffsDialog, columns, float, 4)
+       ATTRIB(XonoticHUDBuffsDialog, name, string, "HUDbuffs")
+       ATTRIB(XonoticHUDBuffsDialog, requiresConnection, float, TRUE)
+ENDCLASS(XonoticHUDBuffsDialog)
+#endif
+
+#ifdef IMPLEMENTATION
+void XonoticHUDBuffsDialog_fill(entity me)
+{
+       entity e;
+       string panelname = "buffs";
+
+       DIALOG_HUDPANEL_COMMON();
+}
+#endif
diff --git a/qcsrc/menu/xonotic/dialog_monstertools.c b/qcsrc/menu/xonotic/dialog_monstertools.c
new file mode 100644 (file)
index 0000000..8b67094
--- /dev/null
@@ -0,0 +1,50 @@
+#ifdef INTERFACE
+CLASS(XonoticMonsterToolsDialog) EXTENDS(XonoticRootDialog)
+       METHOD(XonoticMonsterToolsDialog, fill, void(entity)) // to be overridden by user to fill the dialog with controls
+       ATTRIB(XonoticMonsterToolsDialog, title, string, _("Monster Tools"))
+       ATTRIB(XonoticMonsterToolsDialog, color, vector, SKINCOLOR_DIALOG_SANDBOXTOOLS)
+       ATTRIB(XonoticMonsterToolsDialog, intendedWidth, float, 0.8)
+       ATTRIB(XonoticMonsterToolsDialog, rows, float, 16)
+       ATTRIB(XonoticMonsterToolsDialog, columns, float, 4)
+       ATTRIB(XonoticMonsterToolsDialog, name, string, "MonsterTools")
+ENDCLASS(XonoticMonsterToolsDialog)
+#endif
+
+#ifdef IMPLEMENTATION
+void XonoticMonsterToolsDialog_fill(entity me)
+{
+       entity e;
+
+       me.TR(me);
+               me.TD(me, 1, 0.25, e = makeXonoticTextLabel(0, _("Monster:")));
+       me.TR(me);
+               me.TD(me, 1, 0.4, e = makeXonoticRadioButton(2, "menu_monsters_edit_spawn", "zombie", _("Zombie")));
+               me.TD(me, 1, 0.4, e = makeXonoticRadioButton(2, "menu_monsters_edit_spawn", "spider", _("Spider")));
+               me.TD(me, 1, 0.4, e = makeXonoticRadioButton(2, "menu_monsters_edit_spawn", "shambler", _("Shambler")));
+               me.TD(me, 1, 0.4, e = makeXonoticRadioButton(2, "menu_monsters_edit_spawn", "mage", _("Mage")));
+               me.TD(me, 1, 0.4, e = makeXonoticRadioButton(2, "menu_monsters_edit_spawn", "wyvern", _("Wyvern")));
+       me.TR(me);
+               me.TDempty(me, 0.1);
+               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Spawn"), '0 0 0', "cmd mobspawn $menu_monsters_edit_spawn $menu_monsters_edit_movetarget", 0));
+               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Remove"), '0 0 0', "cmd mobkill", 0));
+       me.TR(me);
+               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Move target:"), '0 0 0', "editmob movetarget $menu_monsters_edit_movetarget", 0));
+               me.TD(me, 1, 0.5, e = makeXonoticRadioButton(2, "menu_monsters_edit_movetarget", "1", _("Follow")));
+               me.TD(me, 1, 0.5, e = makeXonoticRadioButton(2, "menu_monsters_edit_movetarget", "2", _("Wander")));
+               me.TD(me, 1, 0.5, e = makeXonoticRadioButton(2, "menu_monsters_edit_movetarget", "3", _("Spawnpoint")));
+               me.TD(me, 1, 0.5, e = makeXonoticRadioButton(2, "menu_monsters_edit_movetarget", "4", _("No moving")));
+       me.TR(me);
+       me.TD(me, 1, 1.5, e = makeXonoticTextLabel(0, _("Colors:")));
+       me.TR(me);
+               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set skin:"), '0 0 0', "editmob skin $menu_monsters_edit_skin", 0));
+               me.TD(me, 1, 1.5, e = makeXonoticSlider(0, 99, 1, "menu_monsters_edit_skin"));
+       me.TR(me);
+
+       me.gotoRC(me, me.rows - 1, 0);
+               me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
+                       e.onClick = Dialog_Close;
+                       e.onClickEntity = me;
+}
+#endif
+
+/* Click. The c-word is here so you can grep for it :-) */
index 60f52e1fa47ac649da8f0bb457f5eff79fe4e9d6..f3811f5b94c3e52e83cd0b7b352bc1c5690142e8 100644 (file)
@@ -159,6 +159,7 @@ void XonoticServerCreateTab_gameTypeChangeNotify(entity me)
                case MAPINFO_TYPE_ASSAULT:    GameType_ConfigureSliders(e, l, l2, _("Point limit:"),    50,  500, 10, "");                         break;
                case MAPINFO_TYPE_ONSLAUGHT:  GameType_ConfigureSliders(e, l, l2, _("Point limit:"),    50,  500, 10, "");                         break;
                case MAPINFO_TYPE_CTS:        GameType_ConfigureSliders(e, l, l2, _("Point limit:"),    50,  500, 10, "");                         break;
+               case MAPINFO_TYPE_INVASION:   GameType_ConfigureSliders(e, l, l2, _("Point limit:"),     5,    0,  5, "");                         break;
                default:                      GameType_ConfigureSliders(e, l, l2, _("Frag limit:"),      5,  100,  5, "fraglimit_override");       break;
        }
        me.mapListBox.refilter(me.mapListBox);
index a963d1e3099862fb485fff19d842f5f5206522b8..e3b562ee3bb0459385968fa0a99e16f38bd63151 100644 (file)
@@ -193,7 +193,7 @@ void XonoticEffectsSettingsTab_fill(entity me)
                me.TDempty(me, 0.2);
            me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Time:")));
                setDependent(e, "cl_decals", 1, 1);
-           me.TD(me, 1, 2, e = makeXonoticSlider(1, 20, 1, "cl_decals_time"));
+           me.TD(me, 1, 2, e = makeXonoticSlider(1, 20, 1, "cl_decals_fadetime"));
                setDependent(e, "cl_decals", 1, 1);
 
        me.gotoRC(me, me.rows - 1, 0);
index 724c868fd7cffe0847cc801a3a7fb1296b3a7a5d..f511ec361cb6fbf4bd44e803fe341a41b2db7d49 100644 (file)
@@ -40,8 +40,8 @@ void XonoticCvarsDialog_fill(entity me) // in this dialog, use SKINCOLOR_CVARLIS
                        e.onChangeEntity = cvarlist;
                        cvarlist.controlledTextbox = e; // this COULD also be the Value box, but this leads to accidentally editing stuff
        me.TR(me);
-               me.TD(me, me.rows - me.currentRow - 7, me.columns, cvarlist);
-       me.gotoRC(me, me.rows - 6, 0);
+               me.TD(me, me.rows - me.currentRow - 9, me.columns, cvarlist);
+       me.gotoRC(me, me.rows - 8, 0);
                me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Setting:")));
                me.TD(me, 1, me.columns - 1, e = makeXonoticTextLabel(0, string_null));
                        cvarlist.cvarNameBox = e;
@@ -68,6 +68,7 @@ void XonoticCvarsDialog_fill(entity me) // in this dialog, use SKINCOLOR_CVARLIS
                        e.onClickEntity = cvarlist;
                        e.allowCut = 1;
                        e.marginLeft = e.marginRight = 0.5;
+       me.TR(me);
        me.TR(me);
                me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Description:")));
                me.TD(me, 1, me.columns - 1, e = makeXonoticTextLabel(0, string_null));
diff --git a/qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c b/qcsrc/menu/xonotic/dialog_settings_user_languagewarning.c
new file mode 100644 (file)
index 0000000..c830b55
--- /dev/null
@@ -0,0 +1,26 @@
+#ifdef INTERFACE
+CLASS(XonoticLanguageWarningDialog) EXTENDS(XonoticDialog)
+       METHOD(XonoticLanguageWarningDialog, fill, void(entity)) // to be overridden by user to fill the dialog with controls
+       ATTRIB(XonoticLanguageWarningDialog, title, string, _("Warning"))
+       ATTRIB(XonoticLanguageWarningDialog, color, vector, SKINCOLOR_DIALOG_HUDCONFIRM)
+       ATTRIB(XonoticLanguageWarningDialog, intendedWidth, float, 0.6)
+       ATTRIB(XonoticLanguageWarningDialog, rows, float, 5)
+       ATTRIB(XonoticLanguageWarningDialog, columns, float, 4)
+ENDCLASS(XonoticLanguageWarningDialog)
+#endif
+
+#ifdef IMPLEMENTATION
+void XonoticLanguageWarningDialog_fill(entity me)
+{
+       entity e;
+       me.TR(me);
+               me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("While connected language changes will be applied only to the menu,")));
+       me.TR(me);
+               me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("full language changes will take effect starting from the next game")));
+       me.TR(me);
+       me.TR(me);
+               // reconnect command doesn't work properly, otherwise it would replace disconnect
+               me.TD(me, 1, 2, e = makeXonoticCommandButton(_("Disconnect now"), '0 0 0', "disconnect", 0));
+               me.TD(me, 1, 2, e = makeXonoticCommandButton(_("Switch language"), '0 0 0', "prvm_language \"$_menu_prvm_language\"; menu_restart; menu_cmd languageselect", 0));
+}
+#endif
index 56c25314da697317fdebfa66dceec917577dfc54..02f17dddb70b2fd459c8556d4e478b4a1cd2b0e9 100644 (file)
@@ -83,9 +83,9 @@ void XonoticGametypeList_drawListBoxItem(entity me, float i, vector absSize, flo
 
        draw_Picture(me.columnIconOrigin * eX, GameType_GetIcon(i), me.columnIconSize * eX + eY, '1 1 1', SKINALPHA_LISTBOX_SELECTED);
        s = GameType_GetName(i);
-       draw_Text(me.realUpperMargin1 * eY + (me.columnNameOrigin + 0.5 * (me.columnNameSize - draw_TextWidth(s, 0, me.realFontSize))) * eX, s, me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0);
+       draw_Text(me.realUpperMargin1 * eY + (me.columnNameOrigin + 0.5 * (me.columnNameSize - draw_TextWidth(s, 0, me.realFontSize))) * eX, s, me.realFontSize, SKINCOLOR_TEXT, SKINALPHA_TEXT, 0);
        //s = GameType_GetTeams(i);
-       //draw_Text(me.realUpperMargin1 * eY + (me.columnNameOrigin + 1.00 * (me.columnNameSize - draw_TextWidth(s, 0, me.realFontSize))) * eX, s, me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0);
+       //draw_Text(me.realUpperMargin1 * eY + (me.columnNameOrigin + 1.00 * (me.columnNameSize - draw_TextWidth(s, 0, me.realFontSize))) * eX, s, me.realFontSize, SKINCOLOR_TEXT, SKINALPHA_TEXT, 0);
 }
 void XonoticGametypeList_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
 {
index d16e8bb26ede658e06ded51df4cf0fe5ddce36d5..66c3486a3a91c22747a646153d64d181f4f14302 100644 (file)
@@ -143,6 +143,13 @@ void XonoticKeyBinder_keyGrabbed(entity me, float key, float ascii)
        if(key == K_ESCAPE)
                return;
 
+       // forbid these keys from being bound in the menu
+       if(key == K_CAPSLOCK || key == K_NUMLOCK)
+       {
+               KeyBinder_Bind_Change(me, me);
+               return;
+       }
+
        func = Xonotic_KeyBinds_Functions[me.selectedItem];
        if(func == "")
                return;
index 5be639a07559ec27058539e8c838b3526f8e8d43..56d074115a4c6a788ba49d83e558739c86244cb3 100644 (file)
@@ -12,6 +12,8 @@ CLASS(XonoticLanguageList) EXTENDS(XonoticListBox)
        ATTRIB(XonoticLanguageList, realUpperMargin, float, 0)
        ATTRIB(XonoticLanguageList, columnNameOrigin, float, 0)
        ATTRIB(XonoticLanguageList, columnNameSize, float, 0)
+       ATTRIB(XonoticLanguageList, columnPercentageOrigin, float, 0)
+       ATTRIB(XonoticLanguageList, columnPercentageSize, float, 0)
 
        METHOD(XonoticLanguageList, clickListBoxItem, void(entity, float, vector)) // double click handling
        METHOD(XonoticLanguageList, keyDown, float(entity, float, float, float)) // enter handling
@@ -26,8 +28,6 @@ CLASS(XonoticLanguageList) EXTENDS(XonoticListBox)
        METHOD(XonoticLanguageList, languageParameter, string(entity, float, float))
 
        ATTRIB(XonoticLanguageList, name, string, "languageselector") // change this to make it noninteractive (for first run dialog)
-
-       ATTRIB(XonoticLanguageList, doubleClickCommand, string, "prvm_language \"$_menu_prvm_language\"\nmenu_restart\nmenu_cmd languageselect")
 ENDCLASS(XonoticLanguageList)
 
 entity makeXonoticLanguageList();
@@ -39,7 +39,8 @@ void SetLanguage_Click(entity btn, entity me);
 #define LANGPARM_ID 0
 #define LANGPARM_NAME 1
 #define LANGPARM_NAME_LOCALIZED 2
-#define LANGPARM_COUNT 3
+#define LANGPARM_PERCENTAGE 3
+#define LANGPARM_COUNT 4
 
 entity makeXonoticLanguageList()
 {
@@ -58,11 +59,20 @@ void XonoticLanguageList_configureXonoticLanguageList(entity me)
 
 void XonoticLanguageList_drawListBoxItem(entity me, float i, vector absSize, float isSelected)
 {
-       string s;
+       string s, p;
        if(isSelected)
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
+
        s = me.languageParameter(me, i, LANGPARM_NAME_LOCALIZED);
-       draw_Text(me.realUpperMargin * eY + (me.columnNameOrigin + (me.columnNameSize - draw_TextWidth(s, 0, me.realFontSize)) * 0.5) * eX, s, me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0);
+       s = draw_TextShortenToWidth(s, me.columnNameSize, 0, me.realFontSize);
+       draw_Text(me.realUpperMargin * eY + me.columnNameOrigin * eX, s, me.realFontSize, SKINCOLOR_TEXT, SKINALPHA_TEXT, 0);
+
+       p = me.languageParameter(me, i, LANGPARM_PERCENTAGE);
+       if(p != "")
+       {
+               p = draw_TextShortenToWidth(p, me.columnPercentageSize, 0, me.realFontSize);
+               draw_Text(me.realUpperMargin * eY + (me.columnPercentageOrigin + (me.columnPercentageSize - draw_TextWidth(p, 0, me.realFontSize))) * eX, p, me.realFontSize, SKINCOLOR_TEXT, SKINALPHA_TEXT, 0);
+       }
 }
 
 void XonoticLanguageList_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
@@ -71,8 +81,10 @@ void XonoticLanguageList_resizeNotify(entity me, vector relOrigin, vector relSiz
        me.realFontSize_y = me.fontSize / (absSize_y * me.itemHeight);
        me.realFontSize_x = me.fontSize / (absSize_x * (1 - me.controlWidth));
        me.realUpperMargin = 0.5 * (1 - me.realFontSize_y);
+       me.columnPercentageSize = me.realFontSize_x * 3;
+       me.columnPercentageOrigin = 1 - me.columnPercentageSize;
        me.columnNameOrigin = 0;
-       me.columnNameSize = 1;
+       me.columnNameSize = me.columnPercentageOrigin;
 }
 
 void XonoticLanguageList_setSelected(entity me, float i)
@@ -161,7 +173,15 @@ void XonoticLanguageList_getLanguages(entity me)
                        continue;
                bufstr_set(buf, i * LANGPARM_COUNT + LANGPARM_ID, argv(0));
                bufstr_set(buf, i * LANGPARM_COUNT + LANGPARM_NAME, argv(1));
-               bufstr_set(buf, i * LANGPARM_COUNT + LANGPARM_NAME_LOCALIZED, argv(2));
+               float k = strstrofs(argv(2), "(", 0);
+               if(k > 0)
+               if(substring(argv(2), strlen(argv(2)) - 1, 1) == ")")
+               {
+                       string percent = substring(argv(2), k + 1, -2);
+                       if(percent != "100%")
+                               bufstr_set(buf, i * LANGPARM_COUNT + LANGPARM_PERCENTAGE, percent);
+               }
+               bufstr_set(buf, i * LANGPARM_COUNT + LANGPARM_NAME_LOCALIZED, (k < 0) ? argv(2) : substring(argv(2), 0, k - 1));
                ++i;
        }
        fclose(fh);
@@ -172,7 +192,13 @@ void XonoticLanguageList_getLanguages(entity me)
 
 void XonoticLanguageList_setLanguage(entity me)
 {
-       localcmd(sprintf("\n%s\n", me.doubleClickCommand));
+       if(prvm_language != cvar_string("_menu_prvm_language"))
+       {
+               if(!(gamestatus & GAME_CONNECTED))
+                       localcmd("\nprvm_language \"$_menu_prvm_language\"; menu_restart; menu_cmd languageselect\n");
+               else
+                       DialogOpenButton_Click(me, main.languageWarningDialog);
+       }
 }
 
 string XonoticLanguageList_languageParameter(entity me, float i, float key)
index 0af90bbe270f8b43356e33c19da14b30ff773e52..5c58025fca1f5e3ac87501e585ffee2828e7aed3 100644 (file)
@@ -16,6 +16,7 @@ CLASS(MainWindow) EXTENDS(ModalController)
        ATTRIB(MainWindow, crosshairDialog, entity, NULL)
        ATTRIB(MainWindow, hudDialog, entity, NULL)
        ATTRIB(MainWindow, hudconfirmDialog, entity, NULL)
+       ATTRIB(MainWindow, languageWarningDialog, entity, NULL)
        ATTRIB(MainWindow, mainNexposee, entity, NULL)
        ATTRIB(MainWindow, fadedAlpha, float, SKINALPHA_BEHIND)
        ATTRIB(MainWindow, dialogToShow, entity, NULL)
@@ -125,6 +126,10 @@ void MainWindow_configureMainWindow(entity me)
        i.configureDialog(i);
        me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
 
+       i = spawnXonoticHUDBuffsDialog();
+       i.configureDialog(i);
+       me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
+
 
        // dialogs used by settings
        me.userbindEditDialog = i = spawnXonoticUserbindEditDialog();
@@ -135,6 +140,10 @@ void MainWindow_configureMainWindow(entity me)
        i.configureDialog(i);
        me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
 
+       me.languageWarningDialog = i = spawnXonoticLanguageWarningDialog();
+       i.configureDialog(i);
+       me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
+
 
        // dialog used by singleplayer
        me.winnerDialog = i = spawnXonoticWinnerDialog();
@@ -199,6 +208,10 @@ void MainWindow_configureMainWindow(entity me)
        i.configureDialog(i);
        me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
 
+       i = spawnXonoticMonsterToolsDialog();
+       i.configureDialog(i);
+       me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z * SKINALPHA_DIALOG_SANDBOXTOOLS);
+
 
        // main dialogs/windows
        me.mainNexposee = n = spawnXonoticNexposee();
index a0f64ca39e424c97a05a83e1064b205fa4a3a65d..315a68caa731b4c15657ca4e0d20c13b60814c60 100644 (file)
@@ -108,7 +108,7 @@ void XonoticPlayerList_drawListBoxItem(entity me, float i, vector absSize, float
        else if(t == 4)
                rgb = colormapPaletteColor(9, 0);
        else
-               rgb = '1 1 1';
+               rgb = SKINCOLOR_TEXT;
 
        s = me.getPlayerList(me, i, PLAYERPARM_NAME);
        score = me.getPlayerList(me, i, PLAYERPARM_SCORE);
index f37aaeb0750d8568dea1d8cf79b9a6f738bb71ff..a1592de1754234887d02f4ad47e10732162d3934 100644 (file)
@@ -5,6 +5,7 @@ CLASS(XonoticPlayerModelSelector) EXTENDS(XonoticImage)
        METHOD(XonoticPlayerModelSelector, saveCvars, void(entity))
        METHOD(XonoticPlayerModelSelector, draw, void(entity))
        METHOD(XonoticPlayerModelSelector, resizeNotify, void(entity, vector, vector, vector, vector))
+       METHOD(XonoticPlayerModelSelector, showNotify, void(entity))
        ATTRIB(XonoticPlayerModelSelector, currentModel, string, string_null)
        ATTRIB(XonoticPlayerModelSelector, currentSkin, float, 0)
        ATTRIB(XonoticPlayerModelSelector, currentModelImage, string, string_null)
@@ -174,7 +175,7 @@ void XonoticPlayerModelSelector_draw(entity me)
 
        if (me.numModels <= 0)
        {
-               draw_CenterText('0.5 0.5 0', _("<no model found>"), me.realFontSize, '1 1 1', 0.6, FALSE);
+               draw_CenterText('0.5 0.5 0', _("<no model found>"), me.realFontSize, SKINCOLOR_TEXT, 0.6, FALSE);
                return;
        }
 
@@ -190,7 +191,7 @@ void XonoticPlayerModelSelector_draw(entity me)
        o = '0.5 1 0' - eY * me.realFontSize_y * ((n = tokenizebyseparator(me.currentModelDescription, "\n")) + 0.5);
        for(i = 0; i < n; ++i)
        {
-               draw_CenterText(o, argv(i), me.realFontSize, '1 1 1', 1, FALSE);
+               draw_CenterText(o, argv(i), me.realFontSize, SKINCOLOR_TEXT, 1, FALSE);
                o += eY * me.realFontSize_y;
        }
 }
@@ -201,4 +202,9 @@ void XonoticPlayerModelSelector_resizeNotify(entity me, vector relOrigin, vector
        me.realFontSize_y = me.fontSize / absSize_y;
        me.realFontSize_x = me.fontSize / absSize_x;
 }
+
+void XonoticPlayerModelSelector_showNotify(entity me)
+{
+       me.configureXonoticPlayerModelSelector(me);
+}
 #endif
index e2a0e6c1249f401847c51e27b40ebef94bd935cd..7537027512bfee66d7f5ad43c7bca65f9864aaca 100644 (file)
@@ -205,11 +205,11 @@ void RegisterSLCategories()
                                } \
                                else \
                                { \
-                                       print(sprintf( \
+                                       printf( \
                                                "RegisterSLCategories(): Improper override '%s' for category '%s'!\n", \
                                                s, \
                                                categories[i].cat_name \
-                                       )); \
+                                       ); \
                                } \
                        } \
                        strunzone(categories[i].override_string); \
@@ -371,7 +371,7 @@ float CheckCategoryForEntry(float entry)
                        case "cts": 
                        case "xdf": { return CAT_DEFRAG; }
                        
-                       default: { dprint(sprintf("Found strange mod type: %s\n", modtype)); return CAT_MODIFIED; }
+                       default: { dprintf("Found strange mod type: %s\n", modtype); return CAT_MODIFIED; }
                }
        }
 
@@ -979,7 +979,7 @@ void XonoticServerList_drawListBoxItem(entity me, float i, vector absSize, float
        float m, pure, freeslots, j, sflags;
        string s, typestr, versionstr, k, v, modname;
 
-       //print(sprintf("time: %f, i: %d, item: %d, nitems: %d\n", time, i, item, me.nItems));
+       //printf("time: %f, i: %d, item: %d, nitems: %d\n", time, i, item, me.nItems);
 
        vector oldscale = draw_scale;
        vector oldshift = draw_shift;
@@ -1013,8 +1013,8 @@ void XonoticServerList_drawListBoxItem(entity me, float i, vector absSize, float
                                strcat(catent.cat_string, ":"),
 #endif
                                me.realFontSize,
-                               '1 1 1',
-                               SKINALPHA_TEXT,
+                               SKINCOLOR_SERVERLIST_CATEGORY,
+                               SKINALPHA_SERVERLIST_CATEGORY,
                                0
                        );
                        SET_YRANGE(me.categoriesHeight / (me.categoriesHeight + 1), 1);
index 3e094e7d7e7ce91d28c380b8fe94ada5874b56f9..0387303ea3d2a041f7c91cf09ecc1c6c811b8d66 100644 (file)
@@ -162,8 +162,7 @@ void XonoticSkinList_drawListBoxItem(entity me, float i, vector absSize, float i
        s = me.skinParameter(me, i, SKINPARM_PREVIEW);
        draw_Picture(me.columnPreviewOrigin * eX, s, me.columnPreviewSize * eX + eY, '1 1 1', 1);
 
-       s = me.skinParameter(me, i, SKINPARM_NAME);
-       s = sprintf(_("%s: %s"), s, me.skinParameter(me, i, SKINPARM_TITLE));
+       s = me.skinParameter(me, i, SKINPARM_TITLE);
        s = draw_TextShortenToWidth(s, me.columnNameSize, 0, me.realFontSize);
        draw_Text(me.realUpperMargin1 * eY + (me.columnNameOrigin + 0.00 * (me.columnNameSize - draw_TextWidth(s, 0, me.realFontSize))) * eX, s, me.realFontSize, SKINCOLOR_SKINLIST_TITLE, SKINALPHA_TEXT, 0);
 
index f70f4339703f2d564718111a0b1f268817a47fc3..3f1c4682720c86828c800b961a3debd91a1ae15c 100644 (file)
@@ -96,7 +96,7 @@ void _TEST_XonoticDecibelsSlider()
                float v = fromDecibelOfSquare(db, -40);
                float dbv = toDecibelOfSquare(v, -40);
                float d = dbv - db;
-               print(sprintf("%f -> %f -> %f (diff: %f)\n", db, v, dbv, d));
+               printf("%f -> %f -> %f (diff: %f)\n", db, v, dbv, d);
                TEST_Check(fabs(d) > 0.02);
        }
        TEST_OK();
index 34f67397eb0bef09944f2cc1627facd0cfb668c9..74b60d30aef98a01243a99b34117b8a19e00ae37 100644 (file)
@@ -87,7 +87,12 @@ void saveCvarsMulti(entity me)
 
        n = tokenize_console(me.cvarNames_Multi);
        for(i = 0; i < n; ++i)
-               cvar_set(argv(i), s);
+       {
+               if(substring(argv(i), 0, 1) == "!")
+                       cvar_set(substring(argv(i), 1, strlen(argv(i))), ((s == "0") ? "1" : "0"));
+               else
+                       cvar_set(argv(i), s);
+       }
 }
 void makeMulti(entity e, string otherCvars)
 {
@@ -280,7 +285,7 @@ void URI_Get_Callback(float id, float status, string data)
        }
        else
        {
-               print(sprintf("Received HTTP request data for an invalid id %d.\n", id));
+               printf("Received HTTP request data for an invalid id %d.\n", id);
        }
 }
 
@@ -300,7 +305,7 @@ void UpdateNotification_URI_Get_Callback(float id, float status, string data)
        }
        if(status != 0)
        {
-               print(sprintf(_("error receiving update notification: status is %d\n"), status));
+               printf(_("error receiving update notification: status is %d\n"), status);
                return;
        }
        if(substring(data, 0, 1) == "<")
@@ -389,7 +394,7 @@ void UpdateNotification_URI_Get_Callback(float id, float status, string data)
                {
                        // update needed
                        _Nex_ExtResponseSystem_UpdateTo = strzone(un_version);
-                       if(un_download) { print(sprintf(_("Update can be downloaded at:\n%s\n"), un_download)); }
+                       if(un_download) { printf(_("Update can be downloaded at:\n%s\n"), un_download); }
                        if(un_url) { _Nex_ExtResponseSystem_UpdateToURL = strzone(un_url); }
                        DisableServerBackwardsCompatibility();
                }
@@ -651,9 +656,10 @@ float updateCompression()
        GAMETYPE(MAPINFO_TYPE_LMS) \
        GAMETYPE(MAPINFO_TYPE_NEXBALL) \
        GAMETYPE(MAPINFO_TYPE_ONSLAUGHT) \
-       GAMETYPE(MAPINFO_TYPE_RACE) \
+       if (cvar("developer")) GAMETYPE(MAPINFO_TYPE_RACE) \
        GAMETYPE(MAPINFO_TYPE_CTS) \
        GAMETYPE(MAPINFO_TYPE_TEAM_DEATHMATCH) \
+       //GAMETYPE(MAPINFO_TYPE_INVASION) \
        /* nothing */
 
 float GameType_GetID(float cnt)
@@ -661,7 +667,7 @@ float GameType_GetID(float cnt)
        float i;
        i = 0;
 
-       #define GAMETYPE(id) if(i++ == cnt) return id;
+       #define GAMETYPE(id) { if(i++ == cnt) return id; }
        GAMETYPES
        #undef GAMETYPE
 
index ad4071060f99ec53c97359ed2f04ebd6bb23556e..b6c536a90441cf7bf1cedc471bcc12280f786b84 100644 (file)
@@ -100,7 +100,7 @@ void XonoticWeaponsList_drawListBoxItem(entity me, float i, vector absSize, floa
        string msg = e.message;
        if(e.spawnflags & WEP_FLAG_MUTATORBLOCKED)
                msg = sprintf(_("%s (mutator weapon)"), msg);
-       draw_Text(me.realUpperMargin * eY, msg, me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0);
+       draw_Text(me.realUpperMargin * eY, msg, me.realFontSize, SKINCOLOR_TEXT, SKINALPHA_TEXT, 0);
 }
 
 float XonoticWeaponsList_keyDown(entity me, float scan, float ascii, float shift)
index aca64a431a55d2b474bb6322f4284a522b51a98d..ca837e7d3816292a69e0c9e42304429130253f37 100644 (file)
@@ -5,7 +5,7 @@
 
 float accuracy_byte(float n, float d)
 {
-       //print(sprintf("accuracy: %d / %d\n", n, d));
+       //printf("accuracy: %d / %d\n", n, d);
        if(n <= 0)
                return 0;
        if(n > d)
@@ -109,9 +109,13 @@ void accuracy_add(entity e, float w, float fired, float hit)
 
 float accuracy_isgooddamage(entity attacker, entity targ)
 {
+       frag_attacker = attacker;
+       frag_target = targ;
+       float mutator_check = MUTATOR_CALLHOOK(AccuracyTargetValid);
+
        if(!warmup_stage)
-       if(IS_CLIENT(targ))
        if(targ.deadflag == DEAD_NO)
+       if(mutator_check == MUT_ACCADD_INVALID || (mutator_check == MUT_ACCADD_VALID && IS_CLIENT(targ)))
        if(DIFF_TEAM(attacker, targ))
                return TRUE;
        return FALSE;
index d00c60b09d8b47134f9f0a18c94ac7d007bfa08d..33c82913116b2b350ba1ff0ea1c3917a09da76df 100644 (file)
@@ -25,6 +25,8 @@ float mean_evaluate(entity e, .float a, .float c, float mean)
 #define MEAN_EVALUATE(prefix) mean_evaluate(self,prefix##_accumulator,prefix##_count,prefix##_mean)
 #define MEAN_DECLARE(prefix,m) float prefix##_mean = m; .float prefix##_count, prefix##_accumulator
 
+.float anticheat_fixangle_endtime;
+
 float anticheat_div0_evade_evasion_delta;
 .float anticheat_div0_evade_offset;
 .vector anticheat_div0_evade_v_angle;
@@ -37,10 +39,32 @@ MEAN_DECLARE(anticheat_div0_strafebot_old, 5);
 .vector anticheat_div0_strafebot_forward_prev;
 MEAN_DECLARE(anticheat_div0_strafebot_new, 5);
 
+// Snap-aim detection: we track the average angular speed of aiming over time, in "radians per second".
+// Signal: a high-power mean. Cheaters will have high "signal" here.
+// Noise: a low-power mean. Active/shivery players will have high "noise" here.
+// Note one can always artificially add noise - so very high values of both signal and noise need to be checked too.
+MEAN_DECLARE(anticheat_idle_snapaim_signal, 5);
+MEAN_DECLARE(anticheat_idle_snapaim_noise, 1);
+
+// TEMP DEBUG STUFF.
+MEAN_DECLARE(anticheat_idle_snapaim_m2, 2);
+MEAN_DECLARE(anticheat_idle_snapaim_m3, 3);
+MEAN_DECLARE(anticheat_idle_snapaim_m4, 4);
+MEAN_DECLARE(anticheat_idle_snapaim_m7, 7);
+MEAN_DECLARE(anticheat_idle_snapaim_m10, 10);
+
 .float anticheat_speedhack_offset;
 .float anticheat_speedhack_movetime, anticheat_speedhack_movetime_count, anticheat_speedhack_movetime_frac;
 MEAN_DECLARE(anticheat_speedhack, 5);
 
+.float anticheat_speedhack_accu;
+.float anticheat_speedhack_lasttime;
+MEAN_DECLARE(anticheat_speedhack_m1, 1);
+MEAN_DECLARE(anticheat_speedhack_m2, 2);
+MEAN_DECLARE(anticheat_speedhack_m3, 3);
+MEAN_DECLARE(anticheat_speedhack_m4, 4);
+MEAN_DECLARE(anticheat_speedhack_m5, 5);
+
 float movement_oddity(vector m0, vector m1)
 {
        float cosangle = normalize(m0) * normalize(m1);
@@ -52,15 +76,14 @@ float movement_oddity(vector m0, vector m1)
 
 void anticheat_physics()
 {
-       float f, wishspeed;
-       vector wishvel;
+       float f;
 
        // div0_evade -> SPECTATORS
        makevectors(self.v_angle);
        if(self.anticheat_div0_evade_offset == 0)
        {
                f = fabs(anticheat_div0_evade_evasion_delta - floor(anticheat_div0_evade_evasion_delta) - 0.5) * 2; // triangle function
-               self.anticheat_div0_evade_offset = time + sys_frametime * (3 * f - 1);
+               self.anticheat_div0_evade_offset = servertime + sys_frametime * (3 * f - 1);
                self.anticheat_div0_evade_v_angle = self.v_angle;
                self.anticheat_div0_evade_forward_initial = v_forward;
                MEAN_ACCUMULATE(anticheat_div0_evade, 0, 1);
@@ -75,8 +98,32 @@ void anticheat_physics()
        MEAN_ACCUMULATE(anticheat_div0_strafebot_old, movement_oddity(self.movement, self.anticheat_div0_strafebot_movement_prev), 1);
        self.anticheat_div0_strafebot_movement_prev = self.movement;
 
-       if(vlen(self.anticheat_div0_strafebot_forward_prev))
-               MEAN_ACCUMULATE(anticheat_div0_strafebot_new, 0.5 - 0.5 * (self.anticheat_div0_strafebot_forward_prev * v_forward), 1);
+       // Note: this actually tries to detect snap-aim.
+       if(vlen(self.anticheat_div0_strafebot_forward_prev) && time > self.anticheat_fixangle_endtime) {
+               float cosangle = self.anticheat_div0_strafebot_forward_prev * v_forward;
+               float angle = cosangle < -1 ? M_PI : cosangle > 1 ? 0 : acos(cosangle);
+               /*
+               if (angle >= 10 * M_PI / 180)
+                       printf("SNAP %s: %f for %f, %f since fixangle\n", self.netname, angle * 180 / M_PI, cosangle, time - self.anticheat_fixangle_endtime);
+               */
+               MEAN_ACCUMULATE(anticheat_div0_strafebot_new, angle / M_PI, 1);
+
+               if (autocvar_slowmo > 0) {
+                       // Technically this is a NOP, as the engine should be ensuring
+                       // this in the first place. Let's guard against dividing by
+                       // zero anyway.
+                       float dt = max(0.001, frametime) / autocvar_slowmo;
+
+                       float anglespeed = angle / dt;
+                       MEAN_ACCUMULATE(anticheat_idle_snapaim_signal, anglespeed, dt);
+                       MEAN_ACCUMULATE(anticheat_idle_snapaim_noise, anglespeed, dt);
+                       MEAN_ACCUMULATE(anticheat_idle_snapaim_m2, anglespeed, dt);
+                       MEAN_ACCUMULATE(anticheat_idle_snapaim_m3, anglespeed, dt);
+                       MEAN_ACCUMULATE(anticheat_idle_snapaim_m4, anglespeed, dt);
+                       MEAN_ACCUMULATE(anticheat_idle_snapaim_m7, anglespeed, dt);
+                       MEAN_ACCUMULATE(anticheat_idle_snapaim_m10, anglespeed, dt);
+               }
+       }
        self.anticheat_div0_strafebot_forward_prev = v_forward;
 
        // generic speedhack detection: correlate anticheat_speedhack_movetime (UPDATED BEFORE THIS) and server time
@@ -94,50 +141,23 @@ void anticheat_physics()
                self.anticheat_speedhack_offset += (f - self.anticheat_speedhack_offset) * frametime * 0.1;
        }
 
-       // race/CTS: force kbd movement for fairness
-       if(g_race || g_cts)
-       {
-               // if record times matter
-               // ensure nothing EVIL is being done (i.e. div0_evade)
-               // this hinders joystick users though
-               // but it still gives SOME analog control
-               wishvel_x = fabs(self.movement_x);
-               wishvel_y = fabs(self.movement_y);
-               if(wishvel_x != 0 && wishvel_y != 0 && wishvel_x != wishvel_y)
-               {
-                       wishvel_z = 0;
-                       wishspeed = vlen(wishvel);
-                       if(wishvel_x >= 2 * wishvel_y)
-                       {
-                               // pure X motion
-                               if(self.movement_x > 0)
-                                       self.movement_x = wishspeed;
-                               else
-                                       self.movement_x = -wishspeed;
-                               self.movement_y = 0;
-                       }
-                       else if(wishvel_y >= 2 * wishvel_x)
-                       {
-                               // pure Y motion
-                               self.movement_x = 0;
-                               if(self.movement_y > 0)
-                                       self.movement_y = wishspeed;
-                               else
-                                       self.movement_y = -wishspeed;
-                       }
-                       else
-                       {
-                               // diagonal
-                               if(self.movement_x > 0)
-                                       self.movement_x = M_SQRT1_2 * wishspeed;
-                               else
-                                       self.movement_x = -M_SQRT1_2 * wishspeed;
-                               if(self.movement_y > 0)
-                                       self.movement_y = M_SQRT1_2 * wishspeed;
-                               else
-                                       self.movement_y = -M_SQRT1_2 * wishspeed;
-                       }
-               }
+       // new generic speedhack detection
+       if (self.anticheat_speedhack_lasttime > 0) {
+               float dt = servertime - self.anticheat_speedhack_lasttime;
+               const float falloff = 0.2;
+               self.anticheat_speedhack_accu *= exp(-dt * falloff);
+               self.anticheat_speedhack_accu += frametime * falloff;
+               // NOTE: at cl_netfps x, this actually averages not to 1, but to 1/x * falloff / (1 - exp(-1/x * falloff))
+               // For 15 netfps (absolute minimum bearable), and 0.2 falloff, this is: 1.0067
+               self.anticheat_speedhack_lasttime = servertime;
+               MEAN_ACCUMULATE(anticheat_speedhack_m1, self.anticheat_speedhack_accu, frametime);
+               MEAN_ACCUMULATE(anticheat_speedhack_m2, self.anticheat_speedhack_accu, frametime);
+               MEAN_ACCUMULATE(anticheat_speedhack_m3, self.anticheat_speedhack_accu, frametime);
+               MEAN_ACCUMULATE(anticheat_speedhack_m4, self.anticheat_speedhack_accu, frametime);
+               MEAN_ACCUMULATE(anticheat_speedhack_m5, self.anticheat_speedhack_accu, frametime);
+       } else {
+               self.anticheat_speedhack_accu = 1;
+               self.anticheat_speedhack_lasttime = servertime;
        }
 }
 
@@ -168,15 +188,69 @@ void anticheat_report()
 {
        if(!autocvar_sv_eventlog)
                return;
+       // TODO(divVerent): Use xonstat to acquire good thresholds.
        GameLogEcho(strcat(":anticheat:_time:", ftos(self.playerid), ":", ftos(servertime - self.anticheat_jointime)));
-       GameLogEcho(strcat(":anticheat:speedhack:", ftos(self.playerid), ":", anticheat_display(MEAN_EVALUATE(anticheat_speedhack), 240, 0.1, 0.15)));
-       GameLogEcho(strcat(":anticheat:div0_strafebot_old:", ftos(self.playerid), ":", anticheat_display(MEAN_EVALUATE(anticheat_div0_strafebot_old), 120, 0.3, 0.4)));
-       GameLogEcho(strcat(":anticheat:div0_strafebot_new:", ftos(self.playerid), ":", anticheat_display(MEAN_EVALUATE(anticheat_div0_strafebot_new), 120, 0.3, 0.4)));
-       GameLogEcho(strcat(":anticheat:div0_evade:", ftos(self.playerid), ":", anticheat_display(MEAN_EVALUATE(anticheat_div0_evade), 120, 0.1, 0.2)));
+       GameLogEcho(strcat(":anticheat:speedhack:", ftos(self.playerid), ":", anticheat_display(MEAN_EVALUATE(anticheat_speedhack), 240, 0, 9999))); // Actually this one seems broken.
+       GameLogEcho(strcat(":anticheat:speedhack_m1:", ftos(self.playerid), ":", anticheat_display(MEAN_EVALUATE(anticheat_speedhack_m1), 240, 1.01, 1.25)));
+       GameLogEcho(strcat(":anticheat:speedhack_m2:", ftos(self.playerid), ":", anticheat_display(MEAN_EVALUATE(anticheat_speedhack_m2), 240, 1.01, 1.25)));
+       GameLogEcho(strcat(":anticheat:speedhack_m3:", ftos(self.playerid), ":", anticheat_display(MEAN_EVALUATE(anticheat_speedhack_m3), 240, 1.01, 1.25)));
+       GameLogEcho(strcat(":anticheat:speedhack_m4:", ftos(self.playerid), ":", anticheat_display(MEAN_EVALUATE(anticheat_speedhack_m4), 240, 1.01, 1.25)));
+       GameLogEcho(strcat(":anticheat:speedhack_m5:", ftos(self.playerid), ":", anticheat_display(MEAN_EVALUATE(anticheat_speedhack_m5), 240, 1.01, 1.25)));
+       GameLogEcho(strcat(":anticheat:div0_strafebot_old:", ftos(self.playerid), ":", anticheat_display(MEAN_EVALUATE(anticheat_div0_strafebot_old), 120, 0.15, 0.4)));
+       GameLogEcho(strcat(":anticheat:div0_strafebot_new:", ftos(self.playerid), ":", anticheat_display(MEAN_EVALUATE(anticheat_div0_strafebot_new), 120, 0.25, 0.8)));
+       GameLogEcho(strcat(":anticheat:div0_evade:", ftos(self.playerid), ":", anticheat_display(MEAN_EVALUATE(anticheat_div0_evade), 120, 0.2, 0.5)));
+       GameLogEcho(strcat(":anticheat:idle_snapaim:", ftos(self.playerid), ":", anticheat_display(MEAN_EVALUATE(anticheat_idle_snapaim_signal) - MEAN_EVALUATE(anticheat_idle_snapaim_noise), 120, 0, 9999)));
+       GameLogEcho(strcat(":anticheat:idle_snapaim_signal:", ftos(self.playerid), ":", anticheat_display(MEAN_EVALUATE(anticheat_idle_snapaim_signal), 120, 0, 9999)));
+       GameLogEcho(strcat(":anticheat:idle_snapaim_noise:", ftos(self.playerid), ":", anticheat_display(MEAN_EVALUATE(anticheat_idle_snapaim_noise), 120, 0, 9999)));
+       GameLogEcho(strcat(":anticheat:idle_snapaim_m2:", ftos(self.playerid), ":", anticheat_display(MEAN_EVALUATE(anticheat_idle_snapaim_m2), 120, 0, 9999)));
+       GameLogEcho(strcat(":anticheat:idle_snapaim_m3:", ftos(self.playerid), ":", anticheat_display(MEAN_EVALUATE(anticheat_idle_snapaim_m3), 120, 0, 9999)));
+       GameLogEcho(strcat(":anticheat:idle_snapaim_m4:", ftos(self.playerid), ":", anticheat_display(MEAN_EVALUATE(anticheat_idle_snapaim_m4), 120, 0, 9999)));
+       GameLogEcho(strcat(":anticheat:idle_snapaim_m7:", ftos(self.playerid), ":", anticheat_display(MEAN_EVALUATE(anticheat_idle_snapaim_m7), 120, 0, 9999)));
+       GameLogEcho(strcat(":anticheat:idle_snapaim_m10:", ftos(self.playerid), ":", anticheat_display(MEAN_EVALUATE(anticheat_idle_snapaim_m10), 120, 0, 9999)));
+}
+
+float anticheat_getvalue(string id)
+{
+       switch(id) {
+               case "_time": return servertime - self.anticheat_jointime;
+               case "speedhack": return MEAN_EVALUATE(anticheat_speedhack);
+               case "speedhack_m1": return MEAN_EVALUATE(anticheat_speedhack_m1);
+               case "speedhack_m2": return MEAN_EVALUATE(anticheat_speedhack_m2);
+               case "speedhack_m3": return MEAN_EVALUATE(anticheat_speedhack_m3);
+               case "speedhack_m4": return MEAN_EVALUATE(anticheat_speedhack_m4);
+               case "speedhack_m5": return MEAN_EVALUATE(anticheat_speedhack_m5);
+               case "div0_strafebot_old": return MEAN_EVALUATE(anticheat_div0_strafebot_old);
+               case "div0_strafebot_new": return MEAN_EVALUATE(anticheat_div0_strafebot_new);
+               case "div0_evade": return MEAN_EVALUATE(anticheat_div0_evade);
+               case "idle_snapaim": return MEAN_EVALUATE(anticheat_idle_snapaim_signal) - MEAN_EVALUATE(anticheat_idle_snapaim_noise);
+               case "idle_snapaim_signal": return MEAN_EVALUATE(anticheat_idle_snapaim_signal);
+               case "idle_snapaim_noise": return MEAN_EVALUATE(anticheat_idle_snapaim_noise);
+               case "idle_snapaim_m2": return MEAN_EVALUATE(anticheat_idle_snapaim_m2);
+               case "idle_snapaim_m3": return MEAN_EVALUATE(anticheat_idle_snapaim_m3);
+               case "idle_snapaim_m4": return MEAN_EVALUATE(anticheat_idle_snapaim_m4);
+               case "idle_snapaim_m7": return MEAN_EVALUATE(anticheat_idle_snapaim_m7);
+               case "idle_snapaim_m10": return MEAN_EVALUATE(anticheat_idle_snapaim_m10);
+       }
+       return -1;
+}
+
+void anticheat_startframe()
+{
+       anticheat_div0_evade_evasion_delta += frametime * (0.5 + random());
+}
+
+void anticheat_fixangle()
+{
+       self.anticheat_fixangle_endtime = servertime + ANTILAG_LATENCY(self) + 0.2;
 }
 
-void anticheat_serverframe()
+void anticheat_endframe()
 {
+       entity oldself = self;
+       FOR_EACH_CLIENT(self)
+               if (self.fixangle)
+                       anticheat_fixangle();
+       self = oldself;
        anticheat_div0_evade_evasion_delta += frametime * (0.5 + random());
 }
 
index 80c7636a0b6852a86d1b35d36e84ff87e2e15f5f..e46dcce7b2051a8af3e8e847975d76e41b5079f3 100644 (file)
@@ -6,4 +6,9 @@ void anticheat_physics();
 void anticheat_spectatecopy(entity spectatee);
 void anticheat_prethink();
 
-void anticheat_serverframe();
+float anticheat_getvalue(string name);
+
+void anticheat_startframe();
+void anticheat_endframe();
+
+void anticheat_fixangle();
index b49cc14c6959b9de14e5bd40f0c765183e7bce57..35ca27e4895fc0fad84f3e63d109284425e00424 100644 (file)
@@ -83,30 +83,26 @@ float autocvar_g_balance_armor_start;
 float autocvar_g_balance_rifle_bursttime;
 float autocvar_g_balance_rifle_primary_ammo;
 float autocvar_g_balance_rifle_primary_animtime;
-float autocvar_g_balance_rifle_primary_bulletconstant;
 float autocvar_g_balance_rifle_primary_bullethail;
 float autocvar_g_balance_rifle_primary_burstcost;
 float autocvar_g_balance_rifle_primary_damage;
 float autocvar_g_balance_rifle_primary_force;
-float autocvar_g_balance_rifle_primary_lifetime;
 float autocvar_g_balance_rifle_primary_refire;
 float autocvar_g_balance_rifle_primary_shots;
-float autocvar_g_balance_rifle_primary_speed;
+float autocvar_g_balance_rifle_primary_solidpenetration;
 float autocvar_g_balance_rifle_primary_spread;
 float autocvar_g_balance_rifle_primary_tracer;
 float autocvar_g_balance_rifle_secondary;
 float autocvar_g_balance_rifle_secondary_ammo;
 float autocvar_g_balance_rifle_secondary_animtime;
-float autocvar_g_balance_rifle_secondary_bulletconstant;
 float autocvar_g_balance_rifle_secondary_bullethail;
 float autocvar_g_balance_rifle_secondary_burstcost;
 float autocvar_g_balance_rifle_secondary_damage;
 float autocvar_g_balance_rifle_secondary_force;
-float autocvar_g_balance_rifle_secondary_lifetime;
 float autocvar_g_balance_rifle_secondary_reload;
 float autocvar_g_balance_rifle_secondary_refire;
 float autocvar_g_balance_rifle_secondary_shots;
-float autocvar_g_balance_rifle_secondary_speed;
+float autocvar_g_balance_rifle_secondary_solidpenetration;
 float autocvar_g_balance_rifle_secondary_spread;
 float autocvar_g_balance_rifle_secondary_tracer;
 float autocvar_g_balance_rifle_reload_ammo;
@@ -264,6 +260,7 @@ float autocvar_g_balance_grapplehook_speed_fly;
 float autocvar_g_balance_grapplehook_speed_pull;
 float autocvar_g_balance_grapplehook_stretch;
 float autocvar_g_balance_grapplehook_damagedbycontents;
+float autocvar_g_balance_grapplehook_refire;
 float autocvar_g_balance_grenadelauncher_bouncefactor;
 float autocvar_g_balance_grenadelauncher_bouncestop;
 float autocvar_g_balance_grenadelauncher_primary_ammo;
@@ -340,7 +337,6 @@ float autocvar_g_balance_health_regenstable;
 float autocvar_g_balance_health_rot;
 float autocvar_g_balance_health_rotlinear;
 float autocvar_g_balance_health_rotstable;
-float autocvar_g_balance_health_start;
 float autocvar_g_balance_hlac_primary_ammo;
 float autocvar_g_balance_hlac_primary_animtime;
 float autocvar_g_balance_hlac_primary_damage;
@@ -621,12 +617,11 @@ float autocvar_g_balance_seeker_reload_time;
 float autocvar_g_balance_selfdamagepercent;
 float autocvar_g_balance_shotgun_primary_ammo;
 float autocvar_g_balance_shotgun_primary_animtime;
-float autocvar_g_balance_shotgun_primary_bulletconstant;
 float autocvar_g_balance_shotgun_primary_bullets;
 float autocvar_g_balance_shotgun_primary_damage;
 float autocvar_g_balance_shotgun_primary_force;
 float autocvar_g_balance_shotgun_primary_refire;
-float autocvar_g_balance_shotgun_primary_speed;
+float autocvar_g_balance_shotgun_primary_solidpenetration;
 float autocvar_g_balance_shotgun_primary_spread;
 float autocvar_g_balance_shotgun_secondary;
 float autocvar_g_balance_shotgun_secondary_animtime;
@@ -654,7 +649,6 @@ float autocvar_g_balance_tuba_edgedamage;
 float autocvar_g_balance_tuba_force;
 float autocvar_g_balance_tuba_radius;
 float autocvar_g_balance_tuba_refire;
-float autocvar_g_balance_uzi_bulletconstant;
 float autocvar_g_balance_uzi_burst;
 float autocvar_g_balance_uzi_burst_ammo;
 float autocvar_g_balance_uzi_burst_animtime;
@@ -668,7 +662,7 @@ float autocvar_g_balance_uzi_first_force;
 float autocvar_g_balance_uzi_first_refire;
 float autocvar_g_balance_uzi_first_spread;
 float autocvar_g_balance_uzi_mode;
-float autocvar_g_balance_uzi_speed;
+float autocvar_g_balance_uzi_solidpenetration;
 float autocvar_g_balance_uzi_spread_add;
 float autocvar_g_balance_uzi_spread_max;
 float autocvar_g_balance_uzi_spread_min;
@@ -681,7 +675,6 @@ float autocvar_g_balance_uzi_reload_ammo;
 float autocvar_g_balance_uzi_reload_time;
 float autocvar_g_ballistics_density_corpse;
 float autocvar_g_ballistics_density_player;
-float autocvar_g_ballistics_materialconstant;
 float autocvar_g_ballistics_mindistance;
 float autocvar_g_ban_default_bantime;
 float autocvar_g_ban_default_masksize;
@@ -702,6 +695,7 @@ float autocvar_g_ca_round_timelimit;
 float autocvar_g_ca_spectate_enemies;
 float autocvar_g_ca_teams;
 float autocvar_g_ca_teams_override;
+float autocvar_g_ca_team_spawns;
 float autocvar_g_ca_warmup;
 float autocvar_g_campaign;
 #define autocvar_g_campaign_forceteam cvar("g_campaign_forceteam")
@@ -723,6 +717,7 @@ float autocvar_g_chat_teamcolors;
 float autocvar_g_chat_tellprivacy;
 float autocvar_g_ctf_allow_vehicle_carry;
 float autocvar_g_ctf_allow_vehicle_touch;
+float autocvar_g_ctf_allow_monster_touch;
 float autocvar_g_ctf_throw;
 float autocvar_g_ctf_throw_angle_max;
 float autocvar_g_ctf_throw_angle_min;
@@ -805,7 +800,6 @@ float autocvar_g_domination_warmup;
 float autocvar_g_domination_point_rate;
 float autocvar_g_domination_teams_override;
 float autocvar_g_forced_respawn;
-float autocvar_g_respawn_delay_max;
 string autocvar_g_forced_team_blue;
 string autocvar_g_forced_team_otherwise;
 string autocvar_g_forced_team_pink;
@@ -823,6 +817,7 @@ float autocvar_g_freezetag_revive_clearspeed;
 float autocvar_g_freezetag_round_timelimit;
 float autocvar_g_freezetag_teams;
 float autocvar_g_freezetag_teams_override;
+float autocvar_g_freezetag_team_spawns;
 float autocvar_g_freezetag_warmup;
 #define autocvar_g_friendlyfire cvar("g_friendlyfire")
 #define autocvar_g_friendlyfire_virtual cvar("g_friendlyfire_virtual")
@@ -953,7 +948,11 @@ float autocvar_g_projectiles_spread_style;
 float autocvar_g_race_qualifying_timelimit;
 float autocvar_g_race_qualifying_timelimit_override;
 float autocvar_g_race_teams;
-float autocvar_g_respawn_delay;
+float autocvar_g_respawn_delay_small;
+float autocvar_g_respawn_delay_small_count;
+float autocvar_g_respawn_delay_large;
+float autocvar_g_respawn_delay_large_count;
+float autocvar_g_respawn_delay_max;
 float autocvar_g_respawn_ghosts;
 float autocvar_g_respawn_ghosts_maxtime;
 float autocvar_g_respawn_ghosts_speed;
@@ -1161,6 +1160,11 @@ float autocvar_sv_timeout_resumetime;
 float autocvar_sv_vote_call;
 float autocvar_sv_vote_change;
 string autocvar_sv_vote_commands;
+float autocvar_sv_vote_gametype;
+float autocvar_sv_vote_gametype_timeout;
+string autocvar_sv_vote_gametype_options;
+float autocvar_sv_vote_gametype_keeptwotime;
+float autocvar_sv_vote_gametype_default_current;
 float autocvar_sv_vote_limit;
 float autocvar_sv_vote_majority_factor;
 float autocvar_sv_vote_majority_factor_of_voted;
@@ -1225,10 +1229,40 @@ float autocvar_physics_ode;
 float autocvar_g_physical_items;
 float autocvar_g_physical_items_damageforcescale;
 float autocvar_g_physical_items_reset;
+float autocvar_g_monsters;
+float autocvar_g_monsters_edit;
+float autocvar_g_monsters_sounds;
+float autocvar_g_monsters_think_delay;
+float autocvar_g_monsters_max;
+float autocvar_g_monsters_max_perplayer;
+float autocvar_g_monsters_target_range;
+float autocvar_g_monsters_target_infront;
+float autocvar_g_monsters_attack_range;
+float autocvar_g_monsters_score_kill;
+float autocvar_g_monsters_score_spawned;
+float autocvar_g_monsters_typefrag;
+float autocvar_g_monsters_owners;
+float autocvar_g_monsters_miniboss_chance;
+float autocvar_g_monsters_miniboss_healthboost;
+float autocvar_g_monsters_drop_time;
+float autocvar_g_monsters_spawnshieldtime;
+float autocvar_g_monsters_teams;
+float autocvar_g_monsters_respawn_delay;
+float autocvar_g_monsters_respawn;
+float autocvar_g_monsters_armor_blockpercent;
 float autocvar_g_touchexplode_radius;
 float autocvar_g_touchexplode_damage;
 float autocvar_g_touchexplode_edgedamage;
 float autocvar_g_touchexplode_force;
+float autocvar_g_invasion_round_timelimit;
+float autocvar_g_invasion_teams;
+float autocvar_g_invasion_team_spawns;
+float autocvar_g_invasion_spawnpoint_spawn_delay;
+#define autocvar_g_invasion_point_limit cvar("g_invasion_point_limit")
+float autocvar_g_invasion_warmup;
+float autocvar_g_invasion_monster_count;
+float autocvar_g_invasion_zombies_only;
+float autocvar_g_invasion_spawn_delay;
 #define autocvar_g_bloodloss cvar("g_bloodloss")
 float autocvar_g_random_gravity_negative_chance;
 float autocvar_g_random_gravity_min;
@@ -1252,3 +1286,39 @@ float autocvar_g_campcheck_damage;
 float autocvar_g_campcheck_distance;
 float autocvar_g_campcheck_interval;
 float autocvar_g_jump_grunt;
+float autocvar_g_spawn_near_teammate_distance;
+float autocvar_g_spawn_near_teammate_ignore_spawnpoint;
+float autocvar_g_spawn_near_teammate_ignore_spawnpoint_delay;
+float autocvar_g_spawn_near_teammate_ignore_spawnpoint_delay_death;
+float autocvar_g_spawn_near_teammate_ignore_spawnpoint_check_health;
+float autocvar_g_spawn_near_teammate_ignore_spawnpoint_closetodeath;
+float autocvar_g_buffs_waypoint_distance;
+float autocvar_g_buffs_randomize;
+float autocvar_g_buffs_random_lifetime;
+float autocvar_g_buffs_random_location;
+float autocvar_g_buffs_random_location_attempts;
+float autocvar_g_buffs_spawn_count;
+float autocvar_g_buffs_replace_powerups;
+float autocvar_g_buffs_cooldown_activate;
+float autocvar_g_buffs_cooldown_respawn;
+float autocvar_g_buffs_resistance_blockpercent;
+float autocvar_g_buffs_medic_survive_chance;
+float autocvar_g_buffs_medic_survive_health;
+float autocvar_g_buffs_medic_rot;
+float autocvar_g_buffs_medic_max;
+float autocvar_g_buffs_medic_regen;
+float autocvar_g_buffs_vengeance_damage_multiplier;
+float autocvar_g_buffs_bash_force;
+float autocvar_g_buffs_bash_force_self;
+float autocvar_g_buffs_disability_time;
+float autocvar_g_buffs_disability_speed;
+float autocvar_g_buffs_disability_rate;
+float autocvar_g_buffs_speed_speed;
+float autocvar_g_buffs_speed_rate;
+float autocvar_g_buffs_speed_damage_take;
+float autocvar_g_buffs_speed_regen;
+float autocvar_g_buffs_vampire_damage_steal;
+float autocvar_g_buffs_invisible_alpha;
+float autocvar_g_buffs_flight_gravity;
+float autocvar_g_buffs_jump_height;
+
index a0e6bfffd42926004503c8e9f63b8e9eaaa07836..2e57eecb3b1c6cf3e2b7e0e7bbc4e15e6b2a6867 100644 (file)
@@ -722,10 +722,10 @@ void havocbot_movetogoal()
                        vector dst_ahead, dst_down;
                        makevectors(self.v_angle_y * '0 1 0');
                        dst_ahead = self.origin + self.view_ofs + (self.velocity * 0.4) + (v_forward * 32 * 3);
-                       dst_down = dst_ahead + '0 0 -1500';
+                       dst_down = dst_ahead - '0 0 1500';
 
                        // Look ahead
-                       traceline(self.origin + self.view_ofs , dst_ahead, TRUE, world);
+                       traceline(self.origin + self.view_ofs, dst_ahead, TRUE, world);
 
                        // Check head-banging against walls
                        if(vlen(self.origin + self.view_ofs - trace_endpos) < 25 && !(self.aistatus & AI_STATUS_OUT_WATER))
index 3e0e60fcc09995c25dd8525b050bc8f6f3f93561..2104c3443a00f79930061b0e63975c54c7b6dd33 100644 (file)
@@ -221,60 +221,19 @@ void havocbot_role_dm()
        }
 }
 
-//Race:
-//go to next checkpoint, and annoy enemies
-.float race_checkpoint;
-void havocbot_role_race()
-{
-       if(self.deadflag != DEAD_NO)
-               return;
-
-       entity e;
-       if (self.bot_strategytime < time)
-       {
-               self.bot_strategytime = time + autocvar_bot_ai_strategyinterval;
-               navigation_goalrating_start();
-               /*
-               havocbot_goalrating_items(100, self.origin, 10000);
-               havocbot_goalrating_enemyplayers(500, self.origin, 20000);
-               */
-
-               for(e = world; (e = find(e, classname, "trigger_race_checkpoint")) != world; )
-               {
-                       if(e.cnt == self.race_checkpoint)
-                       {
-                               navigation_routerating(e, 1000000, 5000);
-                       }
-                       else if(self.race_checkpoint == -1)
-                       {
-                               navigation_routerating(e, 1000000, 5000);
-                       }
-               }
-
-               navigation_goalrating_end();
-       }
-}
-
 void havocbot_chooserole_dm()
 {
        self.havocbot_role = havocbot_role_dm;
 }
 
-void havocbot_chooserole_race()
-{
-       self.havocbot_role = havocbot_role_race;
-}
-
 void havocbot_chooserole()
 {
        dprint("choosing a role...\n");
        self.bot_strategytime = 0;
-       if (MUTATOR_CALLHOOK(HavocBot_ChooseRule))
+       if (MUTATOR_CALLHOOK(HavocBot_ChooseRole))
                return;
        else if (g_keyhunt)
                havocbot_chooserole_kh();
-       else if (g_race || g_cts)
-               havocbot_chooserole_race();
        else if (g_onslaught)
                havocbot_chooserole_ons();
        else // assume anything else is deathmatch
index 691ce3e0a929ab44e3b0138c1a91a2fa760b82b0..0facbf037d881265dc55c10fb1205dedbfd9c391 100644 (file)
@@ -366,7 +366,7 @@ float navigation_waypoint_will_link(vector v, vector org, entity ent, float walk
 }
 
 // find the spawnfunc_waypoint near a dynamic goal such as a dropped weapon
-entity navigation_findnearestwaypoint_withdist(entity ent, float walkfromwp, float bestdist)
+entity navigation_findnearestwaypoint_withdist_except(entity ent, float walkfromwp, float bestdist, entity except)
 {
        entity waylist, w, best;
        vector v, org, pm1, pm2;
@@ -380,7 +380,7 @@ entity navigation_findnearestwaypoint_withdist(entity ent, float walkfromwp, flo
        while (w)
        {
                // if object is touching spawnfunc_waypoint
-               if(w != ent)
+               if(w != ent && w != except)
                        if (boxesoverlap(pm1, pm2, w.absmin, w.absmax))
                                return w;
                w = w.chain;
@@ -426,7 +426,14 @@ entity navigation_findnearestwaypoint_withdist(entity ent, float walkfromwp, flo
 }
 entity navigation_findnearestwaypoint(entity ent, float walkfromwp)
 {
-       return navigation_findnearestwaypoint_withdist(ent, walkfromwp, 1050);
+       entity wp = navigation_findnearestwaypoint_withdist_except(ent, walkfromwp, 1050, world);
+       if (autocvar_g_waypointeditor_auto)
+       {
+               entity wp2 = navigation_findnearestwaypoint_withdist_except(ent, walkfromwp, 1050, wp);
+               if (!wp2)
+                       wp.wpflags |= WAYPOINTFLAG_PROTECTED;
+       }
+       return wp;
 }
 
 // finds the waypoints near the bot initiating a navigation query
index 78bf0f264693a819949f357a94a9e16eb5a3d6c3..da0b3508941ecaec1fdf0205e0b464be0c971978 100644 (file)
@@ -543,6 +543,46 @@ void waypoint_load_links_hardwired()
        dprint(".waypoints.hardwired\n");
 }
 
+entity waypoint_get_link(entity w, float i)
+{
+       switch(i)
+       {
+               case  0:return w.wp00;
+               case  1:return w.wp01;
+               case  2:return w.wp02;
+               case  3:return w.wp03;
+               case  4:return w.wp04;
+               case  5:return w.wp05;
+               case  6:return w.wp06;
+               case  7:return w.wp07;
+               case  8:return w.wp08;
+               case  9:return w.wp09;
+               case 10:return w.wp10;
+               case 11:return w.wp11;
+               case 12:return w.wp12;
+               case 13:return w.wp13;
+               case 14:return w.wp14;
+               case 15:return w.wp15;
+               case 16:return w.wp16;
+               case 17:return w.wp17;
+               case 18:return w.wp18;
+               case 19:return w.wp19;
+               case 20:return w.wp20;
+               case 21:return w.wp21;
+               case 22:return w.wp22;
+               case 23:return w.wp23;
+               case 24:return w.wp24;
+               case 25:return w.wp25;
+               case 26:return w.wp26;
+               case 27:return w.wp27;
+               case 28:return w.wp28;
+               case 29:return w.wp29;
+               case 30:return w.wp30;
+               case 31:return w.wp31;
+               default:return world;
+       }
+}
+
 // Save all waypoint links to a file
 void waypoint_save_links()
 {
@@ -565,44 +605,7 @@ void waypoint_save_links()
                for(i=0;i<32;++i)
                {
                        // :S
-                       link = world;
-                       switch(i)
-                       {
-                               //      for i in $(seq -w 0 31); do echo "case $i:link = w.wp$i; break;"; done;
-                               case  0:link = w.wp00; break;
-                               case  1:link = w.wp01; break;
-                               case  2:link = w.wp02; break;
-                               case  3:link = w.wp03; break;
-                               case  4:link = w.wp04; break;
-                               case  5:link = w.wp05; break;
-                               case  6:link = w.wp06; break;
-                               case  7:link = w.wp07; break;
-                               case  8:link = w.wp08; break;
-                               case  9:link = w.wp09; break;
-                               case 10:link = w.wp10; break;
-                               case 11:link = w.wp11; break;
-                               case 12:link = w.wp12; break;
-                               case 13:link = w.wp13; break;
-                               case 14:link = w.wp14; break;
-                               case 15:link = w.wp15; break;
-                               case 16:link = w.wp16; break;
-                               case 17:link = w.wp17; break;
-                               case 18:link = w.wp18; break;
-                               case 19:link = w.wp19; break;
-                               case 20:link = w.wp20; break;
-                               case 21:link = w.wp21; break;
-                               case 22:link = w.wp22; break;
-                               case 23:link = w.wp23; break;
-                               case 24:link = w.wp24; break;
-                               case 25:link = w.wp25; break;
-                               case 26:link = w.wp26; break;
-                               case 27:link = w.wp27; break;
-                               case 28:link = w.wp28; break;
-                               case 29:link = w.wp29; break;
-                               case 30:link = w.wp30; break;
-                               case 31:link = w.wp31; break;
-                       }
-
+                       link = waypoint_get_link(w, i);
                        if(link==world)
                                continue;
 
@@ -876,7 +879,7 @@ float botframe_autowaypoints_fixdown(vector v)
        return 1;
 }
 
-float botframe_autowaypoints_createwp(vector v, entity p, .entity fld)
+float botframe_autowaypoints_createwp(vector v, entity p, .entity fld, float f)
 {
        entity w;
 
@@ -890,7 +893,7 @@ float botframe_autowaypoints_createwp(vector v, entity p, .entity fld)
                w = find(w, classname, "waypoint");
        }
 
-       waypoint_schedulerelink(p.fld = waypoint_spawn(v, v, 0));
+       waypoint_schedulerelink(p.fld = waypoint_spawn(v, v, f));
        return 1;
 }
 
@@ -916,7 +919,7 @@ float botframe_autowaypoints_fix_from(entity p, float walkfromwp, entity wp, .en
 
        if(wp)
        {
-               // if any WP w fulfills wp -> w -> porg, then switch from wp to w
+               // if any WP w fulfills wp -> w -> porg and w is closer than wp, then switch from wp to w
 
                // if wp -> porg, then OK
                float maxdist;
@@ -993,7 +996,7 @@ float botframe_autowaypoints_fix_from(entity p, float walkfromwp, entity wp, .en
                t = (tmin + tmax) * 0.5;
                o = antilag_takebackorigin(p, time - t);
                if(!botframe_autowaypoints_fixdown(o))
-                       return -1;
+                       return -2;
                o = trace_endpos;
 
                if(wp)
@@ -1032,7 +1035,7 @@ float botframe_autowaypoints_fix_from(entity p, float walkfromwp, entity wp, .en
        }
 
        print("spawning a waypoint for connecting to ", etos(wp), "\n");
-       botframe_autowaypoints_createwp(o, p, fld);
+       botframe_autowaypoints_createwp(o, p, fld, 0);
        return 1;
 }
 
@@ -1051,7 +1054,78 @@ void botframe_autowaypoints_fix(entity p, float walkfromwp, .entity fld)
        print("emergency: got no good nearby WP to build a link from, starting a new chain\n");
        if(!botframe_autowaypoints_fixdown(p.origin))
                return; // shouldn't happen, caught above
-       botframe_autowaypoints_createwp(trace_endpos, p, fld);
+       botframe_autowaypoints_createwp(trace_endpos, p, fld, WAYPOINTFLAG_PROTECTED);
+}
+
+void botframe_deleteuselesswaypoints()
+{
+       entity w, w1, w2;
+       float i, j, k;
+       for (w = world; (w = findfloat(w, bot_pickup, TRUE)); )
+       {
+               // NOTE: this protects waypoints if they're the ONLY nearest
+               // waypoint. That's the intention.
+               navigation_findnearestwaypoint(w, FALSE);  // Walk TO item.
+               navigation_findnearestwaypoint(w, TRUE);  // Walk FROM item.
+       }
+       for (w = world; (w = find(w, classname, "waypoint")); )
+       {
+               w.wpflags &= ~WAYPOINTFLAG_USEFUL;
+               // WP is useful if:
+               if (w.wpflags & WAYPOINTFLAG_ITEM)
+                       w.wpflags |= WAYPOINTFLAG_USEFUL;
+               if (w.wpflags & WAYPOINTFLAG_TELEPORT)
+                       w.wpflags |= WAYPOINTFLAG_USEFUL;
+               if (w.wpflags & WAYPOINTFLAG_PROTECTED)
+                       w.wpflags |= WAYPOINTFLAG_USEFUL;
+               // b) WP is closest WP for an item/spawnpoint/other entity
+               //    This has been done above by protecting these WPs.
+       }
+       // c) There are w1, w, w2 so that w1 -> w, w -> w2 and not w1 -> w2.
+       for (w1 = world; (w1 = find(w1, classname, "waypoint")); )
+       {
+               if (w1.wpflags & WAYPOINTFLAG_PERSONAL)
+                       continue;
+               for (i = 0; i < 32; ++i)
+               {
+                       w = waypoint_get_link(w1, i);
+                       if (!w)
+                               break;
+                       if (w.wpflags & WAYPOINTFLAG_PERSONAL)
+                               continue;
+                       if (w.wpflags & WAYPOINTFLAG_USEFUL)
+                               continue;
+                       for (j = 0; j < 32; ++j)
+                       {
+                               w2 = waypoint_get_link(w1, i);
+                               if (!w2)
+                                       break;
+                               if (w2.wpflags & WAYPOINTFLAG_PERSONAL)
+                                       continue;
+                               for (k = 0; k < 32; ++k)
+                               {
+                                       if (waypoint_get_link(w1, k) == w2)
+                                               continue;
+                                       // IF WE GET HERE, w is proven useful
+                                       // to get from w1 to w2!
+                                       w.wpflags |= WAYPOINTFLAG_USEFUL;
+                                       continue;
+                               }
+                       }
+               }
+       }
+       for (w = world; (w = find(w, classname, "waypoint")); )
+       {
+               if (!(w.wpflags & WAYPOINTFLAG_USEFUL))
+               {
+                       printf("Removed a waypoint at %v. Try again for more!\n", w.origin);
+                       te_explosion(w.origin);
+                       waypoint_remove(w);
+                       break;
+               }
+       }
+       for (w = world; (w = find(w, classname, "waypoint")); )
+               w.wpflags &= ~WAYPOINTFLAG_USEFUL; // temp flag
 }
 
 void botframe_autowaypoints()
@@ -1066,5 +1140,7 @@ void botframe_autowaypoints()
                botframe_autowaypoints_fix(p, TRUE, botframe_autowaypoints_lastwp1);
                //te_explosion(p.botframe_autowaypoints_lastwp0.origin);
        }
+
+       botframe_deleteuselesswaypoints();
 }
 
index 5a75551d2452652383a62728383141633b412c97..9ac92405d9ee928f9bf03d653e9f56ee6a1f3002 100644 (file)
@@ -7,6 +7,8 @@ const float WAYPOINTFLAG_ITEM = 4194304;
 const float WAYPOINTFLAG_TELEPORT = 2097152;
 const float WAYPOINTFLAG_NORELINK = 1048576;
 const float WAYPOINTFLAG_PERSONAL = 524288;
+const float WAYPOINTFLAG_PROTECTED = 262144;  // Useless WP detection never kills these.
+const float WAYPOINTFLAG_USEFUL = 131072;  // Useless WP detection temporary flag.
 
 // fields you can query using prvm_global server to get some statistics about waypoint linking culling
 float relink_total, relink_walkculled, relink_pvsculled, relink_lengthculled;
index 5bd3b49a3ab8021b2d305912f8f662ae78adb990..c4b3fe67dd4ef3b8c68ff38b67c679de60115229 100644 (file)
@@ -66,13 +66,13 @@ float CheatsAllowed(float i, float argc, float fr) // the cheat gets passed as a
 
        // if we get here, player is not allowed to cheat. Log it.
        if(i)
-               bprint(sprintf("Player %s^7 tried to use cheat 'impulse %d'\n", self.netname, i));
+               bprintf("Player %s^7 tried to use cheat 'impulse %d'\n", self.netname, i);
        else if(argc)
-               bprint(sprintf("Player %s^7 tried to use cheat '%s'\n", self.netname, argv(0)));
+               bprintf("Player %s^7 tried to use cheat '%s'\n", self.netname, argv(0));
        else if(fr)
-               bprint(sprintf("Player %s^7 tried to use cheat frame %d\n", self.netname, fr));
+               bprintf("Player %s^7 tried to use cheat frame %d\n", self.netname, fr);
        else
-               bprint(sprintf("Player %s^7 tried to use an unknown cheat\n", self.netname));
+               bprintf("Player %s^7 tried to use an unknown cheat\n", self.netname);
 
        return 0;
 }
index d803602ad6ccd6c229e5b61ffa20f4dfc976b6ae..4f6e29ceacd84ded7d04e289920bb067eee0c909 100644 (file)
@@ -1,6 +1,3 @@
-void race_send_recordtime(float msg);
-void race_SendRankings(float pos, float prevpos, float del, float msg);
-
 void send_CSQC_teamnagger() {
        WriteByte(MSG_BROADCAST, SVC_TEMPENTITY);
        WriteByte(MSG_BROADCAST, TE_CSQC_TEAMNAGGER);
@@ -140,7 +137,6 @@ void PutObserverInServer (void)
 {
        entity  spot;
     self.hud = HUD_NORMAL;
-       race_PreSpawnObserver();
 
        spot = SelectSpawnPoint (TRUE);
        if(!spot)
@@ -154,15 +150,7 @@ void PutObserverInServer (void)
                WriteEntity(MSG_ONE, self);
        }
 
-       if((g_race && g_race_qualifying) || g_cts)
-       {
-               if(PlayerScore_Add(self, SP_RACE_FASTEST, 0))
-                       self.frags = FRAGS_LMS_LOSER;
-               else
-                       self.frags = FRAGS_SPECTATOR;
-       }
-       else
-               self.frags = FRAGS_SPECTATOR;
+       self.frags = FRAGS_SPECTATOR;
 
        MUTATOR_CALLHOOK(MakePlayerObserver);
 
@@ -186,6 +174,8 @@ void PutObserverInServer (void)
        if(self.killcount != -666)
        {
                Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_QUIT_SPECTATE, self.netname);
+               if(autocvar_g_chat_nospectators == 1 || (cvar("g_warmup") && !(warmup_stage || gameover) && autocvar_g_chat_nospectators == 2))
+                       Send_Notification(NOTIF_ONE_ONLY, self, MSG_INFO, INFO_CHAT_NOSPECTATORS);
 
                if(self.just_joined == FALSE) {
                        LogTeamchange(self.playerid, -1, 4);
@@ -281,7 +271,7 @@ void FixPlayermodel()
                if(teamplay)
                {
                        string s;
-                       s = Team_ColorName_Lower(self.team);
+                       s = Static_Team_ColorName_Lower(self.team);
                        if(s != "neutral")
                        {
                                defaultmodel = cvar_string(strcat("sv_defaultplayermodel_", s));
@@ -389,8 +379,6 @@ void PutClientInServer (void)
                if(self.team < 0)
                        JoinBestTeam(self, FALSE, TRUE);
 
-               race_PreSpawn();
-
                spot = SelectSpawnPoint (FALSE);
                if(!spot)
                {
@@ -400,6 +388,9 @@ void PutClientInServer (void)
 
                RemoveGrapplingHook(self); // Wazat's Grappling Hook
 
+               if(self.vehicle)
+                       vehicles_exit(VHEF_RELESE);
+
                self.classname = "player";
                self.wasplayer = TRUE;
                self.iscreature = TRUE;
@@ -519,6 +510,9 @@ void PutClientInServer (void)
                spawnevent.owner = self;
                Net_LinkEntity(spawnevent, FALSE, 0.5, SpawnEvent_Send);
 
+               // Cut off any still running player sounds.
+               stopsound(self, CH_PLAYER_SINGLE);
+
                self.model = "";
                FixPlayermodel();
                self.drawonlytoclient = world;
@@ -538,6 +532,9 @@ void PutClientInServer (void)
                self.event_damage = PlayerDamage;
 
                self.bot_attack = TRUE;
+               self.monster_attack = TRUE;
+               
+               self.spider_slowness = 0;
 
                self.statdraintime = time + 5;
                self.BUTTON_ATCK = self.BUTTON_JUMP = self.BUTTON_ATCK2 = 0;
@@ -554,8 +551,6 @@ void PutClientInServer (void)
 
                self.speedrunning = FALSE;
 
-               race_PostSpawn(spot);
-
                //stuffcmd(self, "chase_active 0");
                //stuffcmd(self, "set viewsize $tmpviewsize \n");
 
@@ -1049,8 +1044,6 @@ void ClientConnect (void)
 
        anticheat_init();
 
-       race_PreSpawnObserver();
-
        // identify the right forced team
        if(autocvar_g_campaign)
        {
@@ -1201,27 +1194,7 @@ void ClientConnect (void)
        else
                self.hitplotfh = -1;
 
-       if(g_race || g_cts) {
-               string rr;
-               if(g_cts)
-                       rr = CTS_RECORD;
-               else
-                       rr = RACE_RECORD;
-
-               msg_entity = self;
-               race_send_recordtime(MSG_ONE);
-               race_send_speedaward(MSG_ONE);
-
-               speedaward_alltimebest = stof(db_get(ServerProgsDB, strcat(GetMapname(), rr, "speed/speed")));
-               speedaward_alltimebest_holder = uid2name(db_get(ServerProgsDB, strcat(GetMapname(), rr, "speed/crypto_idfp")));
-               race_send_speedaward_alltimebest(MSG_ONE);
-
-               float i;
-               for (i = 1; i <= RANKINGS_CNT; ++i) {
-                       race_SendRankings(i, 0, 0, MSG_ONE);
-               }
-       }
-       else if(autocvar_sv_teamnagger && !(autocvar_bot_vs_human && (c3==-1 && c4==-1)) && !g_ca) // teamnagger is currently bad for ca
+       if(autocvar_sv_teamnagger && !(autocvar_bot_vs_human && (c3==-1 && c4==-1)) && !g_ca && !g_cts && !g_race) // teamnagger is currently bad for ca, race & cts
                send_CSQC_teamnagger();
 
        CheatInitClient();
@@ -1417,7 +1390,7 @@ void player_powerups (void)
        // add a way to see what the items were BEFORE all of these checks for the mutator hook
        olditems = self.items;
 
-       if((self.items & IT_USING_JETPACK) && !self.deadflag)
+       if((self.items & IT_USING_JETPACK) && !self.deadflag && !gameover)
                self.modelflags |= MF_ROCKET;
        else
                self.modelflags &= ~MF_ROCKET;
@@ -1577,44 +1550,51 @@ float CalcRotRegen(float current, float regenstable, float regenfactor, float re
 
 void player_regen (void)
 {
-       float minh, mina, minf, maxh, maxa, maxf, limith, limita, limitf, max_mod, regen_mod, rot_mod, limit_mod;
-       maxh = autocvar_g_balance_health_rotstable;
-       maxa = autocvar_g_balance_armor_rotstable;
-       maxf = autocvar_g_balance_fuel_rotstable;
-       minh = autocvar_g_balance_health_regenstable;
-       mina = autocvar_g_balance_armor_regenstable;
-       minf = autocvar_g_balance_fuel_regenstable;
-       limith = autocvar_g_balance_health_limit;
-       limita = autocvar_g_balance_armor_limit;
-       limitf = autocvar_g_balance_fuel_limit;
-
+       float max_mod, regen_mod, rot_mod, limit_mod;
        max_mod = regen_mod = rot_mod = limit_mod = 1;
+       regen_mod_max = max_mod;
+       regen_mod_regen = regen_mod;
+       regen_mod_rot = rot_mod;
+       regen_mod_limit = limit_mod;
+       if(!MUTATOR_CALLHOOK(PlayerRegen))
+       {
+               float minh, mina, maxh, maxa, limith, limita;
+               maxh = autocvar_g_balance_health_rotstable;
+               maxa = autocvar_g_balance_armor_rotstable;
+               minh = autocvar_g_balance_health_regenstable;
+               mina = autocvar_g_balance_armor_regenstable;
+               limith = autocvar_g_balance_health_limit;
+               limita = autocvar_g_balance_armor_limit;
+               
+               max_mod = regen_mod_max;
+               regen_mod = regen_mod_regen;
+               rot_mod = regen_mod_rot;
+               limit_mod = regen_mod_limit;
+
+               maxh = maxh * max_mod;
+               minh = minh * max_mod;
+               limith = limith * limit_mod;
+               limita = limita * limit_mod;
 
-       maxh = maxh * max_mod;
-       //maxa = maxa * max_mod;
-       //maxf = maxf * max_mod;
-       minh = minh * max_mod;
-       //mina = mina * max_mod;
-       //minf = minf * max_mod;
-       limith = limith * limit_mod;
-       limita = limita * limit_mod;
-       //limitf = limitf * limit_mod;
-
-       if(g_ca)
-               rot_mod = 0;
-
-       if (!g_minstagib && !g_ca && (!g_lms || autocvar_g_lms_regenerate))
-       {
                self.armorvalue = CalcRotRegen(self.armorvalue, mina, autocvar_g_balance_armor_regen, autocvar_g_balance_armor_regenlinear, regen_mod * frametime * (time > self.pauseregen_finished), maxa, autocvar_g_balance_armor_rot, autocvar_g_balance_armor_rotlinear, rot_mod * frametime * (time > self.pauserotarmor_finished), limita);
                self.health = CalcRotRegen(self.health, minh, autocvar_g_balance_health_regen, autocvar_g_balance_health_regenlinear, regen_mod * frametime * (time > self.pauseregen_finished), maxh, autocvar_g_balance_health_rot, autocvar_g_balance_health_rotlinear, rot_mod * frametime * (time > self.pauserothealth_finished), limith);
-
-               // if player rotted to death...  die!
-               if(self.health < 1)
-                       self.event_damage(self, self, 1, DEATH_ROT, self.origin, '0 0 0');
        }
 
+       // if player rotted to death...  die!
+       // check this outside above checks, as player may still be able to rot to death
+       if(self.health < 1)
+               self.event_damage(self, self, 1, DEATH_ROT, self.origin, '0 0 0');
+
        if (!(self.items & IT_UNLIMITED_WEAPON_AMMO))
-               self.ammo_fuel = CalcRotRegen(self.ammo_fuel, minf, autocvar_g_balance_fuel_regen, autocvar_g_balance_fuel_regenlinear, regen_mod * frametime * (time > self.pauseregen_finished) * ((self.items & IT_FUEL_REGEN) != 0), maxf, autocvar_g_balance_fuel_rot, autocvar_g_balance_fuel_rotlinear, rot_mod * frametime * (time > self.pauserotfuel_finished), limitf);
+       {
+               float minf, maxf, limitf;
+
+               maxf = autocvar_g_balance_fuel_rotstable;
+               minf = autocvar_g_balance_fuel_regenstable;
+               limitf = autocvar_g_balance_fuel_limit;
+
+               self.ammo_fuel = CalcRotRegen(self.ammo_fuel, minf, autocvar_g_balance_fuel_regen, autocvar_g_balance_fuel_regenlinear, frametime * (time > self.pauseregen_finished) * ((self.items & IT_FUEL_REGEN) != 0), maxf, autocvar_g_balance_fuel_rot, autocvar_g_balance_fuel_rotlinear, frametime * (time > self.pauserotfuel_finished), limitf);
+       }
 }
 
 float zoomstate_set;
@@ -2419,6 +2399,9 @@ void PlayerPreThink (void)
                // secret status
                secrets_setstatus();
 
+               // monsters status
+               monsters_setstatus();
+
                self.dmg_team = max(0, self.dmg_team - autocvar_g_teamdamage_resetspeed * frametime);
 
                //self.angles_y=self.v_angle_y + 90;   // temp
@@ -2446,8 +2429,6 @@ void PlayerPreThink (void)
        if(self.spectatee_status != oldspectatee_status)
        {
                ClientData_Touch(self);
-               if(g_race || g_cts)
-                       race_InitSpectator();
        }
 
        if(self.teamkill_soundtime)
@@ -2606,22 +2587,5 @@ void PlayerPostThink (void)
 
        playerdemo_write();
 
-       if((g_cts || g_race) && self.cvar_cl_allow_uidtracking == 1 && self.cvar_cl_allow_uid2name == 1)
-       {
-               if (!self.stored_netname)
-                       self.stored_netname = strzone(uid2name(self.crypto_idfp));
-               if(self.stored_netname != self.netname)
-               {
-                       db_put(ServerProgsDB, strcat("/uid2name/", self.crypto_idfp), self.netname);
-                       strunzone(self.stored_netname);
-                       self.stored_netname = strzone(self.netname);
-               }
-       }
-
-       /*
-       if(g_race)
-               dprint(sprintf("%f %.6f\n", time, race_GetFractionalLapCount(self)));
-       */
-
        CSQCMODEL_AUTOUPDATE();
 }
index a4376bd418a101096d5fdf7d2e68c76070796578..c9896bc74591a8b3263c7e4884cca106c6ca3a49 100644 (file)
@@ -46,8 +46,9 @@ void ImpulseCommands (void)
                return;
        self.impulse = 0;
 
-       // forbid impulses when not in round time
+       // allow only weapon change impulses when not in round time
        if(round_handler_IsActive() && !round_handler_IsRoundStarted())
+       if(imp == 17 || (imp >= 20 && imp < 200) || imp > 253)
                return;
 
        if (timeout_status == TIMEOUT_ACTIVE) //don't allow any impulses while the game is paused
@@ -55,8 +56,8 @@ void ImpulseCommands (void)
 
     if(self.vehicle)
         if(self.vehicle.deadflag == DEAD_NO)
-            if(self.vehicle.vehicles_impusle)
-                if(self.vehicle.vehicles_impusle(imp))
+            if(self.vehicle.vehicles_impulse)
+                if(self.vehicle.vehicles_impulse(imp))
                     return;
 
        if(CheatImpulse(imp))
index edad6d63f845881338547c06bc59d2a4285a0ce7..50518040b7ce07649d804af7504f15b1a2c87787 100644 (file)
@@ -19,15 +19,19 @@ When you press the jump key
 */
 void PlayerJump (void)
 {
+       if(self.player_blocked)
+               return; // no jumping while blocked
+
        float doublejump = FALSE;
+       float mjumpheight = autocvar_sv_jumpvelocity;
 
        player_multijump = doublejump;
+       player_jumpheight = mjumpheight;
        if(MUTATOR_CALLHOOK(PlayerJump))
                return;
 
        doublejump = player_multijump;
-
-       float mjumpheight;
+       mjumpheight = player_jumpheight;
 
        if (autocvar_sv_doublejump)
        {
@@ -44,7 +48,6 @@ void PlayerJump (void)
                }
        }
 
-       mjumpheight = autocvar_sv_jumpvelocity;
        if (self.waterlevel >= WATERLEVEL_SWIMMING)
        {
                self.velocity_z = self.stat_sv_maxspeed * 0.7;
@@ -636,9 +639,7 @@ void SV_PlayerPhysics()
 
        maxspd_mod = 1;
        if(self.ballcarried)
-               if(g_nexball)
-                       maxspd_mod *= autocvar_g_nexball_basketball_carrier_highspeed;
-               else if(g_keepaway)
+               if(g_keepaway)
                        maxspd_mod *= autocvar_g_keepaway_ballcarrier_highspeed;
 
        maxspd_mod *= autocvar_g_movement_highspeed;
@@ -785,6 +786,12 @@ void SV_PlayerPhysics()
        if(time < self.ladder_time)
                self.disableclientprediction = 1;
 
+       if(time < self.spider_slowness)
+       {
+               self.stat_sv_maxspeed *= 0.5; // half speed while slow from spider
+               self.stat_sv_airspeedlimit_nonqw *= 0.5;
+       }
+
        MUTATOR_CALLHOOK(PlayerPhysics);
 
        if(self.player_blocked)
@@ -1243,22 +1250,22 @@ void SV_PlayerPhysics()
                }
        }
 
-       if((g_cts || g_race) && !IS_OBSERVER(self)) {
-               if(vlen(self.velocity - self.velocity_z * '0 0 1') > speedaward_speed) {
+       if((g_cts || g_race) && !IS_OBSERVER(self))
+       {
+               if(vlen(self.velocity - self.velocity_z * '0 0 1') > speedaward_speed)
+               {
                        speedaward_speed = vlen(self.velocity - self.velocity_z * '0 0 1');
                        speedaward_holder = self.netname;
                        speedaward_uid = self.crypto_idfp;
                        speedaward_lastupdate = time;
                }
-               if(speedaward_speed > speedaward_lastsent && time - speedaward_lastupdate > 1) {
-                       string rr;
-                       if(g_cts)
-                               rr = CTS_RECORD;
-                       else
-                               rr = RACE_RECORD;
+               if(speedaward_speed > speedaward_lastsent && time - speedaward_lastupdate > 1)
+               {
+                       string rr = (g_cts) ? CTS_RECORD : RACE_RECORD;
                        race_send_speedaward(MSG_ALL);
                        speedaward_lastsent = speedaward_speed;
-                       if (speedaward_speed > speedaward_alltimebest && speedaward_uid != "") {
+                       if (speedaward_speed > speedaward_alltimebest && speedaward_uid != "")
+                       {
                                speedaward_alltimebest = speedaward_speed;
                                speedaward_alltimebest_holder = speedaward_holder;
                                speedaward_alltimebest_uid = speedaward_uid;
index 0229d3ed5734a9aebe9f77021c79e4d249d939bb..3a687eca81ca5aa9f358f7816df5d3b75e37b2d2 100644 (file)
@@ -322,11 +322,107 @@ void PlayerCorpseDamage (entity inflictor, entity attacker, float damage, float
        }
 }
 
+// g_<gametype>_str:
+// If 0, default is used.
+// If <0, 0 is used.
+// Otherwise, g_str (default value) is used.
+// For consistency, negative values there are mapped to zero too.
+#define GAMETYPE_DEFAULTED_SETTING(str) \
+       ((gametype_setting_tmp = cvar(strcat("g_", GetGametype(), "_" #str))), \
+        (gametype_setting_tmp < 0) ? 0 : \
+        (gametype_setting_tmp == 0) ? max(0, autocvar_g_##str) : \
+        gametype_setting_tmp)
+
+
+void calculate_player_respawn_time()
+{
+       float gametype_setting_tmp;
+       float sdelay_max = GAMETYPE_DEFAULTED_SETTING(respawn_delay_max);
+       float sdelay_small = GAMETYPE_DEFAULTED_SETTING(respawn_delay_small);
+       float sdelay_large = GAMETYPE_DEFAULTED_SETTING(respawn_delay_large);
+       float sdelay_small_count = GAMETYPE_DEFAULTED_SETTING(respawn_delay_small_count);
+       float sdelay_large_count = GAMETYPE_DEFAULTED_SETTING(respawn_delay_large_count);
+       float waves = GAMETYPE_DEFAULTED_SETTING(respawn_waves);
+
+       float pcount = 1;  // Include myself whether or not team is already set right and I'm a "player".
+       entity pl;
+       if (teamplay)
+       {
+               FOR_EACH_PLAYER(pl)
+                       if (pl != self)
+                               if (pl.team == self.team)
+                                       ++pcount;
+               if (sdelay_small_count == 0)
+                       sdelay_small_count = 1;
+               if (sdelay_large_count == 0)
+                       sdelay_large_count = 1;
+       }
+       else
+       {
+               FOR_EACH_PLAYER(pl)
+                       if (pl != self)
+                               ++pcount;
+               if (sdelay_small_count == 0)
+               {
+                       if (g_cts)
+                       {
+                               // Players play independently. No point in requiring enemies.
+                               sdelay_small_count = 1;
+                       }
+                       else
+                       {
+                               // Players play AGAINST each other. Enemies required.
+                               sdelay_small_count = 2;
+                       }
+               }
+               if (sdelay_large_count == 0)
+               {
+                       if (g_cts)
+                       {
+                               // Players play independently. No point in requiring enemies.
+                               sdelay_large_count = 1;
+                       }
+                       else
+                       {
+                               // Players play AGAINST each other. Enemies required.
+                               sdelay_large_count = 2;
+                       }
+               }
+       }
+
+       float sdelay;
+
+       if (pcount <= sdelay_small_count)
+               sdelay = sdelay_small;
+       else if (pcount >= sdelay_large_count)
+               sdelay = sdelay_large;
+       else  // NOTE: this case implies sdelay_large_count > sdelay_small_count.
+               sdelay = sdelay_small + (sdelay_large - sdelay_small) * (pcount - sdelay_small_count) / (sdelay_large_count - sdelay_small_count);
+
+       if(waves)
+               self.respawn_time = ceil((time + sdelay) / waves) * waves;
+       else
+               self.respawn_time = time + sdelay;
+
+       if(sdelay < sdelay_max)
+               self.respawn_time_max = time + sdelay_max;
+       else
+               self.respawn_time_max = self.respawn_time;
+
+       if((sdelay + waves >= 5.0) && (self.respawn_time - time > 1.75))
+               self.respawn_countdown = 10; // first number to count down from is 10
+       else
+               self.respawn_countdown = -1; // do not count down
+
+       if(autocvar_g_forced_respawn)
+               self.respawn_flags = self.respawn_flags | RESPAWN_FORCE;
+}
+
 void ClientKill_Now_TeamChange();
 
 void PlayerDamage (entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
 {
-       float take, save, waves, sdelay, dh, da, j;
+       float take, save, dh, da, j;
        vector v;
        float valid_damage_for_weaponstats;
        float excess;
@@ -556,7 +652,6 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht
 
                // print an obituary message
                Obituary (attacker, inflictor, self, deathtype);
-               race_PreDie();
 
         // increment frag counter for used weapon type
         float w;
@@ -577,15 +672,7 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht
 
                Portal_ClearAllLater(self);
 
-               if(IS_REAL_CLIENT(self))
-               {
-                       self.fixangle = TRUE;
-                       //msg_entity = self;
-                       //WriteByte (MSG_ONE, SVC_SETANGLE);
-                       //WriteAngle (MSG_ONE, self.v_angle_x);
-                       //WriteAngle (MSG_ONE, self.v_angle_y);
-                       //WriteAngle (MSG_ONE, 80);
-               }
+               self.fixangle = TRUE;
 
                if(defer_ClientKill_Now_TeamChange)
                        ClientKill_Now_TeamChange(); // can turn player into spectator
@@ -621,34 +708,7 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht
                // dying animation
                self.deadflag = DEAD_DYING;
                // when to allow respawn
-               sdelay = 0;
-               waves = 0;
-               sdelay = cvar(strcat("g_", GetGametype(), "_respawn_delay"));
-               if(!sdelay)
-               {
-                       if(g_cts)
-                               sdelay = 0; // no respawn delay in CTS
-                       else
-                               sdelay = autocvar_g_respawn_delay;
-               }
-               waves = cvar(strcat("g_", GetGametype(), "_respawn_waves"));
-               if(!waves)
-                       waves = autocvar_g_respawn_waves;
-               if(waves)
-                       self.respawn_time = ceil((time + sdelay) / waves) * waves;
-               else
-                       self.respawn_time = time + sdelay;
-               if(autocvar_g_respawn_delay_max > sdelay)
-                       self.respawn_time_max = time + autocvar_g_respawn_delay_max;
-               else
-                       self.respawn_time_max = self.respawn_time;
-               if((sdelay + waves >= 5.0) && (self.respawn_time - time > 1.75))
-                       self.respawn_countdown = 10; // first number to count down from is 10
-               else
-                       self.respawn_countdown = -1; // do not count down
-
-               if(g_cts || autocvar_g_forced_respawn)
-                       self.respawn_flags = self.respawn_flags | RESPAWN_FORCE;
+               calculate_player_respawn_time();
 
                self.death_time = time;
                if (random() < 0.5)
@@ -689,7 +749,7 @@ float Say(entity source, float teamsay, entity privatesay, string msgin, float f
 //   0 = reject
 //  -1 = fake accept
 {
-       string msgstr, colorstr, cmsgstr, namestr, fullmsgstr, sourcemsgstr, fullcmsgstr, sourcecmsgstr;
+       string msgstr, colorstr, cmsgstr, namestr, fullmsgstr, sourcemsgstr, fullcmsgstr, sourcecmsgstr, colorprefix;
        float flood;
        var .float flood_field;
        entity head;
@@ -734,14 +794,19 @@ float Say(entity source, float teamsay, entity privatesay, string msgin, float f
        else
                namestr = source.netname;
 
+       if(strdecolorize(namestr) == namestr)
+               colorprefix = "^3";
+       else
+               colorprefix = "^7";
+
        if(msgin != "")
        {
                if(privatesay)
                {
-                       msgstr = strcat("\{1}\{13}* ^3", namestr, "^3 tells you: ^7");
+                       msgstr = strcat("\{1}\{13}* ", colorprefix, namestr, "^3 tells you: ^7");
                        privatemsgprefixlen = strlen(msgstr);
                        msgstr = strcat(msgstr, msgin);
-                       cmsgstr = strcat(colorstr, "^3", namestr, "^3 tells you:\n^7", msgin);
+                       cmsgstr = strcat(colorstr, colorprefix, namestr, "^3 tells you:\n^7", msgin);
                        if(autocvar_g_chat_teamcolors)
                                privatemsgprefix = strcat("\{1}\{13}* ^3You tell ", playername(privatesay), ": ^7");
                        else
@@ -749,12 +814,12 @@ float Say(entity source, float teamsay, entity privatesay, string msgin, float f
                }
                else if(teamsay)
                {
-                       msgstr = strcat("\{1}\{13}", colorstr, "(^3", namestr, colorstr, ") ^7", msgin);
-                       cmsgstr = strcat(colorstr, "(^3", namestr, colorstr, ")\n^7", msgin);
+                       msgstr = strcat("\{1}\{13}", colorstr, "(", colorprefix, namestr, colorstr, ") ^7", msgin);
+                       cmsgstr = strcat(colorstr, "(", colorprefix, namestr, colorstr, ")\n^7", msgin);
                }
                else
                {
-                       msgstr = strcat("\{1}", namestr, "^7: ", msgin);
+                       msgstr = strcat("\{1}", colorprefix, namestr, "^7: ", msgin);
                        cmsgstr = "";
                }
                msgstr = strcat(strreplace("\n", " ", msgstr), "\n"); // newlines only are good for centerprint
index 88397a88021feff495ada18a2d140c0412849c6e..1c05aca7858a64d141621a6b2c36e96e3b1eb7b7 100644 (file)
@@ -301,8 +301,6 @@ float W_IsWeaponThrowable(float w)
                return 0;
        if (g_weaponarena)
                return 0;
-       if (g_cts)
-               return 0;
        if (g_nexball && w == WEP_GRENADE_LAUNCHER)
                return 0;
     if(w == 0)
@@ -421,7 +419,7 @@ void W_WeaponFrame()
                        // VorteX: add player model weapon select frame here
                        // setcustomframe(PlayerWeaponRaise);
                        weapon_thinkf(WFRAME_IDLE, cvar(sprintf("g_balance_%s_switchdelay_raise", newwep.netname)), w_ready);
-                       //print(sprintf("W_WeaponFrame(): cvar: %s, value: %f\n", sprintf("g_balance_%s_switchdelay_raise", newwep.netname), cvar(sprintf("g_balance_%s_switchdelay_raise", newwep.netname))));
+                       //printf("W_WeaponFrame(): cvar: %s, value: %f\n", sprintf("g_balance_%s_switchdelay_raise", newwep.netname), cvar(sprintf("g_balance_%s_switchdelay_raise", newwep.netname)));
                        weapon_boblayer1(PLAYER_WEAPONSELECTION_SPEED, '0 0 0');
                }
                else if (self.weaponentity.state == WS_DROP)
@@ -444,7 +442,7 @@ void W_WeaponFrame()
                        self.weaponentity.state = WS_DROP;
                        // set up weapon switch think in the future, and start drop anim
                        weapon_thinkf(WFRAME_DONTCHANGE, cvar(sprintf("g_balance_%s_switchdelay_drop", oldwep.netname)), w_clear);
-                       //print(sprintf("W_WeaponFrame(): cvar: %s, value: %f\n", sprintf("g_balance_%s_switchdelay_drop", oldwep.netname), cvar(sprintf("g_balance_%s_switchdelay_drop", oldwep.netname))));
+                       //printf("W_WeaponFrame(): cvar: %s, value: %f\n", sprintf("g_balance_%s_switchdelay_drop", oldwep.netname), cvar(sprintf("g_balance_%s_switchdelay_drop", oldwep.netname)));
                        weapon_boblayer1(PLAYER_WEAPONSELECTION_SPEED, PLAYER_WEAPONSELECTION_RANGE);
 #ifndef INDEPENDENT_ATTACK_FINISHED
                        }
index 8d72a798bab35d21c183711337a95095bcced570..dac383633c105f98e3cb9d74ae843c51e072f309 100644 (file)
@@ -14,6 +14,10 @@ float W_WeaponRateFactor()
        float t;
        t = 1.0 / g_weaponratefactor;
 
+       weapon_rate = t;
+       MUTATOR_CALLHOOK(WeaponRateFactor);
+       t = weapon_rate;
+
        return t;
 }
 
@@ -98,7 +102,7 @@ void W_HitPlotAnalysis(entity player, vector screenforward, vector screenright,
 
                org = player.origin + player.view_ofs;
                traceline_antilag_force(player, org, org + screenforward * MAX_SHOT_DISTANCE, MOVE_NORMAL, player, lag);
-               if(IS_CLIENT(trace_ent))
+               if(IS_CLIENT(trace_ent) || (trace_ent.flags & FL_MONSTER))
                {
                        antilag_takeback(trace_ent, time - lag);
                        hitplot = W_HitPlotNormalizedUntransform(org, trace_ent, screenforward, screenright, screenup, trace_endpos);
@@ -547,14 +551,14 @@ void CL_Weaponentity_Think()
        {
                entity newwep = get_weaponinfo(self.owner.switchweapon);
                f = f * g_weaponratefactor / max(f, cvar(sprintf("g_balance_%s_switchdelay_raise", newwep.netname)));
-               //print(sprintf("CL_Weaponentity_Think(): cvar: %s, value: %f, nextthink: %f\n", sprintf("g_balance_%s_switchdelay_raise", newwep.netname), cvar(sprintf("g_balance_%s_switchdelay_raise", newwep.netname)), (self.owner.weapon_nextthink - time)));
+               //printf("CL_Weaponentity_Think(): cvar: %s, value: %f, nextthink: %f\n", sprintf("g_balance_%s_switchdelay_raise", newwep.netname), cvar(sprintf("g_balance_%s_switchdelay_raise", newwep.netname)), (self.owner.weapon_nextthink - time));
                self.angles_x = -90 * f * f;
        }
        else if (self.state == WS_DROP && !intermission_running)
        {
                entity oldwep = get_weaponinfo(self.owner.weapon);
                f = 1 - f * g_weaponratefactor / max(f, cvar(sprintf("g_balance_%s_switchdelay_drop", oldwep.netname)));
-               //print(sprintf("CL_Weaponentity_Think(): cvar: %s, value: %f, nextthink: %f\n", sprintf("g_balance_%s_switchdelay_drop", oldwep.netname), cvar(sprintf("g_balance_%s_switchdelay_drop", oldwep.netname)), (self.owner.weapon_nextthink - time)));
+               //printf("CL_Weaponentity_Think(): cvar: %s, value: %f, nextthink: %f\n", sprintf("g_balance_%s_switchdelay_drop", oldwep.netname), cvar(sprintf("g_balance_%s_switchdelay_drop", oldwep.netname)), (self.owner.weapon_nextthink - time));
                self.angles_x = -90 * f * f;
        }
        else if (self.state == WS_CLEAR)
index 363bb7c4c33bad339e121ae9e8be4456f5b546c8..78424484aa34f4ff826c794a5c893383414c600f 100644 (file)
@@ -57,7 +57,7 @@ void ClientCommand_checkfail(float request, string command) // internal command,
        {
                case CMD_REQUEST_COMMAND:
                {
-                       print(sprintf("CHECKFAIL: %s (%s) epically failed check %s\n", self.netname, self.netaddress, substring(command, argv_start_index(1), argv_end_index(-1) - argv_start_index(1))));
+                       printf("CHECKFAIL: %s (%s) epically failed check %s\n", self.netname, self.netaddress, substring(command, argv_start_index(1), argv_end_index(-1) - argv_start_index(1)));
                        self.checkfail = 1;
                        return; // never fall through to usage
                }
@@ -182,6 +182,163 @@ void ClientCommand_join(float request)
        }
 }
 
+void ClientCommand_mobedit(float request, float argc)
+{
+       switch(request)
+       {
+               case CMD_REQUEST_COMMAND:
+               {
+                       if(argv(1) && argv(2))
+                       {
+                               makevectors(self.v_angle);
+                               WarpZone_TraceLine(self.origin + self.view_ofs, self.origin + self.view_ofs + v_forward * 100, MOVE_NORMAL, self);
+                               
+                               if(!autocvar_g_monsters_edit) { sprint(self, "Monster property editing is not enabled.\n"); return; }
+                               if(trace_ent.flags & FL_MONSTER)
+                               {
+                                       if(trace_ent.realowner != self) { sprint(self, "That monster does not belong to you.\n"); return; }
+                                       switch(argv(1))
+                                       {
+                                               case "skin":
+                                               {
+                                                       if(trace_ent.monsterid != MON_MAGE)
+                                                               trace_ent.skin = stof(argv(2));
+                                                       return;
+                                               }
+                                               case "movetarget":
+                                               {
+                                                       trace_ent.monster_moveflags = stof(argv(2));
+                                                       return;
+                                               }
+                                       }
+                               }
+                       }
+               }
+               default:
+                       sprint(self, "Incorrect parameters for ^2mobedit^7\n");
+               case CMD_REQUEST_USAGE:
+               {
+                       sprint(self, "\nUsage:^3 cmd mobedit [argument]\n");
+                       sprint(self, "  Where 'argument' can be skin or movetarget.\n");
+                       sprint(self, "  Aim at your monster to edit its properties.\n");
+                       return;
+               }
+       }
+}
+
+void ClientCommand_mobkill(float request)
+{
+       switch(request)
+       {
+               case CMD_REQUEST_COMMAND:
+               {
+                       makevectors(self.v_angle);
+                       WarpZone_TraceLine(self.origin + self.view_ofs, self.origin + self.view_ofs + v_forward * 100, MOVE_NORMAL, self);
+                       
+                       if(trace_ent.flags & FL_MONSTER)
+                       {
+                               if(trace_ent.realowner != self)
+                               {
+                                       sprint(self, "That monster does not belong to you.\n");
+                                       return;
+                               }
+                               sprint(self, strcat("Your pet '", trace_ent.monster_name, "' has been brutally mutilated.\n"));
+                               Damage (trace_ent, world, world, trace_ent.health + trace_ent.max_health + 200, DEATH_KILL, trace_ent.origin, '0 0 0');
+                               return;
+                       }
+               }
+       
+               default:
+                       sprint(self, "Incorrect parameters for ^2mobkill^7\n");
+               case CMD_REQUEST_USAGE:
+               {
+                       sprint(self, "\nUsage:^3 cmd mobkill\n");
+                       sprint(self, "  Aim at your monster to kill it.\n");
+                       return;
+               }
+       }
+}
+
+void ClientCommand_mobspawn(float request, float argc)
+{
+       switch(request)
+       {
+               case CMD_REQUEST_COMMAND:
+               {
+                       entity e;
+                       string tospawn;
+                       float moveflag, monstercount = 0;
+                       
+                       moveflag = (argv(2) ? stof(argv(2)) : 1); // follow owner if not defined
+                       tospawn = strtolower(argv(1));
+                       
+                       if(tospawn == "list")
+                       {
+                               sprint(self, monsterlist_reply);
+                               return;
+                       }
+                       
+                       FOR_EACH_MONSTER(e)
+                       {
+                               if(e.realowner == self)
+                                       ++monstercount;
+                       }
+                       
+                       if(autocvar_g_monsters_max <= 0 || autocvar_g_monsters_max_perplayer <= 0) { sprint(self, "Monster spawning is disabled.\n"); return; }
+                       else if(!IS_PLAYER(self)) { sprint(self, "You can't spawn monsters while spectating.\n"); return; }
+                       else if(MUTATOR_CALLHOOK(AllowMobSpawning)) { sprint(self, "Monster spawning is currently disabled by a mutator.\n"); return; }
+                       else if(!autocvar_g_monsters) { Send_Notification(NOTIF_ONE, self, MSG_INFO, INFO_MONSTERS_DISABLED); return; }
+                       else if(self.vehicle) { sprint(self, "You can't spawn monsters while driving a vehicle.\n"); return; }
+                       else if(self.freezetag_frozen) { sprint(self, "You can't spawn monsters while frozen.\n"); return; }
+                       else if(autocvar_g_campaign) { sprint(self, "You can't spawn monsters in campaign mode.\n"); return; }
+                       else if(self.deadflag != DEAD_NO) { sprint(self, "You can't spawn monsters while dead.\n"); return; }
+                       else if(monstercount >= autocvar_g_monsters_max_perplayer) { sprint(self, "You have spawned too many monsters, kill some before trying to spawn any more.\n"); return; }
+                       else if(totalspawned >= autocvar_g_monsters_max) { sprint(self, "The global maximum monster count has been reached, kill some before trying to spawn any more.\n"); return; }
+                       else if(tospawn != "")
+                       {
+                               float found = 0, i;
+                               entity mon;
+                               
+                               for(i = MON_FIRST; i <= MON_LAST; ++i)
+                               {
+                                       mon = get_monsterinfo(i);
+                                       if(mon.netname == tospawn)
+                                       {
+                                               found = TRUE;
+                                               break;
+                                       }
+                               }
+
+                               if(found || tospawn == "random")
+                               {
+                                       totalspawned += 1;
+                               
+                                       makevectors(self.v_angle);
+                                       WarpZone_TraceBox (CENTER_OR_VIEWOFS(self), PL_MIN, PL_MAX, CENTER_OR_VIEWOFS(self) + v_forward * 150, TRUE, self);
+                                       //WarpZone_TraceLine(self.origin + self.view_ofs, self.origin + self.view_ofs + v_forward * 150, MOVE_NORMAL, self);
+                               
+                                       e = spawnmonster(tospawn, 0, self, self, trace_endpos, FALSE, FALSE, moveflag);
+                                       
+                                       sprint(self, strcat("Spawned ", e.monster_name, "\n"));
+                                       
+                                       return;
+                               }
+                       }
+               }
+       
+               default:
+                       sprint(self, "Incorrect parameters for ^2mobspawn^7\n");
+               case CMD_REQUEST_USAGE:
+               {
+                       sprint(self, "\nUsage:^3 cmd mobspawn <random> <monster> [movetype]\n");
+                       sprint(self, "  See 'cmd mobspawn list' for available monsters.\n");
+                       sprint(self, "  Argument 'random' spawns a random monster.\n");
+                       sprint(self, "  Monster will follow the owner if second argument is not defined.\n");
+                       return;
+               }
+       }
+}
+
 void ClientCommand_ready(float request) // todo: anti-spam for toggling readyness
 {
        switch(request)
@@ -302,7 +459,19 @@ void ClientCommand_selectteam(float request, float argc)
                                                                        else if(self.wasplayer && autocvar_g_changeteam_banned)
                                                                                sprint(self, "^1You cannot change team, forbidden by the server.\n");
                                                                        else
+                                                                       {
+                                                                               if(autocvar_g_balance_teams && autocvar_g_balance_teams_prevent_imbalance)
+                                                                               {
+                                                                                       CheckAllowedTeams(self);
+                                                                                       GetTeamCounts(self);
+                                                                                       if(!TeamSmallerEqThanTeam(Team_TeamToNumber(selection), Team_TeamToNumber(self.team), self))
+                                                                                       {
+                                                                                               sprint(self, "Cannot change to a larger/better/shinier team\n");
+                                                                                               return;
+                                                                                       }
+                                                                               }
                                                                                ClientKill_TeamChange(selection);
+                                                                       }
                                                                }
                                                        }
                                                        else
@@ -563,6 +732,9 @@ void ClientCommand_(float request)
        CLIENT_COMMAND("clientversion", ClientCommand_clientversion(request, arguments), "Release version of the game") \
        CLIENT_COMMAND("mv_getpicture", ClientCommand_mv_getpicture(request, arguments), "Retrieve mapshot picture from the server") \
        CLIENT_COMMAND("join", ClientCommand_join(request), "Become a player in the game") \
+       CLIENT_COMMAND("mobedit", ClientCommand_mobedit(request, arguments), "Edit your monster's properties") \
+       CLIENT_COMMAND("mobkill", ClientCommand_mobkill(request), "Kills your monster") \
+       CLIENT_COMMAND("mobspawn", ClientCommand_mobspawn(request, arguments), "Spawn monsters infront of yourself") \
        CLIENT_COMMAND("ready", ClientCommand_ready(request), "Qualify as ready to end warmup stage (or restart server if allowed)") \
        CLIENT_COMMAND("say", ClientCommand_say(request, arguments, command), "Print a message to chat to all players") \
        CLIENT_COMMAND("say_team", ClientCommand_say_team(request, arguments, command), "Print a message to chat to all team mates") \
index e64cbc267ac505e61d579318cd644a2e7b2d4595..120bf3e02ebfd3a4ab0154490d5d2114d8b60ae4 100644 (file)
@@ -8,7 +8,10 @@
 .float lms_spectate_warning;
 .float checkfail;
 
+// number of monsters spawned with mobspawn command
+float totalspawned;
+
 string MapVote_Suggest(string m);
 
 // used by common/command/generic.qc:GenericCommand_dumpcommands to list all commands into a .txt file
-void ClientCommand_macro_write_aliases(float fh);
\ No newline at end of file
+void ClientCommand_macro_write_aliases(float fh);
index a55e0e0cd28706f7199c06db12aae058a02c1dbc..aadc629587da0d2cda4e821b9dfae011570cfeab 100644 (file)
@@ -113,10 +113,7 @@ string getladder()
        float i, j, k, uidcnt = 0, thiscnt;
        string s, temp_s, rr, myuid, thisuid;
 
-       if(g_cts)
-               rr = CTS_RECORD;
-       else
-               rr = RACE_RECORD;
+       rr = (g_cts) ? CTS_RECORD : RACE_RECORD;
 
        for(k = 0; k < MapInfo_count; ++k)
        {
@@ -338,5 +335,20 @@ string getlsmaps()
        }
 
        MapInfo_ClearTemps();
-       return sprintf("^7Maps available%s: %s\n", (newmaps ? " (New maps have asterisks marked in blue)" : ""), lsmaps);
+       return sprintf("^7Maps available (%d)%s: %s\n", tokenize_console(lsmaps), (newmaps ? " (New maps have asterisks marked in blue)" : ""), lsmaps);
+}
+
+string getmonsterlist()
+{
+       string monsterlist = "", col;
+       float i;
+
+       for(i = MON_FIRST; i <= MON_LAST; ++i)
+       {
+               if(mod(i, 2)) { col = "^2"; }
+               else { col = "^3"; }
+               monsterlist = sprintf("%s%s%s ", monsterlist, col, (get_monsterinfo(i)).netname);
+       }
+
+       return sprintf("^7Monsters available: %s\n", monsterlist);
 }
index 77da27219241db4d587b9304d9fc605aece1ca8e..583961d2246db10ce3907b411672100a92589b93 100644 (file)
@@ -17,3 +17,4 @@ string getrankings(void);
 string getladder(void);
 string getmaplist(void);
 string getlsmaps(void);
+string getmonsterlist(void);
index 331f5f95f404484f5a79bffc624e4b8fbb434444..f2205b68d5a5a8c8b26706c94364df72de9233b8 100644 (file)
@@ -28,7 +28,7 @@ float FullTraceFraction(vector a, vector mi, vector ma, vector b)
                        c = trace_endpos;
                }
 
-               n += tracebox_inverted(c, mi, ma, b, MOVE_WORLDONLY, world, FALSE);
+               n += tracebox_inverted(c, mi, ma, b, MOVE_WORLDONLY, world, FALSE, world);
 
                white += vlen(trace_endpos - c);
                c = trace_endpos;
index ff07f2458a0608ed5f7f3696f129531da76d9f8d..c0da029c51248b0fbafb4eaee9053a4f898acfde 100644 (file)
@@ -139,6 +139,47 @@ void GameCommand_adminmsg(float request, float argc)
        }
 }
 
+void GameCommand_mobbutcher(float request)
+{
+       switch(request)
+       {
+               case CMD_REQUEST_COMMAND:
+               {
+                       if(autocvar_g_campaign) { print("This command doesn't work in campaign mode.\n"); return; }
+                       if(g_invasion) { print("This command doesn't work during an invasion.\n"); return; }
+
+                       float removed_count = 0;
+                       entity head;
+
+                       FOR_EACH_MONSTER(head)
+                       {
+                               monster_remove(head);
+                               ++removed_count;
+                       }
+
+                       monsters_total = 0; // reset stats?
+                       monsters_killed = 0;
+
+                       totalspawned = 0;
+
+                       if(removed_count <= 0)
+                               print("No monsters to kill\n");
+                       else
+                               printf("Killed %d monster%s\n", removed_count, ((removed_count == 1) ? "" : "s"));
+
+                       return; // never fall through to usage
+               }
+
+               default:
+               case CMD_REQUEST_USAGE:
+               {
+                       print("\nUsage:^3 sv_cmd mobbutcher\n");
+                       print("  No arguments required.\n");
+                       return;
+               }
+       }
+}
+
 void GameCommand_allready(float request)
 {
        switch(request)
@@ -1035,6 +1076,7 @@ void GameCommand_moveplayer(float request, float argc)
                                                                }
                                                                else if(team_id == 0)  // auto team
                                                                {
+                                                                       CheckAllowedTeams(client);
                                                                        team_id = Team_NumberToTeam(FindSmallestTeam(client, FALSE));
                                                                }
                                                                else
@@ -1471,7 +1513,9 @@ void GameCommand_trace(float request, float argc)
                        {
                                case "debug":
                                {
+                                       float hitcount = 0;
                                        print("TEST CASE. If this returns the runaway loop counter error, possibly everything is oaky.\n");
+                                       float worst_endpos_bug = 0;
                                        for(;;)
                                        {
                                                org = world.mins;
@@ -1489,49 +1533,49 @@ void GameCommand_trace(float request, float argc)
                                                end = stov(vtos(end));
 
                                                tracebox(start, PL_MIN, PL_MAX, end, MOVE_NOMONSTERS, world);
-                                               if(!trace_startsolid)
+                                               if(!trace_startsolid && trace_fraction < 1)
                                                {
                                                        p = trace_endpos;
                                                        tracebox(p, PL_MIN, PL_MAX, p, MOVE_NOMONSTERS, world);
-                                                       if(trace_startsolid || trace_fraction == 1)
+                                                       if(trace_startsolid)
                                                        {
                                                                rint(42); // do an engine breakpoint on VM_rint so you can get the trace that errnoeously returns startsolid
                                                                tracebox(start, PL_MIN, PL_MAX, end, MOVE_NOMONSTERS, world);
 
-                                                               if(trace_startsolid)
+                                                               // how much do we need to back off?
+                                                               safe = 1;
+                                                               unsafe = 0;
+                                                               for(;;)
                                                                {
-                                                                       // how much do we need to back off?
-                                                                       safe = 1;
-                                                                       unsafe = 0;
-                                                                       for(;;)
+                                                                       pos = p * (1 - (safe + unsafe) * 0.5) + start * ((safe + unsafe) * 0.5);
+                                                                       tracebox(pos, PL_MIN, PL_MAX, pos, MOVE_NOMONSTERS, world);
+                                                                       if(trace_startsolid)
                                                                        {
-                                                                               pos = p * (1 - (safe + unsafe) * 0.5) + start * ((safe + unsafe) * 0.5);
-                                                                               tracebox(pos, PL_MIN, PL_MAX, pos, MOVE_NOMONSTERS, world);
-                                                                               if(trace_startsolid)
-                                                                               {
-                                                                                       if((safe + unsafe) * 0.5 == unsafe)
-                                                                                               break;
-                                                                                       unsafe = (safe + unsafe) * 0.5;
-                                                                               }
-                                                                               else
-                                                                               {
-                                                                                       if((safe + unsafe) * 0.5 == safe)
-                                                                                               break;
-                                                                                       safe = (safe + unsafe) * 0.5;
-                                                                               }
+                                                                               if((safe + unsafe) * 0.5 == unsafe)
+                                                                                       break;
+                                                                               unsafe = (safe + unsafe) * 0.5;
                                                                        }
-
-                                                                       print("safe distance to back off: ", ftos(safe * vlen(p - start)), "qu\n");
-                                                                       print("unsafe distance to back off: ", ftos(unsafe * vlen(p - start)), "qu\n");
-
-                                                                       tracebox(p, PL_MIN + '0.1 0.1 0.1', PL_MAX - '0.1 0.1 0.1', p, MOVE_NOMONSTERS, world);
-                                                                       if(trace_startsolid)
-                                                                               print("trace_endpos much in solid when tracing from ", vtos(start), " to ", vtos(end), " endpos ", vtos(p), "\n");
                                                                        else
-                                                                               print("trace_endpos just in solid when tracing from ", vtos(start), " to ", vtos(end), " endpos ", vtos(p), "\n");
-                                                                       break;
+                                                                       {
+                                                                               if((safe + unsafe) * 0.5 == safe)
+                                                                                       break;
+                                                                               safe = (safe + unsafe) * 0.5;
+                                                                       }
                                                                }
 
+                                                               print("safe distance to back off: ", ftos(safe * vlen(p - start)), "qu\n");
+                                                               print("unsafe distance to back off: ", ftos(unsafe * vlen(p - start)), "qu\n");
+
+                                                               tracebox(p, PL_MIN + '0.1 0.1 0.1', PL_MAX - '0.1 0.1 0.1', p, MOVE_NOMONSTERS, world);
+                                                               if(trace_startsolid)
+                                                                       print("trace_endpos much in solid when tracing from ", vtos(start), " to ", vtos(end), " endpos ", vtos(p), "\n");
+                                                               else
+                                                                       print("trace_endpos just in solid when tracing from ", vtos(start), " to ", vtos(end), " endpos ", vtos(p), "\n");
+                                                               if (++hitcount >= 10)
+                                                                       break;
+                                                       }
+                                                       else
+                                                       {
                                                                q0 = p;
                                                                dq = 0;
                                                                dqf = 1;
@@ -1548,11 +1592,13 @@ void GameCommand_trace(float request, float argc)
                                                                        dqf *= 0.5;
                                                                        q0 = q;
                                                                }
-                                                               if(dq > 0)
+                                                               if(dq > worst_endpos_bug)
                                                                {
+                                                                       worst_endpos_bug = dq;
                                                                        print("trace_endpos still before solid when tracing from ", vtos(start), " to ", vtos(end), " endpos ", vtos(p), "\n");
                                                                        print("could go ", ftos(dq), " units further to ", vtos(q), "\n");
-                                                                       break;
+                                                                       if (++hitcount >= 10)
+                                                                               break;
                                                                }
                                                        }
                                                }
@@ -1728,6 +1774,7 @@ void GameCommand_(float request)
 // Do not hard code aliases for these, instead create them in commands.cfg... also: keep in alphabetical order, please ;)
 #define SERVER_COMMANDS(request,arguments,command) \
        SERVER_COMMAND("adminmsg", GameCommand_adminmsg(request, arguments), "Send an admin message to a client directly") \
+       SERVER_COMMAND("mobbutcher", GameCommand_mobbutcher(request), "Instantly removes all monsters on the map") \
        SERVER_COMMAND("allready", GameCommand_allready(request), "Restart the server and reset the players") \
        SERVER_COMMAND("allspec", GameCommand_allspec(request, arguments), "Force all players to spectate") \
        SERVER_COMMAND("anticheat", GameCommand_anticheat(request, arguments), "Create an anticheat report for a client") \
index c3e8ca9fb3bdaf9457ab2a797118055d2147d178..fdb53ace94e1f5b3b11d5aaeb0c621ab03ae776d 100644 (file)
@@ -326,9 +326,7 @@ void reset_map(float dorespawn)
        if(time <= game_starttime && round_handler_IsActive())
                round_handler_Reset(game_starttime);
 
-       if(g_race || g_cts)
-               race_ReadyRestart();
-       else MUTATOR_CALLHOOK(reset_map_global);
+       MUTATOR_CALLHOOK(reset_map_global);
 
        for(self = world; (self = nextent(self)); )
        if(IS_NOT_A_CLIENT(self))
@@ -668,10 +666,10 @@ float VoteCommand_parse(entity caller, string vote_command, string vote_list, fl
 
        first_command = argv(startpos);
 
-       /*dprint(sprintf("VoteCommand_parse(): Command: '%s', Length: %f.\n",
+       /*printf("VoteCommand_parse(): Command: '%s', Length: %f.\n",
                substring(vote_command, argv_start_index(startpos), strlen(vote_command) - argv_start_index(startpos)),
                strlen(substring(vote_command, argv_start_index(startpos), strlen(vote_command) - argv_start_index(startpos)))
-       ));*/
+       );*/
 
        if(
                (autocvar_sv_vote_limit > 0)
@@ -1013,7 +1011,7 @@ void VoteCommand_yes(float request, entity caller) // CLIENT ONLY
                case CMD_REQUEST_COMMAND:
                {
                        if (!vote_called) { print_to(caller, "^1No vote called."); }
-                       else if(caller.vote_selection != VOTE_SELECT_NULL && autocvar_sv_vote_change) { print_to(caller, "^1You have already voted."); }
+                       else if(caller.vote_selection != VOTE_SELECT_NULL && !autocvar_sv_vote_change) { print_to(caller, "^1You have already voted."); }
 
                        else // everything went okay, continue changing vote
                        {
index 72f4457d61d9fe99dff84bc1c2e728b2dcacab62..a972bbeacd9532aeab3bdb2d927a193f92f42589 100644 (file)
@@ -20,7 +20,6 @@ float g_cloaked, g_footsteps, g_grappling_hook, g_minstagib;
 float g_warmup_limit;
 float g_warmup_allguns;
 float g_warmup_allow_timeout;
-float g_race_qualifying;
 float warmup_stage;
 float g_pickup_respawntime_weapon;
 float g_pickup_respawntime_superweapon;
@@ -244,6 +243,7 @@ float game_completion_ratio; // 0 at start, 1 near end
 float nJoinAllowed(entity ignore);
 
 .float spawnshieldtime;
+.float item_spawnshieldtime;
 
 .entity flagcarried;
 
@@ -459,7 +459,6 @@ void W_Porto_Remove (entity p);
 
 .string message2;
 
-vector railgun_start, railgun_end; // filled by FireRailgunBullet, used by damage code for head shot
 .float stat_allow_oldnexbeam;
 
 // reset to 0 on weapon switch
index 195829b40d00c701f9e95d494b19178caeb1a815..7cc48be005590a39402254691d529d4b53b22a39 100644 (file)
@@ -311,11 +311,11 @@ float Obituary_WeaponDeath(
                }
                else
                {
-                       dprint(sprintf(
+                       dprintf(
                                "Obituary_WeaponDeath(): ^1Deathtype ^7(%d)^1 has no notification for weapon %d!\n",
                                deathtype,
                                death_weapon
-                       ));
+                       );
                }
 
                return TRUE;
@@ -683,7 +683,7 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, float
                frag_target = targ;
                frag_damage = damage;
                frag_force = force;
-        frag_deathtype = deathtype;
+               frag_deathtype = deathtype;
                frag_mirrordamage = mirrordamage;
                MUTATOR_CALLHOOK(PlayerDamage_Calculate);
                damage = frag_damage;
@@ -713,12 +713,7 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, float
                }
 
                if (targ == attacker)
-               {
-                       if(g_cts && !autocvar_g_cts_selfdamage)
-                               damage = 0;
-                       else
-                               damage = damage * autocvar_g_balance_selfdamagepercent; // Partial damage if the attacker hits himself
-               }
+                       damage = damage * autocvar_g_balance_selfdamagepercent; // Partial damage if the attacker hits himself
 
                // count the damage
                if(attacker)
@@ -732,7 +727,7 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, float
                        else
                                victim = targ;
 
-                       if(IS_PLAYER(victim) || victim.turrcaps_flags & TFL_TURRCAPS_ISTURRET)
+                       if(IS_PLAYER(victim) || victim.turrcaps_flags & TFL_TURRCAPS_ISTURRET || victim.flags & FL_MONSTER)
                        {
                                if(DIFF_TEAM(victim, attacker))
                                {
@@ -924,12 +919,12 @@ float RadiusDamage (entity inflictor, entity attacker, float coredamage, float e
                                                        mininv_f = (vlen(force) * (1-tfloorforce)) / autocvar_g_throughfloor_force_max_stddev;
 
                                                        if(autocvar_g_throughfloor_debug)
-                                                               print(sprintf("THROUGHFLOOR: D=%f F=%f max(dD)=1/%f max(dF)=1/%f", finaldmg, vlen(force), mininv_d, mininv_f));
+                                                               printf("THROUGHFLOOR: D=%f F=%f max(dD)=1/%f max(dF)=1/%f", finaldmg, vlen(force), mininv_d, mininv_f);
 
                                                        total = 0.25 * pow(max(mininv_f, mininv_d), 2);
 
                                                        if(autocvar_g_throughfloor_debug)
-                                                               print(sprintf(" steps=%f", total));
+                                                               printf(" steps=%f", total);
 
                                                        if (IS_PLAYER(targ))
                                                                total = ceil(bound(autocvar_g_throughfloor_min_steps_player, total, autocvar_g_throughfloor_max_steps_player));
@@ -937,7 +932,7 @@ float RadiusDamage (entity inflictor, entity attacker, float coredamage, float e
                                                                total = ceil(bound(autocvar_g_throughfloor_min_steps_other, total, autocvar_g_throughfloor_max_steps_other));
 
                                                        if(autocvar_g_throughfloor_debug)
-                                                               print(sprintf(" steps=%f dD=%f dF=%f", total, finaldmg * (1-tfloordmg) / (2 * sqrt(total)), vlen(force) * (1-tfloorforce) / (2 * sqrt(total))));
+                                                               printf(" steps=%f dD=%f dF=%f", total, finaldmg * (1-tfloordmg) / (2 * sqrt(total)), vlen(force) * (1-tfloorforce) / (2 * sqrt(total)));
 
                                                        for(c = 0; c < total; ++c)
                                                        {
@@ -964,7 +959,7 @@ float RadiusDamage (entity inflictor, entity attacker, float coredamage, float e
                                                        force = force * a;
 
                                                        if(autocvar_g_throughfloor_debug)
-                                                               print(sprintf(" D=%f F=%f\n", finaldmg, vlen(force)));
+                                                               printf(" D=%f F=%f\n", finaldmg, vlen(force));
                                                }
 
                                                // laser force adjustments :P
@@ -1217,6 +1212,7 @@ void Fire_ApplyDamage(entity e)
        e.fire_hitsound = TRUE;
 
        if (!IS_INDEPENDENT_PLAYER(e))
+       if(!e.freezetag_frozen)
        FOR_EACH_PLAYER(other) if(e != other)
        {
                if(IS_PLAYER(other))
index 0df6ba0aee59c4cc5a070ce9f20bdc6da263d50c..4e1b634008fb6d063f760a4f2f747af352363bcd 100644 (file)
@@ -383,7 +383,7 @@ void GrapplingHookFrame()
                // offhand hook controls
                if(self.BUTTON_HOOK)
                {
-                       if (!(self.hook || (self.hook_state & HOOK_WAITING_FOR_RELEASE)))
+                       if (!(self.hook || (self.hook_state & HOOK_WAITING_FOR_RELEASE)) && (time > self.hook_refire))
                        {
                                self.hook_state |= HOOK_FIRING;
                                self.hook_state |= HOOK_WAITING_FOR_RELEASE;
@@ -426,6 +426,7 @@ void GrapplingHookFrame()
                        RemoveGrapplingHook(self);
                FireGrapplingHook();
                self.hook_state &= ~HOOK_FIRING;
+               self.hook_refire = max(self.hook_refire, time + autocvar_g_balance_grapplehook_refire * W_WeaponRateFactor());
        }
        else if(self.hook_state & HOOK_REMOVING)
        {
index 834bb47116551b4a4e013d58189c78a37dc32838..3d6d2cfc218171ce5092947762fce13e69f488c2 100644 (file)
@@ -534,7 +534,7 @@ void WarpZone_tracebox_antilag (entity source, vector v1, vector mi, vector ma,
        tracebox_antilag_force_wz(source, v1, mi, ma, v2, nomonst, forent, lag, TRUE);
 }
 
-float tracebox_inverted (vector v1, vector mi, vector ma, vector v2, float nomonsters, entity forent, float stopatentity) // returns the number of traces done, for benchmarking
+float tracebox_inverted (vector v1, vector mi, vector ma, vector v2, float nomonsters, entity forent, float stopatentity, entity ignorestopatentity) // returns the number of traces done, for benchmarking
 {
        vector pos, dir, t;
        float nudge;
@@ -552,7 +552,7 @@ float tracebox_inverted (vector v1, vector mi, vector ma, vector v2, float nomon
 
        for(;;)
        {
-               if((pos - v1) * dir >= (v2 - v1) * dir)
+               if(pos * dir >= v2 * dir)
                {
                        // went too far
                        trace_fraction = 1;
@@ -587,7 +587,7 @@ float tracebox_inverted (vector v1, vector mi, vector ma, vector v2, float nomon
                                pos = t + dir * nudge;
 
                                // but if we hit an entity, stop RIGHT before it
-                               if(stopatentity && stopentity)
+                               if(stopatentity && stopentity && stopentity != ignorestopatentity)
                                {
                                        trace_ent = stopentity;
                                        trace_endpos = t;
@@ -612,9 +612,9 @@ float tracebox_inverted (vector v1, vector mi, vector ma, vector v2, float nomon
        }
 }
 
-void traceline_inverted (vector v1, vector v2, float nomonsters, entity forent, float stopatentity)
+void traceline_inverted (vector v1, vector v2, float nomonsters, entity forent, float stopatentity, entity ignorestopatentity)
 {
-       tracebox_inverted(v1, '0 0 0', '0 0 0', v2, nomonsters, forent, stopatentity);
+       tracebox_inverted(v1, '0 0 0', '0 0 0', v2, nomonsters, forent, stopatentity, ignorestopatentity);
 }
 
 /*
index 90ef516d5f3ed32f2a805b1c20f6c133895d646c..f0ea33b61ee5bcad2117cd34089b7f9cfe85f35d 100644 (file)
@@ -262,7 +262,7 @@ void PieceMinsMaxs(float rot, float pc)
                tet_piecemins_y = 1;
                tet_piecemaxs_y = sz_y;
        }
-       //print(sprintf("ce%v sz%v mi%v ma%v\n", ce, sz, tet_piecemins, tet_piecemaxs));
+       //printf("ce%v sz%v mi%v ma%v\n", ce, sz, tet_piecemins, tet_piecemaxs);
        if (rot == 1) // 90 degrees
        {
                t = tet_piecemins_y;
@@ -653,7 +653,7 @@ float BastetSearch(float buf, float pc, float x, float y, float rot, float move_
                s = BastetSearch(buf, pc, x, y+1, rot, move_bias + 2); if(s > sm) sm = s;
                if(s < 0)
                {
-                       //print(sprintf("MAY CEMENT AT: %d %d %d\n", x, y, rot));
+                       //printf("MAY CEMENT AT: %d %d %d\n", x, y, rot);
                        // moving down did not work - that means we can fixate the block here
                        t1 = gettime(GETTIME_HIRES);
 
@@ -699,7 +699,7 @@ float BastetPiece()
        b = buf_create(); bastet_piece[6] = 7; bastet_score[6] = BastetSearch(b, 7, TET_START_PIECE_POS_x, 1+TET_START_PIECE_POS_y, TET_START_PIECE_POS_y, TET_WIDTH) + 100 * random() + bastet_piecetime[6]; buf_del(b);
 
        var float t2 = gettime(GETTIME_HIRES);
-       dprint(sprintf("Time taken: %.6f seconds (of this, ev = %.2f%%, cm = %.2f%%)\n", t2 - t1, 100 * bastet_profile_evaluate_time / (t2 - t1), 100 * bastet_profile_checkmetrics_time / (t2 - t1)));
+       dprintf("Time taken: %.6f seconds (of this, ev = %.2f%%, cm = %.2f%%)\n", t2 - t1, 100 * bastet_profile_evaluate_time / (t2 - t1), 100 * bastet_profile_checkmetrics_time / (t2 - t1));
 
        // sort
        float i, j, k, p, s;
@@ -707,7 +707,7 @@ float BastetPiece()
 /*
        for(i = 0; i < 7; ++i)
        {
-               print(sprintf("piece %s value = %d\n", substring("OJLIZST", bastet_piece[i]-1, 1), bastet_score[i]));
+               printf("piece %s value = %d\n", substring("OJLIZST", bastet_piece[i]-1, 1), bastet_score[i]);
        }
 */
 
index 42c2d7a8e4e74cad37e0a1cacc88f0b74361fd6e..324d332887c07161aa39a16449240432dcfb77d9 100644 (file)
@@ -55,7 +55,6 @@ const float SPAWNFLAG_NO_WAYPOINTS_FOR_ITEMS = 1;
 string redirection_target;
 float world_initialized;
 
-string GetMapname();
 string GetGametype();
 void GotoNextMap(float reinit);
 void ShuffleMaplist();
@@ -216,7 +215,6 @@ void cvar_changes_init()
                // private
                BADCVAR("developer");
                BADCVAR("log_dest_udp");
-               BADCVAR("log_file");
                BADCVAR("net_address");
                BADCVAR("net_address_ipv6");
                BADCVAR("port");
@@ -237,6 +235,7 @@ void cvar_changes_init()
                BADPREFIX("g_playerstats_");
                BADPREFIX("g_respawn_ghosts");
                BADPREFIX("g_voice_flood_");
+               BADPREFIX("log_file");
                BADPREFIX("rcon_");
                BADPREFIX("sv_allowdownloads");
                BADPREFIX("sv_autodemo");
@@ -542,9 +541,11 @@ void spawnfunc___init_dedicated_server(void)
 
        // needs to be done so early because of the constants they create
        CALL_ACCUMULATED_FUNCTION(RegisterWeapons);
+       CALL_ACCUMULATED_FUNCTION(RegisterMonsters);
        CALL_ACCUMULATED_FUNCTION(RegisterGametypes);
        CALL_ACCUMULATED_FUNCTION(RegisterNotifications);
        CALL_ACCUMULATED_FUNCTION(RegisterDeathtypes);
+       CALL_ACCUMULATED_FUNCTION(RegisterBuffs);
 
        MapInfo_Enumerate();
        MapInfo_FilterGametype(MapInfo_CurrentGametype(), MapInfo_CurrentFeatures(), MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags(), 0);
@@ -590,9 +591,11 @@ void spawnfunc_worldspawn (void)
 
        // needs to be done so early because of the constants they create
        CALL_ACCUMULATED_FUNCTION(RegisterWeapons);
+       CALL_ACCUMULATED_FUNCTION(RegisterMonsters);
        CALL_ACCUMULATED_FUNCTION(RegisterGametypes);
        CALL_ACCUMULATED_FUNCTION(RegisterNotifications);
        CALL_ACCUMULATED_FUNCTION(RegisterDeathtypes);
+       CALL_ACCUMULATED_FUNCTION(RegisterBuffs);
 
        ServerProgsDB = db_load(strcat("server.db", autocvar_sessionid));
 
@@ -802,6 +805,10 @@ void spawnfunc_worldspawn (void)
        addstat(STAT_SECRETS_TOTAL, AS_FLOAT, stat_secrets_total);
        addstat(STAT_SECRETS_FOUND, AS_FLOAT, stat_secrets_found);
 
+       // monsters
+       addstat(STAT_MONSTERS_TOTAL, AS_FLOAT, stat_monsters_total);
+       addstat(STAT_MONSTERS_KILLED, AS_FLOAT, stat_monsters_killed);
+
        // misc
        addstat(STAT_RESPAWN_TIME, AS_FLOAT, stat_respawn_time);
 
@@ -812,6 +819,7 @@ void spawnfunc_worldspawn (void)
        // set up information replies for clients and server to use
        maplist_reply = strzone(getmaplist());
        lsmaps_reply = strzone(getlsmaps());
+       monsterlist_reply = strzone(getmonsterlist());
        for(i = 0; i < 10; ++i)
        {
                s = getrecords(i);
@@ -889,7 +897,6 @@ string GetGametype()
        return MapInfo_Type_ToString(MapInfo_LoadedGametype);
 }
 
-string getmapname_stored;
 string GetMapname()
 {
        return mapname;
@@ -1214,13 +1221,27 @@ float DoNextMapOverride(float reinit)
                return TRUE;
        }
        if(autocvar_nextmap != "")
-               if(MapInfo_CheckMap(autocvar_nextmap))
+       {
+               string m;
+               m = GameTypeVote_MapInfo_FixName(autocvar_nextmap);
+               cvar_set("nextmap",m);
+       
+               if(!m || gametypevote)
+                       return FALSE;
+               if(autocvar_sv_vote_gametype)
+               {
+                       Map_Goto_SetStr(m);
+                       return FALSE;
+               }
+               
+               if(MapInfo_CheckMap(m))
                {
-                       Map_Goto_SetStr(autocvar_nextmap);
+                       Map_Goto_SetStr(m);
                        Map_Goto(reinit);
                        alreadychangedlevel = TRUE;
                        return TRUE;
                }
+       }
        if(!reinit && autocvar_lastlevel)
        {
                cvar_settemp_restore();
@@ -1257,9 +1278,6 @@ When the player presses attack or jump, change to the next level
 ============
 */
 .float autoscreenshot;
-void() MapVote_Start;
-void() MapVote_Think;
-float mapvote_initialized;
 void IntermissionThink()
 {
        FixIntermissionClient(self);
@@ -1569,7 +1587,7 @@ float InitiateSuddenDeath()
        // - for this timelimit_overtime needs to be >0 of course
        // - also check the winning condition calculated in the previous frame and only add normal overtime
        //   again, if at the point at which timelimit would be extended again, still no winner was found
-       if (!autocvar_g_campaign && (checkrules_overtimesadded >= 0) && (checkrules_overtimesadded < autocvar_timelimit_overtimes) && autocvar_timelimit_overtime && !(g_race && !g_race_qualifying))
+       if (!autocvar_g_campaign && (checkrules_overtimesadded >= 0) && (checkrules_overtimesadded < autocvar_timelimit_overtimes || autocvar_timelimit_overtimes < 0) && autocvar_timelimit_overtime && !(g_race && !g_race_qualifying))
        {
                return 1; // need to call InitiateOvertime later
        }
@@ -1853,7 +1871,7 @@ float WinningCondition_Scores(float limit, float leadlimit)
        if(WinningConditionHelper_zeroisworst)
                leadlimit = 0; // not supported in this mode
 
-       if(g_dm || g_tdm || g_ca || (g_race && !g_race_qualifying) || g_nexball)
+       if(g_dm || g_tdm || g_ca || g_freezetag || (g_race && !g_race_qualifying) || g_nexball)
        // these modes always score in increments of 1, thus this makes sense
        {
                if(leaderfrags != WinningConditionHelper_topscore)
@@ -2024,17 +2042,6 @@ void CheckRules_World()
 
        SetDefaultAlpha();
 
-       /*
-       MapVote_Think should now do that part
-       if (intermission_running)
-               if (time >= intermission_exittime + 60)
-               {
-                       if(!DoNextMapOverride())
-                               GotoNextMap();
-                       return;
-               }
-       */
-
        if (gameover)   // someone else quit the game already
        {
                if(player_count == 0) // Nobody there? Then let's go to the next map
@@ -2196,517 +2203,14 @@ void CheckRules_World()
        }
 }
 
-float mapvote_nextthink;
-float mapvote_initialized;
-float mapvote_keeptwotime;
-float mapvote_timeout;
-string mapvote_message;
-#define MAPVOTE_SCREENSHOT_DIRS_COUNT 4
-string mapvote_screenshot_dirs[MAPVOTE_SCREENSHOT_DIRS_COUNT];
-float mapvote_screenshot_dirs_count;
-
-float mapvote_count;
-float mapvote_count_real;
-string mapvote_maps[MAPVOTE_COUNT];
-float mapvote_maps_screenshot_dir[MAPVOTE_COUNT];
-string mapvote_maps_pakfile[MAPVOTE_COUNT];
-float mapvote_maps_suggested[MAPVOTE_COUNT];
-string mapvote_suggestions[MAPVOTE_COUNT];
-float mapvote_suggestion_ptr;
-float mapvote_voters;
-float mapvote_selections[MAPVOTE_COUNT];
-float mapvote_run;
-float mapvote_detail;
-float mapvote_abstain;
-.float mapvote;
-
-void MapVote_ClearAllVotes()
-{
-       FOR_EACH_CLIENT(other)
-               other.mapvote = 0;
-}
-
-string MapVote_Suggest(string m)
+string GotoMap(string m)
 {
-       float i;
-       if(m == "")
-               return "That's not how to use this command.";
-       if(!autocvar_g_maplist_votable_suggestions)
-               return "Suggestions are not accepted on this server.";
-       if(mapvote_initialized)
-               return "Can't suggest - voting is already in progress!";
-       m = MapInfo_FixName(m);
+       m = GameTypeVote_MapInfo_FixName(m);
        if (!m)
                return "The map you suggested is not available on this server.";
-       if(!autocvar_g_maplist_votable_suggestions_override_mostrecent)
-               if(Map_IsRecent(m))
-                       return "This server does not allow for recent maps to be played again. Please be patient for some rounds.";
-
+       if (!autocvar_sv_vote_gametype)
        if(!MapInfo_CheckMap(m))
                return "The map you suggested does not support the current game mode.";
-       for(i = 0; i < mapvote_suggestion_ptr; ++i)
-               if(mapvote_suggestions[i] == m)
-                       return "This map was already suggested.";
-       if(mapvote_suggestion_ptr >= MAPVOTE_COUNT)
-       {
-               i = floor(random() * mapvote_suggestion_ptr);
-       }
-       else
-       {
-               i = mapvote_suggestion_ptr;
-               mapvote_suggestion_ptr += 1;
-       }
-       if(mapvote_suggestions[i] != "")
-               strunzone(mapvote_suggestions[i]);
-       mapvote_suggestions[i] = strzone(m);
-       if(autocvar_sv_eventlog)
-               GameLogEcho(strcat(":vote:suggested:", m, ":", ftos(self.playerid)));
-       return strcat("Suggestion of ", m, " accepted.");
-}
-
-void MapVote_AddVotable(string nextMap, float isSuggestion)
-{
-       float j, i, o;
-       string pakfile, mapfile;
-
-       if(nextMap == "")
-               return;
-       for(j = 0; j < mapvote_count; ++j)
-               if(mapvote_maps[j] == nextMap)
-                       return;
-       // suggestions might be no longer valid/allowed after gametype switch!
-       if(isSuggestion)
-               if(!MapInfo_CheckMap(nextMap))
-                       return;
-       mapvote_maps[mapvote_count] = strzone(nextMap);
-       mapvote_maps_suggested[mapvote_count] = isSuggestion;
-
-       pakfile = string_null;
-       for(i = 0; i < mapvote_screenshot_dirs_count; ++i)
-       {
-               mapfile = strcat(mapvote_screenshot_dirs[i], "/", mapvote_maps[i]);
-               pakfile = whichpack(strcat(mapfile, ".tga"));
-               if(pakfile == "")
-                       pakfile = whichpack(strcat(mapfile, ".jpg"));
-               if(pakfile == "")
-                       pakfile = whichpack(strcat(mapfile, ".png"));
-               if(pakfile != "")
-                       break;
-       }
-       if(i >= mapvote_screenshot_dirs_count)
-               i = 0; // FIXME maybe network this error case, as that means there is no mapshot on the server?
-       for(o = strstr(pakfile, "/", 0)+1; o > 0; o = strstr(pakfile, "/", 0)+1)
-               pakfile = substring(pakfile, o, -1);
-
-       mapvote_maps_screenshot_dir[mapvote_count] = i;
-       mapvote_maps_pakfile[mapvote_count] = strzone(pakfile);
-
-       mapvote_count += 1;
-}
-
-void MapVote_Spawn();
-void MapVote_Init()
-{
-       float i;
-       float nmax, smax;
-
-       MapVote_ClearAllVotes();
-
-       mapvote_count = 0;
-       mapvote_detail = !autocvar_g_maplist_votable_nodetail;
-       mapvote_abstain = autocvar_g_maplist_votable_abstain;
-
-       if(mapvote_abstain)
-               nmax = min(MAPVOTE_COUNT - 1, autocvar_g_maplist_votable);
-       else
-               nmax = min(MAPVOTE_COUNT, autocvar_g_maplist_votable);
-       smax = min3(nmax, autocvar_g_maplist_votable_suggestions, mapvote_suggestion_ptr);
-
-       // we need this for AddVotable, as that cycles through the screenshot dirs
-       mapvote_screenshot_dirs_count = tokenize_console(autocvar_g_maplist_votable_screenshot_dir);
-       if(mapvote_screenshot_dirs_count == 0)
-               mapvote_screenshot_dirs_count = tokenize_console("maps levelshots");
-       mapvote_screenshot_dirs_count = min(mapvote_screenshot_dirs_count, MAPVOTE_SCREENSHOT_DIRS_COUNT);
-       for(i = 0; i < mapvote_screenshot_dirs_count; ++i)
-               mapvote_screenshot_dirs[i] = strzone(argv(i));
-
-       if(mapvote_suggestion_ptr)
-               for(i = 0; i < 100 && mapvote_count < smax; ++i)
-                       MapVote_AddVotable(mapvote_suggestions[floor(random() * mapvote_suggestion_ptr)], TRUE);
-
-       for(i = 0; i < 100 && mapvote_count < nmax; ++i)
-               MapVote_AddVotable(GetNextMap(), FALSE);
-
-       if(mapvote_count == 0)
-       {
-               bprint( "Maplist contains no single playable map!  Resetting it to default map list.\n" );
-               cvar_set("g_maplist", MapInfo_ListAllAllowedMaps(MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags()));
-               if(autocvar_g_maplist_shuffle)
-                       ShuffleMaplist();
-               localcmd("\nmenu_cmd sync\n");
-               for(i = 0; i < 100 && mapvote_count < nmax; ++i)
-                       MapVote_AddVotable(GetNextMap(), FALSE);
-       }
-
-       mapvote_count_real = mapvote_count;
-       if(mapvote_abstain)
-               MapVote_AddVotable("don't care", 0);
-
-       //dprint("mapvote count is ", ftos(mapvote_count), "\n");
-
-       mapvote_keeptwotime = time + autocvar_g_maplist_votable_keeptwotime;
-       mapvote_timeout = time + autocvar_g_maplist_votable_timeout;
-       if(mapvote_count_real < 3 || mapvote_keeptwotime <= time)
-               mapvote_keeptwotime = 0;
-       mapvote_message = "Choose a map and press its key!";
-
-       MapVote_Spawn();
-}
-
-void MapVote_SendPicture(float id)
-{
-       msg_entity = self;
-       WriteByte(MSG_ONE, SVC_TEMPENTITY);
-       WriteByte(MSG_ONE, TE_CSQC_PICTURE);
-       WriteByte(MSG_ONE, id);
-       WritePicture(MSG_ONE, strcat(mapvote_screenshot_dirs[mapvote_maps_screenshot_dir[id]], "/", mapvote_maps[id]), 3072);
-}
-
-float MapVote_GetMapMask()
-{
-       float mask, i, power;
-       mask = 0;
-       for(i = 0, power = 1; i < mapvote_count; ++i, power *= 2)
-               if(mapvote_maps[i] != "")
-                       mask |= power;
-       return mask;
-}
-
-entity mapvote_ent;
-float MapVote_SendEntity(entity to, float sf)
-{
-       float i;
-
-       if(sf & 1)
-               sf &= ~2; // if we send 1, we don't need to also send 2
-
-       WriteByte(MSG_ENTITY, ENT_CLIENT_MAPVOTE);
-       WriteByte(MSG_ENTITY, sf);
-
-       if(sf & 1)
-       {
-               // flag 1 == initialization
-               for(i = 0; i < mapvote_screenshot_dirs_count; ++i)
-                       WriteString(MSG_ENTITY, mapvote_screenshot_dirs[i]);
-               WriteString(MSG_ENTITY, "");
-               WriteByte(MSG_ENTITY, mapvote_count);
-               WriteByte(MSG_ENTITY, mapvote_abstain);
-               WriteByte(MSG_ENTITY, mapvote_detail);
-               WriteCoord(MSG_ENTITY, mapvote_timeout);
-               if(mapvote_count <= 8)
-                       WriteByte(MSG_ENTITY, MapVote_GetMapMask());
-               else
-                       WriteShort(MSG_ENTITY, MapVote_GetMapMask());
-               for(i = 0; i < mapvote_count; ++i)
-                       if(mapvote_maps[i] != "")
-                       {
-                               if(mapvote_abstain && i == mapvote_count - 1)
-                               {
-                                       WriteString(MSG_ENTITY, ""); // abstain needs no text
-                                       WriteString(MSG_ENTITY, ""); // abstain needs no pack
-                                       WriteByte(MSG_ENTITY, 0); // abstain needs no screenshot dir
-                               }
-                               else
-                               {
-                                       WriteString(MSG_ENTITY, mapvote_maps[i]);
-                                       WriteString(MSG_ENTITY, mapvote_maps_pakfile[i]);
-                                       WriteByte(MSG_ENTITY, mapvote_maps_screenshot_dir[i]);
-                               }
-                       }
-       }
-
-       if(sf & 2)
-       {
-               // flag 2 == update of mask
-               if(mapvote_count <= 8)
-                       WriteByte(MSG_ENTITY, MapVote_GetMapMask());
-               else
-                       WriteShort(MSG_ENTITY, MapVote_GetMapMask());
-       }
-
-       if(sf & 4)
-       {
-               if(mapvote_detail)
-                       for(i = 0; i < mapvote_count; ++i)
-                               if(mapvote_maps[i] != "")
-                                       WriteByte(MSG_ENTITY, mapvote_selections[i]);
-
-               WriteByte(MSG_ENTITY, to.mapvote);
-       }
-
-       return TRUE;
-}
-
-void MapVote_Spawn()
-{
-       Net_LinkEntity(mapvote_ent = spawn(), FALSE, 0, MapVote_SendEntity);
-}
-
-void MapVote_TouchMask()
-{
-       mapvote_ent.SendFlags |= 2;
-}
-
-void MapVote_TouchVotes(entity voter)
-{
-       mapvote_ent.SendFlags |= 4;
-}
-
-float MapVote_Finished(float mappos)
-{
-       string result;
-       float i;
-       float didntvote;
-
-       if(autocvar_sv_eventlog)
-       {
-               result = strcat(":vote:finished:", mapvote_maps[mappos]);
-               result = strcat(result, ":", ftos(mapvote_selections[mappos]), "::");
-               didntvote = mapvote_voters;
-               for(i = 0; i < mapvote_count; ++i)
-                       if(mapvote_maps[i] != "")
-                       {
-                               didntvote -= mapvote_selections[i];
-                               if(i != mappos)
-                               {
-                                       result = strcat(result, ":", mapvote_maps[i]);
-                                       result = strcat(result, ":", ftos(mapvote_selections[i]));
-                               }
-                       }
-               result = strcat(result, ":didn't vote:", ftos(didntvote));
-
-               GameLogEcho(result);
-               if(mapvote_maps_suggested[mappos])
-                       GameLogEcho(strcat(":vote:suggestion_accepted:", mapvote_maps[mappos]));
-       }
-
-       FOR_EACH_REALCLIENT(other)
-               FixClientCvars(other);
-
-       Map_Goto_SetStr(mapvote_maps[mappos]);
-       Map_Goto(0);
-       alreadychangedlevel = TRUE;
-       return TRUE;
-}
-void MapVote_CheckRules_1()
-{
-       float i;
-
-       for(i = 0; i < mapvote_count; ++i) if(mapvote_maps[i] != "")
-       {
-               //dprint("Map ", ftos(i), ": "); dprint(mapvote_maps[i], "\n");
-               mapvote_selections[i] = 0;
-       }
-
-       mapvote_voters = 0;
-       FOR_EACH_REALCLIENT(other)
-       {
-               ++mapvote_voters;
-               if(other.mapvote)
-               {
-                       i = other.mapvote - 1;
-                       //dprint("Player ", other.netname, " vote = ", ftos(other.mapvote - 1), "\n");
-                       mapvote_selections[i] = mapvote_selections[i] + 1;
-               }
-       }
-}
-
-float MapVote_CheckRules_2()
-{
-       float i;
-       float firstPlace, secondPlace;
-       float firstPlaceVotes, secondPlaceVotes;
-       float mapvote_voters_real;
-       string result;
-
-       if(mapvote_count_real == 1)
-               return MapVote_Finished(0);
-
-       mapvote_voters_real = mapvote_voters;
-       if(mapvote_abstain)
-               mapvote_voters_real -= mapvote_selections[mapvote_count - 1];
-
-       RandomSelection_Init();
-       for(i = 0; i < mapvote_count_real; ++i) if(mapvote_maps[i] != "")
-               RandomSelection_Add(world, i, string_null, 1, mapvote_selections[i]);
-       firstPlace = RandomSelection_chosen_float;
-       firstPlaceVotes = RandomSelection_best_priority;
-       //dprint("First place: ", ftos(firstPlace), "\n");
-       //dprint("First place votes: ", ftos(firstPlaceVotes), "\n");
-
-       RandomSelection_Init();
-       for(i = 0; i < mapvote_count_real; ++i) if(mapvote_maps[i] != "")
-               if(i != firstPlace)
-                       RandomSelection_Add(world, i, string_null, 1, mapvote_selections[i]);
-       secondPlace = RandomSelection_chosen_float;
-       secondPlaceVotes = RandomSelection_best_priority;
-       //dprint("Second place: ", ftos(secondPlace), "\n");
-       //dprint("Second place votes: ", ftos(secondPlaceVotes), "\n");
-
-       if(firstPlace == -1)
-               error("No first place in map vote... WTF?");
-
-       if(secondPlace == -1 || time > mapvote_timeout || (mapvote_voters_real - firstPlaceVotes) < firstPlaceVotes)
-               return MapVote_Finished(firstPlace);
-
-       if(mapvote_keeptwotime)
-               if(time > mapvote_keeptwotime || (mapvote_voters_real - firstPlaceVotes - secondPlaceVotes) < secondPlaceVotes)
-               {
-                       float didntvote;
-                       MapVote_TouchMask();
-                       mapvote_message = "Now decide between the TOP TWO!";
-                       mapvote_keeptwotime = 0;
-                       result = strcat(":vote:keeptwo:", mapvote_maps[firstPlace]);
-                       result = strcat(result, ":", ftos(firstPlaceVotes));
-                       result = strcat(result, ":", mapvote_maps[secondPlace]);
-                       result = strcat(result, ":", ftos(secondPlaceVotes), "::");
-                       didntvote = mapvote_voters;
-                       for(i = 0; i < mapvote_count; ++i)
-                               if(mapvote_maps[i] != "")
-                               {
-                                       didntvote -= mapvote_selections[i];
-                                       if(i != firstPlace)
-                                               if(i != secondPlace)
-                                               {
-                                                       result = strcat(result, ":", mapvote_maps[i]);
-                                                       result = strcat(result, ":", ftos(mapvote_selections[i]));
-                                                       if(i < mapvote_count_real)
-                                                       {
-                                                               strunzone(mapvote_maps[i]);
-                                                               mapvote_maps[i] = "";
-                                                               strunzone(mapvote_maps_pakfile[i]);
-                                                               mapvote_maps_pakfile[i] = "";
-                                                       }
-                                               }
-                               }
-                       result = strcat(result, ":didn't vote:", ftos(didntvote));
-                       if(autocvar_sv_eventlog)
-                               GameLogEcho(result);
-               }
-
-       return FALSE;
-}
-void MapVote_Tick()
-{
-       float keeptwo;
-       float totalvotes;
-
-       keeptwo = mapvote_keeptwotime;
-       MapVote_CheckRules_1(); // count
-       if(MapVote_CheckRules_2()) // decide
-               return;
-
-       totalvotes = 0;
-       FOR_EACH_REALCLIENT(other)
-       {
-               // hide scoreboard again
-               if(other.health != 2342)
-               {
-                       other.health = 2342;
-                       other.impulse = 0;
-                       if(IS_REAL_CLIENT(other))
-                       {
-                               msg_entity = other;
-                               WriteByte(MSG_ONE, SVC_FINALE);
-                               WriteString(MSG_ONE, "");
-                       }
-               }
-
-               // clear possibly invalid votes
-               if(mapvote_maps[other.mapvote - 1] == "")
-                       other.mapvote = 0;
-               // use impulses as new vote
-               if(other.impulse >= 1 && other.impulse <= mapvote_count)
-                       if(mapvote_maps[other.impulse - 1] != "")
-                       {
-                               other.mapvote = other.impulse;
-                               MapVote_TouchVotes(other);
-                       }
-               other.impulse = 0;
-
-               if(other.mapvote)
-                       ++totalvotes;
-       }
-
-       MapVote_CheckRules_1(); // just count
-}
-void MapVote_Start()
-{
-       if(mapvote_run)
-               return;
-
-       // wait for stats to be sent first
-       if(!playerstats_waitforme)
-               return;
-
-       MapInfo_Enumerate();
-       if(MapInfo_FilterGametype(MapInfo_CurrentGametype(), MapInfo_CurrentFeatures(), MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags(), 1))
-               mapvote_run = TRUE;
-}
-void MapVote_Think()
-{
-       if(!mapvote_run)
-               return;
-
-       if(alreadychangedlevel)
-               return;
-
-       if(time < mapvote_nextthink)
-               return;
-       //dprint("tick\n");
-
-       mapvote_nextthink = time + 0.5;
-
-       if(!mapvote_initialized)
-       {
-               if(autocvar_rescan_pending == 1)
-               {
-                       cvar_set("rescan_pending", "2");
-                       localcmd("fs_rescan\nrescan_pending 3\n");
-                       return;
-               }
-               else if(autocvar_rescan_pending == 2)
-               {
-                       return;
-               }
-               else if(autocvar_rescan_pending == 3)
-               {
-                       // now build missing mapinfo files
-                       if(!MapInfo_FilterGametype(MapInfo_CurrentGametype(), MapInfo_CurrentFeatures(), MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags(), 1))
-                               return;
-
-                       // we're done, start the timer
-                       cvar_set("rescan_pending", "0");
-               }
-
-               mapvote_initialized = TRUE;
-               if(DoNextMapOverride(0))
-                       return;
-               if(!autocvar_g_maplist_votable || player_count <= 0)
-               {
-                       GotoNextMap(0);
-                       return;
-               }
-               MapVote_Init();
-       }
-
-       MapVote_Tick();
-}
-
-string GotoMap(string m)
-{
-       if(!MapInfo_CheckMap(m))
-               return "The map you chose is not available on this server.";
        cvar_set("nextmap", m);
        cvar_set("timelimit", "-1");
        if(mapvote_initialized || alreadychangedlevel)
@@ -2723,6 +2227,8 @@ string GotoMap(string m)
 
 void EndFrame()
 {
+       anticheat_endframe();
+
        float altime;
        FOR_EACH_REALCLIENT(self)
        {
diff --git a/qcsrc/server/mapvoting.qc b/qcsrc/server/mapvoting.qc
new file mode 100644 (file)
index 0000000..3e1a866
--- /dev/null
@@ -0,0 +1,742 @@
+float GameTypeVote_AvailabilityStatus(string gtname) 
+{ 
+       float type = MapInfo_Type_FromString(gtname);
+       if( type == 0 )
+               return GTV_FORBIDDEN;
+       
+       if ( autocvar_nextmap != "" )
+       {
+               if ( !MapInfo_Get_ByName(autocvar_nextmap, FALSE, 0) )
+                       return GTV_FORBIDDEN;
+               if (!(MapInfo_Map_supportedGametypes & type))
+                       return GTV_FORBIDDEN;
+       }
+       
+       return GTV_AVAILABLE;
+}
+
+float GameTypeVote_GetMask()
+{
+       float n, j, gametype_mask;
+       n = tokenizebyseparator(autocvar_sv_vote_gametype_options, " ");
+       n = min(MAPVOTE_COUNT, n);
+       gametype_mask = 0;
+       for(j = 0; j < n; ++j)
+               gametype_mask |= MapInfo_Type_FromString(argv(j));
+       return gametype_mask;
+}
+
+string GameTypeVote_MapInfo_FixName(string m)
+{
+       if ( autocvar_sv_vote_gametype )
+       {
+               MapInfo_Enumerate();
+               MapInfo_FilterGametype(GameTypeVote_GetMask(), 0, MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags(), 0);
+       }
+       return MapInfo_FixName(m);
+}
+
+void MapVote_ClearAllVotes()
+{
+       FOR_EACH_CLIENT(other)
+               other.mapvote = 0;
+}
+
+void MapVote_UnzoneStrings()
+{
+       float j;
+       for(j = 0; j < mapvote_count; ++j)
+       {
+               if ( mapvote_maps[j] )
+               {
+                       strunzone(mapvote_maps[j]);
+                       mapvote_maps[j] = string_null;
+               }
+               if ( mapvote_maps_pakfile[j] )
+               {
+                       strunzone(mapvote_maps_pakfile[j]);
+                       mapvote_maps_pakfile[j] = string_null;
+               }
+       }
+}
+
+string MapVote_Suggest(string m)
+{
+       float i;
+       if(m == "")
+               return "That's not how to use this command.";
+       if(!autocvar_g_maplist_votable_suggestions)
+               return "Suggestions are not accepted on this server.";
+       if(mapvote_initialized)
+       if(!gametypevote)
+               return "Can't suggest - voting is already in progress!";
+       m = GameTypeVote_MapInfo_FixName(m);
+       if (!m)
+               return "The map you suggested is not available on this server.";
+       if(!autocvar_g_maplist_votable_suggestions_override_mostrecent)
+               if(Map_IsRecent(m))
+                       return "This server does not allow for recent maps to be played again. Please be patient for some rounds.";
+
+       if (!autocvar_sv_vote_gametype)
+       if(!MapInfo_CheckMap(m))
+               return "The map you suggested does not support the current game mode.";
+       for(i = 0; i < mapvote_suggestion_ptr; ++i)
+               if(mapvote_suggestions[i] == m)
+                       return "This map was already suggested.";
+       if(mapvote_suggestion_ptr >= MAPVOTE_COUNT)
+       {
+               i = floor(random() * mapvote_suggestion_ptr);
+       }
+       else
+       {
+               i = mapvote_suggestion_ptr;
+               mapvote_suggestion_ptr += 1;
+       }
+       if(mapvote_suggestions[i] != "")
+               strunzone(mapvote_suggestions[i]);
+       mapvote_suggestions[i] = strzone(m);
+       if(autocvar_sv_eventlog)
+               GameLogEcho(strcat(":vote:suggested:", m, ":", ftos(self.playerid)));
+       return strcat("Suggestion of ", m, " accepted.");
+}
+
+void MapVote_AddVotable(string nextMap, float isSuggestion)
+{
+       float j, i, o;
+       string pakfile, mapfile;
+
+       if(nextMap == "")
+               return;
+       for(j = 0; j < mapvote_count; ++j)
+               if(mapvote_maps[j] == nextMap)
+                       return;
+       // suggestions might be no longer valid/allowed after gametype switch!
+       if(isSuggestion)
+               if(!MapInfo_CheckMap(nextMap))
+                       return;
+       mapvote_maps[mapvote_count] = strzone(nextMap);
+       mapvote_maps_suggested[mapvote_count] = isSuggestion;
+
+       pakfile = string_null;
+       for(i = 0; i < mapvote_screenshot_dirs_count; ++i)
+       {
+               mapfile = strcat(mapvote_screenshot_dirs[i], "/", mapvote_maps[i]);
+               pakfile = whichpack(strcat(mapfile, ".tga"));
+               if(pakfile == "")
+                       pakfile = whichpack(strcat(mapfile, ".jpg"));
+               if(pakfile == "")
+                       pakfile = whichpack(strcat(mapfile, ".png"));
+               if(pakfile != "")
+                       break;
+       }
+       if(i >= mapvote_screenshot_dirs_count)
+               i = 0; // FIXME maybe network this error case, as that means there is no mapshot on the server?
+       for(o = strstr(pakfile, "/", 0)+1; o > 0; o = strstr(pakfile, "/", 0)+1)
+               pakfile = substring(pakfile, o, -1);
+
+       mapvote_maps_screenshot_dir[mapvote_count] = i;
+       mapvote_maps_pakfile[mapvote_count] = strzone(pakfile);
+       mapvote_maps_availability[mapvote_count] = GTV_AVAILABLE;
+
+       mapvote_count += 1;
+}
+
+void MapVote_Init()
+{
+       float i;
+       float nmax, smax;
+
+       MapVote_ClearAllVotes();
+       MapVote_UnzoneStrings();
+
+       mapvote_count = 0;
+       mapvote_detail = !autocvar_g_maplist_votable_nodetail;
+       mapvote_abstain = autocvar_g_maplist_votable_abstain;
+
+       if(mapvote_abstain)
+               nmax = min(MAPVOTE_COUNT - 1, autocvar_g_maplist_votable);
+       else
+               nmax = min(MAPVOTE_COUNT, autocvar_g_maplist_votable);
+       smax = min3(nmax, autocvar_g_maplist_votable_suggestions, mapvote_suggestion_ptr);
+
+       // we need this for AddVotable, as that cycles through the screenshot dirs
+       mapvote_screenshot_dirs_count = tokenize_console(autocvar_g_maplist_votable_screenshot_dir);
+       if(mapvote_screenshot_dirs_count == 0)
+               mapvote_screenshot_dirs_count = tokenize_console("maps levelshots");
+       mapvote_screenshot_dirs_count = min(mapvote_screenshot_dirs_count, MAPVOTE_SCREENSHOT_DIRS_COUNT);
+       for(i = 0; i < mapvote_screenshot_dirs_count; ++i)
+               mapvote_screenshot_dirs[i] = strzone(argv(i));
+
+       if(mapvote_suggestion_ptr)
+               for(i = 0; i < 100 && mapvote_count < smax; ++i)
+                       MapVote_AddVotable(mapvote_suggestions[floor(random() * mapvote_suggestion_ptr)], TRUE);
+
+       for(i = 0; i < 100 && mapvote_count < nmax; ++i)
+               MapVote_AddVotable(GetNextMap(), FALSE);
+
+       if(mapvote_count == 0)
+       {
+               bprint( "Maplist contains no single playable map!  Resetting it to default map list.\n" );
+               cvar_set("g_maplist", MapInfo_ListAllowedMaps(MapInfo_CurrentGametype(), MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags()));
+               if(autocvar_g_maplist_shuffle)
+                       ShuffleMaplist();
+               localcmd("\nmenu_cmd sync\n");
+               for(i = 0; i < 100 && mapvote_count < nmax; ++i)
+                       MapVote_AddVotable(GetNextMap(), FALSE);
+       }
+
+       mapvote_count_real = mapvote_count;
+       if(mapvote_abstain)
+               MapVote_AddVotable("don't care", 0);
+
+       //dprint("mapvote count is ", ftos(mapvote_count), "\n");
+
+       mapvote_keeptwotime = time + autocvar_g_maplist_votable_keeptwotime;
+       mapvote_timeout = time + autocvar_g_maplist_votable_timeout;
+       if(mapvote_count_real < 3 || mapvote_keeptwotime <= time)
+               mapvote_keeptwotime = 0;
+       mapvote_message = "Choose a map and press its key!";
+
+       MapVote_Spawn();
+}
+
+void MapVote_SendPicture(float id)
+{
+       msg_entity = self;
+       WriteByte(MSG_ONE, SVC_TEMPENTITY);
+       WriteByte(MSG_ONE, TE_CSQC_PICTURE);
+       WriteByte(MSG_ONE, id);
+       WritePicture(MSG_ONE, strcat(mapvote_screenshot_dirs[mapvote_maps_screenshot_dir[id]], "/", mapvote_maps[id]), 3072);
+}
+
+
+void MapVote_WriteMask()
+{
+       float i;
+       if ( mapvote_count < 24 )
+       {
+               float mask,power;
+               mask = 0;
+               for(i = 0, power = 1; i < mapvote_count; ++i, power *= 2)
+                       if(mapvote_maps_availability[i] == GTV_AVAILABLE )
+                               mask |= power;
+                       
+               if(mapvote_count < 8)
+                       WriteByte(MSG_ENTITY, mask);
+               else if (mapvote_count < 16)
+                       WriteShort(MSG_ENTITY,mask);
+               else
+                       WriteLong(MSG_ENTITY, mask);
+       }
+       else
+       {
+               for ( i = 0; i < mapvote_count; ++i )
+                       WriteByte(MSG_ENTITY, mapvote_maps_availability[i]);
+       }
+}
+
+float MapVote_SendEntity(entity to, float sf)
+{
+       float i;
+
+       if(sf & 1)
+               sf &= ~2; // if we send 1, we don't need to also send 2
+
+       WriteByte(MSG_ENTITY, ENT_CLIENT_MAPVOTE);
+       WriteByte(MSG_ENTITY, sf);
+
+       if(sf & 1)
+       {
+               // flag 1 == initialization
+               for(i = 0; i < mapvote_screenshot_dirs_count; ++i)
+                       WriteString(MSG_ENTITY, mapvote_screenshot_dirs[i]);
+               WriteString(MSG_ENTITY, "");
+               WriteByte(MSG_ENTITY, mapvote_count);
+               WriteByte(MSG_ENTITY, mapvote_abstain);
+               WriteByte(MSG_ENTITY, mapvote_detail);
+               WriteCoord(MSG_ENTITY, mapvote_timeout);
+               
+               if ( gametypevote )
+               {
+                       // gametype vote
+                       WriteByte(MSG_ENTITY, 1);
+                       WriteString(MSG_ENTITY, autocvar_nextmap);
+               }
+               else if ( autocvar_sv_vote_gametype )
+               {
+                        // map vote but gametype has been chosen via voting screen
+                       WriteByte(MSG_ENTITY, 2);
+                       WriteString(MSG_ENTITY, MapInfo_Type_ToText(MapInfo_CurrentGametype()));
+               }
+               else
+                       WriteByte(MSG_ENTITY, 0); // map vote
+
+               MapVote_WriteMask();
+
+               for(i = 0; i < mapvote_count; ++i)
+               {
+                       if(mapvote_abstain && i == mapvote_count - 1)
+                       {
+                               WriteString(MSG_ENTITY, ""); // abstain needs no text
+                               WriteString(MSG_ENTITY, ""); // abstain needs no pack
+                               WriteByte(MSG_ENTITY, 0); // abstain needs no screenshot dir
+                               WriteByte(MSG_ENTITY, GTV_AVAILABLE);
+                       }
+                       else
+                       {
+                               WriteString(MSG_ENTITY, mapvote_maps[i]);
+                               WriteString(MSG_ENTITY, mapvote_maps_pakfile[i]);
+                               WriteByte(MSG_ENTITY, mapvote_maps_screenshot_dir[i]);
+                               WriteByte(MSG_ENTITY, mapvote_maps_availability[i]);
+                       }
+               }
+       }
+
+       if(sf & 2)
+       {
+               // flag 2 == update of mask
+               MapVote_WriteMask();
+       }
+
+       if(sf & 4)
+       {
+               if(mapvote_detail)
+                       for(i = 0; i < mapvote_count; ++i)
+                               if ( mapvote_maps_availability[i] == GTV_AVAILABLE )
+                                       WriteByte(MSG_ENTITY, mapvote_selections[i]);
+
+               WriteByte(MSG_ENTITY, to.mapvote);
+       }
+
+       return TRUE;
+}
+
+void MapVote_Spawn()
+{
+       Net_LinkEntity(mapvote_ent = spawn(), FALSE, 0, MapVote_SendEntity);
+}
+
+void MapVote_TouchMask()
+{
+       mapvote_ent.SendFlags |= 2;
+}
+
+void MapVote_TouchVotes(entity voter)
+{
+       mapvote_ent.SendFlags |= 4;
+}
+
+float MapVote_Finished(float mappos)
+{
+       if(alreadychangedlevel)
+               return FALSE;
+
+       string result;
+       float i;
+       float didntvote;
+
+       if(autocvar_sv_eventlog)
+       {
+               result = strcat(":vote:finished:", mapvote_maps[mappos]);
+               result = strcat(result, ":", ftos(mapvote_selections[mappos]), "::");
+               didntvote = mapvote_voters;
+               for(i = 0; i < mapvote_count; ++i)
+                       if(mapvote_maps_availability[i] == GTV_AVAILABLE )
+                       {
+                               didntvote -= mapvote_selections[i];
+                               if(i != mappos)
+                               {
+                                       result = strcat(result, ":", mapvote_maps[i]);
+                                       result = strcat(result, ":", ftos(mapvote_selections[i]));
+                               }
+                       }
+               result = strcat(result, ":didn't vote:", ftos(didntvote));
+
+               GameLogEcho(result);
+               if(mapvote_maps_suggested[mappos])
+                       GameLogEcho(strcat(":vote:suggestion_accepted:", mapvote_maps[mappos]));
+       }
+
+       FOR_EACH_REALCLIENT(other)
+               FixClientCvars(other);
+
+       if(gametypevote)
+       {
+               if ( GameTypeVote_Finished(mappos) )
+               {
+                       gametypevote = FALSE;
+                       if(autocvar_nextmap != "")
+                       {
+                               Map_Goto_SetStr(autocvar_nextmap);
+                               Map_Goto(0);
+                               alreadychangedlevel = TRUE;
+                               return TRUE;
+                       }
+                       else
+                               MapVote_Init();
+               }
+               return FALSE;
+       }
+       
+       Map_Goto_SetStr(mapvote_maps[mappos]);
+       Map_Goto(0);
+       alreadychangedlevel = TRUE;
+       
+       return TRUE;
+}
+
+void MapVote_CheckRules_1()
+{
+       float i;
+
+       for(i = 0; i < mapvote_count; ++i) 
+               if( mapvote_maps_availability[i] == GTV_AVAILABLE )
+               {
+                       //dprint("Map ", ftos(i), ": "); dprint(mapvote_maps[i], "\n");
+                       mapvote_selections[i] = 0;
+               }
+
+       mapvote_voters = 0;
+       FOR_EACH_REALCLIENT(other)
+       {
+               ++mapvote_voters;
+               if(other.mapvote)
+               {
+                       i = other.mapvote - 1;
+                       //dprint("Player ", other.netname, " vote = ", ftos(other.mapvote - 1), "\n");
+                       mapvote_selections[i] = mapvote_selections[i] + 1;
+               }
+       }
+}
+
+float MapVote_CheckRules_2()
+{
+       float i;
+       float firstPlace, secondPlace, currentPlace;
+       float firstPlaceVotes, secondPlaceVotes, currentVotes;
+       float mapvote_voters_real;
+       string result;
+
+       if(mapvote_count_real == 1)
+               return MapVote_Finished(0);
+
+       mapvote_voters_real = mapvote_voters;
+       if(mapvote_abstain)
+               mapvote_voters_real -= mapvote_selections[mapvote_count - 1];
+
+       RandomSelection_Init();
+       currentPlace = 0;
+       currentVotes = -1;
+       for(i = 0; i < mapvote_count_real; ++i) 
+               if ( mapvote_maps_availability[i] == GTV_AVAILABLE )
+               {
+                       RandomSelection_Add(world, i, string_null, 1, mapvote_selections[i]);
+                       if ( gametypevote &&  mapvote_maps[i] == MapInfo_Type_ToString(MapInfo_CurrentGametype()) )
+                       {
+                               currentVotes = mapvote_selections[i];
+                               currentPlace = i;
+                       }
+               }
+       firstPlaceVotes = RandomSelection_best_priority;
+       if ( autocvar_sv_vote_gametype_default_current && currentVotes == firstPlaceVotes )
+               firstPlace = currentPlace;
+       else
+               firstPlace = RandomSelection_chosen_float;
+       
+       //dprint("First place: ", ftos(firstPlace), "\n");
+       //dprint("First place votes: ", ftos(firstPlaceVotes), "\n");
+
+       RandomSelection_Init();
+       for(i = 0; i < mapvote_count_real; ++i)
+               if(i != firstPlace)
+               if ( mapvote_maps_availability[i] == GTV_AVAILABLE )
+                       RandomSelection_Add(world, i, string_null, 1, mapvote_selections[i]);
+       secondPlace = RandomSelection_chosen_float;
+       secondPlaceVotes = RandomSelection_best_priority;
+       //dprint("Second place: ", ftos(secondPlace), "\n");
+       //dprint("Second place votes: ", ftos(secondPlaceVotes), "\n");
+
+       if(firstPlace == -1)
+               error("No first place in map vote... WTF?");
+
+       if(secondPlace == -1 || time > mapvote_timeout || (mapvote_voters_real - firstPlaceVotes) < firstPlaceVotes)
+               return MapVote_Finished(firstPlace);
+
+       if(mapvote_keeptwotime)
+               if(time > mapvote_keeptwotime || (mapvote_voters_real - firstPlaceVotes - secondPlaceVotes) < secondPlaceVotes)
+               {
+                       float didntvote;
+                       MapVote_TouchMask();
+                       mapvote_message = "Now decide between the TOP TWO!";
+                       mapvote_keeptwotime = 0;
+                       result = strcat(":vote:keeptwo:", mapvote_maps[firstPlace]);
+                       result = strcat(result, ":", ftos(firstPlaceVotes));
+                       result = strcat(result, ":", mapvote_maps[secondPlace]);
+                       result = strcat(result, ":", ftos(secondPlaceVotes), "::");
+                       didntvote = mapvote_voters;
+                       for(i = 0; i < mapvote_count; ++i)
+                       {
+                               didntvote -= mapvote_selections[i];
+                               if(i != firstPlace)
+                                       if(i != secondPlace)
+                                       {
+                                               result = strcat(result, ":", mapvote_maps[i]);
+                                               result = strcat(result, ":", ftos(mapvote_selections[i]));
+                                               if(i < mapvote_count_real)
+                                               {
+                                                       mapvote_maps_availability[i] = GTV_FORBIDDEN;
+                                               }
+                                       }
+                       }
+                       result = strcat(result, ":didn't vote:", ftos(didntvote));
+                       if(autocvar_sv_eventlog)
+                               GameLogEcho(result);
+               }
+
+       return FALSE;
+}
+
+void MapVote_Tick()
+{
+       float keeptwo;
+       float totalvotes;
+
+       keeptwo = mapvote_keeptwotime;
+       MapVote_CheckRules_1(); // count
+       if(MapVote_CheckRules_2()) // decide
+               return;
+
+       totalvotes = 0;
+       FOR_EACH_REALCLIENT(other)
+       {
+               // hide scoreboard again
+               if(other.health != 2342)
+               {
+                       other.health = 2342;
+                       other.impulse = 0;
+                       if(IS_REAL_CLIENT(other))
+                       {
+                               msg_entity = other;
+                               WriteByte(MSG_ONE, SVC_FINALE);
+                               WriteString(MSG_ONE, "");
+                       }
+               }
+
+               // clear possibly invalid votes
+               if ( mapvote_maps_availability[other.mapvote-1] != GTV_AVAILABLE )
+                       other.mapvote = 0;
+               // use impulses as new vote
+               if(other.impulse >= 1 && other.impulse <= mapvote_count)
+                       if( mapvote_maps_availability[other.impulse - 1] == GTV_AVAILABLE )
+                       {
+                               other.mapvote = other.impulse;
+                               MapVote_TouchVotes(other);
+                       }
+               other.impulse = 0;
+
+               if(other.mapvote)
+                       ++totalvotes;
+       }
+
+       MapVote_CheckRules_1(); // just count
+}
+
+void MapVote_Start()
+{
+       if(mapvote_run)
+               return;
+
+       // wait for stats to be sent first
+       if(!playerstats_waitforme)
+               return;
+
+       MapInfo_Enumerate();
+       if(MapInfo_FilterGametype(MapInfo_CurrentGametype(), MapInfo_CurrentFeatures(), MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags(), 1))
+               mapvote_run = TRUE;
+}
+
+void MapVote_Think()
+{
+       if(!mapvote_run)
+               return;
+
+       if(alreadychangedlevel)
+               return;
+
+       if(time < mapvote_nextthink)
+               return;
+       //dprint("tick\n");
+
+       mapvote_nextthink = time + 0.5;
+
+       if(!mapvote_initialized)
+       {
+               if(autocvar_rescan_pending == 1)
+               {
+                       cvar_set("rescan_pending", "2");
+                       localcmd("fs_rescan\nrescan_pending 3\n");
+                       return;
+               }
+               else if(autocvar_rescan_pending == 2)
+               {
+                       return;
+               }
+               else if(autocvar_rescan_pending == 3)
+               {
+                       // now build missing mapinfo files
+                       if(!MapInfo_FilterGametype(MapInfo_CurrentGametype(), MapInfo_CurrentFeatures(), MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags(), 1))
+                               return;
+
+                       // we're done, start the timer
+                       cvar_set("rescan_pending", "0");
+               }
+
+               mapvote_initialized = TRUE;
+               if(DoNextMapOverride(0))
+                       return;
+               if(!autocvar_g_maplist_votable || player_count <= 0)
+               {
+                       GotoNextMap(0);
+                       return;
+               }
+               
+               if(autocvar_sv_vote_gametype) { GameTypeVote_Start(); }
+               else if(autocvar_nextmap == "") { MapVote_Init(); }
+       }
+
+       MapVote_Tick();
+}
+
+float GameTypeVote_SetGametype(float type)
+{
+       if (MapInfo_CurrentGametype() == type)
+               return TRUE;
+               
+       float tsave = MapInfo_CurrentGametype();
+
+       MapInfo_SwitchGameType(type);
+
+       MapInfo_Enumerate();
+       MapInfo_FilterGametype(type, MapInfo_CurrentFeatures(), MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags(), 0);
+       if(MapInfo_count > 0)
+       {
+               // update lsmaps in case the gametype changed, this way people can easily list maps for it
+               if(lsmaps_reply != "") { strunzone(lsmaps_reply); }
+               lsmaps_reply = strzone(getlsmaps());
+               bprint("Game type successfully switched to ", MapInfo_Type_ToString(type), "\n");
+       }
+       else
+       {
+               bprint("Cannot use this game type: no map for it found\n");
+               MapInfo_SwitchGameType(tsave);
+               MapInfo_FilterGametype(MapInfo_CurrentGametype(), MapInfo_CurrentFeatures(), MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags(), 0);
+               return FALSE;
+       }
+
+       //localcmd("gametype ", MapInfo_Type_ToString(type), "\n");
+
+       cvar_set("g_maplist", MapInfo_ListAllowedMaps(type, MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags()) );
+       if(autocvar_g_maplist_shuffle)
+               ShuffleMaplist();
+
+       return TRUE;
+}
+
+float gametypevote_finished;
+float GameTypeVote_Finished(float pos)
+{
+       if(!gametypevote || gametypevote_finished)
+               return FALSE;
+       
+       if ( !GameTypeVote_SetGametype(MapInfo_Type_FromString(mapvote_maps[pos])) )
+       {
+               dprint("Selected gametype is not supported by any map");
+       }
+       
+       localcmd("sv_vote_gametype_hook_all\n");
+       localcmd("sv_vote_gametype_hook_", mapvote_maps[pos], "\n");
+       
+       gametypevote_finished = TRUE;
+       
+       return TRUE;
+}
+
+float GameTypeVote_AddVotable(string nextMode)
+{
+       float j;
+       if ( nextMode == "" || MapInfo_Type_FromString(nextMode) == 0 )
+               return FALSE;
+       for(j = 0; j < mapvote_count; ++j)
+               if(mapvote_maps[j] == nextMode)
+                       return FALSE;
+       
+       mapvote_maps[mapvote_count] = strzone(nextMode);
+       mapvote_maps_suggested[mapvote_count] = FALSE;
+
+       mapvote_maps_screenshot_dir[mapvote_count] = 0;
+       mapvote_maps_pakfile[mapvote_count] = strzone("");
+       mapvote_maps_availability[mapvote_count] = GameTypeVote_AvailabilityStatus(nextMode);
+
+       mapvote_count += 1;
+       
+       return TRUE;
+       
+}
+
+float GameTypeVote_Start()
+{
+       float j;
+       MapVote_ClearAllVotes();
+       MapVote_UnzoneStrings();
+       
+       mapvote_count = 0;
+       mapvote_timeout = time + autocvar_sv_vote_gametype_timeout;
+       mapvote_abstain = 0;
+       mapvote_detail = !autocvar_g_maplist_votable_nodetail;
+       
+       float n = tokenizebyseparator(autocvar_sv_vote_gametype_options, " ");
+       n = min(MAPVOTE_COUNT, n);
+       
+       float really_available, which_available;
+       really_available = 0;
+       which_available = -1;
+       for(j = 0; j < n; ++j)
+       {
+               if ( GameTypeVote_AddVotable(argv(j)) )
+               if ( mapvote_maps_availability[j] == GTV_AVAILABLE )
+               {
+                       really_available++;
+                       which_available = j;
+               }
+       }
+
+       mapvote_count_real = mapvote_count;
+       
+       gametypevote = 1;
+       
+       if ( really_available == 0 )
+       {
+               if ( mapvote_count > 0 )
+                       strunzone(mapvote_maps[0]);
+               mapvote_maps[0] = strzone(MapInfo_Type_ToString(MapInfo_CurrentGametype()));
+               //GameTypeVote_Finished(0);
+               MapVote_Finished(0);
+               return FALSE;
+       }
+       if ( really_available == 1 )
+       {
+               //GameTypeVote_Finished(which_available);
+               MapVote_Finished(which_available);
+               return FALSE;
+       }
+       
+       mapvote_count_real = mapvote_count;
+
+       mapvote_keeptwotime = time + autocvar_sv_vote_gametype_keeptwotime;
+       if(mapvote_count_real < 3 || mapvote_keeptwotime <= time)
+               mapvote_keeptwotime = 0;
+       
+       MapVote_Spawn();
+       
+       return TRUE;
+}
diff --git a/qcsrc/server/mapvoting.qh b/qcsrc/server/mapvoting.qh
new file mode 100644 (file)
index 0000000..6875958
--- /dev/null
@@ -0,0 +1,39 @@
+// definitions for functions used outside mapvoting.qc
+void MapVote_Start();
+void MapVote_Spawn();
+void MapVote_Think();
+float GameTypeVote_Start();
+float GameTypeVote_Finished(float pos);
+string GameTypeVote_MapInfo_FixName(string m);
+
+// definitions
+float gametypevote;
+string getmapname_stored;
+float mapvote_initialized;
+
+float mapvote_nextthink;
+float mapvote_initialized;
+float mapvote_keeptwotime;
+float mapvote_timeout;
+string mapvote_message;
+#define MAPVOTE_SCREENSHOT_DIRS_COUNT 4
+string mapvote_screenshot_dirs[MAPVOTE_SCREENSHOT_DIRS_COUNT];
+float mapvote_screenshot_dirs_count;
+
+float mapvote_count;
+float mapvote_count_real;
+string mapvote_maps[MAPVOTE_COUNT];
+float mapvote_maps_screenshot_dir[MAPVOTE_COUNT];
+string mapvote_maps_pakfile[MAPVOTE_COUNT];
+float mapvote_maps_suggested[MAPVOTE_COUNT];
+string mapvote_suggestions[MAPVOTE_COUNT];
+float mapvote_suggestion_ptr;
+float mapvote_voters;
+float mapvote_selections[MAPVOTE_COUNT];
+float mapvote_maps_availability[MAPVOTE_COUNT];
+float mapvote_run;
+float mapvote_detail;
+float mapvote_abstain;
+.float mapvote;
+
+entity mapvote_ent;
index e7e771dc6ed03a26ff89f050aa1499ff2fc835ad..64760a994eeb37363795bc6086f47a04e30f79a9 100644 (file)
@@ -99,6 +99,8 @@ const string STR_OBSERVER = "observer";
 #define FOR_EACH_SPEC(v) FOR_EACH_CLIENT(v) if (!IS_PLAYER(v)) // Samual: shouldn't this be IS_SPEC(v)? and rather create a separate macro to include observers too
 #define FOR_EACH_REALPLAYER(v) FOR_EACH_REALCLIENT(v) if(IS_PLAYER(v))
 
+#define FOR_EACH_MONSTER(v) for(v = world; (v = findflags(v, flags, FL_MONSTER)) != world; )
+
 #define CENTER_OR_VIEWOFS(ent) (ent.origin + (IS_PLAYER(ent) ? ent.view_ofs : ((ent.mins + ent.maxs) * 0.5)))
 
 // copies a string to a tempstring (so one can strunzone it)
@@ -902,34 +904,11 @@ float sv_autotaunt;
 float sv_taunt;
 
 string GetGametype(); // g_world.qc
+void mutators_add(); // mutators.qc
 void readlevelcvars(void)
 {
        // load mutators
-       #define CHECK_MUTATOR_ADD(mut_cvar,mut_name,dependence) \
-               { if(cvar(mut_cvar) && dependence) { MUTATOR_ADD(mut_name); } }
-
-       CHECK_MUTATOR_ADD("g_dodging", mutator_dodging, 1);
-       CHECK_MUTATOR_ADD("g_spawn_near_teammate", mutator_spawn_near_teammate, 1);
-       CHECK_MUTATOR_ADD("g_physical_items", mutator_physical_items, 1);
-       CHECK_MUTATOR_ADD("g_touchexplode", mutator_touchexplode, 1);
-       CHECK_MUTATOR_ADD("g_minstagib", mutator_minstagib, 1);
-       CHECK_MUTATOR_ADD("g_invincible_projectiles", mutator_invincibleprojectiles, !cvar("g_minstagib"));
-       CHECK_MUTATOR_ADD("g_new_toys", mutator_new_toys, !cvar("g_minstagib"));
-       CHECK_MUTATOR_ADD("g_nix", mutator_nix, !cvar("g_minstagib"));
-       CHECK_MUTATOR_ADD("g_rocket_flying", mutator_rocketflying, !cvar("g_minstagib"));
-       CHECK_MUTATOR_ADD("g_vampire", mutator_vampire, !cvar("g_minstagib"));
-       CHECK_MUTATOR_ADD("g_superspectate", mutator_superspec, 1);
-       CHECK_MUTATOR_ADD("g_pinata", mutator_pinata, !cvar("g_minstagib"));
-       CHECK_MUTATOR_ADD("g_midair", mutator_midair, 1);
-       CHECK_MUTATOR_ADD("g_bloodloss", mutator_bloodloss, !cvar("g_minstagib"));
-       CHECK_MUTATOR_ADD("g_random_gravity", mutator_random_gravity, 1);
-       CHECK_MUTATOR_ADD("g_multijump", mutator_multijump, 1);
-       CHECK_MUTATOR_ADD("g_melee_only", mutator_melee_only, !cvar("g_minstagib"));
-       CHECK_MUTATOR_ADD("g_nades", mutator_nades, 1);
-       CHECK_MUTATOR_ADD("g_sandbox", sandbox, 1);
-       CHECK_MUTATOR_ADD("g_campcheck", mutator_campcheck, 1);
-
-       #undef CHECK_MUTATOR_ADD
+       mutators_add();
 
        if(cvar("sv_allow_fullbright"))
                serverflags |= SERVERFLAG_ALLOW_FULLBRIGHT;
@@ -955,8 +934,6 @@ void readlevelcvars(void)
        sv_clones = cvar("sv_clones");
        sv_foginterval = cvar("sv_foginterval");
        g_cloaked = cvar("g_cloaked");
-    if(g_cts)
-        g_cloaked = 1; // always enable cloak in CTS
        g_footsteps = cvar("g_footsteps");
        g_grappling_hook = cvar("g_grappling_hook");
        g_jetpack = cvar("g_jetpack");
@@ -1080,15 +1057,6 @@ float sound_allowed(float dest, entity e)
     return TRUE;
 }
 
-#ifdef COMPAT_XON010_CHANNELS
-void(entity e, float chan, string samp, float vol, float atten) builtin_sound = #8;
-void sound(entity e, float chan, string samp, float vol, float atten)
-{
-    if (!sound_allowed(MSG_BROADCAST, e))
-        return;
-    builtin_sound(e, chan, samp, vol, atten);
-}
-#else
 #undef sound
 void sound(entity e, float chan, string samp, float vol, float atten)
 {
@@ -1096,7 +1064,6 @@ void sound(entity e, float chan, string samp, float vol, float atten)
         return;
     sound7(e, chan, samp, vol, atten, 0, 0);
 }
-#endif
 
 void soundtoat(float dest, entity e, vector o, float chan, string samp, float vol, float atten)
 {
@@ -1722,7 +1689,7 @@ float SUB_NoImpactCheck()
        if(trace_dphitcontents == 0)
        {
                //dprint("A hit happened with zero hit contents... DEBUG THIS, this should never happen for projectiles! Projectile will self-destruct.\n");
-               dprint(sprintf("A hit from a projectile happened with no hit contents! DEBUG THIS, this should never happen for projectiles! Profectile will self-destruct. (edict: %d, classname: %s, origin: %s)\n", num_for_edict(self), self.classname, vtos(self.origin)));
+               dprintf("A hit from a projectile happened with no hit contents! DEBUG THIS, this should never happen for projectiles! Profectile will self-destruct. (edict: %d, classname: %s, origin: %s)\n", num_for_edict(self), self.classname, vtos(self.origin));
                checkclient();
        }
     if (trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT)
@@ -1824,82 +1791,6 @@ string uid2name(string myuid) {
        return s;
 }
 
-float race_readTime(string map, float pos)
-{
-       string rr;
-       if(g_cts)
-               rr = CTS_RECORD;
-       else
-               rr = RACE_RECORD;
-
-       return stof(db_get(ServerProgsDB, strcat(map, rr, "time", ftos(pos))));
-}
-
-string race_readUID(string map, float pos)
-{
-       string rr;
-       if(g_cts)
-               rr = CTS_RECORD;
-       else
-               rr = RACE_RECORD;
-
-       return db_get(ServerProgsDB, strcat(map, rr, "crypto_idfp", ftos(pos)));
-}
-
-float race_readPos(string map, float t) {
-       float i;
-       for (i = 1; i <= RANKINGS_CNT; ++i)
-               if (race_readTime(map, i) == 0 || race_readTime(map, i) > t)
-                       return i;
-
-       return 0; // pos is zero if unranked
-}
-
-void race_writeTime(string map, float t, string myuid)
-{
-       string rr;
-       if(g_cts)
-               rr = CTS_RECORD;
-       else
-               rr = RACE_RECORD;
-
-       float newpos;
-       newpos = race_readPos(map, t);
-
-       float i, prevpos = 0;
-       for(i = 1; i <= RANKINGS_CNT; ++i)
-       {
-               if(race_readUID(map, i) == myuid)
-                       prevpos = i;
-       }
-       if (prevpos) { // player improved his existing record, only have to iterate on ranks between new and old recs
-               for (i = prevpos; i > newpos; --i) {
-                       db_put(ServerProgsDB, strcat(map, rr, "time", ftos(i)), ftos(race_readTime(map, i - 1)));
-                       db_put(ServerProgsDB, strcat(map, rr, "crypto_idfp", ftos(i)), race_readUID(map, i - 1));
-               }
-       } else { // player has no ranked record yet
-               for (i = RANKINGS_CNT; i > newpos; --i) {
-                       db_put(ServerProgsDB, strcat(map, rr, "time", ftos(i)), ftos(race_readTime(map, i - 1)));
-                       db_put(ServerProgsDB, strcat(map, rr, "crypto_idfp", ftos(i)), race_readUID(map, i - 1));
-               }
-       }
-
-       // store new time itself
-       db_put(ServerProgsDB, strcat(map, rr, "time", ftos(newpos)), ftos(t));
-       db_put(ServerProgsDB, strcat(map, rr, "crypto_idfp", ftos(newpos)), myuid);
-}
-
-string race_readName(string map, float pos)
-{
-       string rr;
-       if(g_cts)
-               rr = CTS_RECORD;
-       else
-               rr = RACE_RECORD;
-
-       return uid2name(db_get(ServerProgsDB, strcat(map, rr, "crypto_idfp", ftos(pos))));
-}
-
 float MoveToRandomMapLocation(entity e, float goodcontents, float badcontents, float badsurfaceflags, float attempts, float maxaboveground, float minviewdistance)
 {
     float m, i;
@@ -2011,65 +1902,6 @@ float MoveToRandomMapLocation(entity e, float goodcontents, float badcontents, f
         return FALSE;
 }
 
-float zcurveparticles_effectno;
-vector zcurveparticles_start;
-float zcurveparticles_spd;
-
-void endzcurveparticles()
-{
-       if(zcurveparticles_effectno)
-       {
-               // terminator
-               WriteShort(MSG_BROADCAST, zcurveparticles_spd | 0x8000);
-       }
-       zcurveparticles_effectno = 0;
-}
-
-void zcurveparticles(float effectno, vector start, vector end, float end_dz, float spd)
-{
-       spd = bound(0, floor(spd / 16), 32767);
-       if(effectno != zcurveparticles_effectno || start != zcurveparticles_start)
-       {
-               endzcurveparticles();
-               WriteByte(MSG_BROADCAST, SVC_TEMPENTITY);
-               WriteByte(MSG_BROADCAST, TE_CSQC_ZCURVEPARTICLES);
-               WriteShort(MSG_BROADCAST, effectno);
-               WriteCoord(MSG_BROADCAST, start_x);
-               WriteCoord(MSG_BROADCAST, start_y);
-               WriteCoord(MSG_BROADCAST, start_z);
-               zcurveparticles_effectno = effectno;
-               zcurveparticles_start = start;
-       }
-       else
-               WriteShort(MSG_BROADCAST, zcurveparticles_spd);
-       WriteCoord(MSG_BROADCAST, end_x);
-       WriteCoord(MSG_BROADCAST, end_y);
-       WriteCoord(MSG_BROADCAST, end_z);
-       WriteCoord(MSG_BROADCAST, end_dz);
-       zcurveparticles_spd = spd;
-}
-
-void zcurveparticles_from_tracetoss(float effectno, vector start, vector end, vector vel)
-{
-       float end_dz;
-       vector vecxy, velxy;
-
-       vecxy = end - start;
-       vecxy_z = 0;
-       velxy = vel;
-       velxy_z = 0;
-
-       if (vlen(velxy) < 0.000001 * fabs(vel_z))
-       {
-               endzcurveparticles();
-               trailparticles(world, effectno, start, end);
-               return;
-       }
-
-       end_dz = vlen(vecxy) / vlen(velxy) * vel_z - (end_z - start_z);
-       zcurveparticles(effectno, start, end, end_dz, vlen(vel));
-}
-
 void write_recordmarker(entity pl, float tstart, float dt)
 {
     GameLogEcho(strcat(":recordset:", ftos(pl.playerid), ":", ftos(dt)));
index de82b16a8ab1f793623514e24cb38639430deb4f..0774dd1dc7037de88324db2bd2698aa0df088863 100644 (file)
@@ -171,6 +171,9 @@ void movelib_move_simple(vector newdir,float velo,float blendrate)
 #define movelib_move_simple(newdir,velo,blendrate) \
     self.velocity = self.velocity * (1 - blendrate) + (newdir * blendrate) * velo
 
+#define movelib_move_simple_gravity(newdir,velo,blendrate) \
+    if(self.flags & FL_ONGROUND) movelib_move_simple(newdir,velo,blendrate)
+
 void movelib_beak_simple(float force)
 {
     float mspeed;
index d2cec391b90e1a167fd920cfd87a3a8b688b5165..1ba8f2663e730b8796da2e6fb8cd3b1592d61eb0 100644 (file)
@@ -91,7 +91,7 @@ float CallbackChain_Call(entity cb)
        return r; // callbacks return an error status, so 0 is default return value
 }
 
-#define MAX_MUTATORS 8
+#define MAX_MUTATORS 15
 string loaded_mutators[MAX_MUTATORS];
 float Mutator_Add(mutatorfunc_t func, string name)
 {
index 893ebb301ff439ffbed18757f6da29cc95cf92b8..f4021eb4c0a45b33a2f2741363ea50d36cc68848 100644 (file)
@@ -77,6 +77,7 @@ MUTATOR_HOOKABLE(PlayerJump);
        // called when a player presses the jump key
        // INPUT, OUTPUT:
                float player_multijump;
+               float player_jumpheight;
 
 MUTATOR_HOOKABLE(GiveFragsForKill);
        // called when someone was fragged by "self", and is expected to change frag_score to adjust scoring for the kill
@@ -102,6 +103,11 @@ MUTATOR_HOOKABLE(SpectateCopy);
 MUTATOR_HOOKABLE(ForbidThrowCurrentWeapon);
        // returns 1 if throwing the current weapon shall not be allowed
 
+MUTATOR_HOOKABLE(WeaponRateFactor);
+       // allows changing attack rate
+       // INPUT, OUTPUT:
+               float weapon_rate;
+
 MUTATOR_HOOKABLE(SetStartItems);
        // adjusts {warmup_}start_{items,weapons,ammo_{cells,rockets,nails,shells,fuel}}
 
@@ -152,6 +158,43 @@ MUTATOR_HOOKABLE(EditProjectile);
        // INPUT:
                entity self;
                entity other;
+        
+MUTATOR_HOOKABLE(MonsterSpawn);
+       // called when a monster spawns
+    
+MUTATOR_HOOKABLE(MonsterDies);
+       // called when a monster dies
+       // INPUT:
+               entity frag_attacker;
+               
+MUTATOR_HOOKABLE(MonsterRespawn);
+       // called when a monster wants to respawn
+       // INPUT:
+               entity other;
+               
+MUTATOR_HOOKABLE(MonsterDropItem);
+       // called when a monster is dropping loot
+       // INPUT, OUTPUT:
+               .void() monster_loot;
+               entity other;
+       
+MUTATOR_HOOKABLE(MonsterMove);
+       // called when a monster moves
+       // returning TRUE makes the monster stop
+       // INPUT:
+               float monster_speed_run;
+               float monster_speed_walk;
+               entity monster_target;
+    
+MUTATOR_HOOKABLE(MonsterFindTarget);
+       // called when a monster looks for another target
+    
+MUTATOR_HOOKABLE(MonsterCheckBossFlag);
+    // called to change a random monster to a miniboss
+
+MUTATOR_HOOKABLE(AllowMobSpawning);
+       // called when a player tries to spawn a monster
+       // return 1 to prevent spawning
 
 MUTATOR_HOOKABLE(PlayerDamage_SplitHealthArmor);
        // called when a player gets damaged to e.g. remove stuff he was carrying.
@@ -182,6 +225,15 @@ MUTATOR_HOOKABLE(PlayerPowerups);
        entity self;
        float olditems; // also technically output, but since it is at the end of the function it's useless for that :P
 
+MUTATOR_HOOKABLE(PlayerRegen);
+       // called every player think frame
+       // return 1 to disable regen
+       // INPUT, OUTPUT:
+               float regen_mod_max;
+               float regen_mod_regen;
+               float regen_mod_rot;
+               float regen_mod_limit;
+
 MUTATOR_HOOKABLE(PlayerUseKey);
        // called when the use key is pressed
        // if MUTATOR_RETURNVALUE is 1, don't do anything
@@ -312,5 +364,13 @@ MUTATOR_HOOKABLE(ClientConnect);
        // called at when a player connect
        entity self;    // player
 
-MUTATOR_HOOKABLE(HavocBot_ChooseRule);
+MUTATOR_HOOKABLE(HavocBot_ChooseRole);
        entity self;
+
+MUTATOR_HOOKABLE(AccuracyTargetValid);
+       // called when a target is checked for accuracy
+       entity frag_attacker; // attacker
+       entity frag_target; // target
+       #define MUT_ACCADD_VALID 0 // return this flag to make the function continue if target is a client
+       #define MUT_ACCADD_INVALID 1 // return this flag to make the function always continue
+       #define MUT_ACCADD_INDIFFERENT 2 // return this flag to make the function always return
index 0325067f28fb396d795c693ba8608524ba473dc1..1eb2b77cb7d97dca6f1273a3428e51bd57591d6e 100644 (file)
@@ -212,31 +212,8 @@ void assault_wall_think()
 
 // trigger new round
 // reset objectives, toggle spawnpoints, reset triggers, ...
-void vehicles_clearrturn();
-void vehicles_spawn();
 void assault_new_round()
 {
-    entity oldself;
-       //bprint("ASSAULT: new round\n");
-
-       oldself = self;
-       // Eject players from vehicles
-    FOR_EACH_PLAYER(self)
-    {
-        if(self.vehicle)
-            vehicles_exit(VHEF_RELESE);
-    }
-
-    self = findchainflags(vehicle_flags, VHF_ISVEHICLE);
-    while(self)
-    {
-        vehicles_clearrturn();
-        vehicles_spawn();
-        self = self.chain;
-    }
-
-    self = oldself;
-
        // up round counter
        self.winning = self.winning + 1;
 
@@ -588,7 +565,7 @@ MUTATOR_DEFINITION(gamemode_assault)
        MUTATOR_HOOK(PlayerSpawn, assault_PlayerSpawn, CBC_ORDER_ANY);
        MUTATOR_HOOK(TurretSpawn, assault_TurretSpawn, CBC_ORDER_ANY);
        MUTATOR_HOOK(VehicleSpawn, assault_VehicleSpawn, CBC_ORDER_ANY);
-       MUTATOR_HOOK(HavocBot_ChooseRule, assault_BotRoles, CBC_ORDER_ANY);
+       MUTATOR_HOOK(HavocBot_ChooseRole, assault_BotRoles, CBC_ORDER_ANY);
 
        MUTATOR_ONADD
        {
index 9fbd483cabacd754e3fc22063d322533923aa9ae..8a6315c4236bd1673758253449af1889fe2e35e8 100644 (file)
@@ -144,6 +144,7 @@ MUTATOR_HOOKFUNCTION(ca_PutClientInServer)
        if(!allowed_to_spawn)
        {
                self.classname = "observer";
+               if(self.jointime != time) //not when connecting
                if(!self.caplayer)
                {
                        self.caplayer = 0.5;
@@ -158,6 +159,7 @@ MUTATOR_HOOKFUNCTION(ca_reset_map_players)
 {
        FOR_EACH_CLIENT(self)
        {
+               self.killcount = 0;
                if(self.caplayer)
                {
                        self.classname = "player";
@@ -182,12 +184,8 @@ MUTATOR_HOOKFUNCTION(ca_reset_map_global)
 
 MUTATOR_HOOKFUNCTION(ca_GetTeamCount)
 {
-       ca_teams = autocvar_g_ca_teams_override;
-       if(ca_teams < 2)
-               ca_teams = autocvar_g_ca_teams;
-       ca_teams = bound(2, ca_teams, 4);
        ret_float = ca_teams;
-       return 1;
+       return 0;
 }
 
 MUTATOR_HOOKFUNCTION(ca_PlayerDies)
@@ -224,16 +222,14 @@ MUTATOR_HOOKFUNCTION(ca_GiveFragsForKill)
 
 MUTATOR_HOOKFUNCTION(ca_SetStartItems)
 {
-       start_health = cvar("g_lms_start_health");
-       start_armorvalue = cvar("g_lms_start_armor");
-
-       start_ammo_shells = cvar("g_lms_start_ammo_shells");
-       start_ammo_nails = cvar("g_lms_start_ammo_nails");
-       start_ammo_rockets = cvar("g_lms_start_ammo_rockets");
-       start_ammo_cells = cvar("g_lms_start_ammo_cells");
-       start_ammo_fuel = cvar("g_lms_start_ammo_fuel");
-
        start_items &= ~IT_UNLIMITED_AMMO;
+       start_health       = warmup_start_health       = cvar("g_lms_start_health");
+       start_armorvalue   = warmup_start_armorvalue   = cvar("g_lms_start_armor");
+       start_ammo_shells  = warmup_start_ammo_shells  = cvar("g_lms_start_ammo_shells");
+       start_ammo_nails   = warmup_start_ammo_nails   = cvar("g_lms_start_ammo_nails");
+       start_ammo_rockets = warmup_start_ammo_rockets = cvar("g_lms_start_ammo_rockets");
+       start_ammo_cells   = warmup_start_ammo_cells   = cvar("g_lms_start_ammo_cells");
+       start_ammo_fuel    = warmup_start_ammo_fuel    = cvar("g_lms_start_ammo_fuel");
 
        return 0;
 }
@@ -272,23 +268,23 @@ MUTATOR_HOOKFUNCTION(ca_PlayerDamage_SplitHealthArmor)
        return FALSE;
 }
 
-// scoreboard setup
-void ca_ScoreRules()
-{
-       ScoreRules_basics(2, SFL_SORT_PRIO_PRIMARY, 0, TRUE);
-       ScoreInfo_SetLabel_TeamScore  (ST_CA_ROUNDS,    "rounds",    SFL_SORT_PRIO_PRIMARY);
-       ScoreRules_basics_end();
-}
-
-void ca_DelayedInit() // Do this check with a delay so we can wait for teams to be set up.
+MUTATOR_HOOKFUNCTION(ca_PlayerRegen)
 {
-       ca_ScoreRules();
+       // no regeneration in CA
+       return TRUE;
 }
 
 void ca_Initialize()
 {
        allowed_to_spawn = TRUE;
 
+       ca_teams = autocvar_g_ca_teams_override;
+       if(ca_teams < 2)
+               ca_teams = autocvar_g_ca_teams;
+       ca_teams = bound(2, ca_teams, 4);
+       ret_float = ca_teams;
+       ScoreRules_ca(ca_teams);
+
        round_handler_Spawn(CA_CheckTeams, CA_CheckWinner, CA_RoundStart);
        round_handler_Init(5, autocvar_g_ca_warmup, autocvar_g_ca_round_timelimit);
 
@@ -296,8 +292,6 @@ void ca_Initialize()
        addstat(STAT_BLUEALIVE, AS_INT, bluealive_stat);
        addstat(STAT_YELLOWALIVE, AS_INT, yellowalive_stat);
        addstat(STAT_PINKALIVE, AS_INT, pinkalive_stat);
-
-       InitializeEntity(world, ca_DelayedInit, INITPRIO_GAMETYPE);
 }
 
 MUTATOR_DEFINITION(gamemode_ca)
@@ -317,6 +311,7 @@ MUTATOR_DEFINITION(gamemode_ca)
        MUTATOR_HOOK(PlayerDamage_Calculate, ca_PlayerDamage, CBC_ORDER_ANY);
        MUTATOR_HOOK(FilterItem, ca_FilterItem, CBC_ORDER_ANY);
        MUTATOR_HOOK(PlayerDamage_SplitHealthArmor, ca_PlayerDamage_SplitHealthArmor, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerRegen, ca_PlayerRegen, CBC_ORDER_ANY);
 
        MUTATOR_ONADD
        {
index a33395254bef0a82abefaebe7ed17b88d9c3b426..a7c1edfc53870a43666b596eac2f533dc2ebab7b 100644 (file)
@@ -1,8 +1,2 @@
 // should be removed in the future, as other code should not have to care
 .float caplayer; // 0.5 if scheduled to join the next round
-
-#ifdef SVQC
-
-#define ST_CA_ROUNDS 1
-
-#endif
index 19cc563f80358df8760b3e176adf7f4963ee0cfe..c9c9b4584b14af089b437c5b81f4c26e105dae95 100644 (file)
@@ -431,14 +431,24 @@ void ctf_Handle_Capture(entity flag, entity toucher, float capturetype)
 void ctf_Handle_Return(entity flag, entity player)
 {
        // messages and sounds
-       Send_Notification(NOTIF_ONE, player, MSG_CENTER, APP_TEAM_ENT_2(flag, CENTER_CTF_RETURN_));
-       Send_Notification(NOTIF_ALL, world, MSG_INFO, APP_TEAM_ENT_2(flag, INFO_CTF_RETURN_), player.netname);
+       if(player.flags & FL_MONSTER)
+       {
+               Send_Notification(NOTIF_ALL, world, MSG_INFO, APP_TEAM_ENT_2(flag, INFO_CTF_RETURN_MONSTER_), player.monster_name);
+       }
+       else
+       {
+               Send_Notification(NOTIF_ONE, player, MSG_CENTER, APP_TEAM_ENT_2(flag, CENTER_CTF_RETURN_));
+               Send_Notification(NOTIF_ALL, world, MSG_INFO, APP_TEAM_ENT_2(flag, INFO_CTF_RETURN_), player.netname);
+       }
        sound(player, CH_TRIGGER, flag.snd_flag_returned, VOL_BASE, ATTEN_NONE);
        ctf_EventLog("return", flag.team, player);
 
        // scoring
-       PlayerTeamScore_AddScore(player, autocvar_g_ctf_score_return); // reward for return
-       PlayerScore_Add(player, SP_CTF_RETURNS, 1); // add to count of returns
+       if(IS_PLAYER(player))
+       {
+               PlayerTeamScore_AddScore(player, autocvar_g_ctf_score_return); // reward for return
+               PlayerScore_Add(player, SP_CTF_RETURNS, 1); // add to count of returns
+       }
 
        TeamScore_AddToTeam(flag.team, ST_SCORE, -autocvar_g_ctf_score_penalty_returned); // punish the team who was last carrying it
 
@@ -646,7 +656,7 @@ void ctf_FlagThink()
        if(self.mins != FLAG_MIN || self.maxs != FLAG_MAX) { // reset the flag boundaries in case it got squished
                dprint("wtf the flag got squashed?\n");
                tracebox(self.origin, FLAG_MIN, FLAG_MAX, self.origin, MOVE_NOMONSTERS, self);
-               if(!trace_startsolid) // can we resize it without getting stuck?
+               if(!trace_startsolid || self.noalign) // can we resize it without getting stuck?
                        setsize(self, FLAG_MIN, FLAG_MAX); }
 
        switch(self.ctf_status) // reset flag angles in case warpzones adjust it
@@ -770,6 +780,7 @@ void ctf_FlagTouch()
        if(gameover) { return; }
 
        entity toucher = other;
+       float is_not_monster = (!(toucher.flags & FL_MONSTER));
 
        // automatically kill the flag and return it if it touched lava/slime/nodrop surfaces
        if(ITEM_TOUCH_NEEDKILL())
@@ -782,11 +793,16 @@ void ctf_FlagTouch()
        // special touch behaviors
        if(toucher.vehicle_flags & VHF_ISVEHICLE)
        {
-               if(autocvar_g_ctf_allow_vehicle_touch)
+               if(autocvar_g_ctf_allow_vehicle_touch && toucher.owner)
                        toucher = toucher.owner; // the player is actually the vehicle owner, not other
                else
                        return; // do nothing
        }
+       else if(toucher.flags & FL_MONSTER)
+       {
+               if(!autocvar_g_ctf_allow_monster_touch)
+                       return; // do nothing
+       }
        else if (!IS_PLAYER(toucher)) // The flag just touched an object, most likely the world
        {
                if(time > self.wait) // if we haven't in a while, play a sound/effect
@@ -803,9 +819,9 @@ void ctf_FlagTouch()
        {
                case FLAG_BASE:
                {
-                       if(SAME_TEAM(toucher, self) && (toucher.flagcarried) && DIFF_TEAM(toucher.flagcarried, self))
+                       if(SAME_TEAM(toucher, self) && (toucher.flagcarried) && DIFF_TEAM(toucher.flagcarried, self) && is_not_monster)
                                ctf_Handle_Capture(self, toucher, CAPTURE_NORMAL); // toucher just captured the enemies flag to his base
-                       else if(DIFF_TEAM(toucher, self) && (!toucher.flagcarried) && (!toucher.ctf_captureshielded) && (time > toucher.next_take_time))
+                       else if(DIFF_TEAM(toucher, self) && (!toucher.flagcarried) && (!toucher.ctf_captureshielded) && (time > toucher.next_take_time) && is_not_monster)
                                ctf_Handle_Pickup(self, toucher, PICKUP_BASE); // toucher just stole the enemies flag
                        break;
                }
@@ -814,7 +830,7 @@ void ctf_FlagTouch()
                {
                        if(SAME_TEAM(toucher, self))
                                ctf_Handle_Return(self, toucher); // toucher just returned his own flag
-                       else if((!toucher.flagcarried) && ((toucher != self.ctf_dropper) || (time > self.ctf_droptime + autocvar_g_ctf_flag_collect_delay)))
+                       else if(is_not_monster && (!toucher.flagcarried) && ((toucher != self.ctf_dropper) || (time > self.ctf_droptime + autocvar_g_ctf_flag_collect_delay)))
                                ctf_Handle_Pickup(self, toucher, PICKUP_DROPPED); // toucher just picked up a dropped enemy flag
                        break;
                }
@@ -2166,7 +2182,7 @@ MUTATOR_DEFINITION(gamemode_ctf)
        MUTATOR_HOOK(VehicleEnter, ctf_VehicleEnter, CBC_ORDER_ANY);
        MUTATOR_HOOK(VehicleExit, ctf_VehicleExit, CBC_ORDER_ANY);
        MUTATOR_HOOK(AbortSpeedrun, ctf_AbortSpeedrun, CBC_ORDER_ANY);
-       MUTATOR_HOOK(HavocBot_ChooseRule, ctf_BotRoles, CBC_ORDER_ANY);
+       MUTATOR_HOOK(HavocBot_ChooseRole, ctf_BotRoles, CBC_ORDER_ANY);
 
        MUTATOR_ONADD
        {
diff --git a/qcsrc/server/mutators/gamemode_cts.qc b/qcsrc/server/mutators/gamemode_cts.qc
new file mode 100644 (file)
index 0000000..9c674d4
--- /dev/null
@@ -0,0 +1,326 @@
+// legacy bot roles
+.float race_checkpoint;
+void havocbot_role_cts()
+{
+       if(self.deadflag != DEAD_NO)
+               return;
+
+       entity e;
+       if (self.bot_strategytime < time)
+       {
+               self.bot_strategytime = time + autocvar_bot_ai_strategyinterval;
+               navigation_goalrating_start();
+
+               for(e = world; (e = find(e, classname, "trigger_race_checkpoint")) != world; )
+               {
+                       if(e.cnt == self.race_checkpoint)
+                       {
+                               navigation_routerating(e, 1000000, 5000);
+                       }
+                       else if(self.race_checkpoint == -1)
+                       {
+                               navigation_routerating(e, 1000000, 5000);
+                       }
+               }
+
+               navigation_goalrating_end();
+       }
+}
+
+void cts_ScoreRules()
+{
+       ScoreRules_basics(0, 0, 0, FALSE);
+       if(g_race_qualifying)
+       {
+               ScoreInfo_SetLabel_PlayerScore(SP_CTS_FASTEST, "fastest",   SFL_SORT_PRIO_PRIMARY | SFL_LOWER_IS_BETTER | SFL_TIME);
+       }
+       else
+       {
+               ScoreInfo_SetLabel_PlayerScore(SP_CTS_LAPS,    "laps",      SFL_SORT_PRIO_PRIMARY);
+               ScoreInfo_SetLabel_PlayerScore(SP_CTS_TIME,    "time",      SFL_SORT_PRIO_SECONDARY | SFL_LOWER_IS_BETTER | SFL_TIME);
+               ScoreInfo_SetLabel_PlayerScore(SP_CTS_FASTEST, "fastest",   SFL_LOWER_IS_BETTER | SFL_TIME);
+       }
+       ScoreRules_basics_end();
+}
+
+void cts_EventLog(string mode, entity actor) // use an alias for easy changing and quick editing later
+{
+       if(autocvar_sv_eventlog)
+               GameLogEcho(strcat(":cts:", mode, ":", ((actor != world) ? (strcat(":", ftos(actor.playerid))) : "")));
+}
+
+MUTATOR_HOOKFUNCTION(cts_PlayerPhysics)
+{
+       // force kbd movement for fairness
+       float wishspeed;
+       vector wishvel;
+
+       // if record times matter
+       // ensure nothing EVIL is being done (i.e. div0_evade)
+       // this hinders joystick users though
+       // but it still gives SOME analog control
+       wishvel_x = fabs(self.movement_x);
+       wishvel_y = fabs(self.movement_y);
+       if(wishvel_x != 0 && wishvel_y != 0 && wishvel_x != wishvel_y)
+       {
+               wishvel_z = 0;
+               wishspeed = vlen(wishvel);
+               if(wishvel_x >= 2 * wishvel_y)
+               {
+                       // pure X motion
+                       if(self.movement_x > 0)
+                               self.movement_x = wishspeed;
+                       else
+                               self.movement_x = -wishspeed;
+                       self.movement_y = 0;
+               }
+               else if(wishvel_y >= 2 * wishvel_x)
+               {
+                       // pure Y motion
+                       self.movement_x = 0;
+                       if(self.movement_y > 0)
+                               self.movement_y = wishspeed;
+                       else
+                               self.movement_y = -wishspeed;
+               }
+               else
+               {
+                       // diagonal
+                       if(self.movement_x > 0)
+                               self.movement_x = M_SQRT1_2 * wishspeed;
+                       else
+                               self.movement_x = -M_SQRT1_2 * wishspeed;
+                       if(self.movement_y > 0)
+                               self.movement_y = M_SQRT1_2 * wishspeed;
+                       else
+                               self.movement_y = -M_SQRT1_2 * wishspeed;
+               }
+       }
+       
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(cts_ResetMap)
+{
+       float s;
+
+       Score_NicePrint(world);
+
+       race_ClearRecords();
+       PlayerScore_Sort(race_place, 0, 1, 0);
+
+       entity e;
+       FOR_EACH_CLIENT(e)
+       {
+               if(e.race_place)
+               {
+                       s = PlayerScore_Add(e, SP_RACE_FASTEST, 0);
+                       if(!s)
+                               e.race_place = 0;
+               }
+               cts_EventLog(ftos(e.race_place), e);
+       }
+
+       if(g_race_qualifying == 2)
+       {
+               g_race_qualifying = 0;
+               independent_players = 0;
+               cvar_set("fraglimit", ftos(race_fraglimit));
+               cvar_set("leadlimit", ftos(race_leadlimit));
+               cvar_set("timelimit", ftos(race_timelimit));
+               cts_ScoreRules();
+       }
+       
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(cts_PlayerPreThink)
+{
+       if(IS_SPEC(self) || IS_OBSERVER(self))
+       if(g_race_qualifying)
+       if(msg_entity.enemy.race_laptime)
+               race_SendNextCheckpoint(msg_entity.enemy, 1);
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(cts_ClientConnect)
+{
+       race_PreparePlayer();
+       self.race_checkpoint = -1;
+       
+       if(IS_REAL_CLIENT(self))
+       {
+               string rr = CTS_RECORD;
+
+               msg_entity = self;
+               race_send_recordtime(MSG_ONE);
+               race_send_speedaward(MSG_ONE);
+
+               speedaward_alltimebest = stof(db_get(ServerProgsDB, strcat(GetMapname(), rr, "speed/speed")));
+               speedaward_alltimebest_holder = uid2name(db_get(ServerProgsDB, strcat(GetMapname(), rr, "speed/crypto_idfp")));
+               race_send_speedaward_alltimebest(MSG_ONE);
+
+               float i;
+               for (i = 1; i <= RANKINGS_CNT; ++i)
+               {
+                       race_SendRankings(i, 0, 0, MSG_ONE);
+               }
+       }
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(cts_MakePlayerObserver)
+{
+       if(PlayerScore_Add(self, SP_RACE_FASTEST, 0))
+               self.frags = FRAGS_LMS_LOSER;
+       else
+               self.frags = FRAGS_SPECTATOR;
+
+       race_PreparePlayer();
+       self.race_checkpoint = -1;
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(cts_PlayerSpawn)
+{
+       if(spawn_spot.target == "")
+               // Emergency: this wasn't a real spawnpoint. Can this ever happen?
+               race_PreparePlayer();
+
+       // if we need to respawn, do it right
+       self.race_respawn_checkpoint = self.race_checkpoint;
+       self.race_respawn_spotref = spawn_spot;
+
+       self.race_place = 0;
+       
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(cts_PutClientInServer)
+{
+       if(IS_PLAYER(self))
+       if(!gameover)
+       {
+               if(self.killcount == -666 /* initial spawn */ || g_race_qualifying) // spawn
+                       race_PreparePlayer();
+               else // respawn
+                       race_RetractPlayer();
+
+               race_AbandonRaceCheck(self);
+       }
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(cts_PlayerDies)
+{
+       self.respawn_flags |= RESPAWN_FORCE;
+       race_AbandonRaceCheck(self);
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(cts_BotRoles)
+{
+       self.havocbot_role = havocbot_role_cts;
+       return TRUE;
+}
+
+MUTATOR_HOOKFUNCTION(cts_PlayerPostThink)
+{
+       if(self.cvar_cl_allow_uidtracking == 1 && self.cvar_cl_allow_uid2name == 1)
+       {
+               if (!self.stored_netname)
+                       self.stored_netname = strzone(uid2name(self.crypto_idfp));
+               if(self.stored_netname != self.netname)
+               {
+                       db_put(ServerProgsDB, strcat("/uid2name/", self.crypto_idfp), self.netname);
+                       strunzone(self.stored_netname);
+                       self.stored_netname = strzone(self.netname);
+               }
+       }
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(cts_ForbidThrowing)
+{
+       // no weapon dropping in CTS
+       return TRUE;
+}
+
+MUTATOR_HOOKFUNCTION(cts_FilterItem)
+{
+       if(self.classname == "droppedweapon")
+               return TRUE;
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(cts_PlayerDamage)
+{
+       if(frag_target == frag_attacker || frag_deathtype == DEATH_FALL)
+       if(!autocvar_g_cts_selfdamage)
+               frag_damage = 0;
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(cts_ForbidClearPlayerScore)
+{
+       return TRUE; // in CTS, you don't lose score by observing
+}
+
+MUTATOR_HOOKFUNCTION(cts_SetMods)
+{
+       g_cloaked = 1; // always enable cloak in CTS
+
+       return FALSE;
+}
+
+void cts_Initialize()
+{
+       cts_ScoreRules();
+}
+
+MUTATOR_DEFINITION(gamemode_cts)
+{
+       MUTATOR_HOOK(PlayerPhysics, cts_PlayerPhysics, CBC_ORDER_ANY);
+       MUTATOR_HOOK(reset_map_global, cts_ResetMap, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerPreThink, cts_PlayerPreThink, CBC_ORDER_ANY);
+       MUTATOR_HOOK(ClientConnect, cts_ClientConnect, CBC_ORDER_ANY);
+       MUTATOR_HOOK(MakePlayerObserver, cts_MakePlayerObserver, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerSpawn, cts_PlayerSpawn, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PutClientInServer, cts_PutClientInServer, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerDies, cts_PlayerDies, CBC_ORDER_ANY);
+       MUTATOR_HOOK(HavocBot_ChooseRole, cts_BotRoles, CBC_ORDER_ANY);
+       MUTATOR_HOOK(GetPressedKeys, cts_PlayerPostThink, CBC_ORDER_ANY);
+       MUTATOR_HOOK(ForbidThrowCurrentWeapon, cts_ForbidThrowing, CBC_ORDER_ANY);
+       MUTATOR_HOOK(FilterItem, cts_FilterItem, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerDamage_Calculate, cts_PlayerDamage, CBC_ORDER_ANY);
+       MUTATOR_HOOK(ForbidPlayerScore_Clear, cts_ForbidClearPlayerScore, CBC_ORDER_ANY);
+       MUTATOR_HOOK(SetModname, cts_SetMods, CBC_ORDER_ANY);
+
+       MUTATOR_ONADD
+       {
+               if(time > 1) // game loads at time 1
+                       error("This is a game type and it cannot be added at runtime.");
+               cts_Initialize();
+       }
+
+       MUTATOR_ONROLLBACK_OR_REMOVE
+       {
+               // we actually cannot roll back cts_Initialize here
+               // BUT: we don't need to! If this gets called, adding always
+               // succeeds.
+       }
+
+       MUTATOR_ONREMOVE
+       {
+               print("This is a game type and it cannot be removed at runtime.");
+               return -1;
+       }
+
+       return 0;
+}
diff --git a/qcsrc/server/mutators/gamemode_cts.qh b/qcsrc/server/mutators/gamemode_cts.qh
new file mode 100644 (file)
index 0000000..f02caf0
--- /dev/null
@@ -0,0 +1,7 @@
+float g_race_qualifying;
+
+// scores
+#define ST_CTS_LAPS 1
+#define SP_CTS_LAPS 4
+#define SP_CTS_TIME 5
+#define SP_CTS_FASTEST 6
index 07f1b805b2e51e652e38e36597806c3e88804b13..2569a49d3188c49c57dca27cb5c1c3f8e5559aec 100644 (file)
@@ -636,7 +636,7 @@ MUTATOR_DEFINITION(gamemode_domination)
        MUTATOR_HOOK(reset_map_players, dom_ResetMap, CBC_ORDER_ANY);
        MUTATOR_HOOK(PlayerSpawn, dom_PlayerSpawn, CBC_ORDER_ANY);
        MUTATOR_HOOK(ClientConnect, dom_ClientConnect, CBC_ORDER_ANY);
-       MUTATOR_HOOK(HavocBot_ChooseRule, dom_BotRoles, CBC_ORDER_ANY);
+       MUTATOR_HOOK(HavocBot_ChooseRole, dom_BotRoles, CBC_ORDER_ANY);
 
        MUTATOR_ONADD
        {
index 9bc06522374aaae4e22b810d3c1a73afbaf3b46c..26e19910ad0f3f571a19f779bec902872b9de8e7 100644 (file)
@@ -100,7 +100,10 @@ float freezetag_CheckWinner()
                Send_Notification(NOTIF_ALL, world, MSG_CENTER, CENTER_ROUND_OVER);
                Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_ROUND_OVER);
                FOR_EACH_PLAYER(e)
+               {
                        e.freezetag_frozen_timeout = 0;
+                       e.freezetag_revive_progress = 0;
+               }
                round_handler_Init(5, autocvar_g_freezetag_warmup, autocvar_g_freezetag_round_timelimit);
                return 1;
        }
@@ -123,7 +126,10 @@ float freezetag_CheckWinner()
        }
 
        FOR_EACH_PLAYER(e)
+       {
                e.freezetag_frozen_timeout = 0;
+               e.freezetag_revive_progress = 0;
+       }
        round_handler_Init(5, autocvar_g_freezetag_warmup, autocvar_g_freezetag_round_timelimit);
        return 1;
 }
@@ -401,6 +407,7 @@ MUTATOR_HOOKFUNCTION(freezetag_reset_map_players)
 {
        FOR_EACH_PLAYER(self)
        {
+               self.killcount = 0;
                if (self.freezetag_frozen)
                        freezetag_Unfreeze(world);
                self.freezetag_frozen_timeout = -1;
@@ -468,7 +475,10 @@ MUTATOR_HOOKFUNCTION(freezetag_PlayerPreThink)
        if(n && self.freezetag_frozen) // OK, there is at least one teammate reviving us
        {
                self.freezetag_revive_progress = bound(0, self.freezetag_revive_progress + frametime * max(1/60, autocvar_g_freezetag_revive_speed), 1);
-               self.health = max(1, self.freezetag_revive_progress * autocvar_g_balance_health_start);
+               if(warmup_stage)
+                       self.health = max(1, self.freezetag_revive_progress * warmup_start_health);
+               else
+                       self.health = max(1, self.freezetag_revive_progress * start_health);
 
                if(self.freezetag_revive_progress >= 1)
                {
@@ -509,7 +519,10 @@ MUTATOR_HOOKFUNCTION(freezetag_PlayerPreThink)
        else if(!n && self.freezetag_frozen) // only if no teammate is nearby will we reset
        {
                self.freezetag_revive_progress = bound(0, self.freezetag_revive_progress - frametime * autocvar_g_freezetag_revive_clearspeed, 1);
-               self.health = max(1, self.freezetag_revive_progress * autocvar_g_balance_health_start);
+               if(warmup_stage)
+                       self.health = max(1, self.freezetag_revive_progress * warmup_start_health);
+               else
+                       self.health = max(1, self.freezetag_revive_progress * start_health);
        }
        else if(!n)
        {
@@ -602,10 +615,6 @@ MUTATOR_HOOKFUNCTION(freezetag_SpectateCopy)
 
 MUTATOR_HOOKFUNCTION(freezetag_GetTeamCount)
 {
-       freezetag_teams = autocvar_g_freezetag_teams_override;
-       if(freezetag_teams < 2)
-               freezetag_teams = autocvar_g_freezetag_teams;
-       freezetag_teams = bound(2, freezetag_teams, 4);
        ret_float = freezetag_teams;
        return 0;
 }
@@ -621,7 +630,12 @@ MUTATOR_HOOKFUNCTION(freezetag_VehicleTouch)
 void freezetag_Initialize()
 {
        precache_model("models/ice/ice.md3");
-       ScoreRules_freezetag();
+
+       freezetag_teams = autocvar_g_freezetag_teams_override;
+       if(freezetag_teams < 2)
+               freezetag_teams = autocvar_g_freezetag_teams;
+       freezetag_teams = bound(2, freezetag_teams, 4);
+       ScoreRules_freezetag(freezetag_teams);
 
        round_handler_Spawn(freezetag_CheckTeams, freezetag_CheckWinner, func_null);
        round_handler_Init(5, autocvar_g_freezetag_warmup, autocvar_g_freezetag_round_timelimit);
@@ -649,7 +663,7 @@ MUTATOR_DEFINITION(gamemode_freezetag)
        MUTATOR_HOOK(PlayerJump, freezetag_PlayerJump, CBC_ORDER_ANY);
        MUTATOR_HOOK(ForbidThrowCurrentWeapon, freezetag_ForbidThrowCurrentWeapon, CBC_ORDER_ANY);
        MUTATOR_HOOK(ItemTouch, freezetag_ItemTouch, CBC_ORDER_ANY);
-       MUTATOR_HOOK(HavocBot_ChooseRule, freezetag_BotRoles, CBC_ORDER_ANY);
+       MUTATOR_HOOK(HavocBot_ChooseRole, freezetag_BotRoles, CBC_ORDER_ANY);
        MUTATOR_HOOK(SpectateCopy, freezetag_SpectateCopy, CBC_ORDER_ANY);
        MUTATOR_HOOK(GetTeamCount, freezetag_GetTeamCount, CBC_ORDER_EXCLUSIVE);
        MUTATOR_HOOK(VehicleTouch, freezetag_VehicleTouch, CBC_ORDER_ANY);
diff --git a/qcsrc/server/mutators/gamemode_invasion.qc b/qcsrc/server/mutators/gamemode_invasion.qc
new file mode 100644 (file)
index 0000000..8448a21
--- /dev/null
@@ -0,0 +1,485 @@
+void spawnfunc_invasion_spawnpoint()
+{
+       if(!g_invasion) { remove(self); return; }
+
+       self.classname = "invasion_spawnpoint";
+
+       if(autocvar_g_invasion_zombies_only) // precache only if it hasn't been already
+       if(self.monsterid)
+               MON_ACTION(self.monsterid, MR_PRECACHE);
+}
+
+float invasion_PickMonster(float supermonster_count)
+{
+       if(autocvar_g_invasion_zombies_only)
+               return MON_ZOMBIE;
+
+       float i;
+       entity mon;
+
+       RandomSelection_Init();
+
+       for(i = MON_FIRST; i <= MON_LAST; ++i)
+       {
+               mon = get_monsterinfo(i);
+               if((mon.spawnflags & MONSTER_TYPE_FLY) || (mon.spawnflags & MONSTER_TYPE_SWIM) || ((mon.spawnflags & MON_FLAG_SUPERMONSTER) && supermonster_count >= 1))
+                       continue; // flying/swimming monsters not yet supported
+
+               RandomSelection_Add(world, i, string_null, 1, 1);
+       }
+
+       return RandomSelection_chosen_float;
+}
+
+entity invasion_PickSpawn()
+{
+       entity e;
+
+       RandomSelection_Init();
+
+       for(e = world;(e = find(e, classname, "invasion_spawnpoint")); )
+       {
+               RandomSelection_Add(e, 0, string_null, 1, ((time >= e.spawnshieldtime) ? 0.2 : 1)); // give recently used spawnpoints a very low rating
+               e.spawnshieldtime = time + autocvar_g_invasion_spawnpoint_spawn_delay;
+       }
+
+       return RandomSelection_chosen_ent;
+}
+
+void invasion_SpawnChosenMonster(float mon)
+{
+       entity spawn_point, monster;
+
+       spawn_point = invasion_PickSpawn();
+
+       if(spawn_point == world)
+       {
+               dprint("Warning: couldn't find any invasion_spawnpoint spawnpoints, attempting to spawn monsters in random locations\n");
+               entity e = spawn();
+               setsize(e, (get_monsterinfo(mon)).mins, (get_monsterinfo(mon)).maxs);
+
+               if(MoveToRandomMapLocation(e, DPCONTENTS_SOLID | DPCONTENTS_CORPSE | DPCONTENTS_PLAYERCLIP, DPCONTENTS_SLIME | DPCONTENTS_LAVA | DPCONTENTS_SKY | DPCONTENTS_BODY | DPCONTENTS_DONOTENTER, Q3SURFACEFLAG_SKY, 10, 1024, 256))
+                       monster = spawnmonster("", mon, world, world, e.origin, FALSE, FALSE, 2);
+               else return;
+
+               e.think = SUB_Remove;
+               e.nextthink = time + 0.1;
+       }
+       else
+               monster = spawnmonster("", ((spawn_point.monsterid) ? spawn_point.monsterid : mon), spawn_point, spawn_point, spawn_point.origin, FALSE, FALSE, 2);
+       
+       if(spawn_point) monster.target2 = spawn_point.target2;
+       monster.spawnshieldtime = time;
+       if(spawn_point && spawn_point.target_range) monster.target_range = spawn_point.target_range;
+       
+       if(teamplay)
+       if(spawn_point && spawn_point.team && inv_monsters_perteam[spawn_point.team] > 0)
+               monster.team = spawn_point.team;
+       else
+       {
+               RandomSelection_Init();
+               if(inv_monsters_perteam[NUM_TEAM_1] > 0) RandomSelection_Add(world, NUM_TEAM_1, string_null, 1, 1);
+               if(inv_monsters_perteam[NUM_TEAM_2] > 0) RandomSelection_Add(world, NUM_TEAM_2, string_null, 1, 1);
+               if(invasion_teams >= 3) if(inv_monsters_perteam[NUM_TEAM_3] > 0) { RandomSelection_Add(world, NUM_TEAM_3, string_null, 1, 1); }
+               if(invasion_teams >= 4) if(inv_monsters_perteam[NUM_TEAM_4] > 0) { RandomSelection_Add(world, NUM_TEAM_4, string_null, 1, 1); }
+               
+               monster.team = RandomSelection_chosen_float;
+       }
+       
+       if(teamplay)
+       {
+               monster_setupcolors(monster);
+       
+               if(monster.sprite)
+               {
+                       WaypointSprite_UpdateTeamRadar(monster.sprite, RADARICON_DANGER, ((monster.team) ? Team_ColorRGB(monster.team) : '1 0 0'));
+
+                       monster.sprite.team = 0;
+                       monster.sprite.SendFlags |= 1;
+               }
+       }
+       
+       monster.monster_attack = FALSE; // it's the player's job to kill all the monsters
+
+       if(inv_roundcnt >= inv_maxrounds)
+               monster.spawnflags |= MONSTERFLAG_MINIBOSS; // last round spawns minibosses
+}
+
+void invasion_SpawnMonsters(float supermonster_count)
+{
+       float chosen_monster = invasion_PickMonster(supermonster_count);
+
+       invasion_SpawnChosenMonster(chosen_monster);
+}
+
+float Invasion_CheckWinner()
+{
+       entity head;
+       if(round_handler_GetEndTime() > 0 && round_handler_GetEndTime() - time <= 0)
+       {
+               FOR_EACH_MONSTER(head)
+                       monster_remove(head);
+
+               Send_Notification(NOTIF_ALL, world, MSG_CENTER, CENTER_ROUND_OVER);
+               Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_ROUND_OVER);
+               round_handler_Init(5, autocvar_g_invasion_warmup, autocvar_g_invasion_round_timelimit);
+               return 1;
+       }
+
+       float total_alive_monsters = 0, supermonster_count = 0, red_alive = 0, blue_alive = 0, yellow_alive = 0, pink_alive = 0;;
+
+       FOR_EACH_MONSTER(head) if(head.health > 0)
+       {
+               if((get_monsterinfo(head.monsterid)).spawnflags & MON_FLAG_SUPERMONSTER)
+                       ++supermonster_count;
+               ++total_alive_monsters;
+
+               if(teamplay)
+               switch(head.team)
+               {
+                       case NUM_TEAM_1: ++red_alive; break;
+                       case NUM_TEAM_2: ++blue_alive; break;
+                       case NUM_TEAM_3: ++yellow_alive; break;
+                       case NUM_TEAM_4: ++pink_alive; break;
+               }
+       }
+
+       if((total_alive_monsters + inv_numkilled) < inv_maxspawned && inv_maxcurrent < inv_maxspawned)
+       {
+               if(time >= inv_lastcheck)
+               {
+                       invasion_SpawnMonsters(supermonster_count);
+                       inv_lastcheck = time + autocvar_g_invasion_spawn_delay;
+               }
+
+               return 0;
+       }
+
+       if(inv_numspawned < 1)
+               return 0; // nothing has spawned yet
+               
+       if(teamplay)
+       {
+               if(((red_alive > 0) + (blue_alive > 0) + (yellow_alive > 0) + (pink_alive > 0)) > 1)
+                       return 0;
+       }
+       else if(inv_numkilled < inv_maxspawned)
+               return 0;
+
+       entity winner = world;
+       float winning_score = 0, winner_team = 0;
+
+
+       if(teamplay)
+       {
+               if(red_alive > 0) { winner_team = NUM_TEAM_1; }
+               if(blue_alive > 0)
+               if(winner_team) { winner_team = 0; }
+               else { winner_team = NUM_TEAM_2; }
+               if(yellow_alive > 0)
+               if(winner_team) { winner_team = 0; }
+               else { winner_team = NUM_TEAM_3; }
+               if(pink_alive > 0)
+               if(winner_team) { winner_team = 0; }
+               else { winner_team = NUM_TEAM_4; }
+       }       
+       else
+       FOR_EACH_PLAYER(head)
+       {
+               float cs = PlayerScore_Add(head, SP_KILLS, 0);
+               if(cs > winning_score)
+               {
+                       winning_score = cs;
+                       winner = head;
+               }
+       }
+
+       FOR_EACH_MONSTER(head)
+               monster_remove(head);
+
+       if(teamplay)
+       {
+               if(winner_team)
+               {
+                       Send_Notification(NOTIF_ALL, world, MSG_CENTER, APP_TEAM_NUM_4(winner_team, CENTER_ROUND_TEAM_WIN_));
+                       Send_Notification(NOTIF_ALL, world, MSG_INFO, APP_TEAM_NUM_4(winner_team, INFO_ROUND_TEAM_WIN_));
+               }
+       }
+       else if(winner)
+       {
+               Send_Notification(NOTIF_ALL, world, MSG_CENTER, CENTER_ROUND_PLAYER_WIN, winner.netname);
+               Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_ROUND_PLAYER_WIN, winner.netname);
+       }
+
+       round_handler_Init(5, autocvar_g_invasion_warmup, autocvar_g_invasion_round_timelimit);
+
+       return 1;
+}
+
+float Invasion_CheckPlayers()
+{
+       return TRUE;
+}
+
+void Invasion_RoundStart()
+{
+       entity e;
+       float numplayers = 0;
+       FOR_EACH_PLAYER(e)
+       {
+               e.player_blocked = 0;
+               ++numplayers;
+       }
+
+       if(inv_roundcnt < inv_maxrounds)
+               inv_roundcnt += 1; // a limiter to stop crazy counts
+
+       inv_monsterskill = inv_roundcnt + max(1, numplayers * 0.3);
+
+       inv_maxcurrent = 0;
+       inv_numspawned = 0;
+       inv_numkilled = 0;
+
+       inv_maxspawned = rint(max(autocvar_g_invasion_monster_count, autocvar_g_invasion_monster_count * (inv_roundcnt * 0.5)));
+
+       if(teamplay)
+       {
+               DistributeEvenly_Init(inv_maxspawned, invasion_teams);
+               inv_monsters_perteam[NUM_TEAM_1] = DistributeEvenly_Get(1);
+               inv_monsters_perteam[NUM_TEAM_2] = DistributeEvenly_Get(1);
+               if(invasion_teams >= 3) inv_monsters_perteam[NUM_TEAM_3] = DistributeEvenly_Get(1);
+               if(invasion_teams >= 4) inv_monsters_perteam[NUM_TEAM_4] = DistributeEvenly_Get(1);
+       }
+}
+
+MUTATOR_HOOKFUNCTION(invasion_MonsterDies)
+{
+       if(!(self.spawnflags & MONSTERFLAG_RESPAWNED))
+       {
+               inv_numkilled += 1;
+               inv_maxcurrent -= 1;
+               if(teamplay) { inv_monsters_perteam[self.team] -= 1; }
+
+               if(IS_PLAYER(frag_attacker))
+               if(SAME_TEAM(frag_attacker, self)) // in non-teamplay modes, same team = same player, so this works
+                       PlayerScore_Add(frag_attacker, SP_KILLS, -1);
+               else
+               {
+                       PlayerScore_Add(frag_attacker, SP_KILLS, +1);
+                       if(teamplay)
+                               TeamScore_AddToTeam(frag_attacker.team, ST_INV_KILLS, +1);
+               }
+       }
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(invasion_MonsterSpawn)
+{
+       if(!(self.spawnflags & MONSTERFLAG_SPAWNED))
+               return TRUE;
+
+       if(!(self.spawnflags & MONSTERFLAG_RESPAWNED))
+       {
+               inv_numspawned += 1;
+               inv_maxcurrent += 1;
+       }
+
+       self.monster_skill = inv_monsterskill;
+
+       if((get_monsterinfo(self.monsterid)).spawnflags & MON_FLAG_SUPERMONSTER)
+               Send_Notification(NOTIF_ALL, world, MSG_CENTER, CENTER_INVASION_SUPERMONSTER, M_NAME(self.monsterid));
+
+       self.dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_BOTCLIP | DPCONTENTS_MONSTERCLIP;
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(invasion_OnEntityPreSpawn)
+{
+       if(startsWith(self.classname, "monster_"))
+       if(!(self.spawnflags & MONSTERFLAG_SPAWNED))
+               return TRUE;
+       
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(invasion_StartFrame)
+{
+       monsters_total = inv_maxspawned; // TODO: make sure numspawned never exceeds maxspawned
+       monsters_killed = inv_numkilled;
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(invasion_PlayerRegen)
+{
+       // no regeneration in invasion
+       return TRUE;
+}
+
+MUTATOR_HOOKFUNCTION(invasion_PlayerSpawn)
+{
+       self.bot_attack = FALSE;
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(invasion_PlayerDamage)
+{
+       if(IS_PLAYER(frag_attacker) && IS_PLAYER(frag_target) && frag_attacker != frag_target)
+       {
+               frag_damage = 0;
+               frag_force = '0 0 0';
+       }
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(invasion_PlayerCommand)
+{
+       if(MUTATOR_RETURNVALUE) // command was already handled?
+               return FALSE;
+
+       if(cmd_name == "debuginvasion")
+       {
+               sprint(self, strcat("inv_maxspawned = ", ftos(inv_maxspawned), "\n"));
+               sprint(self, strcat("inv_numspawned = ", ftos(inv_numspawned), "\n"));
+               sprint(self, strcat("inv_numkilled = ", ftos(inv_numkilled), "\n"));
+               sprint(self, strcat("inv_roundcnt = ", ftos(inv_roundcnt), "\n"));
+               sprint(self, strcat("monsters_total = ", ftos(monsters_total), "\n"));
+               sprint(self, strcat("monsters_killed = ", ftos(monsters_killed), "\n"));
+               sprint(self, strcat("inv_monsterskill = ", ftos(inv_monsterskill), "\n"));
+
+               return TRUE;
+       }
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(invasion_BotShouldAttack)
+{
+       if(!(checkentity.flags & FL_MONSTER))
+               return TRUE;
+       
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(invasion_SetStartItems)
+{
+       start_health = 200;
+       start_armorvalue = 200;
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(invasion_AccuracyTargetValid)
+{
+       if(frag_target.flags & FL_MONSTER)
+               return MUT_ACCADD_INVALID;
+       return MUT_ACCADD_INDIFFERENT;
+}
+
+MUTATOR_HOOKFUNCTION(invasion_AllowMobSpawning)
+{
+       // monster spawning disabled during an invasion
+       return TRUE;
+}
+
+MUTATOR_HOOKFUNCTION(invasion_GetTeamCount)
+{
+       ret_float = invasion_teams;
+       return FALSE;
+}
+
+void invasion_ScoreRules(float inv_teams)
+{
+       if(inv_teams) { CheckAllowedTeams(world); }
+       ScoreRules_basics(inv_teams, 0, 0, FALSE);
+       if(inv_teams) ScoreInfo_SetLabel_TeamScore(ST_INV_KILLS, "frags", SFL_SORT_PRIO_PRIMARY);
+       ScoreInfo_SetLabel_PlayerScore(SP_KILLS, "frags", ((inv_teams) ? SFL_SORT_PRIO_SECONDARY : SFL_SORT_PRIO_PRIMARY));
+       ScoreRules_basics_end();
+}
+
+void invasion_DelayedInit() // Do this check with a delay so we can wait for teams to be set up.
+{
+       if(autocvar_g_invasion_teams)
+               invasion_teams = bound(2, autocvar_g_invasion_teams, 4);
+       else
+               invasion_teams = 0;
+       
+       independent_players = 1; // to disable extra useless scores
+
+       invasion_ScoreRules(invasion_teams);
+
+       independent_players = 0;
+
+       round_handler_Spawn(Invasion_CheckPlayers, Invasion_CheckWinner, Invasion_RoundStart);
+       round_handler_Init(5, autocvar_g_invasion_warmup, autocvar_g_invasion_round_timelimit);
+
+       allowed_to_spawn = TRUE;
+
+       inv_roundcnt = 0;
+       inv_maxrounds = 15; // 15?
+}
+
+void invasion_Initialize()
+{
+       if(autocvar_g_invasion_zombies_only)
+               MON_ACTION(MON_ZOMBIE, MR_PRECACHE);
+       else
+       {
+               float i;
+               entity mon;
+               for(i = MON_FIRST; i <= MON_LAST; ++i)
+               {
+                       mon = get_monsterinfo(i);
+                       if((mon.spawnflags & MONSTER_TYPE_FLY) || (mon.spawnflags & MONSTER_TYPE_SWIM))
+                               continue; // flying/swimming monsters not yet supported
+
+                       MON_ACTION(i, MR_PRECACHE);
+               }
+       }
+       
+       InitializeEntity(world, invasion_DelayedInit, INITPRIO_GAMETYPE);
+}
+
+MUTATOR_DEFINITION(gamemode_invasion)
+{
+       MUTATOR_HOOK(MonsterDies, invasion_MonsterDies, CBC_ORDER_ANY);
+       MUTATOR_HOOK(MonsterSpawn, invasion_MonsterSpawn, CBC_ORDER_ANY);
+       MUTATOR_HOOK(OnEntityPreSpawn, invasion_OnEntityPreSpawn, CBC_ORDER_ANY);
+       MUTATOR_HOOK(SV_StartFrame, invasion_StartFrame, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerRegen, invasion_PlayerRegen, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerSpawn, invasion_PlayerSpawn, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerDamage_Calculate, invasion_PlayerDamage, CBC_ORDER_ANY);
+       MUTATOR_HOOK(SV_ParseClientCommand, invasion_PlayerCommand, CBC_ORDER_ANY);
+       MUTATOR_HOOK(BotShouldAttack, invasion_BotShouldAttack, CBC_ORDER_ANY);
+       MUTATOR_HOOK(SetStartItems, invasion_SetStartItems, CBC_ORDER_ANY);
+       MUTATOR_HOOK(AccuracyTargetValid, invasion_AccuracyTargetValid, CBC_ORDER_ANY);
+       MUTATOR_HOOK(AllowMobSpawning, invasion_AllowMobSpawning, CBC_ORDER_ANY);
+       MUTATOR_HOOK(GetTeamCount, invasion_GetTeamCount, CBC_ORDER_ANY);
+
+       MUTATOR_ONADD
+       {
+               if(time > 1) // game loads at time 1
+                       error("This is a game type and it cannot be added at runtime.");
+               invasion_Initialize();
+
+               cvar_settemp("g_monsters", "1");
+       }
+
+       MUTATOR_ONROLLBACK_OR_REMOVE
+       {
+               // we actually cannot roll back invasion_Initialize here
+               // BUT: we don't need to! If this gets called, adding always
+               // succeeds.
+       }
+
+       MUTATOR_ONREMOVE
+       {
+               print("This is a game type and it cannot be removed at runtime.");
+               return -1;
+       }
+
+       return 0;
+}
diff --git a/qcsrc/server/mutators/gamemode_invasion.qh b/qcsrc/server/mutators/gamemode_invasion.qh
new file mode 100644 (file)
index 0000000..04492d4
--- /dev/null
@@ -0,0 +1,14 @@
+float inv_numspawned;
+float inv_maxspawned;
+float inv_roundcnt;
+float inv_maxrounds;
+float inv_numkilled;
+float inv_lastcheck;
+float inv_maxcurrent;
+
+float invasion_teams;
+float inv_monsters_perteam[17];
+
+float inv_monsterskill;
+
+#define ST_INV_KILLS 1
index ec6ee8cd4c6d83b60ef19dec2e9d575439fb9127..79058b0cf0c806ec98f1d1796bc1c9eb3b83873d 100644 (file)
@@ -25,28 +25,28 @@ void ka_RespawnBall() // runs whenever the ball needs to be relocated
        if(gameover) { return; }
        vector oldballorigin = self.origin;
 
-       if(MoveToRandomMapLocation(self, DPCONTENTS_SOLID | DPCONTENTS_CORPSE | DPCONTENTS_PLAYERCLIP, DPCONTENTS_SLIME | DPCONTENTS_LAVA | DPCONTENTS_SKY | DPCONTENTS_BODY | DPCONTENTS_DONOTENTER, Q3SURFACEFLAG_SKY, 10, 1024, 256))
+       if(!MoveToRandomMapLocation(self, DPCONTENTS_SOLID | DPCONTENTS_CORPSE | DPCONTENTS_PLAYERCLIP, DPCONTENTS_SLIME | DPCONTENTS_LAVA | DPCONTENTS_SKY | DPCONTENTS_BODY | DPCONTENTS_DONOTENTER, Q3SURFACEFLAG_SKY, 10, 1024, 256))
        {
-               makevectors(self.angles);
-               self.movetype = MOVETYPE_BOUNCE;
-               self.velocity = '0 0 200';
-               self.angles = '0 0 0';
-               self.effects = autocvar_g_keepawayball_effects;
-               self.think = ka_RespawnBall;
-               self.nextthink = time + autocvar_g_keepawayball_respawntime;
+               entity spot = SelectSpawnPoint(TRUE);
+               setorigin(self, spot.origin);
+               self.angles = spot.angles;
+       }
 
-               pointparticles(particleeffectnum("electro_combo"), oldballorigin, '0 0 0', 1);
-               pointparticles(particleeffectnum("electro_combo"), self.origin, '0 0 0', 1);
+       makevectors(self.angles);
+       self.movetype = MOVETYPE_BOUNCE;
+       self.velocity = '0 0 200';
+       self.angles = '0 0 0';
+       self.effects = autocvar_g_keepawayball_effects;
+       self.think = ka_RespawnBall;
+       self.nextthink = time + autocvar_g_keepawayball_respawntime;
 
-               WaypointSprite_Spawn("ka-ball", 0, 0, self, '0 0 64', world, self.team, self, waypointsprite_attachedforcarrier, FALSE, RADARICON_FLAGCARRIER, '0 1 1');
-               WaypointSprite_Ping(self.waypointsprite_attachedforcarrier);
+       pointparticles(particleeffectnum("electro_combo"), oldballorigin, '0 0 0', 1);
+       pointparticles(particleeffectnum("electro_combo"), self.origin, '0 0 0', 1);
 
-               sound(self, CH_TRIGGER, "keepaway/respawn.wav", VOL_BASE, ATTEN_NONE); // ATTEN_NONE (it's a sound intended to be heard anywhere)
-       }
-       else
-       {
-               ka_RespawnBall(); // finding a location failed, retry
-       }
+       WaypointSprite_Spawn("ka-ball", 0, 0, self, '0 0 64', world, self.team, self, waypointsprite_attachedforcarrier, FALSE, RADARICON_FLAGCARRIER, '0 1 1');
+       WaypointSprite_Ping(self.waypointsprite_attachedforcarrier);
+
+       sound(self, CH_TRIGGER, "keepaway/respawn.wav", VOL_BASE, ATTEN_NONE); // ATTEN_NONE (it's a sound intended to be heard anywhere)
 }
 
 void ka_TimeScoring()
@@ -102,7 +102,8 @@ void ka_TouchEvent() // runs any time that the ball comes in contact with someth
        // messages and sounds
        ka_EventLog("pickup", other);
        Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_KEEPAWAY_PICKUP, other.netname);
-       Send_Notification(NOTIF_ALL, world, MSG_CENTER, CENTER_KEEPAWAY_PICKUP, other.netname);
+       Send_Notification(NOTIF_ALL_EXCEPT, other, MSG_CENTER, CENTER_KEEPAWAY_PICKUP, other.netname);
+       Send_Notification(NOTIF_ONE, other, MSG_CENTER, CENTER_KEEPAWAY_PICKUP_SELF);
        sound(self.owner, CH_TRIGGER, "keepaway/pickedup.wav", VOL_BASE, ATTEN_NONE); // ATTEN_NONE (it's a sound intended to be heard anywhere)
 
        // scoring
@@ -415,7 +416,7 @@ MUTATOR_DEFINITION(gamemode_keepaway)
        MUTATOR_HOOK(PlayerDamage_Calculate, ka_PlayerDamage, CBC_ORDER_ANY);
        MUTATOR_HOOK(PlayerPowerups, ka_PlayerPowerups, CBC_ORDER_ANY);
        MUTATOR_HOOK(PlayerUseKey, ka_PlayerUseKey, CBC_ORDER_ANY);
-       MUTATOR_HOOK(HavocBot_ChooseRule, ka_BotRoles, CBC_ORDER_ANY);
+       MUTATOR_HOOK(HavocBot_ChooseRole, ka_BotRoles, CBC_ORDER_ANY);
 
        MUTATOR_ONADD
        {
index 928c78b349470e078d3f22eacf4a2ffb377cd6b0..fb0bb2e865c9fc741726955a7623425144870b81 100644 (file)
@@ -92,6 +92,13 @@ MUTATOR_HOOKFUNCTION(lms_PlayerThink)
        return FALSE;
 }
 
+MUTATOR_HOOKFUNCTION(lms_PlayerRegen)
+{
+       if(autocvar_g_lms_regenerate)
+               return FALSE;
+       return TRUE;
+}
+
 MUTATOR_HOOKFUNCTION(lms_ForbidThrowing)
 {
        // forbode!
@@ -122,13 +129,13 @@ MUTATOR_HOOKFUNCTION(lms_GiveFragsForKill)
 MUTATOR_HOOKFUNCTION(lms_SetStartItems)
 {
        start_items &= ~IT_UNLIMITED_AMMO;
-       start_ammo_shells = cvar("g_lms_start_ammo_shells");
-       start_ammo_nails = cvar("g_lms_start_ammo_nails");
-       start_ammo_rockets = cvar("g_lms_start_ammo_rockets");
-       start_ammo_cells = cvar("g_lms_start_ammo_cells");
-       start_ammo_fuel = cvar("g_lms_start_ammo_fuel");
-       start_health = cvar("g_lms_start_health");
-       start_armorvalue = cvar("g_lms_start_armor");
+       start_health       = warmup_start_health       = cvar("g_lms_start_health");
+       start_armorvalue   = warmup_start_armorvalue   = cvar("g_lms_start_armor");
+       start_ammo_shells  = warmup_start_ammo_shells  = cvar("g_lms_start_ammo_shells");
+       start_ammo_nails   = warmup_start_ammo_nails   = cvar("g_lms_start_ammo_nails");
+       start_ammo_rockets = warmup_start_ammo_rockets = cvar("g_lms_start_ammo_rockets");
+       start_ammo_cells   = warmup_start_ammo_cells   = cvar("g_lms_start_ammo_cells");
+       start_ammo_fuel    = warmup_start_ammo_fuel    = cvar("g_lms_start_ammo_fuel");
 
        return FALSE;
 }
@@ -189,6 +196,7 @@ MUTATOR_DEFINITION(gamemode_lms)
        MUTATOR_HOOK(MakePlayerObserver, lms_RemovePlayer, CBC_ORDER_ANY);
        MUTATOR_HOOK(ClientConnect, lms_ClientConnect, CBC_ORDER_ANY);
        MUTATOR_HOOK(PlayerPreThink, lms_PlayerThink, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerRegen, lms_PlayerRegen, CBC_ORDER_ANY);
        MUTATOR_HOOK(ForbidThrowCurrentWeapon, lms_ForbidThrowing, CBC_ORDER_ANY);
        MUTATOR_HOOK(GiveFragsForKill, lms_GiveFragsForKill, CBC_ORDER_ANY);
        MUTATOR_HOOK(SetStartItems, lms_SetStartItems, CBC_ORDER_ANY);
index 2d2c857e90dbff166c673e53f05488bb6970e878..014d37ec20169fd6497b6f3b50764b51deb1d91c 100644 (file)
@@ -457,11 +457,21 @@ void nb_spawnteams(void)
        }
 }
 
+// scoreboard setup
+void nb_ScoreRules(float teams)
+{
+       ScoreRules_basics(teams, 0, 0, TRUE);
+       ScoreInfo_SetLabel_TeamScore(   ST_NEXBALL_GOALS,  "goals", SFL_SORT_PRIO_PRIMARY);
+       ScoreInfo_SetLabel_PlayerScore( SP_NEXBALL_GOALS,  "goals", SFL_SORT_PRIO_PRIMARY);
+       ScoreInfo_SetLabel_PlayerScore(SP_NEXBALL_FAULTS, "faults", SFL_SORT_PRIO_SECONDARY | SFL_LOWER_IS_BETTER);
+       ScoreRules_basics_end();
+}
+
 void nb_delayedinit(void)
 {
        if(find(world, classname, "nexball_team") == world)
                nb_spawnteams();
-       ScoreRules_nexball(nb_teams);
+       nb_ScoreRules(nb_teams);
 }
 
 
@@ -471,11 +481,7 @@ void nb_delayedinit(void)
 
 void SpawnBall(void)
 {
-       if(!g_nexball)
-       {
-               remove(self);
-               return;
-       }
+       if(!g_nexball) { remove(self); return; }
 
 //     balls += 4; // using the remaining bits to count balls will leave more than the max edict count, so it's fine
 
@@ -559,14 +565,28 @@ void spawnfunc_nexball_football(void)
        SpawnBall();
 }
 
+float nb_Goal_Customize()
+{
+       entity e, wp_owner;
+       e = WaypointSprite_getviewentity(other);
+       wp_owner = self.owner;
+       if(SAME_TEAM(e, wp_owner)) { return FALSE; }
+
+       return TRUE;
+}
+
 void SpawnGoal(void)
 {
-       if(!g_nexball)
+       if(!g_nexball) { remove(self); return; }
+
+       EXACTTRIGGER_INIT;
+
+       if(self.team != GOAL_OUT && Team_TeamToNumber(self.team) != -1)
        {
-               remove(self);
-               return;
+               WaypointSprite_SpawnFixed("goal", (self.absmin + self.absmax) * 0.5, self, sprite, RADARICON_NONE, ((self.team) ? Team_ColorRGB(self.team) : '1 0.5 0'));
+               self.sprite.customizeentityforclient = nb_Goal_Customize;
        }
-       EXACTTRIGGER_INIT;
+
        self.classname = "nexball_goal";
        if(self.noise == "")
                self.noise = "ctf/respawn.wav";
@@ -674,7 +694,7 @@ void W_Nexball_Touch(void)
 
        PROJECTILE_TOUCH;
        if(attacker.team != other.team || autocvar_g_nexball_basketball_teamsteal)
-               if((ball = other.ballcarried) && (IS_PLAYER(attacker)))
+               if((ball = other.ballcarried) && !other.deadflag && (IS_PLAYER(attacker)))
                {
                        other.velocity = other.velocity + normalize(self.velocity) * other.damageforcescale * autocvar_g_balance_nexball_secondary_force;
                        other.flags &= ~FL_ONGROUND;
@@ -683,7 +703,7 @@ void W_Nexball_Touch(void)
                                LogNB("stole", attacker);
                                sound(other, CH_TRIGGER, ball.noise2, VOL_BASE, ATTEN_NORM);
 
-                               if(attacker.team == other.team && time > attacker.teamkill_complain)
+                               if(SAME_TEAM(attacker, other) && time > attacker.teamkill_complain)
                                {
                                        attacker.teamkill_complain = time + 5;
                                        attacker.teamkill_soundtime = time + 0.4;
@@ -760,7 +780,7 @@ void W_Nexball_Attack2(void)
        missile.movetype = MOVETYPE_FLY;
        PROJECTILE_MAKETRIGGER(missile);
 
-       setmodel(missile, "models/elaser.mdl");  // precision set below
+       //setmodel(missile, "models/elaser.mdl");  // precision set below
        setsize(missile, '0 0 0', '0 0 0');
        setorigin(missile, w_shotorg);
 
@@ -772,6 +792,8 @@ void W_Nexball_Attack2(void)
 
        missile.effects = EF_BRIGHTFIELD | EF_LOWPRECISION;
        missile.flags = FL_PROJECTILE;
+
+       CSQCProjectile(missile, TRUE, PROJECTILE_ELECTRO, TRUE);
 }
 
 float ball_customize()
@@ -859,18 +881,6 @@ MUTATOR_HOOKFUNCTION(nexball_BallDrop)
        return 0;
 }
 
-MUTATOR_HOOKFUNCTION(nexball_BuildMutatorsString)
-{
-       ret_string = strcat(ret_string, ":NB");
-       return 0;
-}
-
-MUTATOR_HOOKFUNCTION(nexball_BuildMutatorsPrettyString)
-{
-       ret_string = strcat(ret_string, ", NexBall");
-       return 0;
-}
-
 MUTATOR_HOOKFUNCTION(nexball_PlayerPreThink)
 {
        makevectors(self.v_angle);
@@ -947,6 +957,16 @@ MUTATOR_HOOKFUNCTION(nexball_PlayerSpawn)
        return FALSE;
 }
 
+MUTATOR_HOOKFUNCTION(nexball_PlayerPhysics)
+{
+       if(self.ballcarried)
+       {
+               self.stat_sv_airspeedlimit_nonqw *= autocvar_g_nexball_basketball_carrier_highspeed;
+               self.stat_sv_maxspeed *= autocvar_g_nexball_basketball_carrier_highspeed;
+       }
+       return FALSE;
+}
+
 MUTATOR_HOOKFUNCTION(nexball_SetStartItems)
 {
        start_items |= IT_UNLIMITED_SUPERWEAPONS; // FIXME BAD BAD BAD BAD HACK, NEXBALL SHOULDN'T ABUSE PORTO'S WEAPON SLOT
@@ -954,16 +974,34 @@ MUTATOR_HOOKFUNCTION(nexball_SetStartItems)
        return FALSE;
 }
 
+MUTATOR_HOOKFUNCTION(nexball_ForbidThrowing)
+{
+       if(self.weapon == WEP_GRENADE_LAUNCHER)
+               return TRUE;
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(nexball_FilterItem)
+{
+       if(self.classname == "droppedweapon")
+       if(self.weapon == WEP_GRENADE_LAUNCHER)
+               return TRUE;
+
+       return FALSE;
+}
+
 MUTATOR_DEFINITION(gamemode_nexball)
 {
        MUTATOR_HOOK(PlayerDies, nexball_BallDrop, CBC_ORDER_ANY);
        MUTATOR_HOOK(MakePlayerObserver, nexball_BallDrop, CBC_ORDER_ANY);
        MUTATOR_HOOK(ClientDisconnect, nexball_BallDrop, CBC_ORDER_ANY);
-       MUTATOR_HOOK(BuildMutatorsPrettyString, nexball_BuildMutatorsPrettyString, CBC_ORDER_ANY);
-       MUTATOR_HOOK(BuildMutatorsString, nexball_BuildMutatorsString, CBC_ORDER_ANY);
        MUTATOR_HOOK(PlayerSpawn, nexball_PlayerSpawn, CBC_ORDER_ANY);
        MUTATOR_HOOK(PlayerPreThink, nexball_PlayerPreThink, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerPhysics, nexball_PlayerPhysics, CBC_ORDER_ANY);
        MUTATOR_HOOK(SetStartItems, nexball_SetStartItems, CBC_ORDER_ANY);
+       MUTATOR_HOOK(ForbidThrowCurrentWeapon, nexball_ForbidThrowing, CBC_ORDER_ANY);
+       MUTATOR_HOOK(FilterItem, nexball_FilterItem, CBC_ORDER_ANY);
 
        MUTATOR_ONADD
        {
@@ -973,6 +1011,8 @@ MUTATOR_DEFINITION(gamemode_nexball)
                g_nexball_meter_period = rint(g_nexball_meter_period * 32) / 32; //Round to 1/32ths to send as a byte multiplied by 32
                addstat(STAT_NB_METERSTART, AS_FLOAT, metertime);
 
+               w_porto(WR_PRECACHE); // abuse
+
                // General settings
                /*
                CVTOV(g_nexball_football_boost_forward);   //100
index 6f01db2cdf567766fffe3a4c2fa3c9d54b9049fa..dc2398609f1d08e821514e7bd6b51ceaf813a871 100644 (file)
@@ -1658,11 +1658,45 @@ MUTATOR_HOOKFUNCTION(ons_PlayerSpawn)
     return 0;
 }
 
+MUTATOR_HOOKFUNCTION(ons_MonsterThink)
+{
+       entity e = find(world, targetname, self.target);
+       if (e != world)
+               self.team = e.team;
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(ons_MonsterSpawn)
+{
+       entity e, ee = world;
+       
+       if(self.targetname)
+       {
+               e = find(world,target,self.targetname);
+               if(e != world)
+               {
+                       self.team = e.team;
+                       ee = e;
+               }
+       }
+       
+       if(ee)
+       {
+        activator = ee;
+        self.use();
+    }
+
+       return FALSE;
+}
+
 MUTATOR_DEFINITION(gamemode_onslaught)
 {
        MUTATOR_HOOK(BuildMutatorsPrettyString, ons_BuildMutatorsPrettyString, CBC_ORDER_ANY);
        MUTATOR_HOOK(BuildMutatorsString, ons_BuildMutatorsString, CBC_ORDER_ANY);
        MUTATOR_HOOK(PlayerSpawn, ons_PlayerSpawn, CBC_ORDER_ANY);
+       MUTATOR_HOOK(MonsterMove, ons_MonsterThink, CBC_ORDER_ANY);
+       MUTATOR_HOOK(MonsterSpawn, ons_MonsterSpawn, CBC_ORDER_ANY);
        //MUTATOR_HOOK(Spawn_Score, ons_Spawn_Score, CBC_ORDER_ANY);
 
        MUTATOR_ONADD
diff --git a/qcsrc/server/mutators/gamemode_race.qc b/qcsrc/server/mutators/gamemode_race.qc
new file mode 100644 (file)
index 0000000..da5ca4c
--- /dev/null
@@ -0,0 +1,312 @@
+// legacy bot roles
+.float race_checkpoint;
+void havocbot_role_race()
+{
+       if(self.deadflag != DEAD_NO)
+               return;
+
+       entity e;
+       if (self.bot_strategytime < time)
+       {
+               self.bot_strategytime = time + autocvar_bot_ai_strategyinterval;
+               navigation_goalrating_start();
+
+               for(e = world; (e = find(e, classname, "trigger_race_checkpoint")) != world; )
+               {
+                       if(e.cnt == self.race_checkpoint)
+                       {
+                               navigation_routerating(e, 1000000, 5000);
+                       }
+                       else if(self.race_checkpoint == -1)
+                       {
+                               navigation_routerating(e, 1000000, 5000);
+                       }
+               }
+
+               navigation_goalrating_end();
+       }
+}
+
+void race_ScoreRules()
+{
+       ScoreRules_basics(race_teams, 0, 0, FALSE);
+       if(race_teams)
+       {
+               ScoreInfo_SetLabel_TeamScore(  ST_RACE_LAPS,    "laps",      SFL_SORT_PRIO_PRIMARY);
+               ScoreInfo_SetLabel_PlayerScore(SP_RACE_LAPS,    "laps",      SFL_SORT_PRIO_PRIMARY);
+               ScoreInfo_SetLabel_PlayerScore(SP_RACE_TIME,    "time",      SFL_SORT_PRIO_SECONDARY | SFL_LOWER_IS_BETTER | SFL_TIME);
+               ScoreInfo_SetLabel_PlayerScore(SP_RACE_FASTEST, "fastest",   SFL_LOWER_IS_BETTER | SFL_TIME);
+       }
+       else if(g_race_qualifying)
+       {
+               ScoreInfo_SetLabel_PlayerScore(SP_RACE_FASTEST, "fastest",   SFL_SORT_PRIO_PRIMARY | SFL_LOWER_IS_BETTER | SFL_TIME);
+       }
+       else
+       {
+               ScoreInfo_SetLabel_PlayerScore(SP_RACE_LAPS,    "laps",      SFL_SORT_PRIO_PRIMARY);
+               ScoreInfo_SetLabel_PlayerScore(SP_RACE_TIME,    "time",      SFL_SORT_PRIO_SECONDARY | SFL_LOWER_IS_BETTER | SFL_TIME);
+               ScoreInfo_SetLabel_PlayerScore(SP_RACE_FASTEST, "fastest",   SFL_LOWER_IS_BETTER | SFL_TIME);
+       }
+       ScoreRules_basics_end();
+}
+
+void race_EventLog(string mode, entity actor) // use an alias for easy changing and quick editing later
+{
+       if(autocvar_sv_eventlog)
+               GameLogEcho(strcat(":race:", mode, ":", ((actor != world) ? (strcat(":", ftos(actor.playerid))) : "")));
+}
+
+MUTATOR_HOOKFUNCTION(race_PlayerPhysics)
+{
+       // force kbd movement for fairness
+       float wishspeed;
+       vector wishvel;
+
+       // if record times matter
+       // ensure nothing EVIL is being done (i.e. div0_evade)
+       // this hinders joystick users though
+       // but it still gives SOME analog control
+       wishvel_x = fabs(self.movement_x);
+       wishvel_y = fabs(self.movement_y);
+       if(wishvel_x != 0 && wishvel_y != 0 && wishvel_x != wishvel_y)
+       {
+               wishvel_z = 0;
+               wishspeed = vlen(wishvel);
+               if(wishvel_x >= 2 * wishvel_y)
+               {
+                       // pure X motion
+                       if(self.movement_x > 0)
+                               self.movement_x = wishspeed;
+                       else
+                               self.movement_x = -wishspeed;
+                       self.movement_y = 0;
+               }
+               else if(wishvel_y >= 2 * wishvel_x)
+               {
+                       // pure Y motion
+                       self.movement_x = 0;
+                       if(self.movement_y > 0)
+                               self.movement_y = wishspeed;
+                       else
+                               self.movement_y = -wishspeed;
+               }
+               else
+               {
+                       // diagonal
+                       if(self.movement_x > 0)
+                               self.movement_x = M_SQRT1_2 * wishspeed;
+                       else
+                               self.movement_x = -M_SQRT1_2 * wishspeed;
+                       if(self.movement_y > 0)
+                               self.movement_y = M_SQRT1_2 * wishspeed;
+                       else
+                               self.movement_y = -M_SQRT1_2 * wishspeed;
+               }
+       }
+       
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(race_ResetMap)
+{
+       float s;
+
+       Score_NicePrint(world);
+
+       race_ClearRecords();
+       PlayerScore_Sort(race_place, 0, 1, 0);
+
+       entity e;
+       FOR_EACH_CLIENT(e)
+       {
+               if(e.race_place)
+               {
+                       s = PlayerScore_Add(e, SP_RACE_FASTEST, 0);
+                       if(!s)
+                               e.race_place = 0;
+               }
+               race_EventLog(ftos(e.race_place), e);
+       }
+
+       if(g_race_qualifying == 2)
+       {
+               g_race_qualifying = 0;
+               independent_players = 0;
+               cvar_set("fraglimit", ftos(race_fraglimit));
+               cvar_set("leadlimit", ftos(race_leadlimit));
+               cvar_set("timelimit", ftos(race_timelimit));
+               race_ScoreRules();
+       }
+       
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(race_PlayerPreThink)
+{
+       if(IS_SPEC(self) || IS_OBSERVER(self))
+       if(g_race_qualifying)
+       if(msg_entity.enemy.race_laptime)
+               race_SendNextCheckpoint(msg_entity.enemy, 1);
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(race_ClientConnect)
+{
+       race_PreparePlayer();
+       self.race_checkpoint = -1;
+
+       string rr = RACE_RECORD;
+
+       if(IS_REAL_CLIENT(self))
+       {
+               msg_entity = self;
+               race_send_recordtime(MSG_ONE);
+               race_send_speedaward(MSG_ONE);
+
+               speedaward_alltimebest = stof(db_get(ServerProgsDB, strcat(GetMapname(), rr, "speed/speed")));
+               speedaward_alltimebest_holder = uid2name(db_get(ServerProgsDB, strcat(GetMapname(), rr, "speed/crypto_idfp")));
+               race_send_speedaward_alltimebest(MSG_ONE);
+
+               float i;
+               for (i = 1; i <= RANKINGS_CNT; ++i)
+               {
+                       race_SendRankings(i, 0, 0, MSG_ONE);
+               }
+       }
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(race_MakePlayerObserver)
+{
+       if(g_race_qualifying)
+       if(PlayerScore_Add(self, SP_RACE_FASTEST, 0))
+               self.frags = FRAGS_LMS_LOSER;
+       else
+               self.frags = FRAGS_SPECTATOR;
+
+       race_PreparePlayer();
+       self.race_checkpoint = -1;
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(race_PlayerSpawn)
+{
+       if(spawn_spot.target == "")
+               // Emergency: this wasn't a real spawnpoint. Can this ever happen?
+               race_PreparePlayer();
+
+       // if we need to respawn, do it right
+       self.race_respawn_checkpoint = self.race_checkpoint;
+       self.race_respawn_spotref = spawn_spot;
+
+       self.race_place = 0;
+       
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(race_PutClientInServer)
+{
+       if(IS_PLAYER(self))
+       if(!gameover)
+       {
+               if(self.killcount == -666 /* initial spawn */ || g_race_qualifying) // spawn
+                       race_PreparePlayer();
+               else // respawn
+                       race_RetractPlayer();
+
+               race_AbandonRaceCheck(self);
+       }
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(race_PlayerDies)
+{
+       self.respawn_flags |= RESPAWN_FORCE;
+       race_AbandonRaceCheck(self);
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(race_BotRoles)
+{
+       self.havocbot_role = havocbot_role_race;
+       return TRUE;
+}
+
+MUTATOR_HOOKFUNCTION(race_PlayerPostThink)
+{
+       if(self.cvar_cl_allow_uidtracking == 1 && self.cvar_cl_allow_uid2name == 1)
+       {
+               if (!self.stored_netname)
+                       self.stored_netname = strzone(uid2name(self.crypto_idfp));
+               if(self.stored_netname != self.netname)
+               {
+                       db_put(ServerProgsDB, strcat("/uid2name/", self.crypto_idfp), self.netname);
+                       strunzone(self.stored_netname);
+                       self.stored_netname = strzone(self.netname);
+               }
+       }
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(race_ForbidClearPlayerScore)
+{
+       if(g_race_qualifying)
+               return TRUE; // in qualifying, you don't lose score by observing
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(race_GetTeamCount)
+{
+       ret_float = race_teams;
+       return FALSE;
+}
+
+void race_Initialize()
+{
+       race_ScoreRules();
+       if(g_race_qualifying == 2)
+               warmup_stage = 0;
+}
+
+MUTATOR_DEFINITION(gamemode_race)
+{
+       MUTATOR_HOOK(PlayerPhysics, race_PlayerPhysics, CBC_ORDER_ANY);
+       MUTATOR_HOOK(reset_map_global, race_ResetMap, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerPreThink, race_PlayerPreThink, CBC_ORDER_ANY);
+       MUTATOR_HOOK(ClientConnect, race_ClientConnect, CBC_ORDER_ANY);
+       MUTATOR_HOOK(MakePlayerObserver, race_MakePlayerObserver, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerSpawn, race_PlayerSpawn, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PutClientInServer, race_PutClientInServer, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerDies, race_PlayerDies, CBC_ORDER_ANY);
+       MUTATOR_HOOK(HavocBot_ChooseRole, race_BotRoles, CBC_ORDER_ANY);
+       MUTATOR_HOOK(GetPressedKeys, race_PlayerPostThink, CBC_ORDER_ANY);
+       MUTATOR_HOOK(ForbidPlayerScore_Clear, race_ForbidClearPlayerScore, CBC_ORDER_ANY);
+       MUTATOR_HOOK(GetTeamCount, race_GetTeamCount, CBC_ORDER_ANY);
+
+       MUTATOR_ONADD
+       {
+               if(time > 1) // game loads at time 1
+                       error("This is a game type and it cannot be added at runtime.");
+               race_Initialize();
+       }
+
+       MUTATOR_ONROLLBACK_OR_REMOVE
+       {
+               // we actually cannot roll back race_Initialize here
+               // BUT: we don't need to! If this gets called, adding always
+               // succeeds.
+       }
+
+       MUTATOR_ONREMOVE
+       {
+               print("This is a game type and it cannot be removed at runtime.");
+               return -1;
+       }
+
+       return 0;
+}
diff --git a/qcsrc/server/mutators/gamemode_race.qh b/qcsrc/server/mutators/gamemode_race.qh
new file mode 100644 (file)
index 0000000..32829a2
--- /dev/null
@@ -0,0 +1,8 @@
+float g_race_qualifying;
+float race_teams;
+
+// scores
+#define ST_RACE_LAPS 1
+#define SP_RACE_LAPS 4
+#define SP_RACE_TIME 5
+#define SP_RACE_FASTEST 6
diff --git a/qcsrc/server/mutators/mutator_buffs.qc b/qcsrc/server/mutators/mutator_buffs.qc
new file mode 100644 (file)
index 0000000..c71fe60
--- /dev/null
@@ -0,0 +1,787 @@
+float buffs_BuffModel_Customize()
+{
+       entity player, myowner;
+       float same_team;
+
+       player = WaypointSprite_getviewentity(other);
+       myowner = self.owner;
+       same_team = (SAME_TEAM(player, myowner) || SAME_TEAM(player, myowner));
+
+       if(myowner.alpha <= 0.5 && !same_team && myowner.alpha != 0)
+               return FALSE;
+
+       if(player == myowner || (IS_SPEC(other) && other.enemy == myowner))
+       {
+               // somewhat hide the model, but keep the glow
+               self.effects = 0;
+               self.alpha = -1;
+       }
+       else
+       {
+               self.effects = EF_FULLBRIGHT | EF_LOWPRECISION;
+               self.alpha = 1;
+       }
+       return TRUE;
+}
+
+// buff item
+float buff_Waypoint_visible_for_player(entity plr)
+{
+    if(!self.owner.buff_active && !self.owner.buff_activetime)
+        return FALSE;
+
+       if(plr.buffs)
+       {
+               if(plr.cvar_cl_buffs_autoreplace)
+               {
+                       if(plr.buffs == self.owner.buffs)
+                               return FALSE;
+               }
+               else
+                       return FALSE;
+       }
+
+    return WaypointSprite_visible_for_player(plr);
+}
+
+void buff_Waypoint_Spawn(entity e)
+{
+    WaypointSprite_Spawn(Buff_Sprite(e.buffs), 0, autocvar_g_buffs_waypoint_distance, e, '0 0 1' * e.maxs_z, world, e.team, e, buff_waypoint, TRUE, RADARICON_POWERUP, e.glowmod);
+    WaypointSprite_UpdateTeamRadar(e.buff_waypoint, RADARICON_POWERUP, e.glowmod);
+    e.buff_waypoint.waypointsprite_visible_for_player = buff_Waypoint_visible_for_player;
+}
+
+void buff_SetCooldown(float cd)
+{
+       cd = max(0, cd);
+
+       if(!self.buff_waypoint)
+               buff_Waypoint_Spawn(self);
+
+       WaypointSprite_UpdateBuildFinished(self.buff_waypoint, time + cd);
+       self.buff_activetime = cd;
+       self.buff_active = !cd;
+}
+
+void buff_Respawn(entity ent)
+{
+       if(gameover) { return; }
+       
+       vector oldbufforigin = ent.origin;
+       
+       if(!MoveToRandomMapLocation(ent, DPCONTENTS_SOLID | DPCONTENTS_CORPSE | DPCONTENTS_PLAYERCLIP, DPCONTENTS_SLIME | DPCONTENTS_LAVA | DPCONTENTS_SKY | DPCONTENTS_BODY | DPCONTENTS_DONOTENTER, Q3SURFACEFLAG_SKY, ((autocvar_g_buffs_random_location_attempts > 0) ? autocvar_g_buffs_random_location_attempts : 10), 1024, 256))
+       {
+               entity spot = SelectSpawnPoint(TRUE);
+               setorigin(ent, ((spot.origin + '0 0 200') + (randomvec() * 300)));
+               ent.angles = spot.angles;
+       }
+       
+       tracebox(ent.origin, ent.mins * 1.5, self.maxs * 1.5, ent.origin, MOVE_NOMONSTERS, ent);
+       
+       setorigin(ent, trace_endpos); // attempt to unstick
+       
+       ent.movetype = MOVETYPE_TOSS;
+       
+       makevectors(ent.angles);
+       ent.velocity = '0 0 200';
+       ent.angles = '0 0 0';
+       if(autocvar_g_buffs_random_lifetime > 0)
+               ent.lifetime = time + autocvar_g_buffs_random_lifetime;
+
+       pointparticles(particleeffectnum("electro_combo"), oldbufforigin + ((ent.mins + ent.maxs) * 0.5), '0 0 0', 1);
+       pointparticles(particleeffectnum("electro_combo"), CENTER_OR_VIEWOFS(ent), '0 0 0', 1);
+       
+       WaypointSprite_Ping(ent.buff_waypoint);
+       
+       sound(ent, CH_TRIGGER, "keepaway/respawn.wav", VOL_BASE, ATTEN_NONE); // ATTEN_NONE (it's a sound intended to be heard anywhere)
+}
+
+void buff_Touch()
+{
+       if(gameover) { return; }
+
+       if(ITEM_TOUCH_NEEDKILL())
+       {
+               buff_Respawn(self);
+               return;
+       }
+
+       if((self.team && DIFF_TEAM(other, self))
+       || (other.freezetag_frozen)
+       || (other.vehicle)
+       || (!IS_PLAYER(other))
+       || (!self.buff_active)
+       )
+       {
+               // can't touch this
+               return;
+       }
+
+       if(other.buffs)
+       {
+               if(other.cvar_cl_buffs_autoreplace && other.buffs != self.buffs)
+               {
+                       //Send_Notification(NOTIF_ONE, other, MSG_MULTI, ITEM_BUFF_DROP, other.buffs);
+                       Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_ITEM_BUFF_LOST, other.netname, other.buffs);
+
+                       other.buffs = 0;
+                       //sound(other, CH_TRIGGER, "relics/relic_effect.wav", VOL_BASE, ATTN_NORM);
+               }
+               else { return; } // do nothing
+       }
+               
+       self.owner = other;
+       self.buff_active = FALSE;
+       self.lifetime = 0;
+       
+       Send_Notification(NOTIF_ONE, other, MSG_MULTI, ITEM_BUFF_GOT, self.buffs);
+       Send_Notification(NOTIF_ALL_EXCEPT, other, MSG_INFO, INFO_ITEM_BUFF, other.netname, self.buffs);
+
+       pointparticles(particleeffectnum("item_pickup"), CENTER_OR_VIEWOFS(self), '0 0 0', 1);
+       sound(other, CH_TRIGGER, "misc/shield_respawn.wav", VOL_BASE, ATTN_NORM);
+       other.buffs |= (self.buffs);
+}
+
+float buff_Available(float buffid)
+{
+       if(buffid == BUFF_AMMO && ((start_items & IT_UNLIMITED_WEAPON_AMMO) || (start_items & IT_UNLIMITED_AMMO) || (cvar("g_melee_only"))))
+               return FALSE;
+
+       if(buffid == BUFF_VAMPIRE && cvar("g_vampire"))
+               return FALSE;
+
+       if(!cvar(strcat("g_buffs_", Buff_Name(buffid))))
+               return FALSE;
+
+       return TRUE;
+}
+
+void buff_NewType(entity ent, float cb)
+{
+       entity e;
+       RandomSelection_Init();
+       for(e = Buff_Type_first; e; e = e.enemy)
+       if(buff_Available(e.items))
+       {
+               RandomSelection_Add(world, e.items, string_null, 1, 1 / e.count); // if it's already been chosen, give it a lower priority
+               e.count += 1;
+       }
+       ent.buffs = RandomSelection_chosen_float;
+}
+
+void buff_Think()
+{
+       if(self.buffs != self.oldbuffs)
+       {
+               self.color = Buff_Color(self.buffs);
+               self.glowmod = ((self.team) ? Team_ColorRGB(self.team) + '0.1 0.1 0.1' : self.color);
+               self.skin = Buff_Skin(self.buffs);
+               
+               setmodel(self, "models/relics/relic.md3");
+
+               if(self.buff_waypoint)
+               {
+                       //WaypointSprite_Disown(self.buff_waypoint, 1);
+                       WaypointSprite_Kill(self.buff_waypoint);
+                       buff_Waypoint_Spawn(self);
+                       if(self.buff_activetime)
+                               WaypointSprite_UpdateBuildFinished(self.buff_waypoint, time + self.buff_activetime - frametime);
+               }
+
+               self.oldbuffs = self.buffs;
+       }
+
+       if(!gameover)
+       if((round_handler_IsActive() && !round_handler_IsRoundStarted()) || time >= game_starttime)
+       if(!self.buff_activetime_updated)
+       {
+               buff_SetCooldown(self.buff_activetime);
+               self.buff_activetime_updated = TRUE;
+    }
+
+       if(!self.buff_active && !self.buff_activetime)
+       if(!self.owner || self.owner.freezetag_frozen || self.owner.deadflag != DEAD_NO || !self.owner.iscreature || !(self.owner.buffs & self.buffs))
+       {
+               buff_SetCooldown(autocvar_g_buffs_cooldown_respawn + frametime);
+               self.owner = world;
+               if(autocvar_g_buffs_randomize)
+                       buff_NewType(self, self.buffs);
+                       
+               if(autocvar_g_buffs_random_location || (self.spawnflags & 1))
+                       buff_Respawn(self);
+       }
+       
+       if(self.buff_activetime)
+       if(!gameover)
+       if((round_handler_IsActive() && !round_handler_IsRoundStarted()) || time >= game_starttime)
+       {
+               self.buff_activetime = max(0, self.buff_activetime - frametime);
+
+               if(!self.buff_activetime)
+               {
+                       self.buff_active = TRUE;
+                       sound(self, CH_TRIGGER, "misc/strength_respawn.wav", VOL_BASE, ATTN_NORM);
+                       pointparticles(particleeffectnum("item_respawn"), CENTER_OR_VIEWOFS(self), '0 0 0', 1);
+               }
+       }
+
+       if(!self.buff_active)
+       {
+               self.alpha = 0.3;
+               self.effects &= ~(EF_FULLBRIGHT);
+               self.pflags = 0;
+       }
+       else
+       {
+               self.alpha = 1;
+               self.effects |= EF_FULLBRIGHT;
+               self.light_lev = 220 + 36 * sin(time);
+               self.pflags = PFLAGS_FULLDYNAMIC;
+
+               if(self.team && !self.buff_waypoint)
+                       buff_Waypoint_Spawn(self);
+                       
+               if(self.lifetime)
+               if(time >= self.lifetime)
+                       buff_Respawn(self);
+       }
+    
+       self.nextthink = time;
+       //self.angles_y = time * 110.1;
+}
+
+void buff_Waypoint_Reset()
+{
+       WaypointSprite_Kill(self.buff_waypoint);
+
+       if(self.buff_activetime) { buff_Waypoint_Spawn(self); }
+}
+
+void buff_Reset()
+{
+       if(autocvar_g_buffs_randomize)
+               buff_NewType(self, self.buffs);
+       self.owner = world;
+       buff_SetCooldown(autocvar_g_buffs_cooldown_activate);
+       buff_Waypoint_Reset();
+       self.buff_activetime_updated = FALSE;
+       
+       if(autocvar_g_buffs_random_location || (self.spawnflags & 1))
+               buff_Respawn(self);
+}
+
+void buff_Init(entity ent)
+{
+       if(!cvar("g_buffs")) { remove(self); return; }
+       
+       if(!teamplay && self.team) { self.team = 0; }
+
+       entity oldself = self;
+       self = ent;
+       if(!self.buffs || buff_Available(self.buffs))
+               buff_NewType(self, 0);
+       
+       self.classname = "item_buff";
+       self.solid = SOLID_TRIGGER;
+       self.flags = FL_ITEM;
+       self.think = buff_Think;
+       self.touch = buff_Touch;
+       self.reset = buff_Reset;
+       self.nextthink = time + 0.1;
+       self.gravity = 1;
+       self.movetype = MOVETYPE_TOSS;
+       self.scale = 1;
+       self.skin = Buff_Skin(self.buffs);
+       self.effects = EF_FULLBRIGHT | EF_STARDUST | EF_NOSHADOW;
+       self.dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY;
+       //self.gravity = 100;
+       self.color = Buff_Color(self.buffs);
+       self.glowmod = ((self.team) ? Team_ColorRGB(self.team) + '0.1 0.1 0.1' : self.color);
+       buff_SetCooldown(autocvar_g_buffs_cooldown_activate + game_starttime);
+       self.buff_active = !self.buff_activetime;
+       self.pflags = PFLAGS_FULLDYNAMIC;
+       
+       if(self.noalign)
+               self.movetype = MOVETYPE_NONE; // reset by random location
+
+       setmodel(self, "models/relics/relic.md3");
+       setsize(self, BUFF_MIN, BUFF_MAX);
+       
+       if(cvar("g_buffs_random_location") || (self.spawnflags & 1))
+               buff_Respawn(self);
+       
+       self = oldself;
+}
+
+void buff_Init_Compat(entity ent, float replacement)
+{
+       if(ent.spawnflags & 2)
+               ent.team = NUM_TEAM_1;
+       else if(ent.spawnflags & 4)
+               ent.team = NUM_TEAM_2;
+
+       ent.buffs = replacement;
+
+       buff_Init(ent);
+}
+
+void buff_SpawnReplacement(entity ent, entity old)
+{
+       setorigin(ent, old.origin);
+       ent.angles = old.angles;
+       ent.noalign = old.noalign;
+       
+       buff_Init(ent);
+}
+
+// mutator hooks
+MUTATOR_HOOKFUNCTION(buffs_PlayerDamage_SplitHealthArmor)
+{
+       if(frag_deathtype == DEATH_BUFF_VENGEANCE) { return FALSE; } // oh no you don't
+
+       if(frag_target.buffs & BUFF_RESISTANCE)
+       {
+               vector v = healtharmor_applydamage(50, autocvar_g_buffs_resistance_blockpercent, frag_deathtype, frag_damage);
+               damage_take = v_x;
+               damage_save = v_y;
+       }
+
+       return FALSE;
+}
+
+void buff_Vengeance_DelayedDamage()
+{
+       if(self.enemy)
+               Damage(self.enemy, self.owner, self.owner, self.dmg, DEATH_BUFF_VENGEANCE, self.enemy.origin, '0 0 0');
+       
+       remove(self);
+       return;
+}
+
+MUTATOR_HOOKFUNCTION(buffs_PlayerDamage_Calculate)
+{
+       if(frag_deathtype == DEATH_BUFF_VENGEANCE) { return FALSE; } // oh no you don't
+
+       if(frag_target.buffs & BUFF_SPEED)
+       if(frag_target != frag_attacker)
+               frag_damage *= autocvar_g_buffs_speed_damage_take;
+
+       if(frag_target.buffs & BUFF_MEDIC)
+       if((frag_target.health - frag_damage) <= 0)
+       if(!ITEM_DAMAGE_NEEDKILL(frag_deathtype))
+       if(frag_attacker)
+       if(random() <= autocvar_g_buffs_medic_survive_chance)
+       if(frag_target.health - autocvar_g_buffs_medic_survive_health > 0) // not if the final result would be less than 0, medic must get health
+               frag_damage = frag_target.health - autocvar_g_buffs_medic_survive_health;
+               
+       if(frag_target.buffs & BUFF_VENGEANCE)
+       if(frag_attacker)
+       if(frag_attacker != frag_target)
+       if(!ITEM_DAMAGE_NEEDKILL(frag_deathtype))
+       {
+               entity dmgent = spawn();
+
+               dmgent.dmg = frag_damage * autocvar_g_buffs_vengeance_damage_multiplier;
+               dmgent.enemy = frag_attacker;
+               dmgent.owner = frag_target;
+               dmgent.think = buff_Vengeance_DelayedDamage;
+               dmgent.nextthink = time + 0.1;
+       }
+
+       if(frag_target.buffs & BUFF_BASH)
+       if(frag_attacker != frag_target)
+       if(vlen(frag_force))
+               frag_force = '0 0 0';
+       
+       if(frag_attacker.buffs & BUFF_BASH)
+       if(vlen(frag_force))
+       if(frag_attacker == frag_target)
+               frag_force *= autocvar_g_buffs_bash_force_self;
+       else
+               frag_force *= autocvar_g_buffs_bash_force;
+       
+       if(frag_attacker.buffs & BUFF_DISABILITY)
+       if(frag_target != frag_attacker)
+               frag_target.buff_disability_time = time + autocvar_g_buffs_disability_time;
+
+       if(frag_attacker.buffs & BUFF_MEDIC)
+       if(SAME_TEAM(frag_attacker, frag_target))
+       if(frag_attacker != frag_target)
+       {
+               frag_target.health = min(g_pickup_healthmega_max, frag_target.health + frag_damage);
+               frag_damage = 0;
+       }
+
+       // this... is ridiculous (TODO: fix!)
+       if(frag_attacker.buffs & BUFF_VAMPIRE)
+       if(!frag_target.vehicle)
+       if(!ITEM_DAMAGE_NEEDKILL(frag_deathtype))
+       if(frag_target.deadflag == DEAD_NO)
+       if(IS_PLAYER(frag_target) || (frag_target.flags & FL_MONSTER))
+       if(frag_attacker != frag_target)
+       if(!frag_target.freezetag_frozen)
+       if(frag_target.takedamage)
+       if(DIFF_TEAM(frag_attacker, frag_target))
+               frag_attacker.health = bound(0, frag_attacker.health + bound(0, frag_damage * autocvar_g_buffs_vampire_damage_steal, frag_target.health), g_pickup_healthsmall_max);
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(buffs_PlayerSpawn)
+{
+       self.buffs = 0;
+       // reset timers here to prevent them continuing after re-spawn
+       self.buff_disability_time = 0;
+       self.buff_disability_effect_time = 0;
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(buffs_PlayerPhysics)
+{
+       if(self.buffs & BUFF_SPEED)
+       {
+               self.stat_sv_maxspeed *= autocvar_g_buffs_speed_speed;
+               self.stat_sv_airspeedlimit_nonqw *= autocvar_g_buffs_speed_speed;
+       }
+       
+       if(time < self.buff_disability_time)
+       {
+               self.stat_sv_maxspeed *= autocvar_g_buffs_disability_speed;
+               self.stat_sv_airspeedlimit_nonqw *= autocvar_g_buffs_disability_speed;
+       }
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(buffs_PlayerJump)
+{
+       if(self.buffs & BUFF_JUMP)
+               player_jumpheight = autocvar_g_buffs_jump_height;
+       self.stat_jumpheight = player_jumpheight;
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(buffs_MonsterMove)
+{
+       if(time < self.buff_disability_time)
+       {
+               monster_speed_walk *= autocvar_g_buffs_disability_speed;
+               monster_speed_run *= autocvar_g_buffs_disability_speed;
+       }
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(buffs_PlayerDies)
+{
+       if(self.buffs)
+       {
+               Send_Notification(NOTIF_ALL_EXCEPT, self, MSG_INFO, INFO_ITEM_BUFF_LOST, self.netname, self.buffs);
+               self.buffs = 0;
+               
+               if(self.buff_model)
+               {
+                       remove(self.buff_model);
+                       self.buff_model = world;
+               }
+       }
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(buffs_PlayerUseKey)
+{
+       if(MUTATOR_RETURNVALUE || gameover) { return FALSE; }
+       if(self.buffs)
+       {
+               Send_Notification(NOTIF_ONE, self, MSG_MULTI, ITEM_BUFF_DROP, self.buffs);
+               Send_Notification(NOTIF_ALL_EXCEPT, self, MSG_INFO, INFO_ITEM_BUFF_LOST, self.netname, self.buffs);
+
+               self.buffs = 0;
+               sound(self, CH_TRIGGER, "relics/relic_effect.wav", VOL_BASE, ATTN_NORM);
+               return TRUE;
+       }
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(buffs_RemovePlayer)
+{
+       if(self.buff_model)
+       {
+               remove(self.buff_model);
+               self.buff_model = world;
+       }
+       
+       // also reset timers here to prevent them continuing after spectating
+       self.buff_disability_time = 0;
+       self.buff_disability_effect_time = 0;
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(buffs_CustomizeWaypoint)
+{
+       entity e = WaypointSprite_getviewentity(other);
+
+       // if you have the invisibility powerup, sprites ALWAYS are restricted to your team
+       // but only apply this to real players, not to spectators
+       if((self.owner.flags & FL_CLIENT) && (self.owner.buffs & BUFF_INVISIBLE) && (e == other))
+       if(DIFF_TEAM(self.owner, e))
+               return TRUE;
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(buffs_OnEntityPreSpawn)
+{
+       if(autocvar_g_buffs_replace_powerups)
+       switch(self.classname)
+       {
+               case "item_strength":
+               case "item_invincible":
+               {
+                       entity e = spawn();
+                       buff_SpawnReplacement(e, self);
+                       return TRUE;
+               }
+       }
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(buffs_WeaponRate)
+{
+       if(self.buffs & BUFF_SPEED)
+               weapon_rate *= autocvar_g_buffs_speed_rate;
+               
+       if(time < self.buff_disability_time)
+               weapon_rate *= autocvar_g_buffs_disability_rate;
+       
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(buffs_PlayerThink)
+{
+       if(gameover || self.deadflag != DEAD_NO) { return FALSE; }
+       
+       if(time < self.buff_disability_time)
+       if(time >= self.buff_disability_effect_time)
+       {
+               pointparticles(particleeffectnum("smoking"), self.origin + ((self.mins + self.maxs) * 0.5), '0 0 0', 1);
+               self.buff_disability_effect_time = time + 0.5;
+       }
+       
+       if(self.freezetag_frozen)
+       {
+               if(self.buffs)
+               {
+                       Send_Notification(NOTIF_ALL_EXCEPT, self, MSG_INFO, INFO_ITEM_BUFF_LOST, self.netname, self.buffs);
+                       self.buffs = 0;
+               }
+       }
+               
+       if((self.buffs & BUFF_INVISIBLE) && (self.oldbuffs & BUFF_INVISIBLE))
+       if(self.alpha != autocvar_g_buffs_invisible_alpha)
+               self.alpha = autocvar_g_buffs_invisible_alpha;
+
+       if(self.buffs != self.oldbuffs)
+       {
+               if(self.oldbuffs & BUFF_AMMO)
+               {
+                       if(self.buff_ammo_prev_infitems)
+                               self.items |= IT_UNLIMITED_WEAPON_AMMO;
+                       else
+                               self.items &= ~IT_UNLIMITED_WEAPON_AMMO;
+               }
+               else if(self.buffs & BUFF_AMMO)
+               {
+                       self.buff_ammo_prev_infitems = (self.items & IT_UNLIMITED_WEAPON_AMMO);
+                       self.items |= IT_UNLIMITED_WEAPON_AMMO;
+                       if(!self.ammo_shells) { self.ammo_shells = 20; }
+                       if(!self.ammo_cells) { self.ammo_cells = 20; }
+                       if(!self.ammo_rockets) { self.ammo_rockets = 20; }
+                       if(!self.ammo_nails) { self.ammo_nails = 20; }
+                       if(!self.ammo_fuel) { self.ammo_fuel = 20; }
+               }
+               
+               if(self.oldbuffs & BUFF_INVISIBLE)
+               {
+                       if(time < self.strength_finished && g_minstagib)
+                               self.alpha = autocvar_g_minstagib_invis_alpha;
+                       else
+                               self.alpha = self.buff_invisible_prev_alpha;
+               }
+               else if(self.buffs & BUFF_INVISIBLE)
+               {
+                       if(time < self.strength_finished && g_minstagib)
+                               self.buff_invisible_prev_alpha = default_player_alpha;
+                       else
+                               self.buff_invisible_prev_alpha = self.alpha;
+                       self.alpha = autocvar_g_buffs_invisible_alpha;
+               }
+               
+               if(self.oldbuffs & BUFF_FLIGHT)
+                       self.gravity = self.buff_flight_prev_gravity;
+               else if(self.buffs & BUFF_FLIGHT)
+               {
+                       self.buff_flight_prev_gravity = self.gravity;
+                       self.gravity = autocvar_g_buffs_flight_gravity;
+               }
+
+               self.oldbuffs = self.buffs;
+               if(self.buffs)
+               {
+                       if(!self.buff_model)
+                       {
+                               self.buff_model = spawn();
+                               setmodel(self.buff_model, "models/relics/relic.md3");
+                               setsize(self.buff_model, '0 0 -40', '0 0 40');
+                               setattachment(self.buff_model, self, "");
+                               setorigin(self.buff_model, '0 0 1' * (self.buff_model.maxs_z * 1));
+                               self.buff_model.owner = self;
+                               self.buff_model.scale = 0.7;
+                               self.buff_model.pflags = PFLAGS_FULLDYNAMIC;
+                               self.buff_model.light_lev = 200;
+                               self.buff_model.customizeentityforclient = buffs_BuffModel_Customize;
+                       }
+                       self.buff_model.color = Buff_Color(self.buffs);
+                       self.buff_model.glowmod = ((self.buff_model.team) ? Team_ColorRGB(self.buff_model.team) + '0.1 0.1 0.1' : self.buff_model.color);
+                       self.buff_model.skin = Buff_Skin(self.buffs);
+                       
+                       self.effects |= EF_NOSHADOW;
+               }
+               else
+               {
+                       remove(self.buff_model);
+                       self.buff_model = world;
+                       
+                       self.effects &= ~(EF_NOSHADOW);
+               }
+       }
+
+       if(self.buff_model)
+       {
+               self.buff_model.effects = self.effects;
+               self.buff_model.effects |= EF_LOWPRECISION;
+               self.buff_model.effects = self.buff_model.effects & EFMASK_CHEAP; // eat performance
+               
+               self.buff_model.alpha = self.alpha;
+       }
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(buffs_SpectateCopy)
+{
+       self.buffs = other.buffs;
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(buffs_VehicleEnter)
+{
+       vh_vehicle.buffs = vh_player.buffs;
+       vh_player.buffs = 0;
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(buffs_VehicleExit)
+{
+       vh_player.buffs = vh_vehicle.buffs;
+       vh_vehicle.buffs = 0;
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(buffs_PlayerRegen)
+{
+       if(self.buffs & BUFF_MEDIC)
+       {
+               regen_mod_rot = autocvar_g_buffs_medic_rot;
+               regen_mod_limit = regen_mod_max = autocvar_g_buffs_medic_max;
+               regen_mod_regen = autocvar_g_buffs_medic_regen;
+       }
+       
+       if(self.buffs & BUFF_SPEED)
+               regen_mod_regen = autocvar_g_buffs_speed_regen;
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(buffs_GetCvars)
+{
+       GetCvars_handleFloat(get_cvars_s, get_cvars_f, cvar_cl_buffs_autoreplace, "cl_buffs_autoreplace");
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(buffs_BuildMutatorsString)
+{
+       ret_string = strcat(ret_string, ":Buffs");
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(buffs_BuildMutatorsPrettyString)
+{
+       ret_string = strcat(ret_string, ", Buffs");
+       return FALSE;
+}
+
+void buffs_DelayedInit()
+{
+       if(autocvar_g_buffs_spawn_count > 0)
+       if(find(world, classname, "item_buff") == world)
+       {
+               float i;
+               for(i = 0; i < autocvar_g_buffs_spawn_count; ++i)
+               {
+                       entity e = spawn();
+                       e.spawnflags |= 1; // always randomize
+                       e.velocity = randomvec() * 250; // this gets reset anyway if random location works
+                       buff_Init(e);
+               }
+       }
+}
+
+void buffs_Initialize()
+{
+       precache_model("models/relics/relic.md3");
+       precache_sound("misc/strength_respawn.wav");
+       precache_sound("misc/shield_respawn.wav");
+       precache_sound("relics/relic_effect.wav");
+       precache_sound("weapons/rocket_impact.wav");
+       precache_sound("keepaway/respawn.wav");
+
+       addstat(STAT_BUFFS, AS_INT, buffs);
+       addstat(STAT_MOVEVARS_JUMPVELOCITY, AS_FLOAT, stat_jumpheight);
+       
+       InitializeEntity(world, buffs_DelayedInit, INITPRIO_FINDTARGET);
+}
+
+MUTATOR_DEFINITION(mutator_buffs)
+{
+       MUTATOR_HOOK(PlayerDamage_SplitHealthArmor, buffs_PlayerDamage_SplitHealthArmor, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerDamage_Calculate, buffs_PlayerDamage_Calculate, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerSpawn, buffs_PlayerSpawn, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerPhysics, buffs_PlayerPhysics, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerJump, buffs_PlayerJump, CBC_ORDER_ANY);
+       MUTATOR_HOOK(MonsterMove, buffs_MonsterMove, CBC_ORDER_ANY);
+       MUTATOR_HOOK(SpectateCopy, buffs_SpectateCopy, CBC_ORDER_ANY);
+       MUTATOR_HOOK(VehicleEnter, buffs_VehicleEnter, CBC_ORDER_ANY);
+       MUTATOR_HOOK(VehicleExit, buffs_VehicleExit, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerRegen, buffs_PlayerRegen, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerDies, buffs_PlayerDies, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerUseKey, buffs_PlayerUseKey, CBC_ORDER_ANY);
+       MUTATOR_HOOK(MakePlayerObserver, buffs_RemovePlayer, CBC_ORDER_ANY);
+       MUTATOR_HOOK(ClientDisconnect, buffs_RemovePlayer, CBC_ORDER_ANY);
+       MUTATOR_HOOK(OnEntityPreSpawn, buffs_OnEntityPreSpawn, CBC_ORDER_ANY);
+       MUTATOR_HOOK(CustomizeWaypoint, buffs_CustomizeWaypoint, CBC_ORDER_ANY);
+       MUTATOR_HOOK(WeaponRateFactor, buffs_WeaponRate, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerPreThink, buffs_PlayerThink, CBC_ORDER_ANY);
+       MUTATOR_HOOK(GetCvars, buffs_GetCvars, CBC_ORDER_ANY);
+       MUTATOR_HOOK(BuildMutatorsString, buffs_BuildMutatorsString, CBC_ORDER_ANY);
+       MUTATOR_HOOK(BuildMutatorsPrettyString, buffs_BuildMutatorsPrettyString, CBC_ORDER_ANY);
+
+       MUTATOR_ONADD
+       {
+               buffs_Initialize();
+       }
+
+       return FALSE;
+}
diff --git a/qcsrc/server/mutators/mutator_buffs.qh b/qcsrc/server/mutators/mutator_buffs.qh
new file mode 100644 (file)
index 0000000..66540b8
--- /dev/null
@@ -0,0 +1,28 @@
+// buff specific variables \\
+//
+// ammo
+.float buff_ammo_prev_infitems;
+// invisible
+.float buff_invisible_prev_alpha;
+// flight
+.float buff_flight_prev_gravity;
+// jump
+.float stat_jumpheight;
+const float STAT_MOVEVARS_JUMPVELOCITY = 250; // engine hack
+// disability
+.float buff_disability_time;
+.float buff_disability_effect_time;
+
+// buff definitions
+.float buff_active;
+.float buff_activetime;
+.float buff_activetime_updated;
+.entity buff_waypoint;
+.float oldbuffs; // for updating effects
+.entity buff_model; // controls effects (TODO: make csqc)
+
+#define BUFF_MIN ('-16 -16 -20')
+#define BUFF_MAX ('16 16 20')
+
+// client side options
+.float cvar_cl_buffs_autoreplace;
index 73b7dd949939c691173ebf0b683dfd451f72238b..c435aba0342c64e9c9fb3e238f2d5982772725d6 100644 (file)
@@ -1,14 +1,16 @@
 MUTATOR_HOOKFUNCTION(melee_SetStartItems)
 {
-       start_ammo_shells = 0;
-       warmup_start_ammo_shells = 0;
-
-       start_weapons = WEPSET_SHOTGUN;
-       warmup_start_weapons = WEPSET_SHOTGUN;
+       start_ammo_shells = warmup_start_ammo_shells = 0;
+       start_weapons = warmup_start_weapons = WEPSET_SHOTGUN;
 
        return FALSE;
 }
 
+MUTATOR_HOOKFUNCTION(melee_ForbidThrowing)
+{
+       return TRUE;
+}
+
 MUTATOR_HOOKFUNCTION(melee_FilterItem)
 {
        switch (self.items)
@@ -36,6 +38,7 @@ MUTATOR_HOOKFUNCTION(melee_BuildMutatorsPrettyString)
 MUTATOR_DEFINITION(mutator_melee_only)
 {
        MUTATOR_HOOK(SetStartItems, melee_SetStartItems, CBC_ORDER_ANY);
+       MUTATOR_HOOK(ForbidThrowCurrentWeapon, melee_ForbidThrowing, CBC_ORDER_ANY);
        MUTATOR_HOOK(FilterItem, melee_FilterItem, CBC_ORDER_ANY);
        MUTATOR_HOOK(BuildMutatorsString, melee_BuildMutatorsString, CBC_ORDER_ANY);
        MUTATOR_HOOK(BuildMutatorsPrettyString, melee_BuildMutatorsPrettyString, CBC_ORDER_ANY);
index ac6e158ed4c824c2b8f41fb9d5422211c413ea14..6cce15211587a9f33ba1573b26e88c0eac99ace8 100644 (file)
@@ -109,6 +109,22 @@ MUTATOR_HOOKFUNCTION(minstagib_MatchEnd)
        return FALSE;
 }
 
+MUTATOR_HOOKFUNCTION(minstagib_MonsterLoot)
+{
+       other.monster_loot = spawnfunc_item_minst_cells;
+
+       return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(minstagib_MonsterSpawn)
+{
+       // always refill ammo
+       if(self.monsterid == MON_MAGE)
+               self.skin = 1;
+       
+       return FALSE;
+}
+
 MUTATOR_HOOKFUNCTION(minstagib_BotShouldAttack)
 {
        if(checkentity.items & IT_STRENGTH)
@@ -135,6 +151,12 @@ MUTATOR_HOOKFUNCTION(minstagib_PlayerPreThink)
        return FALSE;
 }
 
+MUTATOR_HOOKFUNCTION(minstagib_PlayerRegen)
+{
+       // no regeneration in minstagib
+       return TRUE;
+}
+
 MUTATOR_HOOKFUNCTION(minstagib_PlayerPowerups)
 {
        if (!(self.effects & EF_FULLBRIGHT))
@@ -414,6 +436,8 @@ MUTATOR_HOOKFUNCTION(minstagib_SetModname)
 MUTATOR_DEFINITION(mutator_minstagib)
 {
        MUTATOR_HOOK(MatchEnd, minstagib_MatchEnd, CBC_ORDER_ANY);
+       MUTATOR_HOOK(MonsterDropItem, minstagib_MonsterLoot, CBC_ORDER_ANY);
+       MUTATOR_HOOK(MonsterSpawn, minstagib_MonsterSpawn, CBC_ORDER_ANY);
        MUTATOR_HOOK(BotShouldAttack, minstagib_BotShouldAttack, CBC_ORDER_ANY);
        MUTATOR_HOOK(PlayerPhysics, minstagib_PlayerPhysics, CBC_ORDER_ANY);
        MUTATOR_HOOK(PlayerSpawn, minstagib_PlayerSpawn, CBC_ORDER_ANY);
@@ -428,6 +452,7 @@ MUTATOR_DEFINITION(mutator_minstagib)
        MUTATOR_HOOK(PlayerPowerups, minstagib_PlayerPowerups, CBC_ORDER_ANY);
        MUTATOR_HOOK(ForbidThrowCurrentWeapon, minstagib_ForbidThrowing, CBC_ORDER_ANY);
        MUTATOR_HOOK(PlayerPreThink, minstagib_PlayerPreThink, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerRegen, minstagib_PlayerRegen, CBC_ORDER_ANY);
        MUTATOR_HOOK(OnEntityPreSpawn, minstagib_OnEntityPreSpawn, CBC_ORDER_ANY);
        MUTATOR_HOOK(BuildMutatorsString, minstagib_BuildMutatorsString, CBC_ORDER_ANY);
        MUTATOR_HOOK(BuildMutatorsPrettyString, minstagib_BuildMutatorsPrettyString, CBC_ORDER_ANY);
index 5ab6df75dc720e2d6b385ed665d1cf0ccf9fcfc3..2fad6022673c855e4fae529dfe8dc6158bba0954 100644 (file)
@@ -169,16 +169,15 @@ void toss_nade(entity e, vector _velocity, float _time)
        if (trace_startsolid)
                setorigin(_nade, e.origin);
 
-       if(e.crouch)
-               _nade.velocity = '0 0 -10';
+       if(self.v_angle_x >= 70 && self.v_angle_x <= 110)
+               _nade.velocity = '0 0 100';
        else if(autocvar_g_nades_nade_newton_style == 1)
                _nade.velocity = e.velocity + _velocity;
        else if(autocvar_g_nades_nade_newton_style == 2)
                _nade.velocity = _velocity;
        else
                _nade.velocity = W_CalculateProjectileVelocity(e.velocity, _velocity, TRUE);
-
-       //_nade.solid = SOLID_BBOX; // TODO: remember why this was needed
+               
        _nade.touch = nade_touch;
        _nade.health = autocvar_g_nades_nade_health;
        _nade.max_health = _nade.health;
index 4d0746dec28fe6c9235937e86597fc06ee1f5ff5..e53c80f848cca975344b6e2025076bdecfec6c33 100644 (file)
@@ -1,8 +1,13 @@
-float autocvar_g_spawn_near_teammate_distance;
 .entity msnt_lookat;
 
+.float msnt_timer;
+.vector msnt_deathloc;
+
 MUTATOR_HOOKFUNCTION(msnt_Spawn_Score)
 {
+       if(autocvar_g_spawn_near_teammate_ignore_spawnpoint)
+               return 0;
+
        entity p;
 
        spawn_spot.msnt_lookat = world;
@@ -36,10 +41,103 @@ MUTATOR_HOOKFUNCTION(msnt_Spawn_Score)
 
 MUTATOR_HOOKFUNCTION(msnt_PlayerSpawn)
 {
-       if(spawn_spot.msnt_lookat)
+       // Note: when entering this, fixangle is already set.
+       if(autocvar_g_spawn_near_teammate_ignore_spawnpoint)
+       {
+               if(autocvar_g_spawn_near_teammate_ignore_spawnpoint_delay_death)
+                       self.msnt_timer = time + autocvar_g_spawn_near_teammate_ignore_spawnpoint_delay_death;
+
+               entity team_mate, best_mate = world;
+               vector best_spot = '0 0 0';
+               float pc = 0, best_dist = 0, dist = 0;
+               FOR_EACH_PLAYER(team_mate)
+               {
+                       if((autocvar_g_spawn_near_teammate_ignore_spawnpoint_check_health >= 0 && team_mate.health >= autocvar_g_balance_health_regenstable) || autocvar_g_spawn_near_teammate_ignore_spawnpoint_check_health == 0)
+                       if(team_mate.deadflag == DEAD_NO)
+                       if(team_mate.msnt_timer < time)
+                       if(SAME_TEAM(self, team_mate))
+                       if(time > team_mate.spawnshieldtime) // spawn shielding
+                       if(team_mate.freezetag_frozen == 0)
+                       if(team_mate != self)
+                       {
+                               tracebox(team_mate.origin, PL_MIN, PL_MAX, team_mate.origin - '0 0 100', MOVE_WORLDONLY, team_mate);
+                               if(trace_fraction != 1.0)
+                               if(!(trace_dphitq3surfaceflags & Q3SURFACEFLAG_SKY))
+                               {
+                                       pc = pointcontents(trace_endpos + '0 0 1');
+                                       if(pc == CONTENT_EMPTY)
+                                       {
+                                               if(vlen(team_mate.velocity) > 5)
+                                                       fixedmakevectors(vectoangles(team_mate.velocity));
+                                               else
+                                                       fixedmakevectors(team_mate.angles);
+
+                                               for(pc = 0; pc != 5; ++pc) // test 5 diffrent spots close to mate
+                                               {
+                                                       switch(pc)
+                                                       {
+                                                               case 0:
+                                                                       tracebox(team_mate.origin , PL_MIN, PL_MAX, team_mate.origin + v_right * 128, MOVE_NORMAL, team_mate);
+                                                                       break;
+                                                               case 1:
+                                                                       tracebox(team_mate.origin , PL_MIN, PL_MAX, team_mate.origin - v_right * 128 , MOVE_NORMAL, team_mate);
+                                                                       break;
+                                                               case 2:
+                                                                       tracebox(team_mate.origin , PL_MIN, PL_MAX, team_mate.origin + v_right * 64 - v_forward * 64, MOVE_NORMAL, team_mate);
+                                                                       break;
+                                                               case 3:
+                                                                       tracebox(team_mate.origin , PL_MIN, PL_MAX, team_mate.origin - v_right * 64 - v_forward * 64, MOVE_NORMAL, team_mate);
+                                                                       break;
+                                                               case 4:
+                                                                       tracebox(team_mate.origin , PL_MIN, PL_MAX, team_mate.origin - v_forward * 128, MOVE_NORMAL, team_mate);
+                                                                       break;
+                                                       }
+
+                                                       if(trace_fraction == 1.0)
+                                                       {
+                                                               traceline(trace_endpos + '0 0 4', trace_endpos - '0 0 100', MOVE_NORMAL, team_mate);
+                                                               if(trace_fraction != 1.0)
+                                                               {
+                                                                       if(autocvar_g_spawn_near_teammate_ignore_spawnpoint_closetodeath)
+                                                                       {
+                                                                               dist = vlen(trace_endpos - self.msnt_deathloc);
+                                                                               if(dist < best_dist || best_dist == 0)
+                                                                               {
+                                                                                       best_dist = dist;
+                                                                                       best_spot = trace_endpos;
+                                                                                       best_mate = team_mate;
+                                                                               }
+                                                                       }
+                                                                       else
+                                                                       {
+                                                                               setorigin(self, trace_endpos);
+                                                                               self.angles = team_mate.angles;
+                                                                               self.angles_z = 0; // never spawn tilted even if the spot says to
+                                                                               team_mate.msnt_timer = time + autocvar_g_spawn_near_teammate_ignore_spawnpoint_delay;
+                                                                               return 0;
+                                                                       }
+                                                               }
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
+               }
+
+               if(autocvar_g_spawn_near_teammate_ignore_spawnpoint_closetodeath)
+               if(best_dist)
+               {
+                       setorigin(self, best_spot);
+                       self.angles = best_mate.angles;
+                       self.angles_z = 0; // never spawn tilted even if the spot says to
+                       best_mate.msnt_timer = time + autocvar_g_spawn_near_teammate_ignore_spawnpoint_delay;
+               }
+       }
+       else if(spawn_spot.msnt_lookat)
        {
                self.angles = vectoangles(spawn_spot.msnt_lookat.origin - self.origin);
                self.angles_x = -self.angles_x;
+               self.angles_z = 0; // never spawn tilted even if the spot says to
                /*
                sprint(self, "You should be looking at ", spawn_spot.msnt_lookat.netname, "^7.\n");
                sprint(self, "distance: ", vtos(spawn_spot.msnt_lookat.origin - self.origin), "\n");
@@ -50,10 +148,17 @@ MUTATOR_HOOKFUNCTION(msnt_PlayerSpawn)
        return 0;
 }
 
+MUTATOR_HOOKFUNCTION(msnt_PlayerDies)
+{
+       self.msnt_deathloc = self.origin;
+       return 0;
+}
+
 MUTATOR_DEFINITION(mutator_spawn_near_teammate)
 {
        MUTATOR_HOOK(Spawn_Score, msnt_Spawn_Score, CBC_ORDER_ANY);
        MUTATOR_HOOK(PlayerSpawn, msnt_PlayerSpawn, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerDies, msnt_PlayerDies, CBC_ORDER_ANY);
 
        return 0;
 }
diff --git a/qcsrc/server/mutators/mutators.qc b/qcsrc/server/mutators/mutators.qc
new file mode 100644 (file)
index 0000000..71569b7
--- /dev/null
@@ -0,0 +1,29 @@
+void mutators_add()
+{
+       #define CHECK_MUTATOR_ADD(mut_cvar,mut_name,dependence) \
+               { if(cvar(mut_cvar) && dependence) { MUTATOR_ADD(mut_name); } }
+
+       CHECK_MUTATOR_ADD("g_dodging", mutator_dodging, 1);
+       CHECK_MUTATOR_ADD("g_spawn_near_teammate", mutator_spawn_near_teammate, teamplay);
+       CHECK_MUTATOR_ADD("g_physical_items", mutator_physical_items, 1);
+       CHECK_MUTATOR_ADD("g_touchexplode", mutator_touchexplode, 1);
+       CHECK_MUTATOR_ADD("g_minstagib", mutator_minstagib, !g_nexball);
+       CHECK_MUTATOR_ADD("g_invincible_projectiles", mutator_invincibleprojectiles, !cvar("g_minstagib"));
+       CHECK_MUTATOR_ADD("g_new_toys", mutator_new_toys, !cvar("g_minstagib"));
+       CHECK_MUTATOR_ADD("g_nix", mutator_nix, !cvar("g_minstagib"));
+       CHECK_MUTATOR_ADD("g_rocket_flying", mutator_rocketflying, !cvar("g_minstagib"));
+       CHECK_MUTATOR_ADD("g_vampire", mutator_vampire, !cvar("g_minstagib"));
+       CHECK_MUTATOR_ADD("g_superspectate", mutator_superspec, 1);
+       CHECK_MUTATOR_ADD("g_pinata", mutator_pinata, !cvar("g_minstagib"));
+       CHECK_MUTATOR_ADD("g_midair", mutator_midair, 1);
+       CHECK_MUTATOR_ADD("g_bloodloss", mutator_bloodloss, !cvar("g_minstagib"));
+       CHECK_MUTATOR_ADD("g_random_gravity", mutator_random_gravity, 1);
+       CHECK_MUTATOR_ADD("g_multijump", mutator_multijump, 1);
+       CHECK_MUTATOR_ADD("g_melee_only", mutator_melee_only, !cvar("g_minstagib") && !g_nexball);
+       CHECK_MUTATOR_ADD("g_nades", mutator_nades, 1);
+       CHECK_MUTATOR_ADD("g_sandbox", sandbox, 1);
+       CHECK_MUTATOR_ADD("g_campcheck", mutator_campcheck, 1);
+       CHECK_MUTATOR_ADD("g_buffs", mutator_buffs, 1);
+
+       #undef CHECK_MUTATOR_ADD
+}
index 3c17651a039ed99e935fc185fc581dfcca1c03a5..a28a45937cb0359c43de7c9b814d56544241cf26 100644 (file)
@@ -8,6 +8,9 @@ MUTATOR_DECLARATION(gamemode_nexball);
 MUTATOR_DECLARATION(gamemode_onslaught);
 MUTATOR_DECLARATION(gamemode_domination);
 MUTATOR_DECLARATION(gamemode_lms);
+MUTATOR_DECLARATION(gamemode_invasion);
+MUTATOR_DECLARATION(gamemode_cts);
+MUTATOR_DECLARATION(gamemode_race);
 
 MUTATOR_DECLARATION(mutator_dodging);
 MUTATOR_DECLARATION(mutator_invincibleprojectiles);
@@ -28,5 +31,6 @@ MUTATOR_DECLARATION(mutator_multijump);
 MUTATOR_DECLARATION(mutator_melee_only);
 MUTATOR_DECLARATION(mutator_nades);
 MUTATOR_DECLARATION(mutator_campcheck);
+MUTATOR_DECLARATION(mutator_buffs);
 
 MUTATOR_DECLARATION(sandbox);
diff --git a/qcsrc/server/mutators/mutators_include.qc b/qcsrc/server/mutators/mutators_include.qc
new file mode 100644 (file)
index 0000000..92bef2d
--- /dev/null
@@ -0,0 +1,36 @@
+#include "base.qc"
+#include "gamemode_assault.qc"
+#include "gamemode_ca.qc"
+#include "gamemode_ctf.qc"
+#include "gamemode_domination.qc"
+#include "gamemode_freezetag.qc"
+#include "gamemode_keyhunt.qc"
+#include "gamemode_keepaway.qc"
+#include "gamemode_nexball.qc"
+#include "gamemode_onslaught.qc"
+#include "gamemode_lms.qc"
+#include "gamemode_invasion.qc"
+#include "gamemode_race.qc"
+#include "gamemode_cts.qc"
+
+#include "mutator_invincibleproj.qc"
+#include "mutator_new_toys.qc"
+#include "mutator_nix.qc"
+#include "mutator_dodging.qc"
+#include "mutator_rocketflying.qc"
+#include "mutator_vampire.qc"
+#include "mutator_spawn_near_teammate.qc"
+#include "mutator_physical_items.qc"
+#include "sandbox.qc"
+#include "mutator_superspec.qc"
+#include "mutator_minstagib.qc"
+#include "mutator_touchexplode.qc"
+#include "mutator_pinata.qc"
+#include "mutator_midair.qc"
+#include "mutator_bloodloss.qc"
+#include "mutator_random_gravity.qc"
+#include "mutator_multijump.qc"
+#include "mutator_melee_only.qc"
+#include "mutator_nades.qc"
+#include "mutator_campcheck.qc"
+#include "mutator_buffs.qc"
diff --git a/qcsrc/server/mutators/mutators_include.qh b/qcsrc/server/mutators/mutators_include.qh
new file mode 100644 (file)
index 0000000..08841db
--- /dev/null
@@ -0,0 +1,17 @@
+#include "base.qh"
+#include "mutators.qh"
+#include "gamemode_assault.qh"
+#include "gamemode_ca.qh"
+#include "gamemode_ctf.qh"
+#include "gamemode_domination.qh"
+#include "gamemode_keyhunt.qh"
+#include "gamemode_keepaway.qh"
+#include "gamemode_nexball.qh"
+#include "gamemode_lms.qh"
+#include "gamemode_invasion.qh"
+#include "gamemode_race.qh"
+#include "gamemode_cts.qh"
+
+#include "mutator_dodging.qh"
+#include "mutator_nades.qh"
+#include "mutator_buffs.qh"
index 2c6e941a6a4dfd7585986ea74c969702e8609b81..8ba3211578c13bc683d3995a043174dbcf9afce9 100644 (file)
@@ -5,6 +5,26 @@ string events_last;
 .float playerstats_addedglobalinfo;
 .string playerstats_id;
 
+// Note that _time isn't mentioned here. That one is special.
+#define ALL_ANTICHEATS \
+       ANTICHEAT("speedhack"); \
+       ANTICHEAT("speedhack_m1"); \
+       ANTICHEAT("speedhack_m2"); \
+       ANTICHEAT("speedhack_m3"); \
+       ANTICHEAT("speedhack_m4"); \
+       ANTICHEAT("speedhack_m5"); \
+       ANTICHEAT("div0_strafebot_old"); \
+       ANTICHEAT("div0_strafebot_new"); \
+       ANTICHEAT("div0_evade"); \
+       ANTICHEAT("idle_snapaim"); \
+       ANTICHEAT("idle_snapaim_signal"); \
+       ANTICHEAT("idle_snapaim_noise"); \
+       ANTICHEAT("idle_snapaim_m2"); \
+       ANTICHEAT("idle_snapaim_m3"); \
+       ANTICHEAT("idle_snapaim_m4"); \
+       ANTICHEAT("idle_snapaim_m7"); \
+       ANTICHEAT("idle_snapaim_m10");
+
 void PlayerStats_Init() // initiated before InitGameplayMode so that scores are added properly
 {
        string uri;
@@ -44,6 +64,12 @@ void PlayerStats_Init() // initiated before InitGameplayMode so that scores are
         PlayerStats_AddEvent(strcat("acc-", w.netname, "-frags"));
     }
 
+       PlayerStats_AddEvent("anticheat-_time");
+#define ANTICHEAT(name) \
+       PlayerStats_AddEvent("anticheat-" name)
+       ALL_ANTICHEATS
+#undef ANTICHEAT
+
        PlayerStats_AddEvent(PLAYERSTATS_ACHIEVEMENT_KILL_SPREE_3);
        PlayerStats_AddEvent(PLAYERSTATS_ACHIEVEMENT_KILL_SPREE_5);
        PlayerStats_AddEvent(PLAYERSTATS_ACHIEVEMENT_KILL_SPREE_10);
@@ -356,6 +382,25 @@ void PlayerStats_Accuracy(entity p)
     //backtrace(strcat("adding player stat accuracy for ", p.netname, ".\n"));
 }
 
+void PlayerStats_Anticheat(entity p)
+{
+       entity oldself = self;
+       self = p;
+
+       float t0 = PlayerStats_Event(p, "anticheat-_time", 0);
+       float dt = anticheat_getvalue("_time");
+       PlayerStats_Event(p, "anticheat-_time", dt);
+       float f = dt / (t0 + dt);
+#define ANTICHEAT(name) do { \
+               float prev = PlayerStats_Event(p, "anticheat-" name, 0); \
+               float change = (anticheat_getvalue(name) - prev) * f; \
+               PlayerStats_Event(p, "anticheat-" name, change); \
+       } while(0)
+       ALL_ANTICHEATS
+#undef ANTICHEAT
+       self = oldself;
+}
+
 void PlayerStats_AddGlobalInfo(entity p)
 {
        if(playerstats_db < 0)
@@ -384,6 +429,8 @@ void PlayerStats_AddGlobalInfo(entity p)
 
        PlayerStats_Accuracy(p);
 
+       PlayerStats_Anticheat(p);
+
        if(IS_REAL_CLIENT(p))
        {
                if(p.latency_cnt)
@@ -430,3 +477,5 @@ void PlayerStats_EndMatch(float finished)
                }
        }
 }
+
+#undef ALL_ANTICHEATS
index f29324a478a8e622e4b72b81d995681a01d511b4..c71889ce1412f68dce5ab08a3ea2359c2db30113 100644 (file)
@@ -13,8 +13,10 @@ sys-post.qh
 ../warpzonelib/server.qh
 
 ../common/constants.qh
+../common/stats.qh
 ../common/teams.qh
 ../common/util.qh
+../common/buffs.qh
 ../common/test.qh
 ../common/counting.qh
 ../common/items.qh
@@ -26,6 +28,9 @@ sys-post.qh
 ../common/command/shared_defs.qh
 ../common/net_notice.qh
 ../common/animdecide.qh
+../common/monsters/monsters.qh
+../common/monsters/sv_monsters.qh
+../common/monsters/spawn.qh
 
 autocvars.qh
 constants.qh
@@ -34,18 +39,7 @@ defs.qh              // Should rename this, it has fields and globals
 ../common/notifications.qh // must be after autocvars
 ../common/deathtypes.qh // must be after notifications
 
-mutators/base.qh
-mutators/mutators.qh
-mutators/gamemode_assault.qh
-mutators/gamemode_ca.qh
-mutators/gamemode_ctf.qh
-mutators/gamemode_domination.qh
-mutators/gamemode_keyhunt.qh // TODO fix this
-mutators/gamemode_keepaway.qh
-mutators/gamemode_nexball.qh 
-mutators/gamemode_lms.qh
-mutators/mutator_dodging.qh
-mutators/mutator_nades.qh
+mutators/mutators_include.qh
 
 //// tZork Turrets ////
 tturrets/include/turrets_early.qh
@@ -84,6 +78,8 @@ scores.qh
 
 spawnpoints.qh
 
+mapvoting.qh
+
 ipban.qh
 
 race.qh
@@ -102,6 +98,8 @@ scores_rules.qc
 
 miscfunctions.qc
 
+mutators/mutators.qc
+
 waypointsprites.qc
 
 bot/bot.qc
@@ -127,6 +125,8 @@ pathlib/pathlib.qh
 g_world.qc
 g_casings.qc
 
+mapvoting.qc
+
 t_jumppads.qc
 t_teleporters.qc
 
@@ -210,6 +210,8 @@ target_music.qc
 
 ../common/items.qc
 
+../common/buffs.qc
+
 
 accuracy.qc
 ../csqcmodellib/sv_model.qc
@@ -225,37 +227,12 @@ round_handler.qc
 
 ../common/explosion_equation.qc
 
-mutators/base.qc
-mutators/gamemode_assault.qc
-mutators/gamemode_ca.qc
-mutators/gamemode_ctf.qc
-mutators/gamemode_domination.qc
-mutators/gamemode_freezetag.qc
-mutators/gamemode_keyhunt.qc
-mutators/gamemode_keepaway.qc
-mutators/gamemode_nexball.qc
-mutators/gamemode_onslaught.qc
-mutators/gamemode_lms.qc
-mutators/mutator_invincibleproj.qc
-mutators/mutator_new_toys.qc
-mutators/mutator_nix.qc
-mutators/mutator_dodging.qc
-mutators/mutator_rocketflying.qc
-mutators/mutator_vampire.qc
-mutators/mutator_spawn_near_teammate.qc
-mutators/mutator_physical_items.qc
-mutators/sandbox.qc
-mutators/mutator_superspec.qc
-mutators/mutator_minstagib.qc
-mutators/mutator_touchexplode.qc
-mutators/mutator_pinata.qc
-mutators/mutator_midair.qc
-mutators/mutator_bloodloss.qc
-mutators/mutator_random_gravity.qc
-mutators/mutator_multijump.qc
-mutators/mutator_melee_only.qc
-mutators/mutator_nades.qc
-mutators/mutator_campcheck.qc
+../common/monsters/sv_monsters.qc
+../common/monsters/monsters.qc
+
+../common/monsters/spawn.qc
+
+mutators/mutators_include.qc
 
 ../warpzonelib/anglestransform.qc
 ../warpzonelib/mathlib.qc
index e6d7a43accca9535df7edb251036e6669c9e2da3..8cc7d322c4e3a3fedb09346a9f9fe559fb67d137 100644 (file)
@@ -1,3 +1,72 @@
+float race_readTime(string map, float pos)
+{
+       string rr = (g_cts) ? CTS_RECORD : RACE_RECORD;
+
+       return stof(db_get(ServerProgsDB, strcat(map, rr, "time", ftos(pos))));
+}
+
+string race_readUID(string map, float pos)
+{
+       string rr = (g_cts) ? CTS_RECORD : RACE_RECORD;
+
+       return db_get(ServerProgsDB, strcat(map, rr, "crypto_idfp", ftos(pos)));
+}
+
+float race_readPos(string map, float t)
+{
+       float i;
+       for (i = 1; i <= RANKINGS_CNT; ++i)
+       if (race_readTime(map, i) == 0 || race_readTime(map, i) > t)
+               return i;
+
+       return 0; // pos is zero if unranked
+}
+
+void race_writeTime(string map, float t, string myuid)
+{
+       string rr = (g_cts) ? CTS_RECORD : RACE_RECORD;
+
+       float newpos;
+       newpos = race_readPos(map, t);
+
+       float i, prevpos = 0;
+       for(i = 1; i <= RANKINGS_CNT; ++i)
+       {
+               if(race_readUID(map, i) == myuid)
+                       prevpos = i;
+       }
+       if (prevpos)
+       {
+               // player improved his existing record, only have to iterate on ranks between new and old recs
+               for (i = prevpos; i > newpos; --i)
+               {
+                       db_put(ServerProgsDB, strcat(map, rr, "time", ftos(i)), ftos(race_readTime(map, i - 1)));
+                       db_put(ServerProgsDB, strcat(map, rr, "crypto_idfp", ftos(i)), race_readUID(map, i - 1));
+               }
+       }
+       else
+       {
+               // player has no ranked record yet
+               for (i = RANKINGS_CNT; i > newpos; --i)
+               {
+                       db_put(ServerProgsDB, strcat(map, rr, "time", ftos(i)), ftos(race_readTime(map, i - 1)));
+                       db_put(ServerProgsDB, strcat(map, rr, "crypto_idfp", ftos(i)), race_readUID(map, i - 1));
+               }
+       }
+
+       // store new time itself
+       db_put(ServerProgsDB, strcat(map, rr, "time", ftos(newpos)), ftos(t));
+       db_put(ServerProgsDB, strcat(map, rr, "crypto_idfp", ftos(newpos)), myuid);
+}
+
+string race_readName(string map, float pos)
+{
+       string rr = (g_cts) ? CTS_RECORD : RACE_RECORD;
+
+       return uid2name(db_get(ServerProgsDB, strcat(map, rr, "crypto_idfp", ftos(pos))));
+}
+
+
 #define MAX_CHECKPOINTS 255
 
 void spawnfunc_target_checkpoint();
@@ -72,6 +141,9 @@ void race_SendNextCheckpoint(entity e, float spec) // qualifying only
        if(recordholder == e.netname)
                recordholder = "";
 
+       if(!IS_REAL_CLIENT(e))
+               return;
+
        if(!spec)
                msg_entity = e;
        WRITESPECTATABLE_MSG_ONE({
@@ -91,13 +163,6 @@ void race_SendNextCheckpoint(entity e, float spec) // qualifying only
        });
 }
 
-void race_InitSpectator()
-{
-       if(g_race_qualifying)
-               if(msg_entity.enemy.race_laptime)
-                       race_SendNextCheckpoint(msg_entity.enemy, 1);
-}
-
 void race_send_recordtime(float msg)
 {
        // send the server best time
@@ -121,6 +186,9 @@ void race_SendRankings(float pos, float prevpos, float del, float msg)
 
 void race_SendStatus(float id, entity e)
 {
+       if(!IS_REAL_CLIENT(e))
+               return;
+
        float msg;
        if (id == 0)
                msg = MSG_ONE;
@@ -136,7 +204,9 @@ void race_SendStatus(float id, entity e)
        });
 }
 
-void race_setTime(string map, float t, string myuid, string mynetname, entity e) { // netname only used TEMPORARILY for printing
+void race_setTime(string map, float t, string myuid, string mynetname, entity e)
+{
+       // netname only used TEMPORARILY for printing
        float newpos, player_prevpos;
        newpos = race_readPos(map, t);
 
@@ -156,7 +226,10 @@ void race_setTime(string map, float t, string myuid, string mynetname, entity e)
                race_SendStatus(0, e); // "fail"
                Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_RACE_FAIL_RANKED, mynetname, player_prevpos, t, oldrec);
                return;
-       } else if (!newpos) { // no ranking, time worse than the worst ranked
+       }
+       else if (!newpos)
+       {
+               // no ranking, time worse than the worst ranked
                oldrec = race_readTime(GetMapname(), RANKINGS_CNT);
                race_SendStatus(0, e); // "fail"
                Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_RACE_FAIL_UNRANKED, mynetname, RANKINGS_CNT, t, oldrec);
@@ -178,7 +251,8 @@ void race_setTime(string map, float t, string myuid, string mynetname, entity e)
        // store new ranking
        race_writeTime(GetMapname(), t, myuid);
 
-       if (newpos == 1) {
+       if (newpos == 1)
+       {
                write_recordmarker(e, time - TIME_DECODE(t), TIME_DECODE(t));
                race_send_recordtime(MSG_ALL);
        }
@@ -208,7 +282,8 @@ void race_setTime(string map, float t, string myuid, string mynetname, entity e)
        }
 }
 
-void race_deleteTime(string map, float pos) {
+void race_deleteTime(string map, float pos)
+{
        string rr;
        if(g_cts)
                rr = CTS_RECORD;
@@ -216,12 +291,15 @@ void race_deleteTime(string map, float pos) {
                rr = RACE_RECORD;
 
        float i;
-       for (i = pos; i <= RANKINGS_CNT; ++i) {
-               if (i == RANKINGS_CNT) {
+       for (i = pos; i <= RANKINGS_CNT; ++i)
+       {
+               if (i == RANKINGS_CNT)
+               {
                        db_put(ServerProgsDB, strcat(map, rr, "time", ftos(i)), string_null);
                        db_put(ServerProgsDB, strcat(map, rr, "crypto_idfp", ftos(i)), string_null);
                }
-               else {
+               else
+               {
                        db_put(ServerProgsDB, strcat(map, rr, "time", ftos(i)), ftos(race_readTime(GetMapname(), i+1)));
                        db_put(ServerProgsDB, strcat(map, rr, "crypto_idfp", ftos(i)), race_readUID(GetMapname(), i+1));
                }
@@ -294,7 +372,8 @@ void race_SendTime(entity e, float cp, float t, float tvalid)
                        if(recordholder == e.netname)
                                recordholder = "";
 
-                       if(t != 0) {
+                       if(t != 0)
+                       {
                                if(cp == race_timed_checkpoint)
                                {
                                        race_setTime(GetMapname(), t, e.crypto_idfp, e.netname, e);
@@ -326,18 +405,21 @@ void race_SendTime(entity e, float cp, float t, float tvalid)
                        recordholder = "";
                }
 
-               msg_entity = e;
-               if(g_race_qualifying)
+               if(IS_REAL_CLIENT(e))
                {
-                       WRITESPECTATABLE_MSG_ONE_VARNAME(dummy1, {
-                               WriteByte(MSG_ONE, SVC_TEMPENTITY);
-                               WriteByte(MSG_ONE, TE_CSQC_RACE);
-                               WriteByte(MSG_ONE, RACE_NET_CHECKPOINT_HIT_QUALIFYING);
-                               WriteByte(MSG_ONE, race_CheckpointNetworkID(cp)); // checkpoint the player now is at
-                               WriteInt24_t(MSG_ONE, t); // time to that intermediate
-                               WriteInt24_t(MSG_ONE, recordtime); // previously best time
-                               WriteString(MSG_ONE, recordholder); // record holder
-                       });
+                       msg_entity = e;
+                       if(g_race_qualifying)
+                       {
+                               WRITESPECTATABLE_MSG_ONE_VARNAME(dummy1, {
+                                       WriteByte(MSG_ONE, SVC_TEMPENTITY);
+                                       WriteByte(MSG_ONE, TE_CSQC_RACE);
+                                       WriteByte(MSG_ONE, RACE_NET_CHECKPOINT_HIT_QUALIFYING);
+                                       WriteByte(MSG_ONE, race_CheckpointNetworkID(cp)); // checkpoint the player now is at
+                                       WriteInt24_t(MSG_ONE, t); // time to that intermediate
+                                       WriteInt24_t(MSG_ONE, recordtime); // previously best time
+                                       WriteString(MSG_ONE, recordholder); // record holder
+                               });
+                       }
                }
        }
        else // RACE! Not Qualifying
@@ -354,49 +436,55 @@ void race_SendTime(entity e, float cp, float t, float tvalid)
                else
                        lself = lother = othtime = 0;
 
-               msg_entity = e;
-               WRITESPECTATABLE_MSG_ONE_VARNAME(dummy2, {
-                       WriteByte(MSG_ONE, SVC_TEMPENTITY);
-                       WriteByte(MSG_ONE, TE_CSQC_RACE);
-                       WriteByte(MSG_ONE, RACE_NET_CHECKPOINT_HIT_RACE);
-                       WriteByte(MSG_ONE, race_CheckpointNetworkID(cp)); // checkpoint the player now is at
-                       if(e == oth)
-                       {
-                               WriteInt24_t(MSG_ONE, 0);
-                               WriteByte(MSG_ONE, 0);
-                               WriteString(MSG_ONE, "");
-                       }
-                       else
-                       {
-                               WriteInt24_t(MSG_ONE, TIME_ENCODE(time - race_checkpoint_lasttimes[cp]));
-                               WriteByte(MSG_ONE, lself - lother);
-                               WriteString(MSG_ONE, oth.netname); // record holder
-                       }
-               });
+               if(IS_REAL_CLIENT(e))
+               {
+                       msg_entity = e;
+                       WRITESPECTATABLE_MSG_ONE_VARNAME(dummy2, {
+                               WriteByte(MSG_ONE, SVC_TEMPENTITY);
+                               WriteByte(MSG_ONE, TE_CSQC_RACE);
+                               WriteByte(MSG_ONE, RACE_NET_CHECKPOINT_HIT_RACE);
+                               WriteByte(MSG_ONE, race_CheckpointNetworkID(cp)); // checkpoint the player now is at
+                               if(e == oth)
+                               {
+                                       WriteInt24_t(MSG_ONE, 0);
+                                       WriteByte(MSG_ONE, 0);
+                                       WriteString(MSG_ONE, "");
+                               }
+                               else
+                               {
+                                       WriteInt24_t(MSG_ONE, TIME_ENCODE(time - race_checkpoint_lasttimes[cp]));
+                                       WriteByte(MSG_ONE, lself - lother);
+                                       WriteString(MSG_ONE, oth.netname); // record holder
+                               }
+                       });
+               }
 
                race_checkpoint_lastplayers[cp] = e;
                race_checkpoint_lasttimes[cp] = time;
                race_checkpoint_lastlaps[cp] = lself;
 
-               msg_entity = oth;
-               WRITESPECTATABLE_MSG_ONE_VARNAME(dummy3, {
-                       WriteByte(MSG_ONE, SVC_TEMPENTITY);
-                       WriteByte(MSG_ONE, TE_CSQC_RACE);
-                       WriteByte(MSG_ONE, RACE_NET_CHECKPOINT_HIT_RACE_BY_OPPONENT);
-                       WriteByte(MSG_ONE, race_CheckpointNetworkID(cp)); // checkpoint the player now is at
-                       if(e == oth)
-                       {
-                               WriteInt24_t(MSG_ONE, 0);
-                               WriteByte(MSG_ONE, 0);
-                               WriteString(MSG_ONE, "");
-                       }
-                       else
-                       {
-                               WriteInt24_t(MSG_ONE, TIME_ENCODE(time - othtime));
-                               WriteByte(MSG_ONE, lother - lself);
-                               WriteString(MSG_ONE, e.netname); // record holder
-                       }
-               });
+               if(IS_REAL_CLIENT(oth))
+               {
+                       msg_entity = oth;
+                       WRITESPECTATABLE_MSG_ONE_VARNAME(dummy3, {
+                               WriteByte(MSG_ONE, SVC_TEMPENTITY);
+                               WriteByte(MSG_ONE, TE_CSQC_RACE);
+                               WriteByte(MSG_ONE, RACE_NET_CHECKPOINT_HIT_RACE_BY_OPPONENT);
+                               WriteByte(MSG_ONE, race_CheckpointNetworkID(cp)); // checkpoint the player now is at
+                               if(e == oth)
+                               {
+                                       WriteInt24_t(MSG_ONE, 0);
+                                       WriteByte(MSG_ONE, 0);
+                                       WriteString(MSG_ONE, "");
+                               }
+                               else
+                               {
+                                       WriteInt24_t(MSG_ONE, TIME_ENCODE(time - othtime));
+                                       WriteByte(MSG_ONE, lother - lself);
+                                       WriteString(MSG_ONE, e.netname); // record holder
+                               }
+                       });
+               }
        }
 }
 
@@ -408,6 +496,9 @@ void race_ClearTime(entity e)
        e.race_penalty_accumulator = 0;
        e.race_lastpenalty = world;
 
+       if(!IS_REAL_CLIENT(e))
+               return;
+
        msg_entity = e;
        WRITESPECTATABLE_MSG_ONE({
                WriteByte(MSG_ONE, SVC_TEMPENTITY);
@@ -476,7 +567,8 @@ void checkpoint_passed()
 
        other.porto_forbidden = 2; // decreased by 1 each StartFrame
 
-       if(defrag_ents) {
+       if(defrag_ents)
+       {
                if(self.race_checkpoint == -2)
                {
                        self.race_checkpoint = other.race_checkpoint;
@@ -484,7 +576,8 @@ void checkpoint_passed()
 
                float largest_cp_id = 0;
                float cp_amount = 0;
-               for(cp = world; (cp = find(cp, classname, "target_checkpoint"));) {
+               for(cp = world; (cp = find(cp, classname, "target_checkpoint"));)
+               {
                        cp_amount += 1;
                        if(cp.race_checkpoint > largest_cp_id) // update the finish id if someone hit a new checkpoint
                        {
@@ -494,13 +587,15 @@ void checkpoint_passed()
                                race_highest_checkpoint = largest_cp_id + 1;
                                race_timed_checkpoint = largest_cp_id + 1;
 
-                               for(cp = world; (cp = find(cp, classname, "target_checkpoint"));) {
+                               for(cp = world; (cp = find(cp, classname, "target_checkpoint"));)
+                               {
                                        if(cp.race_checkpoint == -2) // set defragcpexists to -1 so that the cp id file will be rewritten when someone finishes
                                                defragcpexists = -1;
                                }
                        }
                }
-               if(cp_amount == 0) {
+               if(cp_amount == 0)
+               {
                        for(cp = world; (cp = find(cp, classname, "target_stopTimer"));)
                                cp.race_checkpoint = 1;
                        race_highest_checkpoint = 1;
@@ -675,7 +770,8 @@ void trigger_race_checkpoint_verify()
                        while((l = fgets(fh)))
                        {
                                len = tokenize_console(l);
-                               if(len != 2) {
+                               if(len != 2)
+                               {
                                        defragcpexists = -1; // something's wrong in the defrag cp file, set defragcpexists to -1 so that it will be rewritten when someone finishes
                                        continue;
                                }
@@ -689,19 +785,23 @@ void trigger_race_checkpoint_verify()
 
        g_race_qualifying = qual;
 
-       if(race_timed_checkpoint) {
-               if(defrag_ents) {
+       if(race_timed_checkpoint)
+       {
+               if(defrag_ents)
+               {
                        for(cp = world; (cp = find(cp, classname, "target_startTimer"));)
                                WaypointSprite_UpdateSprites(cp.sprite, "race-start", "", "");
                        for(cp = world; (cp = find(cp, classname, "target_stopTimer"));)
                                WaypointSprite_UpdateSprites(cp.sprite, "race-finish", "", "");
 
-                       for(cp = world; (cp = find(cp, classname, "target_checkpoint"));) {
+                       for(cp = world; (cp = find(cp, classname, "target_checkpoint"));)
+                       {
                                if(cp.race_checkpoint == -2) // something's wrong with the defrag cp file or it has not been written yet, set defragcpexists to -1 so that it will be rewritten when someone finishes
                                        defragcpexists = -1;
                        }
 
-                       if(defragcpexists != -1){
+                       if(defragcpexists != -1)
+                       {
                                float largest_cp_id = 0;
                                for(cp = world; (cp = find(cp, classname, "target_checkpoint"));)
                                        if(cp.race_checkpoint > largest_cp_id)
@@ -710,14 +810,17 @@ void trigger_race_checkpoint_verify()
                                        cp.race_checkpoint = largest_cp_id + 1; // finish line
                                race_highest_checkpoint = largest_cp_id + 1;
                                race_timed_checkpoint = largest_cp_id + 1;
-                       } else {
+                       }
+                       else
+                       {
                                for(cp = world; (cp = find(cp, classname, "target_stopTimer"));)
                                        cp.race_checkpoint = 255; // finish line
                                race_highest_checkpoint = 255;
                                race_timed_checkpoint = 255;
                        }
                }
-               else {
+               else
+               {
                        for(cp = world; (cp = find(cp, classname, "trigger_race_checkpoint")); )
                                if(cp.sprite)
                                {
@@ -729,11 +832,13 @@ void trigger_race_checkpoint_verify()
                }
        }
 
-       if(defrag_ents) {
+       if(defrag_ents)
+       {
                entity trigger, targ;
                for(trigger = world; (trigger = find(trigger, classname, "trigger_multiple")); )
                        for(targ = world; (targ = find(targ, targetname, trigger.target)); )
-                               if (targ.classname == "target_checkpoint" || targ.classname == "target_startTimer" || targ.classname == "target_stopTimer") {
+                               if (targ.classname == "target_checkpoint" || targ.classname == "target_startTimer" || targ.classname == "target_stopTimer")
+                               {
                                        trigger.wait = 0;
                                        trigger.delay = 0;
                                        targ.wait = 0;
@@ -791,11 +896,7 @@ vector trigger_race_checkpoint_spawn_evalfunc(entity player, entity spot, vector
 void spawnfunc_trigger_race_checkpoint()
 {
        vector o;
-       if(!g_race && !g_cts)
-       {
-               remove(self);
-               return;
-       }
+       if(!g_race && !g_cts) { remove(self); return; }
 
        EXACTTRIGGER_INIT;
 
@@ -843,11 +944,7 @@ void spawnfunc_trigger_race_checkpoint()
 void spawnfunc_target_checkpoint() // defrag entity
 {
        vector o;
-       if(!g_race && !g_cts)
-       {
-               remove(self);
-               return;
-       }
+       if(!g_race && !g_cts) { remove(self); return; }
        defrag_ents = 1;
 
        EXACTTRIGGER_INIT;
@@ -926,57 +1023,9 @@ void race_RetractPlayer()
        self.race_checkpoint = self.race_respawn_checkpoint;
 }
 
-void race_PreDie()
-{
-       if(!g_race && !g_cts)
-               return;
-
-       race_AbandonRaceCheck(self);
-}
-
-void race_PreSpawn()
-{
-       if(!g_race && !g_cts)
-               return;
-       if(self.killcount == -666 /* initial spawn */ || g_race_qualifying) // spawn
-               race_PreparePlayer();
-       else // respawn
-               race_RetractPlayer();
-
-       race_AbandonRaceCheck(self);
-}
-
-void race_PostSpawn(entity spot)
-{
-       if(!g_race && !g_cts)
-               return;
-
-       if(spot.target == "")
-               // Emergency: this wasn't a real spawnpoint. Can this ever happen?
-               race_PreparePlayer();
-
-       // if we need to respawn, do it right
-       self.race_respawn_checkpoint = self.race_checkpoint;
-       self.race_respawn_spotref = spot;
-
-       self.race_place = 0;
-}
-
-void race_PreSpawnObserver()
-{
-       if(!g_race && !g_cts)
-               return;
-       race_PreparePlayer();
-       self.race_checkpoint = -1;
-}
-
 void spawnfunc_info_player_race (void)
 {
-       if(!g_race && !g_cts)
-       {
-               remove(self);
-               return;
-       }
+       if(!g_race && !g_cts) { remove(self); return; }
        ++race_spawns;
        spawnfunc_info_player_deathmatch();
 
@@ -1010,63 +1059,37 @@ void race_ClearRecords()
        self = e;
 }
 
-void race_ReadyRestart()
-{
-       float s;
-
-       Score_NicePrint(world);
-
-       race_ClearRecords();
-       PlayerScore_Sort(race_place, 0, 1, 0);
-
-       entity e;
-       FOR_EACH_CLIENT(e)
-       {
-               if(e.race_place)
-               {
-                       s = PlayerScore_Add(e, SP_RACE_FASTEST, 0);
-                       if(!s)
-                               e.race_place = 0;
-               }
-               print(e.netname, " = ", ftos(e.race_place), "\n");
-       }
-
-       if(g_race_qualifying == 2)
-       {
-               g_race_qualifying = 0;
-               independent_players = 0;
-               cvar_set("fraglimit", ftos(race_fraglimit));
-               cvar_set("leadlimit", ftos(race_leadlimit));
-               cvar_set("timelimit", ftos(race_timelimit));
-               ScoreRules_race();
-       }
-}
-
 void race_ImposePenaltyTime(entity pl, float penalty, string reason)
 {
        if(g_race_qualifying)
        {
                pl.race_penalty_accumulator += penalty;
-               msg_entity = pl;
-               WRITESPECTATABLE_MSG_ONE({
-                       WriteByte(MSG_ONE, SVC_TEMPENTITY);
-                       WriteByte(MSG_ONE, TE_CSQC_RACE);
-                       WriteByte(MSG_ONE, RACE_NET_PENALTY_QUALIFYING);
-                       WriteShort(MSG_ONE, TIME_ENCODE(penalty));
-                       WriteString(MSG_ONE, reason);
-               });
+               if(IS_REAL_CLIENT(pl))
+               {
+                       msg_entity = pl;
+                       WRITESPECTATABLE_MSG_ONE({
+                               WriteByte(MSG_ONE, SVC_TEMPENTITY);
+                               WriteByte(MSG_ONE, TE_CSQC_RACE);
+                               WriteByte(MSG_ONE, RACE_NET_PENALTY_QUALIFYING);
+                               WriteShort(MSG_ONE, TIME_ENCODE(penalty));
+                               WriteString(MSG_ONE, reason);
+                       });
+               }
        }
        else
        {
                pl.race_penalty = time + penalty;
-               msg_entity = pl;
-               WRITESPECTATABLE_MSG_ONE_VARNAME(dummy, {
-                       WriteByte(MSG_ONE, SVC_TEMPENTITY);
-                       WriteByte(MSG_ONE, TE_CSQC_RACE);
-                       WriteByte(MSG_ONE, RACE_NET_PENALTY_RACE);
-                       WriteShort(MSG_ONE, TIME_ENCODE(penalty));
-                       WriteString(MSG_ONE, reason);
-               });
+               if(IS_REAL_CLIENT(pl))
+               {
+                       msg_entity = pl;
+                       WRITESPECTATABLE_MSG_ONE_VARNAME(dummy, {
+                               WriteByte(MSG_ONE, SVC_TEMPENTITY);
+                               WriteByte(MSG_ONE, TE_CSQC_RACE);
+                               WriteByte(MSG_ONE, RACE_NET_PENALTY_RACE);
+                               WriteShort(MSG_ONE, TIME_ENCODE(penalty));
+                               WriteString(MSG_ONE, reason);
+                       });
+               }
        }
 }
 
index f6cc54a15e1522dc1ddd724cf6cdc328f44b95bf..09b4b36ce4aadbb1619ae6d56c1d1b2df8a54143 100644 (file)
@@ -1,14 +1,4 @@
-void race_InitSpectator();
-void race_PreSpawnObserver();
-void race_PreSpawn();
-void race_PostSpawn(entity spot);
-void race_PreDie();
-void race_ReadyRestart();
-float race_teams;
 float race_spawns;
-float race_PreviousCheckpoint(float f);
-float race_NextCheckpoint(float f);
-void race_AbandonRaceCheck(entity p);
 float race_highest_place_spawn; // number of places; a place higher gets spawned at 0
 float race_lowest_place_spawn; // where to spawn in qualifying
 float race_fraglimit;
@@ -18,8 +8,6 @@ float race_timelimit;
 .float race_started;
 .float race_completed;
 float race_completing;
-void race_ImposePenaltyTime(entity pl, float penalty, string reason);
-void race_StartCompleting();
 
 .float race_movetime; // for reading
 .float race_movetime_frac; // fractional accumulator for higher accuracy (helper for writing)
@@ -28,4 +16,13 @@ void race_StartCompleting();
 .float race_respawn_checkpoint;
 .entity race_respawn_spotref; // try THIS spawn in case you respawn
 
+// definitions for functions used outside race.qc
+float race_PreviousCheckpoint(float f);
+float race_NextCheckpoint(float f);
+void race_AbandonRaceCheck(entity p);
+void race_ImposePenaltyTime(entity pl, float penalty, string reason);
+void race_StartCompleting();
 float race_GetFractionalLapCount(entity e);
+float race_readTime(string map, float pos);
+string race_readUID(string map, float pos);
+string race_readName(string map, float pos);
index 3a8b830d74c04e82063566368b0c949bc7f52878..7b3742f0136c0367e58ad17306d3f62faaa0b710 100644 (file)
@@ -263,9 +263,6 @@ float PlayerScore_Clear(entity player)
 
        if(MUTATOR_CALLHOOK(ForbidPlayerScore_Clear)) return 0;
 
-       if(g_cts) return 0; // in CTS, you don't lose score by observing
-       if(g_race && g_race_qualifying) return 0; // in qualifying, you don't lose score by observing
-
        sk = player.scorekeeper;
        for(i = 0; i < MAX_SCORE; ++i)
        {
index b57666a6899ece808ef529f8267a721c2da41ee0..fbbf93803707f0a406678b04776d79600a8cef02 100644 (file)
@@ -65,34 +65,6 @@ void ScoreRules_kh(float teams)
        ScoreRules_basics_end();
 }
 
-// Race stuff
-#define ST_RACE_LAPS 1
-#define SP_RACE_LAPS 4
-#define SP_RACE_TIME 5
-#define SP_RACE_FASTEST 6
-void ScoreRules_race()
-{
-       ScoreRules_basics(race_teams, 0, 0, FALSE);
-       if(race_teams)
-       {
-               ScoreInfo_SetLabel_TeamScore(  ST_RACE_LAPS,    "laps",      SFL_SORT_PRIO_PRIMARY);
-               ScoreInfo_SetLabel_PlayerScore(SP_RACE_LAPS,    "laps",      SFL_SORT_PRIO_PRIMARY);
-               ScoreInfo_SetLabel_PlayerScore(SP_RACE_TIME,    "time",      SFL_SORT_PRIO_SECONDARY | SFL_LOWER_IS_BETTER | SFL_TIME);
-               ScoreInfo_SetLabel_PlayerScore(SP_RACE_FASTEST, "fastest",   SFL_LOWER_IS_BETTER | SFL_TIME);
-       }
-       else if(g_race_qualifying)
-       {
-               ScoreInfo_SetLabel_PlayerScore(SP_RACE_FASTEST, "fastest",   SFL_SORT_PRIO_PRIMARY | SFL_LOWER_IS_BETTER | SFL_TIME);
-       }
-       else
-       {
-               ScoreInfo_SetLabel_PlayerScore(SP_RACE_LAPS,    "laps",      SFL_SORT_PRIO_PRIMARY);
-               ScoreInfo_SetLabel_PlayerScore(SP_RACE_TIME,    "time",      SFL_SORT_PRIO_SECONDARY | SFL_LOWER_IS_BETTER | SFL_TIME);
-               ScoreInfo_SetLabel_PlayerScore(SP_RACE_FASTEST, "fastest",   SFL_LOWER_IS_BETTER | SFL_TIME);
-       }
-       ScoreRules_basics_end();
-}
-
 // Nexball stuff
 #define ST_NEXBALL_GOALS 1
 #define SP_NEXBALL_GOALS 4
@@ -106,12 +78,18 @@ void ScoreRules_nexball(float teams)
        ScoreRules_basics_end();
 }
 
-// FreezeTag stuff
 #define SP_FREEZETAG_REVIVALS 4
-void ScoreRules_freezetag()
+void ScoreRules_freezetag(float teams)
 {
-       CheckAllowedTeams(world);
-       ScoreRules_basics(((c4>=0) ? 4 : (c3>=0) ? 3 : 2), SFL_SORT_PRIO_PRIMARY, SFL_SORT_PRIO_PRIMARY, TRUE); // SFL_SORT_PRIO_PRIMARY
+       ScoreRules_basics(teams, SFL_SORT_PRIO_PRIMARY, SFL_SORT_PRIO_PRIMARY, TRUE); // SFL_SORT_PRIO_PRIMARY
        ScoreInfo_SetLabel_PlayerScore(SP_FREEZETAG_REVIVALS,           "revivals",             0);
        ScoreRules_basics_end();
 }
+
+#define ST_CA_ROUNDS 1
+void ScoreRules_ca(float teams)
+{
+       ScoreRules_basics(teams, SFL_SORT_PRIO_PRIMARY, 0, TRUE);
+       ScoreInfo_SetLabel_TeamScore(ST_CA_ROUNDS, "rounds", SFL_SORT_PRIO_PRIMARY);
+       ScoreRules_basics_end();
+}
index 043cb7713d24cc61c91b162efba963ec0dd73065..c8a75032bffa6fbca95ea045ebd089baf1c8dc93 100644 (file)
@@ -10,6 +10,7 @@ void CreatureFrame (void)
 
                float vehic = (self.vehicle_flags & VHF_ISVEHICLE);
                float projectile = (self.flags & FL_PROJECTILE);
+               float monster = (self.flags & FL_MONSTER);
 
                if (self.watertype <= CONTENT_WATER && self.waterlevel > 0) // workaround a retarded bug made by id software :P (yes, it's that old of a bug)
                {
@@ -19,7 +20,7 @@ void CreatureFrame (void)
                                self.dmgtime = 0;
                        }
 
-                       if(!vehic && !projectile) // vehicles and projectiles don't drown
+                       if(!vehic && !projectile && !monster) // vehicles, monsters and projectiles don't drown
                        {
                                if (self.waterlevel != WATERLEVEL_SUBMERGED)
                                {
@@ -61,7 +62,7 @@ void CreatureFrame (void)
                                                if (self.watersound_finished < time)
                                                {
                                                        self.watersound_finished = time + 0.5;
-                                                       sound (self, CH_PLAYER, "player/lava.wav", VOL_BASE, ATTEN_NORM);
+                                                       sound (self, CH_PLAYER_SINGLE, "player/lava.wav", VOL_BASE, ATTEN_NORM);
                                                }
                                                Damage (self, world, world, autocvar_g_balance_contents_playerdamage_lava * autocvar_g_balance_contents_damagerate * self.waterlevel, DEATH_LAVA, self.origin, '0 0 0');
                                        }
@@ -70,7 +71,7 @@ void CreatureFrame (void)
                                                if (self.watersound_finished < time)
                                                {
                                                        self.watersound_finished = time + 0.5;
-                                                       sound (self, CH_PLAYER, "player/slime.wav", VOL_BASE, ATTEN_NORM);
+                                                       sound (self, CH_PLAYER_SINGLE, "player/slime.wav", VOL_BASE, ATTEN_NORM);
                                                }
                                                Damage (self, world, world, autocvar_g_balance_contents_playerdamage_slime * autocvar_g_balance_contents_damagerate * self.waterlevel, DEATH_SLIME, self.origin, '0 0 0');
                                        }
@@ -93,7 +94,7 @@ void CreatureFrame (void)
                {
                        // check for falling damage
                        float velocity_len = vlen(self.velocity);
-                       if(!self.hook.state && !(g_cts && !autocvar_g_cts_selfdamage))
+                       if(!self.hook.state)
                        {
                                dm = vlen(self.oldvelocity) - velocity_len; // dm is now the velocity DECREASE. Velocity INCREASE should never cause a sound or any damage.
                                if (self.deadflag)
@@ -219,23 +220,26 @@ void StartFrame (void)
 
        game_delay_last = game_delay;
 
+       CreatureFrame ();
+       CheckRules_World ();
+
        // if in warmup stage and limit for warmup is hit start match
-       if (warmup_stage)
-       if ((g_warmup_limit > 0 && time >= g_warmup_limit)
+       if(warmup_stage)
+       if(!gameover)
+       if((g_warmup_limit > 0 && time >= g_warmup_limit)
         || (g_warmup_limit == 0 && autocvar_timelimit != 0 && time >= autocvar_timelimit * 60))
        {
                ReadyRestart();
                return;
        }
 
-       CreatureFrame ();
-       CheckRules_World ();
-
        bot_serverframe();
 
        FOR_EACH_PLAYER(self)
                self.porto_forbidden = max(0, self.porto_forbidden - 1);
 
+       anticheat_startframe();
+
        MUTATOR_CALLHOOK(SV_StartFrame);
 }
 
index 1db8f6cd7630fcf7913d3fd229696986f8aa5e7d..238c6cec506240d758fb262853bb3345f7b9dbf4 100644 (file)
@@ -23,7 +23,7 @@ var float  autocvar_cl_fullbright_items = 0;
 var vector autocvar_cl_weapon_stay_color = '2 0.5 0.5';
 var float  autocvar_cl_weapon_stay_alpha = 0.75;
 var float  autocvar_cl_simple_items = 0;
-var string autocvr_cl_simpleitems_postfix = "_simple";
+var string autocvar_cl_simpleitems_postfix = "_simple";
 .float  spawntime;
 .float  gravity;
 .vector colormod;
@@ -154,14 +154,14 @@ void ItemRead(float _IsNew)
 
 
 
-            if(fexists(sprintf("%s%s.md3", _fn2, autocvr_cl_simpleitems_postfix)))
-                self.mdl = strzone(sprintf("%s%s.md3", _fn2, autocvr_cl_simpleitems_postfix));
-            else if(fexists(sprintf("%s%s.dpm", _fn2, autocvr_cl_simpleitems_postfix)))
-                self.mdl = strzone(sprintf("%s%s.dpm", _fn2, autocvr_cl_simpleitems_postfix));
-            else if(fexists(sprintf("%s%s.iqm", _fn2, autocvr_cl_simpleitems_postfix)))
-                self.mdl = strzone(sprintf("%s%s.iqm", _fn2, autocvr_cl_simpleitems_postfix));
-            else if(fexists(sprintf("%s%s.obj", _fn2, autocvr_cl_simpleitems_postfix)))
-                self.mdl = strzone(sprintf("%s%s.obj", _fn2, autocvr_cl_simpleitems_postfix));
+            if(fexists(sprintf("%s%s.md3", _fn2, autocvar_cl_simpleitems_postfix)))
+                self.mdl = strzone(sprintf("%s%s.md3", _fn2, autocvar_cl_simpleitems_postfix));
+            else if(fexists(sprintf("%s%s.dpm", _fn2, autocvar_cl_simpleitems_postfix)))
+                self.mdl = strzone(sprintf("%s%s.dpm", _fn2, autocvar_cl_simpleitems_postfix));
+            else if(fexists(sprintf("%s%s.iqm", _fn2, autocvar_cl_simpleitems_postfix)))
+                self.mdl = strzone(sprintf("%s%s.iqm", _fn2, autocvar_cl_simpleitems_postfix));
+            else if(fexists(sprintf("%s%s.obj", _fn2, autocvar_cl_simpleitems_postfix)))
+                self.mdl = strzone(sprintf("%s%s.obj", _fn2, autocvar_cl_simpleitems_postfix));
             else
             {
                 self.draw = ItemDraw;
@@ -688,6 +688,8 @@ void Item_Touch (void)
                return;
        if (self.owner == other)
                return;
+       if (time < self.item_spawnshieldtime)
+               return;
 
        switch(MUTATOR_CALLHOOK(ItemTouch))
        {
index 3955442310817b537994f80d19d872ac6d65be3e..beccc7179450e7d951713e9c3b94931178e105da 100644 (file)
@@ -414,6 +414,10 @@ void spawnfunc_func_train()
        if (!self.speed)
                self.speed = 100;
 
+       if (!InitMovingBrushTrigger())
+               return;
+       self.effects |= EF_LOWPRECISION;
+       
        if (self.spawnflags & 2)
        {
                self.platmovetype_turn = TRUE;
@@ -422,10 +426,6 @@ void spawnfunc_func_train()
        else
                self.view_ofs = self.mins;
 
-       if (!InitMovingBrushTrigger())
-               return;
-       self.effects |= EF_LOWPRECISION;
-
        // wait for targets to spawn
        InitializeEntity(self, func_train_find, INITPRIO_SETLOCATION);
 
index bb1128bd60e8c532c217de9d8f9d99f9c0404d27..86a87c043d1fd5b781c13201bdb6d242435286b0 100644 (file)
@@ -114,18 +114,24 @@ void spawnfunc_target_give()
        InitializeEntity(self, target_give_init, INITPRIO_FINDTARGET);
 }
 
-//void spawnfunc_item_flight()       /* not supported */
-//void spawnfunc_item_haste()        /* not supported */
+//void spawnfunc_item_flight()       /* handled by buffs mutator or jetpack */
+//void spawnfunc_item_haste()        /* handled by buffs mutator */
 //void spawnfunc_item_health()       /* handled in t_quake.qc */
 //void spawnfunc_item_health_large() /* handled in t_items.qc */
 //void spawnfunc_item_health_small() /* handled in t_items.qc */
 //void spawnfunc_item_health_mega()  /* handled in t_items.qc */
-//void spawnfunc_item_invis()        /* not supported */
-//void spawnfunc_item_regen()        /* not supported */
+//void spawnfunc_item_invis()        /* handled by buffs mutator */
+//void spawnfunc_item_regen()        /* handled by buffs mutator */
 
 // CTF spawnfuncs handled in mutators/gamemode_ctf.qc now
 
-void spawnfunc_item_flight()         { spawnfunc_item_jetpack();       }
+void spawnfunc_item_flight()
+{
+       if(!cvar("g_buffs") || !cvar("g_buffs_flight"))
+               spawnfunc_item_jetpack();
+       else
+               buff_Init_Compat(self, BUFF_FLIGHT);
+}
 
 .float notteam;
 .float notsingle;
index 8f15a4f820c428c976ca17d5871ce178d99b9b6e..6e7c35b6a662f7f75ac5d6a5578d7da56517f103 100644 (file)
@@ -338,6 +338,12 @@ void spawnfunc_trigger_teleport (void)
 void WarpZone_PostTeleportPlayer_Callback(entity pl)
 {
        UpdateCSQCProjectileAfterTeleport(pl);
+       {
+               entity oldself = self;
+               self = pl;
+               anticheat_fixangle();
+               self = oldself;
+       }
        // "disown" projectiles after teleport
        if(pl.owner)
        if(pl.owner == pl.realowner)
index 769416c467e534441279a52222fd802e283d26ac..600af861ac956c55cba7a867ee567aa03b59bc5a 100644 (file)
@@ -28,8 +28,12 @@ void target_music_use()
 {
        if(!activator)
                return;
+       if(!IS_REAL_CLIENT(activator))
+               return;
        msg_entity = activator;
        target_music_sendto(MSG_ONE, 1);
+       entity head;
+       FOR_EACH_SPEC(head) if(head.enemy == activator) { msg_entity = head; target_music_sendto(MSG_ONE, 1); }
 }
 void spawnfunc_target_music()
 {
index 7f353dd650ad6bfc97b0542b2914a8356a6da9ec..62c9ce8ad2212376b180060f5ce5b3dd9d279dbb 100644 (file)
@@ -125,6 +125,8 @@ void InitGameplayMode()
                fraglimit_override = autocvar_g_ca_point_limit;
                leadlimit_override = autocvar_g_ca_point_leadlimit;
                MUTATOR_ADD(gamemode_ca);
+               if(autocvar_g_ca_team_spawns)
+                       have_team_spawns = -1; // request team spawns
        }
 
        if(g_keyhunt)
@@ -141,6 +143,8 @@ void InitGameplayMode()
                fraglimit_override = autocvar_g_freezetag_point_limit;
                leadlimit_override = autocvar_g_freezetag_point_leadlimit;
                MUTATOR_ADD(gamemode_freezetag);
+               if(autocvar_g_freezetag_team_spawns)
+                       have_team_spawns = -1; // request team spawns
        }
 
        if(g_assault)
@@ -159,7 +163,6 @@ void InitGameplayMode()
 
        if(g_race)
        {
-
                if(autocvar_g_race_teams)
                {
                        ActivateTeamplay();
@@ -172,6 +175,8 @@ void InitGameplayMode()
                qualifying_override = autocvar_g_race_qualifying_timelimit_override;
                fraglimit_override = autocvar_g_race_laps_limit;
                leadlimit_override = 0; // currently not supported by race
+
+               MUTATOR_ADD(gamemode_race);
        }
 
        if(g_cts)
@@ -179,6 +184,7 @@ void InitGameplayMode()
                g_race_qualifying = 1;
                fraglimit_override = 0;
                leadlimit_override = 0;
+               MUTATOR_ADD(gamemode_cts);
        }
 
        if(g_nexball)
@@ -195,6 +201,18 @@ void InitGameplayMode()
                MUTATOR_ADD(gamemode_keepaway);
        }
 
+       if(g_invasion)
+       {
+               fraglimit_override = autocvar_g_invasion_point_limit;
+               if(autocvar_g_invasion_teams >= 2)
+               {
+                       ActivateTeamplay();
+                       if(autocvar_g_invasion_team_spawns)
+                               have_team_spawns = -1; // request team spawns
+               }
+               MUTATOR_ADD(gamemode_invasion);
+       }
+
        if(teamplay)
                entcs_init();
 
@@ -236,12 +254,8 @@ void InitGameplayMode()
        }
 
        if(g_race || g_cts)
-       {
-               if(g_race_qualifying)
-                       independent_players = 1;
-
-               ScoreRules_race();
-       }
+       if(g_race_qualifying)
+               independent_players = 1;
 
        InitializeEntity(world, default_delayedinit, INITPRIO_GAMETYPE_FALLBACK);
 }
@@ -277,7 +291,7 @@ string getwelcomemessage(void)
        }
        if(autocvar_g_start_weapon_laser == 0)
                modifications = strcat(modifications, ", No start weapons");
-       if(autocvar_sv_gravity < 800)
+       if(cvar("sv_gravity") < stof(cvar_defstring("sv_gravity")))
                modifications = strcat(modifications, ", Low gravity");
        if(g_cloaked && !g_cts)
                modifications = strcat(modifications, ", Cloaked");
@@ -408,10 +422,7 @@ void CheckAllowedTeams (entity for_whom)
        else
        {
                // cover anything else by treating it like tdm with no teams spawned
-               if(g_race)
-                       dm = race_teams;
-               else
-                       dm = 2;
+               dm = 2;
 
                ret_float = dm;
                MUTATOR_CALLHOOK(GetTeamCount);
index b4ad709b4d0b547278fd74c4f20fff29a0d64b62..d35573b541e4b2ae7d8121da1f75cd5f51089ac9 100644 (file)
@@ -1102,6 +1102,8 @@ float turret_stdproc_init (string cvar_base_name, string base, string head, floa
     if (!self.health)
         self.health = 1000;
     self.tur_health = max(1, self.health);
+    self.bot_attack = TRUE;
+    self.monster_attack = TRUE;
 
     if (!self.turrcaps_flags)
         self.turrcaps_flags = TFL_TURRCAPS_RADIUSDMG | TFL_TURRCAPS_MEDPROJ | TFL_TURRCAPS_PLAYERKILL;
@@ -1334,7 +1336,6 @@ float turret_stdproc_init (string cvar_base_name, string base, string head, floa
         self.turret_score_target    = turret_stdproc_targetscore_generic;
 
     self.use = turret_stdproc_use;
-    self.bot_attack = TRUE;
 
     ++turret_count;
     self.nextthink = time + 1;
index 46c46d7f8f04068e7dba48f4b5f1e59320388385..eccc37f03f1ad1c8e56db6f2effde36f6b6aada4 100644 (file)
@@ -5,8 +5,7 @@ void turret_machinegun_attack();
 //.float bulletcounter;
 void turret_machinegun_attack()
 {
-    fireBallisticBullet (self.tur_shotorg, self.tur_shotdir_updated,self.shot_spread, self.shot_speed, 5, self.shot_dmg, self.shot_force, DEATH_TURRET_MACHINEGUN, 0, autocvar_g_balance_uzi_bulletconstant);
-    endFireBallisticBullet();
+    fireBullet (self.tur_shotorg, self.tur_shotdir_updated,self.shot_spread, 0, self.shot_dmg, self.shot_force, DEATH_TURRET_MACHINEGUN, 0);
 
     UziFlash();
     setattachment(self.muzzle_flash, self.tur_head, "tag_fire");
index 1ce59dd278bfb4e3bc2c5d84a9584bde94b212b2..2eeb08b8fda73978203dbac137b578d5e96e3e58 100644 (file)
@@ -515,8 +515,7 @@ void walker_postthink()
 void walker_attack()
 {
     sound (self, CH_WEAPON_A, "weapons/uzi_fire.wav", VOL_BASE, ATTEN_NORM);
-    fireBallisticBullet (self.tur_shotorg, self.tur_shotdir_updated, self.shot_spread, self.shot_speed, 5, self.shot_dmg, self.shot_force, DEATH_TURRET_WALK_GUN, 0, autocvar_g_balance_uzi_bulletconstant);
-    endFireBallisticBullet();
+    fireBullet (self.tur_shotorg, self.tur_shotdir_updated, self.shot_spread, 0, self.shot_dmg, self.shot_force, DEATH_TURRET_WALK_GUN, 0);
     pointparticles(particleeffectnum("laser_muzzleflash"), self.tur_shotorg, self.tur_shotdir_updated * 1000, 1);
 }
 
index bc5f03d8ae52f53d01bcdf33f51f6243974b98bd..657d227051e45cbe4da2d2e8df4295f3db36aba0 100644 (file)
@@ -792,10 +792,8 @@ void bumb_die()
 
 void bumb_impact()
 {
-    if(autocvar_g_vehicle_bumblebee_bouncepain_x)
-        vehilces_impact(autocvar_g_vehicle_bumblebee_bouncepain_x,
-                                               autocvar_g_vehicle_bumblebee_bouncepain_y,
-                                               autocvar_g_vehicle_bumblebee_bouncepain_z);
+       if(autocvar_g_vehicle_bumblebee_bouncepain_x)
+               vehicles_impact(autocvar_g_vehicle_bumblebee_bouncepain_x, autocvar_g_vehicle_bumblebee_bouncepain_y, autocvar_g_vehicle_bumblebee_bouncepain_z);
 }
 
 void bumb_spawn(float _f)
index ff54539027eaa8cebb27d1f45caa6101a11e6046..f009723b7f223103b3848b8ad05fc8bc84ae4ae1 100644 (file)
@@ -74,7 +74,6 @@ float autocvar_g_vehicle_racer_bouncestop;
 vector autocvar_g_vehicle_racer_bouncepain;
 
 var vector racer_force_from_tag(string tag_name, float spring_length, float max_power);
-void racer_spawn_default();
 
 void racer_align4point(float _delta)
 {
@@ -529,8 +528,8 @@ void racer_exit(float eject)
 
 void racer_impact()
 {
-    if(autocvar_g_vehicle_racer_bouncepain_x)
-        vehilces_impact(autocvar_g_vehicle_racer_bouncepain_x, autocvar_g_vehicle_racer_bouncepain_y, autocvar_g_vehicle_racer_bouncepain_z);
+       if(autocvar_g_vehicle_racer_bouncepain_x)
+               vehicles_impact(autocvar_g_vehicle_racer_bouncepain_x, autocvar_g_vehicle_racer_bouncepain_y, autocvar_g_vehicle_racer_bouncepain_z);
 }
 
 void racer_blowup()
@@ -544,16 +543,16 @@ void racer_blowup()
                                        autocvar_g_vehicle_racer_blowup_forceintensity,
                                        DEATH_VH_WAKI_DEATH, world);
 
-    self.nextthink  = time + autocvar_g_vehicle_racer_respawntime;
-    self.think      = racer_spawn_default;
+       self.alpha      = -1;
     self.movetype   = MOVETYPE_NONE;
     self.effects    = EF_NODRAW;
-
     self.colormod  = '0 0 0';
     self.avelocity = '0 0 0';
     self.velocity  = '0 0 0';
 
     setorigin(self, self.pos1);
+       self.touch = func_null;
+       self.nextthink = 0;
 }
 
 void racer_deadtouch()
@@ -624,12 +623,6 @@ void racer_spawn(float _spawnflag)
     self.damageforcescale = 0.5;
     //self.destvec = autocvar_g_vehicle_racer_bouncepain;
 }
-void racer_spawn_default()
-{
-       racer_spawn(0);
-}
-
-
 
 void spawnfunc_vehicle_racer()
 {
index 58a640e9cf8672afe3d0861b7c572f4ad4617bd9..a6ef526499528839ee09194e3b0fbd73bc5cee1c 100644 (file)
@@ -70,6 +70,11 @@ float autocvar_g_vehicle_raptor_shield;
 float autocvar_g_vehicle_raptor_shield_regen;
 float autocvar_g_vehicle_raptor_shield_regen_pause;
 
+float autocvar_g_vehicle_raptor_blowup_radius;
+float autocvar_g_vehicle_raptor_blowup_coredamage;
+float autocvar_g_vehicle_raptor_blowup_edgedamage;
+float autocvar_g_vehicle_raptor_blowup_forceintensity;
+
 float autocvar_g_vehicle_raptor_bouncefactor;
 float autocvar_g_vehicle_raptor_bouncestop;
 vector autocvar_g_vehicle_raptor_bouncepain;
@@ -690,7 +695,10 @@ void raptor_blowup()
 {
     self.deadflag    = DEAD_DEAD;
     self.vehicle_exit(VHEF_NORMAL);
-    RadiusDamage (self, self.enemy, 250, 15, 250, world, 250, DEATH_VH_RAPT_DEATH, world);
+       RadiusDamage(self, self.enemy, autocvar_g_vehicle_raptor_blowup_coredamage,
+                               autocvar_g_vehicle_raptor_blowup_edgedamage,
+                               autocvar_g_vehicle_raptor_blowup_radius, world,
+                               autocvar_g_vehicle_raptor_blowup_forceintensity, DEATH_VH_RAPT_DEATH, world);
 
     self.alpha          = -1;
     self.movetype       = MOVETYPE_NONE;
@@ -742,8 +750,8 @@ void raptor_die()
 
 void raptor_impact()
 {
-    if(autocvar_g_vehicle_raptor_bouncepain_x)
-        vehilces_impact(autocvar_g_vehicle_raptor_bouncepain_x, autocvar_g_vehicle_raptor_bouncepain_y, autocvar_g_vehicle_raptor_bouncepain_z);
+       if(autocvar_g_vehicle_raptor_bouncepain_x)
+               vehicles_impact(autocvar_g_vehicle_raptor_bouncepain_x, autocvar_g_vehicle_raptor_bouncepain_y, autocvar_g_vehicle_raptor_bouncepain_z);
 }
 
 // If we dont do this ever now and then, the raptors rotors
@@ -798,7 +806,7 @@ void raptor_spawn(float _f)
         //FIXME: Camera is in a bad place in HUD model.
         //setorigin(self.vehicle_viewport, '25 0 5');
 
-        self.vehicles_impusle   = raptor_impulse;
+        self.vehicles_impulse   = raptor_impulse;
 
         self.frame = 0;
 
index bdbcb828870829577254ea87fe569ad792acd51a..1085a904e2143f7e1abec373b6f4d80aa496cad7 100644 (file)
@@ -43,8 +43,7 @@ float autocvar_g_vehicle_spiderbot_minigun_ammo_max;
 float autocvar_g_vehicle_spiderbot_minigun_ammo_regen;
 float autocvar_g_vehicle_spiderbot_minigun_ammo_regen_pause;
 float autocvar_g_vehicle_spiderbot_minigun_force;
-float autocvar_g_vehicle_spiderbot_minigun_speed;
-float autocvar_g_vehicle_spiderbot_minigun_bulletconstant;
+float autocvar_g_vehicle_spiderbot_minigun_solidpenetration;
 
 float autocvar_g_vehicle_spiderbot_rocket_damage;
 float autocvar_g_vehicle_spiderbot_rocket_force;
@@ -59,6 +58,11 @@ float autocvar_g_vehicle_spiderbot_rocket_noise;
 float autocvar_g_vehicle_spiderbot_rocket_turnrate;
 float autocvar_g_vehicle_spiderbot_rocket_lifetime;
 
+float autocvar_g_vehicle_spiderbot_blowup_radius;
+float autocvar_g_vehicle_spiderbot_blowup_coredamage;
+float autocvar_g_vehicle_spiderbot_blowup_edgedamage;
+float autocvar_g_vehicle_spiderbot_blowup_forceintensity;
+
 vector autocvar_g_vehicle_spiderbot_bouncepain;
 
 
@@ -495,12 +499,8 @@ float spiderbot_frame()
             v_forward = normalize(v_forward);
             v += v_forward * 50;
 
-//void fireBallisticBullet(vector start, vector dir, float spread, float pSpeed, float lifetime, float damage, float force, float dtype, float tracereffects, float bulletconstant)
-
-            fireBallisticBullet(v, v_forward, autocvar_g_vehicle_spiderbot_minigun_spread, autocvar_g_vehicle_spiderbot_minigun_speed,
-                                5, autocvar_g_vehicle_spiderbot_minigun_damage, autocvar_g_vehicle_spiderbot_minigun_force, DEATH_VH_SPID_MINIGUN, 0, autocvar_g_vehicle_spiderbot_minigun_bulletconstant);
-
-            endFireBallisticBullet();
+            fireBullet(v, v_forward, autocvar_g_vehicle_spiderbot_minigun_spread, autocvar_g_vehicle_spiderbot_minigun_solidpenetration,
+                                autocvar_g_vehicle_spiderbot_minigun_damage, autocvar_g_vehicle_spiderbot_minigun_force, DEATH_VH_SPID_MINIGUN, 0);
 
 //            fireBullet (v, v_forward, autocvar_g_vehicle_spiderbot_minigun_spread, autocvar_g_vehicle_spiderbot_minigun_damage,
 //                autocvar_g_vehicle_spiderbot_minigun_spread, DEATH_VH_SPID_MINIGUN, 0);
@@ -639,8 +639,8 @@ void spiderbot_exit(float eject)
 
 void spider_impact()
 {
-    if(autocvar_g_vehicle_spiderbot_bouncepain_x)
-        vehilces_impact(autocvar_g_vehicle_spiderbot_bouncepain_x, autocvar_g_vehicle_spiderbot_bouncepain_y, autocvar_g_vehicle_spiderbot_bouncepain_z);
+       if(autocvar_g_vehicle_spiderbot_bouncepain_x)
+               vehicles_impact(autocvar_g_vehicle_spiderbot_bouncepain_x, autocvar_g_vehicle_spiderbot_bouncepain_y, autocvar_g_vehicle_spiderbot_bouncepain_z);
 }
 
 void spiderbot_headfade()
@@ -723,14 +723,18 @@ void spiderbot_blowup()
     SUB_SetFade(g1, time, min(autocvar_g_vehicle_spiderbot_respawntime, 10));
     SUB_SetFade(g2, time, min(autocvar_g_vehicle_spiderbot_respawntime, 10));
 
-    RadiusDamage (self, self.enemy, 250, 15, 250, world, 250, DEATH_VH_SPID_DEATH, world);
+       RadiusDamage(self, self.enemy, autocvar_g_vehicle_spiderbot_blowup_coredamage,
+                               autocvar_g_vehicle_spiderbot_blowup_edgedamage,
+                               autocvar_g_vehicle_spiderbot_blowup_radius, world,
+                               autocvar_g_vehicle_spiderbot_blowup_forceintensity, DEATH_VH_SPID_DEATH, world);
 
     self.alpha = self.tur_head.alpha = self.gun1.alpha = self.gun2.alpha = -1;
     self.movetype   = MOVETYPE_NONE;
     self.deadflag   = DEAD_DEAD;
     self.solid      = SOLID_NOT;
     self.tur_head.effects  &=  ~EF_FLAME;
-    self.vehicle_hudmodel.viewmodelforclient = self;
+       self.vehicle_hudmodel.viewmodelforclient = self;
+       setorigin(self, self.pos1);
 }
 
 void spiderbot_die()
@@ -789,7 +793,7 @@ void spiderbot_spawn(float _f)
 {
     if(!self.gun1)
     {
-        self.vehicles_impusle   = spiderbot_impulse;
+        self.vehicles_impulse   = spiderbot_impulse;
         self.gun1               = spawn();
         self.gun2               = spawn();
         setmodel(self.gun1, "models/vehicles/spiderbot_barrels.dpm");
index 1e5537a259934cd2faab7750716d1b9d57ea22de..2ee34b928f0da2aa62493892162f9100a50c85a4 100644 (file)
@@ -16,7 +16,7 @@ void vehicles_return();
 void vehicles_enter();
 void vehicles_touch();
 void vehicles_reset_colors();
-void vehicles_clearrturn();
+void vehicles_clearreturn();
 void vehicles_setreturn();
 
 
@@ -456,6 +456,30 @@ entity vehicles_projectile(string _mzlfx, string _mzlsound,
 }
 // End generic vehile projectile system
 
+void vehicles_reset()
+{
+       if(self.owner)
+       {
+               entity oldself = self;
+               self = self.owner;
+               vehicles_exit(VHEF_RELESE);
+               self = oldself;
+       }
+       self.alpha      = -1;
+       self.movetype   = MOVETYPE_NONE;
+       self.effects    = EF_NODRAW;
+       self.colormod  = '0 0 0';
+       self.avelocity = '0 0 0';
+       self.velocity  = '0 0 0';
+       self.event_damage = func_null;
+       self.solid = SOLID_NOT;
+       self.deadflag = DEAD_NO;
+
+       self.touch = func_null;
+       self.nextthink = 0;
+       vehicles_setreturn();
+}
+
 /** vehicles_spawn
     Exetuted for all vehicles on (re)spawn.
     Sets defaults for newly spawned units.
@@ -470,6 +494,7 @@ void vehicles_spawn()
     self.owner              = world;
     self.touch              = vehicles_touch;
     self.event_damage       = vehicles_damage;
+    self.reset              = vehicles_reset;
     self.iscreature         = TRUE;
     self.teleportable       = FALSE; // no teleporting for vehicles, too buggy
     self.damagedbycontents     = TRUE;
@@ -512,7 +537,7 @@ float vehicles_crushable(entity e)
     return FALSE;
 }
 
-void vehilces_impact(float _minspeed, float _speedfac, float _maxpain)
+void vehicles_impact(float _minspeed, float _speedfac, float _maxpain)
 {
     if (trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT)
         return;
@@ -636,6 +661,7 @@ void vehicles_enter()
 
     self.team                 = self.owner.team;
     self.flags               -= FL_NOTARGET;
+    self.monster_attack       = TRUE;
 
     if (IS_REAL_CLIENT(other))
     {
@@ -658,7 +684,7 @@ void vehicles_enter()
         }
     }
 
-    vehicles_clearrturn();
+    vehicles_clearreturn();
 
     CSQCVehicleSetup(self.owner, self.hud);
 
@@ -813,6 +839,7 @@ void vehicles_exit(float eject)
     sound (_vehicle, CH_TRIGGER_SINGLE, "misc/null.wav", 1, ATTEN_NORM);
     _vehicle.vehicle_hudmodel.viewmodelforclient = _vehicle;
     _vehicle.phase = time + 1;
+    _vehicle.monster_attack = FALSE;
 
     _vehicle.vehicle_exit(eject);
 
@@ -964,7 +991,7 @@ void vehicles_damage(entity inflictor, entity attacker, float damage, float deat
     }
 }
 
-void vehicles_clearrturn()
+void vehicles_clearreturn()
 {
     entity ret;
     // Remove "return helper", if any.
@@ -1055,7 +1082,7 @@ void vehicles_setreturn()
 {
     entity ret;
 
-    vehicles_clearrturn();
+    vehicles_clearreturn();
 
     ret = spawn();
     ret.classname   = "vehicle_return";
@@ -1063,19 +1090,16 @@ void vehicles_setreturn()
     ret.team        = self.team;
     ret.think       = vehicles_showwp;
 
-    if(self.deadflag != DEAD_NO)
-    {
-        ret.cnt         = time + self.vehicle_respawntime;
-        ret.nextthink   = min(time + self.vehicle_respawntime, time + self.vehicle_respawntime - 5);
-    }
-    else
-    {
-        ret.nextthink   = min(time + self.vehicle_respawntime, time + self.vehicle_respawntime - 1);
-    }
+       if(self.deadflag != DEAD_NO)
+       {
+               ret.cnt = max(game_starttime, time) + self.vehicle_respawntime;
+               ret.nextthink = max(game_starttime, time) + max(0, self.vehicle_respawntime - 5);
+       }
+       else
+               ret.nextthink = max(game_starttime, time) + max(0, self.vehicle_respawntime - 1);
 
     setmodel(ret, "null");
     setorigin(ret, self.pos1 + '0 0 96');
-
 }
 
 void vehicles_reset_colors()
@@ -1273,15 +1297,14 @@ float vehicle_initialize(string  net_name,
     self.event_damage        = func_null;
     self.touch               = vehicles_touch;
     self.think               = vehicles_spawn;
-    self.nextthink           = time;
-    self.vehicle_respawntime = _respawntime;
     self.vehicle_spawn       = spawnproc;
+       self.vehicle_respawntime = max(0, _respawntime);
     self.effects             = EF_NODRAW;
        self.dphitcontentsmask   = DPCONTENTS_BODY | DPCONTENTS_SOLID;
-    if(!autocvar_g_vehicles_delayspawn)
-        self.nextthink = time + game_starttime;
-    else
-        self.nextthink = time + _respawntime + (random() * autocvar_g_vehicles_delayspawn_jitter);
+       if(!autocvar_g_vehicles_delayspawn || !self.vehicle_respawntime)
+               self.nextthink = time;
+       else
+               self.nextthink = max(time, game_starttime) + max(0, self.vehicle_respawntime + ((random() * 2 - 1) * autocvar_g_vehicles_delayspawn_jitter));
 
        if(autocvar_g_playerclip_collisions)
                self.dphitcontentsmask |= DPCONTENTS_PLAYERCLIP;
index 393563f18b51a0aced50c1734498493273d027f8..56fc9ea009e542fd219dcf1f42cc922c4ce86e5d 100644 (file)
@@ -62,11 +62,9 @@ const float SVC_UPDATEENTITY  = 128; // Net.Protocol 0x80
 #define VHSF_NORMAL 0
 #define VHSF_FACTORY 2
 .void(float _spawnflag) vehicle_spawn;  /// Vehicles custom fucntion to be efecuted when vehicle (re)spawns
-.float(float _imp) vehicles_impusle;
+.float(float _imp) vehicles_impulse;
 .float vehicle_weapon2mode = volly_counter;
 
-//§ .void() vehicle_factory()
-
 #ifdef VEHICLES_USE_ODE
 void(entity e, float physics_enabled) physics_enable = #540; // enable or disable physics on object
 void(entity e, vector force, vector force_pos) physics_addforce = #541; // apply a force from certain origin, length of force vector is power of force
index 72cac7985797445909ff04409d554f63b01ea8ff..a7ae4d3266f0edd2df798039406002121ec46fe3 100644 (file)
@@ -35,9 +35,6 @@ void FireRailgunBullet (vector start, vector end, float bdamage, float bforce, f
 
        pseudoprojectile = world;
 
-       railgun_start = start;
-       railgun_end = end;
-
        dir = normalize(end - start);
        length = vlen(end - start);
        force = dir * bforce;
@@ -165,328 +162,68 @@ void FireRailgunBullet (vector start, vector end, float bdamage, float bforce, f
        trace_dphitq3surfaceflags = endq3surfaceflags;
 }
 
-.float dmg_force;
-.float dmg_radius;
-.float dmg_total;
-//.float last_yoda;
-void W_BallisticBullet_Hit (void)
-{
-       float f, q, g;
-
-       f = pow(bound(0, vlen(self.velocity) / vlen(self.oldvelocity), 1), 2); // energy multiplier
-       q = 1 + self.dmg_edge / self.dmg;
-
-       if(other.solid == SOLID_BSP || other.solid == SOLID_SLIDEBOX)
-               Damage_DamageInfo(self.origin, self.dmg * f, 0, 0, max(1, self.dmg_force) * normalize(self.velocity) * f, self.projectiledeathtype, other.species, self);
-
-       if(other && other != self.enemy)
-       {
-               endzcurveparticles();
-
-               yoda = 0;
-               railgun_start = self.origin - 2 * frametime * self.velocity;
-               railgun_end = self.origin + 2 * frametime * self.velocity;
-               g = accuracy_isgooddamage(self.realowner, other);
-               Damage(other, self, self.realowner, self.dmg * f, self.projectiledeathtype, self.origin, self.dmg_force * normalize(self.velocity) * f);
-
-               /*if(yoda && (time > (self.last_yoda + 5)))
-               {
-                       Send_Notification(NOTIF_ONE, self.realowner, MSG_ANNCE, ANNCE_ACHIEVEMENT_YODA);
-                       self.last_yoda = time;
-               }*/
-
-               // calculate hits for ballistic weapons
-               if(g)
-               {
-                       // do not exceed 100%
-                       q = min(self.dmg * q, self.dmg_total + f * self.dmg) - self.dmg_total;
-                       self.dmg_total += f * self.dmg;
-                       accuracy_add(self.realowner, self.realowner.weapon, 0, q);
-               }
-       }
-
-       self.enemy = other; // don't hit the same player twice with the same bullet
-}
-
-.void(void) W_BallisticBullet_LeaveSolid_think_save;
-.float W_BallisticBullet_LeaveSolid_nextthink_save;
-.vector W_BallisticBullet_LeaveSolid_origin;
-.vector W_BallisticBullet_LeaveSolid_velocity;
-
-void W_BallisticBullet_LeaveSolid_think()
+float fireBullet_trace_callback_eff;
+entity fireBullet_last_hit;
+void fireBullet_trace_callback(vector start, vector hit, vector end)
 {
-       setorigin(self, self.W_BallisticBullet_LeaveSolid_origin);
-       self.velocity = self.W_BallisticBullet_LeaveSolid_velocity;
-
-       self.think = self.W_BallisticBullet_LeaveSolid_think_save;
-       self.nextthink = max(time, self.W_BallisticBullet_LeaveSolid_nextthink_save);
-       self.W_BallisticBullet_LeaveSolid_think_save = func_null;
-
-       self.flags &= ~FL_ONGROUND;
-
-       if(self.enemy.solid == SOLID_BSP)
-       {
-               float f;
-               f = pow(bound(0, vlen(self.velocity) / vlen(self.oldvelocity), 1), 2); // energy multiplier
-               Damage_DamageInfo(self.origin, 0, 0, 0, max(1, self.dmg_force) * normalize(self.velocity) * -f, self.projectiledeathtype, 0, self);
-       }
-
-       UpdateCSQCProjectile(self);
-}
-
-float W_BallisticBullet_LeaveSolid(float eff)
-{
-       // move the entity along its velocity until it's out of solid, then let it resume
-       vector vel = self.velocity;
-       float dt, dst, velfactor, v0, vs;
-       float maxdist;
-       float E0_m, Es_m;
-       float constant = self.dmg_radius * (other.ballistics_density ? other.ballistics_density : 1);
-
-       // outside the world? forget it
-       if(self.origin_x > world.maxs_x || self.origin_y > world.maxs_y || self.origin_z > world.maxs_z || self.origin_x < world.mins_x || self.origin_y < world.mins_y || self.origin_z < world.mins_z)
-               return 0;
-
-       // special case for zero density and zero bullet constant:
-
-       if(self.dmg_radius == 0)
-       {
-               if(other.ballistics_density < 0)
-                       constant = 0; // infinite travel distance
-               else
-                       return 0; // no penetration
-       }
-       else
-       {
-               if(other.ballistics_density < 0)
-                       constant = 0; // infinite travel distance
-               else if(other.ballistics_density == 0)
-                       constant = self.dmg_radius;
-               else
-                       constant = self.dmg_radius * other.ballistics_density;
-       }
-
-       // E(s) = E0 - constant * s, constant = area of bullet circle * material constant / mass
-       v0 = vlen(vel);
-
-       E0_m = 0.5 * v0 * v0;
-
-       if(constant)
-       {
-               maxdist = E0_m / constant;
-               // maxdist = 0.5 * v0 * v0 / constant
-               // dprint("max dist = ", ftos(maxdist), "\n");
-
-               if(maxdist <= autocvar_g_ballistics_mindistance)
-                       return 0;
-       }
-       else
-       {
-               maxdist = vlen(other.maxs - other.mins) + 1; // any distance, as long as we leave the entity
-       }
-
-       traceline_inverted (self.origin, self.origin + normalize(vel) * maxdist, MOVE_NORMAL, self, TRUE);
-       if(trace_fraction == 1) // 1: we never got out of solid
-               return 0;
-
-       self.W_BallisticBullet_LeaveSolid_origin = trace_endpos;
-
-       dst = max(autocvar_g_ballistics_mindistance, vlen(trace_endpos - self.origin));
-       // E(s) = E0 - constant * s, constant = area of bullet circle * material constant / mass
-       Es_m = E0_m - constant * dst;
-       if(Es_m <= 0)
-       {
-               // roundoff errors got us
-               return 0;
-       }
-       vs = sqrt(2 * Es_m);
-       velfactor = vs / v0;
-
-       dt = dst / (0.5 * (v0 + vs));
-       // this is not correct, but the differential equations have no analytic
-       // solution - and these times are very small anyway
-       //print("dt = ", ftos(dt), "\n");
-
-       self.W_BallisticBullet_LeaveSolid_think_save = self.think;
-       self.W_BallisticBullet_LeaveSolid_nextthink_save = self.nextthink;
-       self.think = W_BallisticBullet_LeaveSolid_think;
-       self.nextthink = time + dt;
-
-       vel = vel * velfactor;
-
-       self.velocity = '0 0 0';
-       self.flags |= FL_ONGROUND; // prevent moving
-       self.W_BallisticBullet_LeaveSolid_velocity = vel;
-
-       if(eff >= 0)
-               if(vlen(trace_endpos - self.origin) > 4)
-               {
-                       endzcurveparticles();
-                       trailparticles(self, eff, self.origin, trace_endpos);
-               }
-
-       return 1;
-}
-
-void W_BallisticBullet_Touch (void)
-{
-       //float density;
-
-       if(self.think == W_BallisticBullet_LeaveSolid_think) // skip this!
-               return;
-
-       PROJECTILE_TOUCH;
-       W_BallisticBullet_Hit ();
-
-       if(self.dmg_radius < 0) // these NEVER penetrate solid
-       {
-               remove(self);
-               return;
-       }
-
-       // if we hit "weapclip", bail out
-       //
-       // rationale of this check:
-       //
-       // any shader that is solid, nodraw AND trans is meant to clip weapon
-       // shots and players, but has no other effect!
-       //
-       // if it is not trans, it is caulk and should not have this side effect
-       //
-       // matching shaders:
-       //   common/weapclip (intended)
-       //   common/noimpact (is supposed to eat projectiles, but is erased farther above)
-       if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NODRAW)
-       if (!(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NONSOLID))
-       if (!(trace_dphitcontents & DPCONTENTS_OPAQUE))
-       {
-               remove(self);
-               return;
-       }
-
-       // go through solid!
-       if(!W_BallisticBullet_LeaveSolid(-1))
-       {
-               remove(self);
-               return;
-       }
-
-       self.projectiledeathtype |= HITTYPE_BOUNCE;
-}
-
-void endFireBallisticBullet()
-{
-       endzcurveparticles();
-}
-
-entity fireBallisticBullet_trace_callback_ent;
-float fireBallisticBullet_trace_callback_eff;
-void fireBallisticBullet_trace_callback(vector start, vector hit, vector end)
-{
-       if(vlen(trace_endpos - fireBallisticBullet_trace_callback_ent.origin) > 16)
-               zcurveparticles_from_tracetoss(fireBallisticBullet_trace_callback_eff, fireBallisticBullet_trace_callback_ent.origin, trace_endpos, fireBallisticBullet_trace_callback_ent.velocity);
+       if(vlen(hit - start) > 16)
+               trailparticles(world, fireBullet_trace_callback_eff, start, hit);
        WarpZone_trace_forent = world;
-       self.owner = world;
+       fireBullet_last_hit = world;
 }
 
-void fireBallisticBullet(vector start, vector dir, float spread, float pSpeed, float lifetime, float damage, float force, float dtype, float tracereffects, float bulletconstant)
+void fireBullet(vector start, vector dir, float spread, float max_solid_penetration, float damage, float force, float dtype, float tracereffects)
 {
-       float lag, dt, savetime; //, density;
-       entity pl, oldself;
-
-       entity proj;
-       proj = spawn();
-       proj.classname = "bullet";
-       proj.owner = proj.realowner = self;
-       PROJECTILE_MAKETRIGGER(proj);
-       proj.movetype = MOVETYPE_FLY;
-       proj.think = SUB_Remove;
-       proj.nextthink = time + lifetime; // min(pLifetime, vlen(world.maxs - world.mins) / pSpeed);
-       W_SetupProjectileVelocityEx(proj, dir, v_up, pSpeed, 0, 0, spread, TRUE);
-       proj.angles = vectoangles(proj.velocity);
-       if(bulletconstant > 0)
-               proj.dmg_radius = autocvar_g_ballistics_materialconstant / bulletconstant;
-       else if(bulletconstant == 0)
-               proj.dmg_radius = 0;
-       else
-               proj.dmg_radius = -1;
-       // so: bulletconstant = bullet mass / area of bullet circle
-       setorigin(proj, start);
-       proj.flags = FL_PROJECTILE;
-
-       proj.touch = W_BallisticBullet_Touch;
-       proj.dmg = damage;
-       proj.dmg_force = force;
-       proj.projectiledeathtype = dtype;
-
-       proj.oldvelocity = proj.velocity;
+       // TODO antilag takeback
+       vector  end;
 
-       other = proj; MUTATOR_CALLHOOK(EditProjectile);
+       dir = normalize(dir + randomvec() * spread);
+       end = start + dir * MAX_SHOT_DISTANCE;
 
-       float eff;
+       entity pl;
+       fireBullet_last_hit = world;
+       float solid_penetration_left = 1;
+       float total_damage = 0;
 
        if(tracereffects & EF_RED)
-               eff = particleeffectnum("tr_rifle");
+               fireBullet_trace_callback_eff = particleeffectnum("tr_rifle");
        else if(tracereffects & EF_BLUE)
-               eff = particleeffectnum("tr_rifle_weak");
+               fireBullet_trace_callback_eff = particleeffectnum("tr_rifle_weak");
        else
-               eff = particleeffectnum("tr_bullet");
+               fireBullet_trace_callback_eff = particleeffectnum("tr_bullet");
 
-       // NOTE: this may severely throw off weapon balance
-       lag = ANTILAG_LATENCY(self);
+       float lag = ANTILAG_LATENCY(self);
        if(lag < 0.001)
                lag = 0;
        if (!IS_REAL_CLIENT(self))
                lag = 0;
        if(autocvar_g_antilag == 0 || self.cvar_cl_noantilag)
                lag = 0; // only do hitscan, but no antilag
-
        if(lag)
+       {
                FOR_EACH_PLAYER(pl)
                        if(pl != self)
                                antilag_takeback(pl, time - lag);
+               FOR_EACH_MONSTER(pl)
+                       antilag_takeback(pl, time - lag);
+       }
 
-       oldself = self;
-       self = proj;
-
-       savetime = frametime;
-       frametime = 0.05;
+       WarpZone_trace_forent = self;
 
-       for(;;)
+       for (;;)
        {
-               // DP tracetoss is stupid and always traces in 0.05s
-               // ticks. This makes it trace in 0.05*0.125s ticks
-               // instead.
-               vector v0;
-               v0 = self.velocity;
-               self.velocity = self.velocity * 0.125;
-               trace_fraction = 0;
-               fireBallisticBullet_trace_callback_ent = self;
-               fireBallisticBullet_trace_callback_eff = eff;
-               WarpZone_TraceToss_ThroughZone(self, self.owner, world, fireBallisticBullet_trace_callback);
-               self.velocity = v0;
-
-               if(trace_fraction == 1)
+               // TODO also show effect while tracing
+               WarpZone_TraceBox_ThroughZone(start, '0 0 0', '0 0 0', end, FALSE, WarpZone_trace_forent, world, fireBullet_trace_callback);
+               dir = WarpZone_TransformVelocity(WarpZone_trace_transform, dir);
+               end = WarpZone_TransformOrigin(WarpZone_trace_transform, end);
+               start = trace_endpos;
+               entity hit = trace_ent;
+
+               // When hitting sky, stop.
+               if (pointcontents(start) == CONTENT_SKY)
                        break;
-                       // won't hit anything anytime soon (DP's
-                       // tracetoss does 200 tics of, here,
-                       // 0.05*0.125s, that is, 1.25 seconds
-
-               other = trace_ent;
-               dt = WarpZone_tracetoss_time * 0.125; // this is only approximate!
-               setorigin(self, trace_endpos);
-               self.velocity = WarpZone_tracetoss_velocity * (1 / 0.125);
-
-               if(!SUB_OwnerCheck())
-               {
-                       if(SUB_NoImpactCheck())
-                               break;
-
-                       // hit the player
-                       W_BallisticBullet_Hit();
-               }
 
-               if(proj.dmg_radius < 0) // these NEVER penetrate solid
+               if (trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT)
                        break;
 
                // if we hit "weapclip", bail out
@@ -500,54 +237,83 @@ void fireBallisticBullet(vector start, vector dir, float spread, float pSpeed, f
                //
                // matching shaders:
                //   common/weapclip (intended)
-               //   common/noimpact (is supposed to eat projectiles, but is erased farther above)
+               //   common/noimpact (is supposed to eat projectiles, but is erased anyway)
+               float is_weapclip = 0;
                if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NODRAW)
                if (!(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NONSOLID))
                if (!(trace_dphitcontents & DPCONTENTS_OPAQUE))
+                       is_weapclip = 1;
+
+               if(!hit || hit.solid == SOLID_BSP || hit.solid == SOLID_SLIDEBOX)
+                       Damage_DamageInfo(start, damage * solid_penetration_left, 0, 0, max(1, force) * dir * solid_penetration_left, dtype, hit.species, self);
+
+               if (hit && hit != WarpZone_trace_forent && hit != fireBullet_last_hit)  // Avoid self-damage (except after going through a warp); avoid hitting the same entity twice (engine bug).
+               {
+                       fireBullet_last_hit = hit;
+                       yoda = 0;
+                       float g = accuracy_isgooddamage(self, hit);
+                       Damage(hit, self, self, damage * solid_penetration_left, dtype, start, force * dir * solid_penetration_left);
+                       // calculate hits for ballistic weapons
+                       if(g)
+                       {
+                               // do not exceed 100%
+                               float added_damage = min(damage - total_damage, damage * solid_penetration_left);
+                               total_damage += damage * solid_penetration_left;
+                               accuracy_add(self, self.weapon, 0, added_damage);
+                       }
+               }
+
+               if (is_weapclip)
                        break;
 
                // go through solid!
-               if(!W_BallisticBullet_LeaveSolid((other && (other.solid != SOLID_BSP)) ? eff : -1))
+               // outside the world? forget it
+               if(start_x > world.maxs_x || start_y > world.maxs_y || start_z > world.maxs_z || start_x < world.mins_x || start_y < world.mins_y || start_z < world.mins_z)
                        break;
 
-               W_BallisticBullet_LeaveSolid_think();
-
-               self.projectiledeathtype |= HITTYPE_BOUNCE;
-       }
-       frametime = savetime;
-       self = oldself;
+               float maxdist;
+               if(max_solid_penetration < 0)
+                       break;
+               else if(hit.ballistics_density < -1)
+                       break; // -2: no solid penetration, ever
+               else if(hit.ballistics_density < 0)
+                       maxdist = vlen(hit.maxs - hit.mins) + 1; // -1: infinite travel distance
+               else if(hit.ballistics_density == 0)
+                       maxdist = max_solid_penetration * solid_penetration_left;
+               else
+                       maxdist = max_solid_penetration * solid_penetration_left * hit.ballistics_density;
 
-       if(lag)
-               FOR_EACH_PLAYER(pl)
-                       if(pl != self)
-                               antilag_restore(pl);
+               if(maxdist <= autocvar_g_ballistics_mindistance)
+                       break;
 
-       remove(proj);
+               // move the entity along its velocity until it's out of solid, then let it resume
+               // The previously hit entity is ignored here!
+               traceline_inverted (start, start + dir * maxdist, MOVE_NORMAL, WarpZone_trace_forent, TRUE, hit);
+               if(trace_fraction == 1) // 1: we never got out of solid
+                       break;
 
-       return;
-}
+               float dist_taken = max(autocvar_g_ballistics_mindistance, vlen(trace_endpos - start));
+               solid_penetration_left *= (dist_taken / maxdist);
 
-void fireBullet (vector start, vector dir, float spread, float damage, float force, float dtype, float tracer)
-{
-       vector  end;
+               // Only show effect when going through a player (invisible otherwise)
+               if (hit && (hit.solid != SOLID_BSP))
+                       if(vlen(trace_endpos - start) > 4)
+                               trailparticles(self, fireBullet_trace_callback_eff, start, trace_endpos);
 
-       dir = normalize(dir + randomvec() * spread);
-       end = start + dir * MAX_SHOT_DISTANCE;
-       if(self.antilag_debug)
-               traceline_antilag (self, start, end, FALSE, self, self.antilag_debug);
-       else
-               traceline_antilag (self, start, end, FALSE, self, ANTILAG_LATENCY(self));
+               start = trace_endpos;
 
-       end = trace_endpos;
+               if(hit.solid == SOLID_BSP)
+                       Damage_DamageInfo(start, 0, 0, 0, max(1, force) * normalize(dir) * -solid_penetration_left, dtype, 0, self);
+       }
 
-       if (pointcontents (trace_endpos) != CONTENT_SKY)
+       if(lag)
        {
-               if (!(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT))
-                       Damage_DamageInfo(trace_endpos, damage, 0, 0, dir * max(1, force), dtype, trace_ent.species, self);
-
-               Damage (trace_ent, self, self, damage, dtype, trace_endpos, dir * force);
+               FOR_EACH_PLAYER(pl)
+                       if(pl != self)
+                               antilag_restore(pl);
+               FOR_EACH_MONSTER(pl)
+                       antilag_restore(pl);
        }
-       trace_endpos = end;
 }
 
 float W_CheckProjectileDamage(entity inflictor, entity projowner, float deathtype, float exception)
index 5d88df8b254ac08be41bcec0422d0af8a464a34c..ec36f5d32541cea2fbca1c8fa29572b0e1994d06 100644 (file)
@@ -195,7 +195,7 @@ void W_Mine_Think (void)
 
        // a player's mines shall explode if he disconnects or dies
        // TODO: Do this on team change too -- Samual: But isn't a player killed when they switch teams?
-       if(!IS_PLAYER(self.realowner) || self.realowner.deadflag != DEAD_NO)
+       if(!IS_PLAYER(self.realowner) || self.realowner.deadflag != DEAD_NO || self.realowner.freezetag_frozen)
        {
                other = world;
                self.projectiledeathtype |= HITTYPE_BOUNCE;
@@ -207,7 +207,7 @@ void W_Mine_Think (void)
        head = findradius(self.origin, autocvar_g_balance_minelayer_proximityradius);
        while(head)
        {
-               if(IS_PLAYER(head) && head.deadflag == DEAD_NO)
+               if(IS_PLAYER(head) && head.deadflag == DEAD_NO && !head.freezetag_frozen)
                if(head != self.realowner && DIFF_TEAM(head, self.realowner)) // don't trigger for team mates
                if(!self.mine_time)
                {
index 90db2ad75c4aa7007409257c5d320a883fb7d888..0e3a5c0b02efed14c2c0eac782edf1a8a532b04a 100644 (file)
@@ -15,7 +15,7 @@ REGISTER_WEAPON(
 
 .float rifle_accumulator;
 
-void W_Rifle_FireBullet(float pSpread, float pDamage, float pForce, float pSpeed, float pLifetime, float pAmmo, float deathtype, float pBulletConstant, float pTracer, float pShots, string pSound)
+void W_Rifle_FireBullet(float pSpread, float pDamage, float pForce, float pSolidPenetration, float pAmmo, float deathtype, float pTracer, float pShots, string pSound)
 {
        float i;
 
@@ -32,8 +32,7 @@ void W_Rifle_FireBullet(float pSpread, float pDamage, float pForce, float pSpeed
        }
 
        for(i = 0; i < pShots; ++i)
-               fireBallisticBullet(w_shotorg, w_shotdir, pSpread, pSpeed, pLifetime, pDamage, pForce, deathtype, (pTracer ? EF_RED : EF_BLUE), pBulletConstant);
-       endFireBallisticBullet();
+               fireBullet(w_shotorg, w_shotdir, pSpread, pSolidPenetration, pDamage, pForce, deathtype, (pTracer ? EF_RED : EF_BLUE));
 
        if (autocvar_g_casings >= 2)
                SpawnCasing (((random () * 50 + 50) * v_right) - (v_forward * (random () * 25 + 25)) - ((random () * 5 - 70) * v_up), 2, vectoangles(v_forward),'0 250 0', 100, 3, self);
@@ -41,12 +40,12 @@ void W_Rifle_FireBullet(float pSpread, float pDamage, float pForce, float pSpeed
 
 void W_Rifle_Attack()
 {
-       W_Rifle_FireBullet(autocvar_g_balance_rifle_primary_spread, autocvar_g_balance_rifle_primary_damage, autocvar_g_balance_rifle_primary_force, autocvar_g_balance_rifle_primary_speed, autocvar_g_balance_rifle_primary_lifetime, autocvar_g_balance_rifle_primary_ammo, WEP_RIFLE, autocvar_g_balance_rifle_primary_bulletconstant, autocvar_g_balance_rifle_primary_tracer, autocvar_g_balance_rifle_primary_shots, "weapons/campingrifle_fire.wav");
+       W_Rifle_FireBullet(autocvar_g_balance_rifle_primary_spread, autocvar_g_balance_rifle_primary_damage, autocvar_g_balance_rifle_primary_force, autocvar_g_balance_rifle_primary_solidpenetration, autocvar_g_balance_rifle_primary_ammo, WEP_RIFLE, autocvar_g_balance_rifle_primary_tracer, autocvar_g_balance_rifle_primary_shots, "weapons/campingrifle_fire.wav");
 }
 
 void W_Rifle_Attack2()
 {
-       W_Rifle_FireBullet(autocvar_g_balance_rifle_secondary_spread, autocvar_g_balance_rifle_secondary_damage, autocvar_g_balance_rifle_secondary_force, autocvar_g_balance_rifle_secondary_speed, autocvar_g_balance_rifle_secondary_lifetime, autocvar_g_balance_rifle_secondary_ammo, WEP_RIFLE | HITTYPE_SECONDARY, autocvar_g_balance_rifle_secondary_bulletconstant, autocvar_g_balance_rifle_secondary_tracer, autocvar_g_balance_rifle_secondary_shots, "weapons/campingrifle_fire2.wav");
+       W_Rifle_FireBullet(autocvar_g_balance_rifle_secondary_spread, autocvar_g_balance_rifle_secondary_damage, autocvar_g_balance_rifle_secondary_force, autocvar_g_balance_rifle_secondary_solidpenetration, autocvar_g_balance_rifle_secondary_ammo, WEP_RIFLE | HITTYPE_SECONDARY, autocvar_g_balance_rifle_secondary_tracer, autocvar_g_balance_rifle_secondary_shots, "weapons/campingrifle_fire2.wav");
 }
 
 void spawnfunc_weapon_rifle (void)
@@ -126,7 +125,7 @@ float w_rifle(float req)
                        self.bot_secondary_riflemooth = 0;
                if(self.bot_secondary_riflemooth == 0)
                {
-                       if(bot_aim(autocvar_g_balance_rifle_primary_speed, 0, autocvar_g_balance_rifle_primary_lifetime, FALSE))
+                       if(bot_aim(1000000, 0, 0.001, FALSE))
                        {
                                self.BUTTON_ATCK = TRUE;
                                if(random() < 0.01) self.bot_secondary_riflemooth = 1;
@@ -134,7 +133,7 @@ float w_rifle(float req)
                }
                else
                {
-                       if(bot_aim(autocvar_g_balance_rifle_secondary_speed, 0, autocvar_g_balance_rifle_secondary_lifetime, FALSE))
+                       if(bot_aim(1000000, 0, 0.001, FALSE))
                        {
                                self.BUTTON_ATCK2 = TRUE;
                                if(random() < 0.03) self.bot_secondary_riflemooth = 0;
index 2fb6214017c0f1de374817fc596b44d9d3f66104..173f8c1a5209d30ca264bc836c9e898bf35db1f2 100644 (file)
@@ -21,8 +21,7 @@ void W_Shotgun_Attack (void)
        float   d;
        float   f;
        float   spread;
-       float   bulletspeed;
-       float   bulletconstant;
+       float   solidpenetration;
        entity flash;
 
        ammoamount = autocvar_g_balance_shotgun_primary_ammo;
@@ -30,15 +29,13 @@ void W_Shotgun_Attack (void)
        d = autocvar_g_balance_shotgun_primary_damage;
        f = autocvar_g_balance_shotgun_primary_force;
        spread = autocvar_g_balance_shotgun_primary_spread;
-       bulletspeed = autocvar_g_balance_shotgun_primary_speed;
-       bulletconstant = autocvar_g_balance_shotgun_primary_bulletconstant;
+       solidpenetration = autocvar_g_balance_shotgun_primary_solidpenetration;
 
        W_DecreaseAmmo(ammo_shells, ammoamount, autocvar_g_balance_shotgun_reload_ammo);
 
        W_SetupShot (self, TRUE, 5, "weapons/shotgun_fire.wav", CH_WEAPON_A, d * bullets);
        for (sc = 0;sc < bullets;sc = sc + 1)
-               fireBallisticBullet(w_shotorg, w_shotdir, spread, bulletspeed, 5, d, f, WEP_SHOTGUN, 0, bulletconstant);
-       endFireBallisticBullet();
+               fireBullet(w_shotorg, w_shotdir, spread, solidpenetration, d, f, WEP_SHOTGUN, 0);
 
        pointparticles(particleeffectnum("shotgun_muzzleflash"), w_shotorg, w_shotdir * 1000, autocvar_g_balance_shotgun_primary_ammo);
 
@@ -61,7 +58,7 @@ void W_Shotgun_Attack (void)
 void shotgun_meleethink (void)
 {
        // declarations
-       float i, f, swing, swing_factor, swing_damage, meleetime, is_player;
+       float i, f, swing, swing_factor, swing_damage, meleetime, is_player, is_monster;
        entity target_victim;
        vector targpos;
 
@@ -102,15 +99,16 @@ void shotgun_meleethink (void)
                //te_customflash(targpos, 40,  2, '1 1 1');
 
                is_player = (IS_PLAYER(trace_ent) || trace_ent.classname == "body");
+               is_monster = (trace_ent.flags & FL_MONSTER);
 
                if((trace_fraction < 1) // if trace is good, apply the damage and remove self
                        && (trace_ent.takedamage == DAMAGE_AIM)
                        && (trace_ent != self.swing_alreadyhit)
-                       && (is_player || autocvar_g_balance_shotgun_secondary_melee_nonplayerdamage))
+                       && ((is_player || is_monster) || autocvar_g_balance_shotgun_secondary_melee_nonplayerdamage))
                {
                        target_victim = trace_ent; // so it persists through other calls
 
-                       if(is_player) // this allows us to be able to nerf the non-player damage done in e.g. assault or onslaught.
+                       if(is_player || is_monster) // this allows us to be able to nerf the non-player damage done in e.g. assault or onslaught.
                                swing_damage = (autocvar_g_balance_shotgun_secondary_damage * min(1, swing_factor + 1));
                        else
                                swing_damage = (autocvar_g_balance_shotgun_secondary_melee_nonplayerdamage * min(1, swing_factor + 1));
index f70aa044312b803773c89931f4912ae59ef6a8b2..2e081095f12a5b46fe525e63744ef49d3f166d26 100644 (file)
@@ -72,7 +72,7 @@ float W_Tuba_HasPlayed(entity pl, string melody, float instrument, float ignorep
                        mmax = 240 / mintempo; // 60 = "0.25 means 1 sec", at 120 0.5 means 1 sec, at 240 1 means 1 sec
                else
                        mmax = 240; // you won't try THAT hard... (tempo 1)
-               //print(sprintf("initial tempo rules: %f %f\n", mmin, mmax));
+               //printf("initial tempo rules: %f %f\n", mmin, mmax);
 
                for(i = 0; i < n; ++i)
                {
@@ -96,10 +96,10 @@ float W_Tuba_HasPlayed(entity pl, string melody, float instrument, float ignorep
 
                                // vi_x <= vi_y <= vj_x <= vj_y
                                // ti <= tj
-                               //print(sprintf("first note: %f to %f, should be %f\n", vi_x, vi_y, ti));
-                               //print(sprintf("second note: %f to %f, should be %f\n", vj_x, vj_y, tj));
-                               //print(sprintf("m1 = %f\n", (vi_x - vj_y) / (ti - tj)));
-                               //print(sprintf("m2 = %f\n", (vi_y - vj_x) / (ti - tj)));
+                               //printf("first note: %f to %f, should be %f\n", vi_x, vi_y, ti);
+                               //printf("second note: %f to %f, should be %f\n", vj_x, vj_y, tj);
+                               //printf("m1 = %f\n", (vi_x - vj_y) / (ti - tj));
+                               //printf("m2 = %f\n", (vi_y - vj_x) / (ti - tj));
                                mmin = max(mmin, (vi_x - vj_y) / (ti - tj)); // lower bound
                                mmax = min(mmax, (vi_y - vj_x) / (ti - tj)); // upper bound
                        }
index 5fd890a0b7c600124db484093997aefcb62c4bf4..4fb6047430c77e7671cca794854c7182c13f3cbd 100644 (file)
@@ -62,10 +62,9 @@ void W_UZI_Attack (float deathtype)
        ATTACK_FINISHED(self) = time + autocvar_g_balance_uzi_first_refire * W_WeaponRateFactor();
 
        if (self.misc_bulletcounter == 1)
-               fireBallisticBullet(w_shotorg, w_shotdir, autocvar_g_balance_uzi_first_spread, autocvar_g_balance_uzi_speed, 5, autocvar_g_balance_uzi_first_damage, autocvar_g_balance_uzi_first_force, deathtype, 0, autocvar_g_balance_uzi_bulletconstant);
+               fireBullet(w_shotorg, w_shotdir, autocvar_g_balance_uzi_first_spread, autocvar_g_balance_uzi_solidpenetration, autocvar_g_balance_uzi_first_damage, autocvar_g_balance_uzi_first_force, deathtype, 0);
        else
-               fireBallisticBullet(w_shotorg, w_shotdir, autocvar_g_balance_uzi_sustained_spread, autocvar_g_balance_uzi_speed, 5, autocvar_g_balance_uzi_sustained_damage, autocvar_g_balance_uzi_sustained_force, deathtype, 0, autocvar_g_balance_uzi_bulletconstant);
-       endFireBallisticBullet();
+               fireBullet(w_shotorg, w_shotdir, autocvar_g_balance_uzi_sustained_spread, autocvar_g_balance_uzi_solidpenetration, autocvar_g_balance_uzi_sustained_damage, autocvar_g_balance_uzi_sustained_force, deathtype, 0);
 
        pointparticles(particleeffectnum("uzi_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
 
@@ -136,8 +135,7 @@ void uzi_mode1_fire_auto()
        }
 
        uzi_spread = bound(autocvar_g_balance_uzi_spread_min, autocvar_g_balance_uzi_spread_min + (autocvar_g_balance_uzi_spread_add * self.misc_bulletcounter), autocvar_g_balance_uzi_spread_max);
-       fireBallisticBullet(w_shotorg, w_shotdir, uzi_spread, autocvar_g_balance_uzi_speed, 5, autocvar_g_balance_uzi_sustained_damage, autocvar_g_balance_uzi_sustained_force, WEP_UZI, 0, autocvar_g_balance_uzi_bulletconstant);
-       endFireBallisticBullet();
+       fireBullet(w_shotorg, w_shotdir, uzi_spread, autocvar_g_balance_uzi_solidpenetration, autocvar_g_balance_uzi_sustained_damage, autocvar_g_balance_uzi_sustained_force, WEP_UZI, 0);
 
        self.misc_bulletcounter = self.misc_bulletcounter + 1;
 
@@ -162,9 +160,7 @@ void uzi_mode1_fire_burst()
                self.punchangle_y = random () - 0.5;
        }
 
-       fireBallisticBullet(w_shotorg, w_shotdir, autocvar_g_balance_uzi_burst_spread, autocvar_g_balance_uzi_speed, 5, autocvar_g_balance_uzi_sustained_damage, autocvar_g_balance_uzi_sustained_force, WEP_UZI, 0, autocvar_g_balance_uzi_bulletconstant);
-       endFireBallisticBullet();
-
+       fireBullet(w_shotorg, w_shotdir, autocvar_g_balance_uzi_burst_spread, autocvar_g_balance_uzi_solidpenetration, autocvar_g_balance_uzi_sustained_damage, autocvar_g_balance_uzi_sustained_force, WEP_UZI, 0);
 
        pointparticles(particleeffectnum("uzi_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
 
index 5370ba519817dc86eff61c527689268af2f09aec..f55cec1d52ea16ac280a04e44f3f1f496d85f9f1 100644 (file)
@@ -13,7 +13,7 @@ void WarpZone_Fade_PreDraw()
                self.alpha = bound(0, (self.warpzone_fadeend - vlen(org - self.origin - 0.5 * (self.mins + self.maxs))) / (self.warpzone_fadeend - self.warpzone_fadestart), 1);
        else
                self.alpha = 1;
-       //print(sprintf("%v <-> %v\n", view_origin, self.origin + 0.5 * (self.mins + self.maxs)));
+       //printf("%v <-> %v\n", view_origin, self.origin + 0.5 * (self.mins + self.maxs));
        if(self.alpha <= 0)
                self.drawmask = 0;
        else
index 5dd32c8ac0d15d3efabe72cc0d3db8ea600b4690..9330d6a677f403ffaf89660b2775e633dd434abe 100644 (file)
--- a/quake.rc
+++ b/quake.rc
@@ -11,3 +11,5 @@ stuffcmds
 //startdemos
 //play announcer/male/welcome.ogg
 crypto_keygen 0 http://ca.xonotic.org/?ca=0&key=
+
+exec post-config.cfg
diff --git a/scripts/monsters.shader b/scripts/monsters.shader
new file mode 100644 (file)
index 0000000..5304b25
--- /dev/null
@@ -0,0 +1,16 @@
+textures/spider/spidertex
+{
+       cull none
+
+       {
+               map textures/spidertex
+       }
+}
+mage
+{
+       cull none
+
+       {
+               map textures/mage
+       }
+}
\ No newline at end of file
index 366f24c6d0995654789874c83785eac06273ce11..ce11875b7ba04f75bb4eb280631d09b142885f2d 100644 (file)
@@ -14,4 +14,5 @@ tree
 tuba
 turrets
 weapons
+monsters
 ok_nade_counter
diff --git a/sound/monsters/shambler/idle1.wav b/sound/monsters/shambler/idle1.wav
new file mode 100644 (file)
index 0000000..bc0f256
Binary files /dev/null and b/sound/monsters/shambler/idle1.wav differ
diff --git a/sound/monsters/shambler/idle2.wav b/sound/monsters/shambler/idle2.wav
new file mode 100644 (file)
index 0000000..58842b8
Binary files /dev/null and b/sound/monsters/shambler/idle2.wav differ
diff --git a/sound/monsters/shambler/sight.wav b/sound/monsters/shambler/sight.wav
new file mode 100644 (file)
index 0000000..8b75efd
Binary files /dev/null and b/sound/monsters/shambler/sight.wav differ
diff --git a/sound/monsters/zombie/death.ogg b/sound/monsters/zombie/death.ogg
new file mode 100644 (file)
index 0000000..7af422e
Binary files /dev/null and b/sound/monsters/zombie/death.ogg differ
diff --git a/sound/monsters/zombie/idle.ogg b/sound/monsters/zombie/idle.ogg
new file mode 100644 (file)
index 0000000..3dac288
Binary files /dev/null and b/sound/monsters/zombie/idle.ogg differ
diff --git a/sound/monsters/zombie/sight.ogg b/sound/monsters/zombie/sight.ogg
new file mode 100644 (file)
index 0000000..c033a9e
Binary files /dev/null and b/sound/monsters/zombie/sight.ogg differ
index e1dd7ea8436cc38d3f26b230914f166254ecc4ae..0213aab21dd3de09191378e68519ba0d9fce5fda 100644 (file)
Binary files a/textures/bloodyskull.jpg and b/textures/bloodyskull.jpg differ
diff --git a/textures/bloodyskull_pants.jpg b/textures/bloodyskull_pants.jpg
new file mode 100644 (file)
index 0000000..51850c1
Binary files /dev/null and b/textures/bloodyskull_pants.jpg differ
diff --git a/textures/bloodyskull_robot_pants.tga b/textures/bloodyskull_robot_pants.tga
new file mode 100644 (file)
index 0000000..17e92ff
Binary files /dev/null and b/textures/bloodyskull_robot_pants.tga differ
diff --git a/textures/mage.tga b/textures/mage.tga
new file mode 100644 (file)
index 0000000..55aadba
Binary files /dev/null and b/textures/mage.tga differ
diff --git a/textures/mage_glow.tga b/textures/mage_glow.tga
new file mode 100644 (file)
index 0000000..8498c46
Binary files /dev/null and b/textures/mage_glow.tga differ
diff --git a/textures/mage_pants.tga b/textures/mage_pants.tga
new file mode 100644 (file)
index 0000000..a3d2e13
Binary files /dev/null and b/textures/mage_pants.tga differ
index e9a74e293743845b9ac7bcdcf8bddb46da49072c..b9c2ccc9fe3035f627d6fd8fc755c8d7e621ef85 100644 (file)
Binary files a/textures/meat.tga and b/textures/meat.tga differ
index 52c5246f2d4cd117b3fdd791be0704a594810e38..44ca7ac1e90d6b007655cd9fe45523636938bf74 100644 (file)
Binary files a/textures/meat_alien.tga and b/textures/meat_alien.tga differ
diff --git a/textures/meat_alien_pants.tga b/textures/meat_alien_pants.tga
new file mode 100644 (file)
index 0000000..de36704
Binary files /dev/null and b/textures/meat_alien_pants.tga differ
diff --git a/textures/meat_pants.tga b/textures/meat_pants.tga
new file mode 100644 (file)
index 0000000..1568b09
Binary files /dev/null and b/textures/meat_pants.tga differ
index 838f75d5f1440368376426478dd79cb1cd8dc06f..489d5a5387e75ce78498cb19ebaa188c8331277a 100644 (file)
Binary files a/textures/meat_robot.tga and b/textures/meat_robot.tga differ
diff --git a/textures/meat_robot_pants.tga b/textures/meat_robot_pants.tga
new file mode 100644 (file)
index 0000000..5bc59da
Binary files /dev/null and b/textures/meat_robot_pants.tga differ
diff --git a/textures/spidertex.tga b/textures/spidertex.tga
new file mode 100644 (file)
index 0000000..c1c40c0
Binary files /dev/null and b/textures/spidertex.tga differ
diff --git a/textures/spidertex_glow.tga b/textures/spidertex_glow.tga
new file mode 100644 (file)
index 0000000..8c7d3dc
Binary files /dev/null and b/textures/spidertex_glow.tga differ
diff --git a/textures/spidertex_pants.tga b/textures/spidertex_pants.tga
new file mode 100644 (file)
index 0000000..09263af
Binary files /dev/null and b/textures/spidertex_pants.tga differ
index d91b79b6ceebdd6858051c24c837b21208378732..86864eef19698694e7c571e7e71b845f3e95b65d 100644 (file)
@@ -65,6 +65,11 @@ set g_vehicle_raptor_shield             75
 set g_vehicle_raptor_shield_regen       25
 set g_vehicle_raptor_shield_regen_pause 1.5
 
+set g_vehicle_raptor_blowup_radius           250
+set g_vehicle_raptor_blowup_coredamage       250
+set g_vehicle_raptor_blowup_edgedamage       15
+set g_vehicle_raptor_blowup_forceintensity   250
+
 set g_vehicle_raptor_bouncefactor 0.2
 set g_vehicle_raptor_bouncestop 0
 set g_vehicle_raptor_bouncepain "1 4 1000"
index 88fba2714dbebda0df79d0d27a1150123b6023ff..4258095f7c3b71c633f33f16813c4957262c24b6 100644 (file)
@@ -30,8 +30,7 @@ set g_vehicle_spiderbot_minigun_damage          24       // 400 (x2) DPS
 set g_vehicle_spiderbot_minigun_refire          0.06
 set g_vehicle_spiderbot_minigun_force           9
 set g_vehicle_spiderbot_minigun_spread          0.015
-set g_vehicle_spiderbot_minigun_speed           45000  // ~ 32QU
-set g_vehicle_spiderbot_minigun_bulletconstant  110
+set g_vehicle_spiderbot_minigun_solidpenetration 32
 set g_vehicle_spiderbot_minigun_ammo_cost       1
 set g_vehicle_spiderbot_minigun_ammo_max        100
 set g_vehicle_spiderbot_minigun_ammo_regen      40
@@ -55,6 +54,11 @@ set g_vehicle_spiderbot_rocket_noise      0.2
 set g_vehicle_spiderbot_rocket_lifetime   20
 set g_vehicle_spiderbot_rocket_spread     0.05
 
+set g_vehicle_spiderbot_blowup_radius           250
+set g_vehicle_spiderbot_blowup_coredamage       250
+set g_vehicle_spiderbot_blowup_edgedamage       15
+set g_vehicle_spiderbot_blowup_forceintensity   250
+
 set g_vehicle_spiderbot_bouncefactor 0   // Factor of old velocity to keep after colission
 set g_vehicle_spiderbot_bouncestop 0        // if != 0, New veloctiy after bounce = 0 if new velocity < this
 set g_vehicle_spiderbot_bouncepain "0 0 0" // "minspeed_for_pain speedchange_to_pain_factor max_damage"
index 9fe937716a1d5d78f25ea2509a52fba7d0dd508f..2fcdf98ce1059a4166623531862fccd1de31b431 100644 (file)
@@ -113,6 +113,7 @@ Oleh "BlaXpirit" Prypin
 Przemysław "atheros" Grzywacz
 Robert "ai" Kuroto
 The player with the unnecessarily long name
+Mattia "Melanosuchus" Basaglia
 
 
 **Translators